You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
1.1 KiB
23 lines
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.
|