2025-11-09 - 2026-11-09
Overview
2 Releases published by 2 users
Published
v1.1.0
Published
v1
15 Pull requests merged by 1 user
Merged
#47 Upload spool + retry, analog noise squelch, MQTT error, Discord pause (node-26#44 #46 #21 #34)
Merged
#43 checkin: report host disk free/total (#41)
Merged
#42 drb-update: prune build cache and stale images after every update (#41)
Merged
#36 drb-update: trust INSTALL_DIR so an updater on a user-owned checkout works
Merged
#38 discord_radio: presence follows voice; name why a voice join fails
Merged
#35 CI: build node images for amd64 as well as arm64 (#28)
Merged
#30 install.sh: enrollment token never on the command line (#18)
Merged
#31 Pin node images to the checked-out source tree — fix v1 code / :latest image skew (#19)
Merged
#32 discord_radio: desired-state streams, logout on release, no mention controls (#25)
Merged
#27 P25 conventional decode + conventional-channel attribution (node-26#24, #20)
Merged
#23 Local dashboard: plain-language status + listen locally without C2 (fixes analog, #12)
Merged
#16 Node self-heals its API key; one-stop install.sh; real host-level OTA updater (#14, #15)
Merged
#8 ci: publish node images to a public registry on a version tag (DISABLED)
Merged
#7 install.sh: re-run collects the key via pickup_secret, never re-enrolls
Merged
#5 One-shot install.sh for a fresh Pi; retire setup.sh (node-26#4)
1 Pull request proposed by 1 user
Proposed
#10 Second SDR: ADS-B (dump1090) / AIS (AIS-catcher) support
19 Issues closed from 1 user
Closed
#49 Versioning: VERSION file + automatic patch tags + promote to v1; updater compares versions numerically
Closed
#34 discord_radio: retained desired-state redelivery silently undoes a local-dashboard pause
Closed
#21 Edge dashboard can't tell 'broker refused' from 'broker unreachable' — mqtt_manager exposes no last connect error
Closed
#44 A failed upload permanently deletes the recording: no retry, no disk spool
Closed
#20 Analog (NBFM) calls are always discarded as unattributed — conventional channels never carry a talkgroup
Closed
#39 Radio bot online with presence but never in voice on live — root cause pending the admin-page reading
Closed
#37 Radio bot logs in with the right presence but never appears in the Discord voice channel (live)
Closed
#41 Updater never prunes Docker build cache: node-002 disk hit 100% and silently stopped recording for 17 days
Closed
#24 P25 conventional is unsupported — "P25" always means trunked, so White Plains PD (Toughny) can never decode
Closed
#25 discord_radio: leave keeps the gateway session alive after C2 releases the token; watchdog rejoin cancels itself; @bot leave has no auth
Closed
#28 CI publishes arm64-only images — amd64 nodes (radio-box) can't pull, so OTA pull mode fails there
Closed
#18 install.sh --token puts the enrollment token on the command line (shell history + ps) — CISO condition from server-26#61 unmet
Closed
#19 Code/image skew (install.sh D3): updater checks out v1 code but pulls :latest images built from main
Closed
#15 "Update Node" is not an OTA update — it only restarts the container, and only reaches nodes already on MQTT
Closed
#14 Node enrolled via install.sh never comes online if approved after install (Toughny) — no client-side key pickup, and re-run doesn't restart edge-node
Closed
#12 op25 /op25/status reports "running" after multi_rx has died
Closed
#11 OP25 binds its SDR by position ("rtl"), so on 2-SDR nodes it can lose its dongle to readsb and stop recording
Closed
#3 Icecast ships a default source password of "hackme" in three places
Closed
#2 Audio regression: Discord voice and call recording pull from Icecast instead of PulseAudio
33 Issues created by 1 user
Opened
#2 Audio regression: Discord voice and call recording pull from Icecast instead of PulseAudio
Opened
#1 node-002 dashboard is still on first-boot default credentials
Opened
#3 Icecast ships a default source password of "hackme" in three places
Opened
#4 One-line install: a node still needs a manual git clone before setup.sh can run
Opened
#6 Node dashboard has no way to install a reissued API key
Opened
#9 Second SDR support: ADS-B (dump1090) / AIS (AIS-catcher) / dual-OP25, configurable client+server
Opened
#11 OP25 binds its SDR by position ("rtl"), so on 2-SDR nodes it can lose its dongle to readsb and stop recording
Opened
#12 op25 /op25/status reports "running" after multi_rx has died
Opened
#13 Meshtastic/MeshCore mesh radio container: backup link, alert TX, mesh RX
Opened
#14 Node enrolled via install.sh never comes online if approved after install (Toughny) — no client-side key pickup, and re-run doesn't restart edge-node
Opened
#15 "Update Node" is not an OTA update — it only restarts the container, and only reaches nodes already on MQTT
Opened
#17 OTA updater trusts the git host and registry with no signature or digest check — a compromised Gitea is root on every node
Opened
#18 install.sh --token puts the enrollment token on the command line (shell history + ps) — CISO condition from server-26#61 unmet
Opened
#19 Code/image skew (install.sh D3): updater checks out v1 code but pulls :latest images built from main
Opened
#20 Analog (NBFM) calls are always discarded as unattributed — conventional channels never carry a talkgroup
Opened
#21 Edge dashboard can't tell 'broker refused' from 'broker unreachable' — mqtt_manager exposes no last connect error
Opened
#22 Calls recorded during a local override upload under the C2-assigned system_id
Opened
#24 P25 conventional is unsupported — "P25" always means trunked, so White Plains PD (Toughny) can never decode
Opened
#25 discord_radio: leave keeps the gateway session alive after C2 releases the token; watchdog rejoin cancels itself; @bot leave has no auth
Opened
#26 Two conventional channels share one mono audio stream — simultaneous traffic is mislabelled/mixed
Opened
#28 CI publishes arm64-only images — amd64 nodes (radio-box) can't pull, so OTA pull mode fails there
Opened
#29 OP25 source in op25-client image is an unpinned, cached gr310 clone; tk_drb_conv depends on tk_p25 internals no test checks
Opened
#33 Wrong conventional NAC filter drops all frames silently; the Decoding check still says OK
Opened
#34 discord_radio: retained desired-state redelivery silently undoes a local-dashboard pause
Opened
#37 Radio bot logs in with the right presence but never appears in the Discord voice channel (live)
Opened
#39 Radio bot online with presence but never in voice on live — root cause pending the admin-page reading
Opened
#40 Report decode health in the checkin so the portal can explain "online but not recording"
Opened
#41 Updater never prunes Docker build cache: node-002 disk hit 100% and silently stopped recording for 17 days
Opened
#44 A failed upload permanently deletes the recording: no retry, no disk spool
Opened
#45 Replace OP25+PulseAudio recorder with Trunk Recorder feeding our uploader
Opened
#46 Analog: switch to OP25's noise squelch (gr310 2026-08-03) and expose squelch in config
Opened
#48 Recordings start with a long silent head and clip the speaker at the tail (both OP25 and Trunk Recorder)
Opened
#49 Versioning: VERSION file + automatic patch tags + promote to v1; updater compares versions numerically