rouggy
968da5488c
chore: release v0.20.8
v0.20.8
2026-07-21 21:48:23 +02:00
rouggy
1b5b0c2e90
feat: clicking the status-bar amplifier chip toggles OPERATE <-> STANDBY (SPE/ACOM, optimistic flip reconciled by the poll; disabled offline) — PGXL still opens Settings, it has no standby command
2026-07-21 18:54:48 +02:00
rouggy
0385aed760
feat: amplifier controls without a Flex/Icom panel — Station Control widget (SPE/ACOM full control, PGXL fan) + status-bar chip (green OPERATE / orange STANDBY / red offline, click opens Settings); warn with a toast when activating a profile whose MySQL is unreachable instead of silently staying on the old logbook
2026-07-21 18:47:31 +02:00
rouggy
24a5a0480d
chore: release v0.20.7
v0.20.7
2026-07-21 18:26:34 +02:00
rouggy
828f99b8ac
docs: add Discord server badge to the top of the README (EN/FR)
2026-07-21 17:15:18 +02:00
rouggy
9e5868b839
fix: raise MySQL pool 8->16 — 8 starved the instance's own live-sync polling (revision + grid refresh + live_status + chat), so the grid stopped showing other operators' QSOs; 16 avoids the stall and still fits ~15 ops under max_connections=300
2026-07-21 16:50:48 +02:00
rouggy
40d0ca57c3
diag: log slow QSO inserts (>2s) with call/band/mode; rotate the app log to .1 at 10MB instead of deleting it, so the previous session's diagnostics survive
2026-07-21 16:24:50 +02:00
rouggy
aa537f9eea
fix: log returns as soon as the QSO row is inserted; award_refs/recording/uploads/eQSL now run off the critical path (both manual and UDP) — a busy multi-op MySQL no longer freezes the entry form ~40s waiting on the award_refs UPDATE
2026-07-21 16:20:49 +02:00
rouggy
ea1bd2a66d
feat: sync the host CW keyer speed (wkWpm) to the FlexRadio's actual CW speed — including changes made on the radio/SmartSDR, not just the panel slider — so CW-length estimates (auto-call gap) match reality when using Flex CWX
2026-07-21 16:10:15 +02:00
rouggy
1f54656256
fix: <LOGQSO> logs immediately at its position instead of waiting the full CW-duration estimate first (buffered keyers keep sending; logging never interrupts them) — was delaying the log up to ~10s; only the final segment still waits, for auto-call timing
2026-07-21 16:01:15 +02:00
rouggy
54dd109288
docs: changelog entry for 0.20.7 (multi-op MySQL connection fix, By-Continent stats total)
2026-07-21 15:12:44 +02:00
rouggy
2c1d7235f0
fix: shrink MySQL connection pool (50->8) so a multi-op event doesn't exhaust the shared server's max_connections (Error 1040: Too many connections), which was silently failing the on-air widget/award_refs/grid reads and making the UI look frozen
2026-07-21 12:23:38 +02:00
rouggy
adf9844d1b
fix: stats By Continent donut totals now match the QSO count (bucket blank/unknown continents as 'Unknown' instead of dropping them; keep the Continents metric counting real continents only)
2026-07-21 12:10:00 +02:00
rouggy
7afe40a48e
chore: release v0.20.6
v0.20.6
2026-07-21 11:57:20 +02:00
rouggy
311ea8341f
docs: changelog entry for 0.20.6 (amp card in Flex panel, faster CAT+MySQL startup, no lost QSOs, instant stations-on-air, LOGQSO position, relay fixes)
2026-07-21 11:51:51 +02:00
rouggy
a2958d458e
fix: 'stations on air' widget updates instantly after a QSO (UDP/FT8 path now emits qso:logged; publishLiveStatus emits livestatus:updated so the widget re-reads exactly when the shared row changes) — was lagging ~15-45s behind the ON-AIR badge
2026-07-21 11:32:16 +02:00
rouggy
d9b7e48e83
fix: UDP-logged QSOs fall back to the offline outbox on DB failure (were silently lost); speed up MySQL connect (batch migration checks into 1 query, connect direct-to-DB first) — was ~40s on a high-latency link
2026-07-21 11:18:36 +02:00
rouggy
3e9ebdb89a
fix: serialise UDP QSO logging (lookup+dedup+insert) so multi-stream MSHV (4 QSOs at once) queues instead of firing concurrent lookups/DB writes that got 'too many requests'
2026-07-21 11:09:43 +02:00
rouggy
be66ac1e19
fix: auto-call gap respected again (wkSend already waits for the send; runAutoCall no longer double-counts it, so a 4s gap is 4s not ~13s)
2026-07-21 10:26:28 +02:00
rouggy
6aab4a6989
fix: start CAT before the MySQL logbook connect — Flex/CAT no longer waits ~30s behind a slow remote-MySQL dial at launch
2026-07-21 10:26:27 +02:00
rouggy
9c62bf0152
fix: cleanly stop CAT (and release relay handles) on shutdown — FlexRadio kept our API client registered, making the next launch take ~30s to reconnect
2026-07-21 10:15:02 +02:00
rouggy
1630c8fdf4
feat: include band in the self-spot toast (Spotted by X on 20m with ...)
2026-07-21 10:08:11 +02:00
rouggy
408791ddf5
fix: <LOGQSO> now logs at its position in the macro (splits the macro there), and ESC/Stop before it completes cancels the pending log
2026-07-21 09:54:54 +02:00
rouggy
3de47a8825
fix: pin bottom status bar — root no longer shows a horizontal scrollbar that overlapped it in a small window
2026-07-21 09:49:49 +02:00
rouggy
880ecdbbb5
fix: cache relay-board drivers so Denkovi/USB-serial boards stay connected
...
The station-control code rebuilt a fresh driver on every status poll and every
relay set. Stateful boards (Denkovi FTDI D2XX, USB-serial) hold an OS handle only
one opener can own, so the first poll opened the board and leaked the handle, and
every poll after failed with 'device in use' — the relays greyed out a second
after Save and auto-control never switched. Drivers are now cached per device and
reused, closed on config change. Adds a Test-connection button + detect feedback
in the device editor (reported by VK4MA).
2026-07-21 09:31:08 +02:00
rouggy
615df0dc10
docs: update README (EN/FR) — SPE Expert amp, Station Control relays, Flex CWX keyer, statistics dashboard, What's new dialog
2026-07-21 09:24:28 +02:00
rouggy
2194279602
fix: drain SPE status backlog so display is current (was ~15s stale); ON now pulses DTR (0x0B is level-only); power-level cycle waits for real status change
2026-07-21 01:38:39 +02:00
rouggy
51c4bda71a
fix: SPE card shows 'SPE offline' instead of 'PowerGenius offline'
2026-07-21 01:31:38 +02:00
rouggy
7d7d175ede
feat: SPE amp ON/OFF buttons and Low/Mid/High power-level control (keystroke codes best-guess from APG, pending hw verification)
2026-07-21 01:25:55 +02:00
rouggy
be1ae76eb3
fix: correct SPE band-code map (00=160m,01=80m,02=60m...confirmed on hw); add output-power bar to SPE amp card
2026-07-21 01:19:24 +02:00
rouggy
50157a25d3
feat: show band on SPE amp card, spell out power level (Low/Mid/High), larger status text
2026-07-21 01:13:02 +02:00
rouggy
fe1a77a54d
fix: use official SPE band-code table from the manual (00=60m,01=160m,...)
2026-07-21 01:10:12 +02:00
rouggy
b818a2d947
fix: correct SPE status CSV field alignment (leading empty field shifts indices +1); decode band code; OPERATE/STANDBY now reflects real amp state
2026-07-21 01:09:13 +02:00
rouggy
5c4ae0cfd7
fix: put Mode Split By Band and By Mode side by side on the same row
2026-07-21 01:02:34 +02:00
rouggy
69635a15bc
refactor: remove redundant By Band chart, keep Mode Split By Band in its place
2026-07-21 00:59:25 +02:00
rouggy
78220e700f
fix: hide the entire Flex-reported amp card when PowerGenius is not the selected amp type
2026-07-21 00:57:16 +02:00
rouggy
42a6b9c76a
debug: log raw SPE status frame on change (to verify CSV field alignment on real hw)
2026-07-21 00:54:13 +02:00
rouggy
56affa4bed
feat: SPE Expert amplifier card in the Flex panel (OPERATE/STANDBY + live status)
...
When the configured amplifier is an SPE Expert (not the PowerGenius), the Flex
panel now shows an SPE control card — the Flex doesn't report SPE amps, so it's
driven by OpsLog's own SPE link. The PowerGenius fan-mode control is hidden when
the amp type isn't PowerGenius.
2026-07-21 00:49:48 +02:00
rouggy
aa5af4fc75
ui: EN/FR toggle in the What's-new dialog (defaults to UI language)
2026-07-21 00:36:39 +02:00
rouggy
46772e54fe
chore: check for updates every 5 minutes (was 10)
2026-07-21 00:32:19 +02:00
rouggy
a0cea352ff
feat: re-check for updates when opening Help - About (no more stale 'up to date')
...
Opening About now fires a fresh CheckForUpdate with a 'Checking…' state, and
clears the update banner when the latest check finds nothing — so it reflects
reality instead of the last periodic check.
2026-07-21 00:26:54 +02:00
rouggy
190b86eb1c
chore: release v0.20.5
v0.20.5
2026-07-21 00:21:55 +02:00
rouggy
cfc3d00ea1
feat: Help - What's new button to reopen the changelog anytime
...
Adds GetChangelog (all entries up to the running version, no seen-marker change)
and a Help menu 'What's new' item that reopens the changelog dialog on demand.
2026-07-21 00:17:11 +02:00
rouggy
9033e8518c
feat: What's-new changelog dialog on first launch after an update (EN/FR)
...
Embeds changelog.json (per-version EN + FR notes, curated from the release's
commits). GetWhatsNew compares the stored last-seen version with the running
build and returns the notes for every newer version, once, then advances the
marker. A dialog shows them in the UI language on the first launch after update.
Seeded with the 0.20.5 notes.
2026-07-20 22:58:05 +02:00
rouggy
bfbd9fa61a
fix: activity chart uses rolling chronological windows (real dates), not cyclical
...
Day/Week/Month/Year now show the anchor day hour-by-hour, the last 7 days, the
last 30 days, and the last 12 months — anchored to the period end (else now), in
real date order. Replaces the cyclical hour-of-day/weekday/day-of-month/month
buckets, which left future days empty and ordered the weekend after Monday.
2026-07-20 21:39:24 +02:00
rouggy
f0c4f22942
feat: stats activity-over-time granularity selector (timeline / day / week / month / year)
...
Backend adds cyclical distributions ByHour (hour-of-day), ByDOW (weekday), ByDOM
(day-of-month) and ByMonthYr (calendar month), all UTC. The Activity-over-time
card gains a selector: Timeline keeps the chronological month trend; Day/Week/
Month/Year show the hour/weekday/day/month distribution as bars.
2026-07-20 21:25:33 +02:00
rouggy
19c91f32a0
feat: stats — per-band mode split (CW / phone / data) stacked bar chart
...
Adds Stats.ByBandCategory (per band: CW/phone/data counts, band-plan order) via a
modeCategory() bucketing in stats.go, and a StackedBandBars chart in the Stats
panel showing the split per band with a legend.
2026-07-20 21:20:29 +02:00
rouggy
3ec23bc613
ui: compact Stations-on-air rows to single line so 5+ fit without scrolling
2026-07-20 19:36:01 +02:00
rouggy
2fbb922bd2
Revert "fix: UDP-logged QSOs adopt the active profile's station callsign (Club Log upload blocked)"
...
This reverts commit f0afdcc498 .
2026-07-20 19:34:33 +02:00
rouggy
f0afdcc498
fix: UDP-logged QSOs adopt the active profile's station callsign (Club Log upload blocked)
...
MSHV/WSJT-X often stamp a personal STATION_CALLSIGN (e.g. F4BPO) that differs
from the special-event/contest profile you're running in OpsLog (e.g. TM74TFR).
The QSO then failed the extsvc station-callsign guard and was never uploaded to
the (matching) Club Log logbook. Live UDP logging now stamps the active profile's
callsign when the base call genuinely differs (portable variants left alone).
2026-07-20 19:32:06 +02:00