This website requires JavaScript.
3fa1b32f16
Add XLX reflector support
main
Cort Buffington and Claude Opus 5
2026-08-16 10:14:30 -05:00
60d67405a2
docs: add Companion programs section to README
Cort Buffington and Claude Opus 5
2026-08-15 14:45:14 -05:00
f81872b60c
Stop tracking site-specific dashboard logo images
Cort Buffington and Claude Opus 4.8
2026-07-12 14:17:50 -05:00
aae53890f7
archive: move legacy/unported modules out of the live tree
Cort Buffington and Claude Opus 4.8
2026-07-12 14:17:02 -05:00
f21eca42b0
changelog: v3.0.0 baseline
v3.0.0
Cort Buffington and Claude Opus 4.8
2026-07-12 13:43:25 -05:00
a3e99a2da9
docs: refresh for the SERVER/OUTBOUND rename, OBP_BRIDGES, and Unix-socket feed
Cort Buffington and Claude Opus 4.8
2026-07-12 13:42:08 -05:00
b43ea79c48
tools: OBP config migration tool (inline members -> OBP_BRIDGES)
Cort Buffington and Claude Opus 4.8
2026-07-12 13:42:08 -05:00
cbe405c879
rules: per-OBP TGID<->bridge table (OBP_BRIDGES) replacing inline OBP members
Cort Buffington and Claude Opus 4.8
2026-07-12 12:56:56 -05:00
405aad466b
reporting: emit repeater_connected/_disconnected (not peer_*) in hblink3
Cort Buffington and Claude Opus 4.8
2026-07-12 12:32:39 -05:00
8a11af25ed
tests: add lossy-repeater simulator for the ping-loss visuals
Cort Buffington and Claude Opus 4.8
2026-07-12 12:14:30 -05:00
1c463fb52b
reporting: normalize event vocabulary + add Unix-socket transport (Step 5)
Cort Buffington and Claude Opus 4.8
2026-07-12 12:14:23 -05:00
5d9ae6b19f
ping-loss: switch to a plain sliding-window % over the last N minutes; make it configurable
Cort Buffington and Claude Opus 4.8
2026-07-12 07:51:00 -05:00
9826937487
dashboard demo: seed PING_LOSS on demo repeaters to show the ping-loss visuals
Cort Buffington
2026-07-11 21:29:55 -05:00
eb7f4d61a7
ping-quality: set decay time constant to 5 min (was 15)
Cort Buffington
2026-07-11 21:23:44 -05:00
8b0f8906b1
reporting: per-repeater ping-loss quality metric (chronic connectivity)
Cort Buffington and Claude Opus 4.8
2026-07-11 21:18:36 -05:00
8c59c5e1d8
reporting: demote the full push to a slow resync + heartbeat (Step 2)
Cort Buffington and Claude Opus 4.8
2026-07-11 21:02:19 -05:00
deb1d55f04
reporting: granular 'peer' connect/disconnect events (Step 1 of dashboard normalization)
Cort Buffington and Claude Opus 4.8
2026-07-11 20:27:53 -05:00
4731cabbf7
dashboard: size feed read-timeout to the advertised push interval
Cort Buffington and Claude Opus 4.8
2026-07-11 18:13:14 -05:00
313cd1de8e
tests: migrate harness off the dropped MASTER/PEER terminology
Cort Buffington and Claude Opus 4.8
2026-07-11 18:07:00 -05:00
b8e43c1474
Merge fix/reporting-link-keepalive: detect silently-severed dashboard link
Cort Buffington
2026-07-11 17:53:31 -05:00
8d18436aab
tests: rewrite stale reporting tests for the asyncio ReportServer
Cort Buffington and Claude Opus 4.8
2026-07-11 17:53:31 -05:00
a41572e89d
reporting: detect silently-severed dashboard link (TCP keepalive + read timeout)
Cort Buffington and Claude Opus 4.8
2026-07-11 17:39:22 -05:00
7eea4558d8
dashboard: collapsible sections + Active Calls view + compact outbound
Cort Buffington and Claude Opus 4.8
2026-07-08 09:11:56 -05:00
01cd53456a
dashboard: add Last Heard table and collapsible connection lists
Cort Buffington and Claude Opus 4.8
2026-07-06 08:31:42 -05:00
40fda71210
OpenBridge: report the real source peer on timeout-cleanup stream ends
Cort Buffington and Claude Opus 4.8
2026-07-06 08:31:35 -05:00
654730de9f
Clarify alias RAM figures: ~150 MB filtered vs ~500 MB unfiltered
Cort Buffington and Claude Opus 4.8
2026-07-05 17:12:50 -05:00
c9e2166aab
Add CONFIGURING.md; slim sample-file comments to point to it
Cort Buffington and Claude Opus 4.8
2026-07-05 17:08:54 -05:00
6c9c1be5bb
Add PRESERVE_SOURCE_PEER option to OpenBridge systems
Cort Buffington and Claude Opus 4.8
2026-07-05 15:30:18 -05:00
0a9f87ff52
Change GitHub Issues section header to H3
Cort Buffington
2026-07-03 08:25:10 -05:00
42ac87cb24
Add guidelines for using GitHub issues
Cort Buffington
2026-07-03 08:23:24 -05:00
ade5e78c76
Update support and contributing section in README
Cort Buffington
2026-07-03 08:15:43 -05:00
5962fa032b
Revise README for clarity and terminology updates
Cort Buffington
2026-07-03 07:54:43 -05:00
5d36915fee
Trim sample config verbosity; fix stale ACL performance caution
Cort Buffington and Claude Opus 4.8
2026-07-03 07:13:35 -05:00
0529830090
ACLS.md: drop code snippets and internals for a config-focused read
Cort Buffington and Claude Opus 4.8
2026-07-03 07:08:07 -05:00
bd90a8bb70
Add ACLS.md: full documentation of the ACL system
Cort Buffington and Claude Opus 4.8
2026-07-03 06:59:48 -05:00
173bd5402a
dashboard: raise active-stream stale timeout to 5 min
Cort Buffington and Claude Opus 4.8
2026-07-02 16:32:25 -05:00
bd7fbd1854
Correct memory usage comment in hblink-SAMPLE.cfg
Cort Buffington
2026-07-02 15:21:54 -05:00
bebb3b1900
Fix OpenBridge stream pills stretching full cell width
Cort Buffington and Claude Sonnet 4.6
2026-06-28 18:28:01 -05:00
6c1c810b42
Add ?demo mode to dashboard with full coherent scenario
Cort Buffington and Claude Sonnet 4.6
2026-06-28 18:24:53 -05:00
982ff253e0
Dashboard: move TS1/TS2 labels to system name row, left-align with pill edge
Cort Buffington and Claude Sonnet 4.6
2026-06-28 12:47:49 -05:00
894434014d
hblink.py: include GROUP_HANGTIME in json_systems for SERVER and OUTBOUND
Cort Buffington and Claude Sonnet 4.6
2026-06-28 12:39:58 -05:00
23d985a1a9
Dashboard: add TX/RX label, inherited color, and hang-time to slot pills
Cort Buffington and Claude Sonnet 4.6
2026-06-28 11:57:56 -05:00
99341676f9
Dashboard: move call type to bottom line of slot pill
Cort Buffington and Claude Sonnet 4.6
2026-06-28 11:52:53 -05:00
255b803f00
Dashboard: use explicit call type labels — Group Voice, Unit Voice, etc.
Cort Buffington and Claude Sonnet 4.6
2026-06-28 11:39:37 -05:00
630f0dccc3
Stream-filter subscriber/peer downloads by country; move ID files to dashboard/
Cort Buffington and Claude Sonnet 4.6
2026-06-27 21:20:13 -05:00
5e0d433670
Add USE_ALIASES flag to opt out of alias loading cleanly
Cort Buffington and Claude Sonnet 4.6
2026-06-27 20:22:22 -05:00
b4c71b56c3
Hot-path data structure optimisation: ON/OFF/RESET lists → frozensets
Cort Buffington and Claude Sonnet 4.6
2026-06-27 19:46:31 -05:00
c36ad14c47
Modernize reporting server to asyncio streams (match dmrlink3 style)
Cort Buffington and Claude Sonnet 4.6
2026-06-27 17:26:44 -05:00
5ea20623d7
Code cleanup: dead code, unused loop vars, debug scaffolding, stubs
Cort Buffington and Claude Sonnet 4.6
2026-06-27 15:22:33 -05:00
e5a9c197a5
Fix try_download argument order in dashboard server
Cort Buffington and Claude Sonnet 4.6
2026-06-27 15:14:06 -05:00
a31daf7962
Move alias file ownership to dashboard; default TRY_DOWNLOAD off in bridge
Cort Buffington and Claude Sonnet 4.6
2026-06-27 15:04:49 -05:00
ddfad60a0f
feat: alias auto-refresh, configurable logo, and dashboard parity with DMRlink3
Cort Buffington and Claude Sonnet 4.6
2026-06-27 13:53:19 -05:00
f583207fac
dashboard: widen slot columns and lock call pill width
Cort Buffington and Claude Sonnet 4.6
2026-06-26 10:56:57 -05:00
6f5f084471
fix: remove _comment key from talkgroup_ids_SAMPLE.json
Cort Buffington and Claude Sonnet 4.6
2026-06-26 10:52:32 -05:00
a827b9d134
docs: explain 'callsign' field name in talkgroup alias file
Cort Buffington and Claude Sonnet 4.6
2026-06-26 10:44:43 -05:00
6551b8381c
docs: document talkgroup alias file format and add sample
Cort Buffington and Claude Sonnet 4.6
2026-06-26 10:43:01 -05:00
de3c495bae
bridge: demote timer-running log lines from info to debug
Cort Buffington and Claude Sonnet 4.6
2026-06-26 10:23:29 -05:00
0c53cd0c50
docs: subscriber cache update is unconditional — handles roaming between systems
Cort Buffington and Claude Sonnet 4.6
2026-06-26 09:58:41 -05:00
bde7bae15d
docs: update subscriber cache on voice header only, not every DMRD
Cort Buffington and Claude Sonnet 4.6
2026-06-26 09:57:18 -05:00
8216b1a364
docs: correct and expand packet routing flow document
Cort Buffington and Claude Sonnet 4.6
2026-06-26 09:57:00 -05:00
2952fbc013
docs: correct bridge state machine — TO_TYPE OFF semantics, timer units, RESET behavior
Cort Buffington and Claude Sonnet 4.6
2026-06-26 09:40:19 -05:00
37c30185f9
docs: C reimplementation design documents — telemetry, bridge state machine, packet routing
Cort Buffington and Claude Sonnet 4.6
2026-06-26 09:12:22 -05:00
edf5401f90
fixed typos
Cort Buffington
2026-06-26 08:57:35 -05:00
0fd8050a1c
docs: C reimplementation rules configuration design
Cort Buffington and Claude Sonnet 4.6
2026-06-26 08:54:25 -05:00
ab5945fe01
dashboard: raise ping-warning threshold to 1.5× ping_time
Cort Buffington and Claude Sonnet 4.6
2026-06-26 08:17:40 -05:00
503e9d2217
dashboard: revert live-tick ping warning to static server-side computation
Cort Buffington and Claude Sonnet 4.6
2026-06-26 08:08:37 -05:00
a186eb7c29
docs: fix IPSC2 vs IPSC/ipsc2hbp terminology in TA limitation note
Cort Buffington and Claude Sonnet 4.6
2026-06-26 07:57:24 -05:00
38afdeb15b
docs: document talker alias limitation in bridge routing
Cort Buffington and Claude Sonnet 4.6
2026-06-26 07:52:52 -05:00
a94bee4502
hblink: fix UnboundLocalError in DMRA handler
Cort Buffington and Claude Sonnet 4.6
2026-06-26 07:32:15 -05:00
56c3962a5e
bridge: reduce rule_timer_loop interval 60s→10s; only send on state change
Cort Buffington and Claude Sonnet 4.6
2026-06-26 07:24:58 -05:00
53223f3b53
dashboard: live-tick ping warnings; fix idle pill border height
Cort Buffington and Claude Sonnet 4.6
2026-06-26 07:20:46 -05:00
e5988c4329
bridge: fire ACTIVATION trigger on call start, not call end
Cort Buffington and Claude Sonnet 4.6
2026-06-25 21:02:28 -05:00
d6e157cee9
dashboard: white bridge names; immediate bridge state push on ACTIVE change
Cort Buffington and Claude Sonnet 4.6
2026-06-25 20:53:06 -05:00
525097e67a
dashboard: health warnings, slot display, remove CC column
Cort Buffington and Claude Sonnet 4.6
2026-06-25 20:36:36 -05:00
7670caa341
bridge: tighten timeout-deferral TGID check
Cort Buffington and Claude Sonnet 4.6
2026-06-25 20:15:22 -05:00
1812bac85b
bridge: defer conference bridge deactivation if call in progress
Cort Buffington and Claude Sonnet 4.6
2026-06-25 20:11:52 -05:00
60009d7367
dashboard: fix slot cell height jitter on idle→active transition
Cort Buffington and Claude Sonnet 4.6
2026-06-25 19:09:01 -05:00
1bd9b41442
update copyright years to 2021, 2026
Cort Buffington and Claude Sonnet 4.6
2026-06-25 15:51:34 -05:00
cac5db7363
rename: master/peer → server/repeater/outbound terminology
Cort Buffington and Claude Sonnet 4.6
2026-06-25 15:49:00 -05:00
b95ab5bd10
dashboard: align Conference Bridges columns across all bridges
Cort Buffington and Claude Opus 4.8
2026-06-25 08:08:54 -05:00
2ac1437ca5
Don't forward bridged traffic to a peer not logged into its master
Cort Buffington and Claude Opus 4.8
2026-06-25 08:00:55 -05:00
561704b1b3
dashboard: add HBlink logo to header + field reference doc
Cort Buffington and Claude Opus 4.8
2026-06-25 07:37:23 -05:00
3d157cfa99
dashboard: unit-call dst alias + two-line call cell
Cort Buffington and Claude Opus 4.8
2026-06-25 07:35:21 -05:00
f58f30e157
tests: add live OpenBridge (OBP) traffic harness
Cort Buffington and Claude Opus 4.8
2026-06-25 07:27:12 -05:00
fdf1b33ee8
bridge.py: log slot collisions once per stream, not per frame
Cort Buffington and Claude Opus 4.8
2026-06-25 07:13:59 -05:00
59c5072613
bridge.py: track stream termination with explicit flags, not RX_TYPE
Cort Buffington and Claude Opus 4.8
2026-06-24 22:33:54 -05:00
de3ab0cab3
tests: add live UDP traffic harness for HBlink3
Cort Buffington and Claude Opus 4.8
2026-06-24 22:26:43 -05:00
8ec23fe02b
bridge.py: silence per-pass stream-trimmer debug log
Cort Buffington and Claude Opus 4.8
2026-06-24 20:53:39 -05:00
c9f628a9ba
HBlink3: emit END on stream supersession + 2s no-audio timeout
Cort Buffington and Claude Opus 4.8
2026-06-24 20:25:39 -05:00
8efa73d9b3
dashboard: reap stale active streams (self-heal from missed END events)
Cort Buffington and Claude Opus 4.8
2026-06-24 16:39:20 -05:00
983b0f5ab9
hblink-SAMPLE.cfg: refresh [REPORTS] for the dashboard feed
Cort Buffington and Claude Opus 4.8
2026-06-24 14:45:25 -05:00
a8c98cd468
Document dashboard as an optional shared-venv extra
Cort Buffington and Claude Opus 4.8
2026-06-24 14:09:15 -05:00
2836f71ec7
Add HBlink3 dashboard (FastAPI + Uvicorn, modern UI)
Cort Buffington and Claude Opus 4.8
2026-06-24 13:54:28 -05:00
48c35c20bd
Overhaul HBlink3 reporting feed: pickle/netstring -> NDJSON
Cort Buffington and Claude Opus 4.8
2026-06-24 13:42:18 -05:00
9d43e56644
Rewrite README and add INSTALL.md
Cort Buffington and Claude Opus 4.8
2026-06-24 12:57:44 -05:00
1864459e78
Add protocol regression tests for the asyncio migration
Cort Buffington and Claude Opus 4.8
2026-06-24 12:51:35 -05:00
88ea502382
Migrate the networking core from Twisted to asyncio
Cort Buffington and Claude Opus 4.8
2026-06-24 12:51:21 -05:00
f9f2652757
Modernize packaging: clean requirements, add pyproject and systemd unit
Cort Buffington and Claude Opus 4.8
2026-06-24 12:26:06 -05:00
49399790d8
Unify unit-call target forwarding into target.bridge_unit()
Cort Buffington and Claude Opus 4.8
2026-06-24 11:51:23 -05:00
a32e34a25d
Add unit-call scenarios to the routing baseline
Cort Buffington and Claude Opus 4.8
2026-06-24 11:48:38 -05:00