Releases: jcalado/voxdmr-site
v0.11.0
v0.10.0
v0.9.1
v0.9.0
VoxDMR 0.9.0 — Auto-update
Adds an in-app updater. VoxDMR can now check for new releases on launch and on demand, and install them without leaving the app — no separate download trip, no installer to find.
Highlights
- Prompt on launch. When a newer build is available, VoxDMR opens a modal with the version, a What's new link, and three choices: Update now,
Skip this version (silenced forever), or Remind me later (24-hour cooldown). - Manual check. Settings → About has a Check for updates button. The result — Checking…, You're on the latest, Update available, or an error —
appears inline below the button so the answer is in the same place you clicked. - Verified, atomic install. The binary is downloaded with progress + cancel, SHA-256 verified against the release's
SHA256SUMSfile, and atomically
swapped into place — safe on Windows even with the.exerunning. A mismatched checksum aborts and never overwrites the existing build. - Clear post-install state. When the install finishes you get a one-click Restart now, or you can keep working and pick up the new build on next
launch. If the modal was dismissed mid-flow, the footer status line confirms the install in green so the result isn't silent. - Footer-as-toast. Transient update messages share the right-hand status slot in the footer for ~5 seconds instead of pushing the rest of the UI down.
v0.8.0
VoxDMR v0.8.0 — Time-Out Timer
The marquee addition is a configurable Time-Out Timer (TOT). It caps the length of a single transmission so a stuck PTT, a forgotten toggle, or just an
enthusiastic ragchew can't hold the talkgroup indefinitely. Standard radio behavior, finally available client-side instead of relying solely on
Brandmeister's server-side cutoff at ~190 s.
What it does
While you're keyed up, TOT counts up alongside the existing TX clock. Cross a threshold and you get one or both of:
- Visual warning — the TX timer under the PTT button changes color: gray during normal TX, amber when the warning fires, red in the last 5 seconds.
- Audible sidetone — a short 800 Hz beep at the warning threshold, two short 600 Hz beeps at the cutoff. Plays through your local audio output device
only — never goes to the network.
If you've configured a hard cutoff and you reach the duration limit, VoxDMR auto-releases PTT for you (same flow as letting go of the key yourself — clean
terminator frame, no half-keyed state). To talk again, just press the key fresh.
Modes
Pick whichever matches how strict you want to be:
| Mode | Warning | Auto-cutoff |
|---|---|---|
| Off | — | — |
| Warn only | ✓ | — |
| Warn then cutoff (default) | ✓ | ✓ |
| Hard cutoff | — | ✓ |
Defaults
- Mode: Warn then cutoff
- Duration: 180 s (range 30–190 s)
- Warning lead: 15 s before expiry (max = duration / 2)
- Visual + audible warning: both on
The 190 s ceiling matches Brandmeister's own forwarding cutoff — anything higher would be silently dropped by the network anyway, so the slider doesn't go
there.
Where to configure
Settings → Interface tab → "Time-Out Timer" section. Mode is a dropdown; duration and warning lead are sliders. Visual / audible toggles independently.
Lowering the duration mid-transmission takes effect immediately — if you drop it below the time you've already been keyed, the cutoff fires within the next
tick.
Status card now reflects your TX state
Previously the top status card stayed on Idle / waiting for activity on TG … even while you were keyed up. It now flips to Transmitting → TG 98 ·
Worldwide (or whichever TG you're on) in red, and reverts to Idle the moment you release.
Settings window improvements
The Interface tab grew with the new TOT controls, so:
- The right-hand settings panel is now scrollable when content overflows the window.
- Default settings window opens 150 px taller (480 → 630 px), so TOT controls fit without scrolling on first open. Minimum size unchanged — small-screen
users aren't affected.
No breaking changes
config.toml gains a new [tot] section; older configs without it pick up the documented defaults. No env vars, paths, or protocol semantics changed.