github Thinline-Dynamic-Solutions/ThinLineRadio v7.0.0-beta9.7.25
v7.0.0 Beta 9.7.25

9 hours ago

What's New

TLR Time Sync — clock synchronisation client

  • New standalone tool (tlr-time-sync) for keeping SDR-Trunk machine clocks aligned with the TLR server, improving duplicate call detection accuracy
  • NTP-style round-trip compensation: offset = serverTime − (t1+t3)/2
  • Takes multiple samples per sync cycle (default 4) and uses the lowest-RTT sample for the most accurate measurement
  • Dead-zone filter: offsets within half the RTT are treated as measurement noise and skipped
  • Exponential back-off after repeated failures (5 s → 10 s → 20 s … capped at 10 minutes)
  • Installs as a native system service: Windows Service (LocalSystem), Linux systemd, macOS LaunchDaemon — auto-starts at boot with no recurring privilege prompts
  • Lives in its own repository

Server — Performance

  • Systems.Read now loads all sites, talkgroups, and units in 4 total queries regardless of system count (down from 3N+1 sequential queries)
  • fetchRadioReferenceAPIKey moved to background goroutine — no longer blocks startup (up to 10 s saved on cold start)
  • Keyword regex patterns compiled once and cached for the lifetime of the process
  • cleanupOldAlerts rate-limited to at most once per hour via atomic timestamp
  • Group admin subscription lookup now O(1) via indexed map
  • Invalid FCM token cleanup now O(1) via token index
  • Keyword match DB writes batched into a single multi-row INSERT per transcription
  • Client backlog send fetches up to 1000 calls in 3 bulk queries instead of N round-trips

Server — Push Notifications

  • OneSignal removed; FCM only
  • Legacy token detection and automatic cleanup with user email notification

Server — GET /api/time endpoint

  • New lightweight endpoint returning server UTC time as a nanosecond Unix timestamp
  • No auth, no DB — intentionally minimal for accuracy under load; used by tlr-time-sync

See CHANGELOG.md for full details.

Don't miss a new ThinLineRadio release

NewReleases is sending notifications on new releases.