Rodrigo Pérez
663e030ef9
fix(bridge): align static TG options loop with legacy bridge_master
...
Refresh TS1/TS2 static talkgroups on the 26s timer and options_config path
so user-activated bridges and OPTIONS strings stay consistent after reload.
4 months ago
Rodrigo Pérez
c361f593c3
feat(proxy): ProxyService domain and use cases (V2-P3-001)
...
Add ClientSlot/UpstreamPortRange, ProxyUseCases with in-memory store and
RPTO queue, plus peer_id packet helper — library only, not wired to runtime.
4 months ago
Rodrigo Pérez
6210aa4c87
feat(subscription): BridgesLegacyView and pickle BRIDGE_SND shim (V2-P2-007)
...
Export subscriptions to legacy BRIDGES dict and encode v1 monitor pickle
frames; library-only, not wired to report runtime yet.
4 months ago
Rodrigo Pérez
82782f7b93
feat(mesh): PeerTransport port and codec registry (V2-P2-005)
...
Add MeshIngress/MeshEgress, obp_v1 and dmre_v5 transports, and
MeshCodecRegistry with auto decode/encode matching legacy VER selection.
4 months ago
Rodrigo Pérez
fe71492d11
feat(subscription): VoiceIngress builder from DMRD args (V2-P2-004)
...
Add build_voice_ingress for dmrd_received parity, bridge_match_slot on
VoiceIngress, and focused builder tests without runtime wiring.
4 months ago
Rodrigo Pérez
12a21d389a
chore(tests): consolidate subscription tests and drop redundant cases
...
Merge router parity into a single file and remove trivial domain tests
without reducing meaningful coverage.
4 months ago
Rodrigo Pérez
851e35f600
fix(subscription): align SubscriptionRouter with legacy bridge_tables scan (V2-P2-003)
...
Match bridge_tables_with_active_source and to_target forward selection on
subscription rows; add parity tests vs legacy BRIDGES scan including OBP dedup.
4 months ago
Rodrigo Pérez
a46bec7d1e
feat(subscription): VoiceIngress router and forward legs (V2-P2-003/004)
...
Add immutable VoiceIngress/ForwardLeg domain types and a pure
SubscriptionRouter that resolves active forward targets from the store.
4 months ago
Rodrigo Pérez
d0abe7c09e
feat(subscription): one-way BRIDGES export adapter (V2-P2-002)
...
Export SubscriptionStore snapshots to legacy BRIDGES dict rows for
future hot-path parity without writing subscriptions from BRIDGES input.
4 months ago
Rodrigo Pérez
c734b1f0b0
feat(subscription): domain model and in-memory store (V2-P2-001)
...
Add AudioChannel, Subscription entities, SubscriptionStore port, and
InMemorySubscriptionStore with unit tests (no runtime wiring yet).
4 months ago
Rodrigo Pérez
471e1795bf
feat(report): optional MQTT publisher and dashboard state (V2-P1-006)
...
Add opt-in REPORTS.MQTT with retained shared state and live voice_event
topics, topology static TG in v2 payloads, dashboard_state builder, and
SIGHUP reload.
4 months ago
Rodrigo Pérez
99169e77ca
feat(report): bounded queue worker and topology connected_at
...
Decouple bridge events from TCP send via a reactor-drained queue (50ms, 2048
events). Export peer connected_at in topology so monitor timers survive refresh.
4 months ago
Rodrigo Pérez
048c27ab23
feat(report): implement v2 JSON topology, routing, voice events and deltas
...
Wire report protocol 2 with typed JSON payloads and incremental topology/routing
deltas; lab-validated with adn-monitor consumer.
4 months ago
Rodrigo Pérez
af4264100e
docs(v2): add report v2 JSON schema and protocol docs (V2-P1-001)
...
Define typed monitor payloads (hello, topology, routing_table, voice_event,
delta) with JSON Schema, anonymized examples, pytest validation, and EN/ES docs.
4 months ago
Rodrigo Pérez
25dbc971b0
test(v2): add JSONL session replay harness (V2-P0-007)
...
SessionReplayer replays golden fixtures through DeterministicScenario;
add HBP group voice session, behavior tests, and dev CAPTURE scaffold.
Set pytest pythonpath so bare `pytest` finds tests.* imports.
4 months ago
Rodrigo Pérez
72264da592
refactor(v2): run rule_timer and stat_trimmer on reactor (V2-P0-006)
...
Schedule bridge timer loops inline on the Twisted reactor instead of
deferToThread to avoid BRIDGES races with dmrd_received.
4 months ago
Rodrigo Pérez
710b1db4a3
refactor(v2): extract OpenBridge mesh codecs from udp_hbp (V2-P0-005)
...
Move DMRD v1 HMAC and DMRE v4/v5 BLAKE2b parse/build to
infrastructure/mesh/; udp_hbp delegates wire crypto unchanged.
4 months ago
Rodrigo Pérez
279c139918
refactor(v2): extract LC/TA and bridge-table mixins (V2-P0-004 chunks 4-5)
...
Move Talker Alias / embedded LC and BRIDGES table lifecycle into
application/bridge/; BridgeUseCases remains the public facade with
dmrd_received and unit/private paths only.
4 months ago
Rodrigo Pérez
f5eaa1b57e
feat(v2): add RuntimeContext holder and atomic SIGHUP reload (V2-P0-003)
...
Introduce RuntimeContextHolder with ConfigProxy so main wiring keeps a stable
config view while SIGHUP reload builds a deep copy, applies reload_server_config,
then swaps the pointer only on success.
4 months ago
Rodrigo Pérez
0e3a369508
Merge branch 'feature/V2-P0-002-bridges-index' into develop
4 months ago
Rodrigo Pérez
c923006598
fix(parrot): rotate playback stream when seq byte wraps
4 months ago
Rodrigo Pérez
9c20a0e6e9
perf: add O(1) BRIDGES source index for forwarding lookup
4 months ago
Rodrigo Pérez
92c1e906bd
test: add deterministic regression suite (142 tests)
4 months ago