chore: sunset the StaticMirroringWorker in favour of negentropy sync #923
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Is your feature request related to a problem? Please describe.
StaticMirroringWorker (src/app/static-mirroring-worker.ts, 417 lines) mirrors events from other relays through its own admission check, separate from the one EventMessageHandler uses. Rules added to the write path have to be repeated there: for example, with subscription plans enabled, StaticMirroringWorker.isUserAdmitted never reads the subscription, so mirrored writes skip expiry (raised on #909). It also has no unit tests (#904).
Describe the solution you'd like
Retire the worker, since NIP-77 (Negentropy) sync and other ways of syncing with relays now cover what it is used for:
- Remove
StaticMirroringWorker, its factory and its start-up wiring. - Remove or deprecate the
mirroring.static[]settings (includingskipAdmissionCheck), the settings docs and the admin console parts that depend on them, with a changeset noting the removal. - Document how to sync with another relay without it.
Additional context
- Decision from the maintainer on feat(payments): add subscription lifecycle, renewal invoices and plan-based write access #909: sunset the worker rather than patch the subscription check into it.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Activity
cameri commentedon Oct 21, 2026
Thanks @Priyanshubhartistm . Looks good as written. This is a non-backward-compatible change, but the v4 has been claimed for the Rust rewrite so unfortunately we must only bump using a minor version.