1.1 KiB
ADR 0003: Subscription Model Replaces BRIDGES
Status
Proposed
Context
The legacy BRIDGES dict mixes configuration, runtime state, reflector naming, routing, and export concerns. FreeDMR 2 models each TG as a conference bridge to which clients subscribe.
Decision
Use subscription-oriented internal state instead of legacy BRIDGES as the authoritative FreeDMR 2 model.
Rationale
Subscription state directly represents the FreeDMR user model: clients subscribe to TGs they want to hear. It supports direct TGs, dial-a-TG, default reflectors, API control, and future aliases without hard-coding routing modes.
Consequences
The packet path can use indexed subscription lookups. Existing dashboard/config expectations need compatibility export or migration.
Compatibility
BRIDGES and # reflector names may be generated as compatibility/export state where required, but routing should not depend on them.
Testing Requirements
Tests must assert subscription activation, expiry, direct TG routing, dial-a-TG mapping, default reflector behaviour, and absence of unintended recipients.