Skip to content

Add automatic NomadNet mirroring with first-run prompt and per-feed --nomirror control#117

Open
jamesdwilson wants to merge 1 commit into
mainfrom
codex/remove-mirror-scripts-from-examples-2227gh
Open

Add automatic NomadNet mirroring with first-run prompt and per-feed --nomirror control#117
jamesdwilson wants to merge 1 commit into
mainfrom
codex/remove-mirror-scripts-from-examples-2227gh

Conversation

@jamesdwilson

Copy link
Copy Markdown
Owner

Motivation

  • Make mirroring behavior clearer and easier: enable an automatic symlink-based NomadNet mirror by default (but prompt on first run) instead of shipping confusing one-shot mirror example scripts and a misleading UI CTA.
  • Provide per-feed opt-out and CLI controls so users can skip mirroring for specific subscriptions.
  • Keep mirrors lightweight (symlinks into NomadNet storage) and integrate mirror maintenance into the daemon refresh/media workflows.

Description

  • Added first-run prompt and config handling in nomadcastd/config.py, introducing mirror_to_nomadnet and a [mirroring] nomirror list plus helper functions to add/remove nomirror entries.
  • Extended CLI in nomadcastd/__main__.py with feeds add --nomirror, feeds ls now reports mirror state, and feeds rm cleans up nomirror entries.
  • Implemented NomadNet mirror helpers in nomadcastd/storage.py (resolve_nomadnet_config_dir, nomadnet_storage_root, ensure_nomadnet_mirror, etc.) to create a symlinked mirror tree under ~/.nomadnetwork/storage/files/nomadcast.
  • Wired automatic mirror creation into daemon logic in nomadcastd/daemon.py to call mirrors after RSS refresh and media caching when mirror_to_nomadnet is enabled and the feed is not in nomirror_uris.
  • Updated README.md to document automatic mirroring, first-run prompt, config options, and CLI usage, and removed the old one-shot mirroring examples and the “ONE CLICK MIRROR” CTA in the sample page.
  • Removed example one-shot mirror scripts and mirror page content from examples/ (the sample index no longer includes a mirror CTA).

Testing

  • Performed repository searches (rg) to verify references were updated and mirror example files/pages removed, and inspected modified files to confirm the new config keys and CLI flag were wired through; these checks succeeded.
  • No unit or integration test suites were executed as part of this change.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant