Skip to content

chore: sunset the StaticMirroringWorker in favour of negentropy sync #923

Open

Description

@Priyanshubhartistm

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 (including skipAdmissionCheck), 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

Activity

  1. cameri commented on Oct 21, 2026

    @cameri
    Owner

    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.

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

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions