commit 9588c1c5fc319acc10402b06df8db3841d2f5a4d Author: Mooneer Salem Date: Fri Jul 31 23:35:11 2026 -0700 See if a newer macOS release will run tests better. commit 859f99fdabd857cfe41f2f690a8ac8bb38053014 Author: Mooneer Salem Date: Fri Jul 31 20:07:44 2026 -0700 Capture rade_loss's test.wav as a CI artifact too. test.wav is the raw modulated waveform recorded directly off the modulator's output during TX and played back for RX -- one hop closer to the encoder than rade_decoder_input.wav (which is that same signal after an additional live-capture round trip through FreeDV's own RX audio path). Having both lets us confirm whether a decode anomaly (e.g. the sync flicker reproduced offline via rade_rx_wav) is present in the encoder's direct output or only appears after FreeDV's own live capture, which would point at two different places to keep looking. test.wav is a generic filename reused by test_zeros.sh and test_rade_reporting.sh in the same working directory/job, both of which run after rade_loss and would silently overwrite it before CI could upload it -- same problem as the fullduplex recordings, same fix: snapshot it under a unique name (rade_loss_test.wav) right after rade_loss finalizes it, before any later test can touch it. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit b337b7be07321ebcc2c159e314013c43a1a36574 Author: Mooneer Salem Date: Fri Jul 31 19:05:19 2026 -0700 Fix RADE encoder-input recording missing during full-duplex test. The -txradeinfile/-rxradeinfile open+close logic was scoped to UnitTest_()'s tx/rx branches, so the encoder-input tap never activated during a "-ut rx" invocation. That broke the fullduplex_RADEV1/ Test RADE instrumentation added last commit: a fullduplex test runs TX and RX simultaneously under a single -ut rx invocation, so only fullduplex_rade_decoder_input.wav was actually being captured -- confirmed via this run's artifact, which was missing the encoder-input file entirely. Open/close both files unconditionally instead, matching the fact that either can legitimately be active regardless of which -ut mode is selected. No behavior change for rade_loss/rade_reporting, which only ever pass one of the two flags at a time. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit b8b9ead04becc2e113854fa2ff262bd804be3ad1 Author: Mooneer Salem Date: Fri Jul 31 17:44:46 2026 -0700 Record RADE encoder/decoder input during the full-duplex test too. fullduplex_RADEV1 (test_zeros.sh) / Test RADE (TestFreeDVFullDuplex.ps1) is supposed to hold sync continuously, but recent CI runs show it dropping and reacquiring sync mid-transmission (e.g. 7s after initial lock, not immediately after) -- the same class of problem as the high loss in rade_loss, but here it's unambiguously a bug since this test runs TX and RX simultaneously and isn't supposed to lose sync at all. Wire up -txradeinfile/-rxradeinfile the same way as rade_loss, using filenames distinct from rade_loss's own recordings (fullduplex_rade_encoder_input.wav / fullduplex_rade_decoder_input.wav) since fullduplex runs first and shares a working directory with the tests that follow it, which would otherwise silently overwrite its recording before it could be uploaded. Extends the existing "Upload RADE encoder/decoder input recordings" step's file list in all three platforms' source-build test jobs (the only jobs that run this test); AppImage/.app-runner jobs are untouched since they only exercise rade_loss. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit 410274e263ca3f7fbb585c3d6c8d564fdbec4dd8 Author: Mooneer Salem Date: Fri Jul 31 12:26:10 2026 -0700 CI: disable PulseAudio idle-exit to fix spurious "device not found" failures. The socket-activated PulseAudio user service exits after its default 20s idle timeout. If that happens between the TX and RX phases of a test (kill the TX recorder, then some gap before RX opens its own stream), systemd respawns a fresh daemon with none of the pactl-loaded virtual null-sink devices from earlier in the script -- so RX fails with "Your FreeDV_Radio_To_Computer.monitor device cannot be found" and cleanup fails with repeated "Failure: No such entity", even though nothing is actually wrong with the audio pipeline. This most likely explains the recent build-appimage failures at "Generate optimization profile": that step uses the unoptimized, PGO-instrumented build (which we've already established is much slower for RADE inference), creates its virtual devices once up front, and does a full TX phase before RX -- exactly the conditions for the idle gap to exceed 20s. Set exit-idle-time = -1 in daemon.conf everywhere it's written (build-appimage and the two ubuntu-22.04 test-application variants). Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit 5595c3ceaa7b0133511fb7440be10adee4bb019d Author: Mooneer Salem Date: Fri Jul 31 12:12:46 2026 -0700 Make RADE encoder/decoder input recording globals atomic. g_sfRecRadeEncoderInputFile, g_recRadeEncoderInput, g_sfRecRadeDecoderInputFile, and g_recRadeDecoderInput are opened/ closed from the main thread but read from the real-time audio thread via the RecordStep/EitherOrStep lambdas in TxRxThread's pipeline -- the same situation as g_sfRecFileFromModulator/g_recFileFromModulator, which are already atomic for exactly this reason. Using plain SNDFILE*/ bool for these was a data race that ThreadSanitizer correctly flagged, matching the WITH_TSAN=1 CI failures that started right after the recording taps were added. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit 6b8f5957710dc4c6f4e422187ba3f69935d2e22f Author: Mooneer Salem Date: Fri Jul 31 11:05:50 2026 -0700 CI: upload RADE I/O recordings from AppImage/.app runs; restrict to WITH_ASAN=0. Add rade_encoder_input.wav/rade_decoder_input.wav upload steps to the jobs that exercise the built AppImage (Linux: test-appimage-ubuntu, test-appimage-fedora) and packaged .app (macOS: test-app-folder), not just the source-build test jobs -- these are the artifacts users actually run, so a loss issue specific to the packaged build needs its own recordings to reproduce. Also restrict the existing source-build job uploads (macOS test, Linux test-application) to the WITH_ASAN=0 sanitizer lane only, since that's the only config that's shown the elevated loss so far and the other sanitizer variants don't need the extra artifact storage. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit ef552cb80cb19f272f88f6ee79e2651bc1d2c766 Author: Mooneer Salem Date: Fri Jul 31 09:16:41 2026 -0700 Record raw audio into the RADE encoder/decoder for offline repro of loss issues. To rule out FreeDV-side vs. upstream RADE causes for the loss spikes seen in CI (e.g. the WITH_ASAN=0-only ~0.3-0.45 loss on the rade_loss test), add two optional recording taps in TxRxThread's pipeline, positioned at the exact points audio enters the codec: * TX: right before RADETransmitStep (post mic-processing -- what actually gets encoded), gated by the new -txradeinfile . * RX: right before RADEReceiveStep (whatever reaches the demodulator, live sound card or -rxfile), gated by the new -rxradeinfile . Both mirror the existing -txoutfile/-rxoutfile RecordStep/TapStep/ EitherOrStep idiom already used elsewhere in this file, so they're zero-cost when not requested. Wired into test_rade_loss.sh and TestFreeDVRadeLoss.ps1 (including the phase-shift retry), and uploaded as rade-io-* build artifacts on all three CI platforms regardless of pass/fail, so a CI-only loss spike can be reproduced locally against the RADE tools directly. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit 0e6624251d40a7ca5b6d5ffbdafa0d900d47cc29 Author: Mooneer Salem Date: Fri Jul 31 06:48:31 2026 -0700 Reporting test: allow >=1 callsign decode instead of requiring exactly 1. RX plays back the entire recording rather than stopping at the first decode, so a re-sync partway through can legitimately decode the callsign more than once -- confirmed on a recent CI run where the callsign was correctly reported twice (SNR 14, then SNR 16) but the test still failed because the count check required exactly 1. That's a false failure in the test's own assertion, not a decode problem. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit 71f9f1bdb5e14fe416359f17efc5516835077e8a Author: Mooneer Salem Date: Thu Jul 30 19:43:31 2026 -0700 RADE loss test: retry with phase-shifted recording on failure. The existing amplitude-threshold silence trim doesn't actually control which point in RADE's ~20ms frame period sync lands on -- it just relocates the randomness to a different arbitrary offset, so it wasn't sufficient to avoid the known upstream periodic-loss bug (https://github.com/freedv/rade_c/issues/8): within a narrow (~4ms) window of that period, loss lands well above baseline purely because of *when* sync happens to be acquired, not because of an actual quality regression. If the first attempt fails, deterministically shift the played-back recording by half a period (10ms, as far from the suspected bad window as possible) and retry once before concluding it's a real failure. A genuine regression degrades loss at every phase, so it still fails both attempts; this specifically targets the known timing artifact. Applied to both the PowerShell (Windows) and bash (Linux/macOS) variants since the bug is upstream and platform-independent. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit 94a8e266e3fde748cc6e9e81f46e04bcead28594 Author: Mooneer Salem Date: Thu Jul 30 18:16:27 2026 -0700 CI: capture freedv.exe crash dumps on Windows test runners. Configure Windows Error Reporting LocalDumps for freedv.exe before the test steps run, and upload any resulting .dmp files as a build artifact regardless of whether the job passes or fails. This is to investigate suspected intermittent freedv.exe crashes during the Windows CI test runs, which could otherwise be indistinguishable from a hang or a genuine decode failure in the test logs. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit aff4131db4fdd6d603f48817d73adb0d29c6c661 Author: Mooneer Salem Date: Thu Jul 30 17:16:46 2026 -0700 Fix more typos. commit 65ed062f5d68211cd8a29da97e88987d7057638c Merge: 738003ad 25f4419a Author: Mooneer Salem Date: Thu Jul 30 16:39:14 2026 -0700 Merge branch 'master' into ms-snr-corruption commit dabdff59aea5ca2a99ce07cef088f8b53ce1e311 Author: Mooneer Salem Date: Thu Jul 30 16:37:47 2026 -0700 Set sleep time to make sure we don't accidentally end up on a packet boundary. commit c0cf3c054dcbc9c27d0757f163a26beac1e8a713 Author: Mooneer Salem Date: Thu Jul 30 16:34:58 2026 -0700 Extend workaround to other test scripts too. commit f5c77d7f9fd1f9951deb7fe2c1cd8cfa492f11d9 Author: Mooneer Salem Date: Thu Jul 30 16:30:20 2026 -0700 Fix typos. commit 52668cb8271ed91515889c492d5a4b01a0fc6bbf Author: Mooneer Salem Date: Thu Jul 30 15:48:59 2026 -0700 Add workaround for RADEV2 loss bug. commit 420cc5ad73496b6db59651ac6b0b80ccfd23157a Merge: acecc3a6 296524b6 Author: Mooneer Salem Date: Thu Jul 30 15:00:37 2026 -0700 Merge branch 'v3.0-dev' into ms-rade-v2 commit 296524b6bb22a4cb3517efae3b7e22059efd0039 Merge: fbb47da8 25f4419a Author: Mooneer Salem Date: Thu Jul 30 14:50:41 2026 -0700 Merge branch 'master' into v3.0-dev commit 91b1c85805ef609ee7d834fd63d6226b5920acef Author: Mooneer Salem Date: Thu Jul 30 21:48:21 2026 +0000 latest user manual PDF commit aba62e93dd867f724681b1d67b3d8faf7f8f8467 Merge: aa42fdf1 25f4419a Author: Mooneer Salem Date: Thu Jul 30 14:41:22 2026 -0700 Merge branch 'master' into bcj-callsign-box-selected-fix commit 25f4419aad45012d2b49300a64000d0fd2c15eea Author: Mooneer Salem Date: Thu Jul 30 14:40:57 2026 -0700 Unconditionally add new station to Heard Station list if first heard. (#1444) * Unconditionally add new station to Heard Station list if first heard. * Add check for non-zero number of items. * Add PR #1444 to changelog. commit 32f02b2c5b187aef9de2ff1edfbf6478aec9b1c5 Author: Mooneer Salem Date: Thu Jul 30 21:01:53 2026 +0000 latest user manual PDF commit 6343f66a111fc0f493baed3fcc56b21fab4c97e1 Merge: 05464ecc bebbf937 Author: Mooneer Salem Date: Thu Jul 30 14:00:28 2026 -0700 Merge branch 'master' into ms-heard-station-coloring commit bebbf9374e356418308dedf554c103c5524dca85 Author: Mooneer Salem Date: Thu Jul 30 13:59:17 2026 -0700 Automatically start decoding on FreeDV startup. (#1436) * Automatically start decoding on FreeDV startup. * Fix 22.04 compiler error. commit acecc3a603aa5286db074bcb209d5af89bcf1487 Author: Mooneer Salem Date: Thu Jul 30 13:58:33 2026 -0700 Tests should be recording 16-bit WAV files, not 32-bit. commit 175d04b443f25b76e1d72482af54791d52095285 Author: Mooneer Salem Date: Thu Jul 30 13:06:56 2026 -0700 Fix 22.04 compiler error. commit c6fed155fc25f8c01e451e534bb8f3c5c5a8015d Merge: a88ea2e4 6e93b66d Author: Mooneer Salem Date: Thu Jul 30 13:06:28 2026 -0700 Merge branch 'master' into ms-auto-start-on-startup commit 6e93b66d65f569defe6defca1e8ecf890e6940c3 Author: Mooneer Salem Date: Thu Jul 30 19:09:17 2026 +0000 latest user manual PDF commit 05464eccec52c834358d4841c9a274a1856fea5e Author: Mooneer Salem Date: Thu Jul 30 11:56:36 2026 -0700 Add PR #1444 to changelog. commit da560f12d48361dc72f1fb8ff3004c836831ff08 Author: Mooneer Salem Date: Thu Jul 30 11:55:40 2026 -0700 Use wxWidgets 3.3 hooks to save/load tab layout. (#1435) * Use wxWidgets 3.3 hooks to save/load tab layout. * Re-add previous wxWidgets <= 3.2 implementation of tab save/restore. * Restore 'Enable Experimental Features' option. * Restore previous RX tab. * Add PR #1435 to changelog. commit a88ea2e486e9e47efd30710ca30f5b3cd62a6265 Merge: 78df64c1 a4ae0535 Author: Mooneer Salem Date: Thu Jul 30 11:53:48 2026 -0700 Add PR #1436 to changelog. commit cda4ccf45837d9c1179dd29434137a1f78d5a875 Author: Mooneer Salem Date: Thu Jul 30 11:47:51 2026 -0700 WASAPI: Don't divide incoming samples by 2. commit 39e2c76e618c03a52d604335a0a3c997e67135ab Author: Mooneer Salem Date: Thu Jul 30 11:30:19 2026 -0700 Revert "Try simple sleep again." This reverts commit 8bbb828e597feb9afe11f4411985b3e0fcf3d229. commit 8bbb828e597feb9afe11f4411985b3e0fcf3d229 Author: Mooneer Salem Date: Thu Jul 30 09:55:04 2026 -0700 Try simple sleep again. commit 10a539d1dd5de2538e74609fe5ac5011735f5995 Author: Mooneer Salem Date: Thu Jul 30 09:53:29 2026 -0700 Revert yesterday evening's changes. commit 9d909f7eb61befba064e951dcd0810fe5e276667 Author: Mooneer Salem Date: Wed Jul 29 21:40:32 2026 -0700 TX loop: resume encoding synthesized silence on mic FIFO underrun. CI logs with the freshly-restored FIFO underrun counters confirmed the suspected regression: outfifo1_empty_while_tx was consistently 9-11 on both Windows architectures during the RADE Loss and RADE Reporting TX phases, meaning outfifo1 genuinely ran dry while keyed up and spliced real silence into the transmitted RADE waveform. Since RADE's encoder is a continuous/stateful stream, that's enough to desync RX for the rest of the transmission, matching the observed CI failures. This behavior was introduced by 16fab50a, which stopped feeding zero-filled samples into the encoder when infifo2 (mic input) had nothing ready, to avoid a separate PTT-engage stall. That stall was actually caused by pairing this with a 3-second FIFO floor added in b32f2a4c to survive scheduling stalls -- encoding enough silence to fill 3 seconds of buffer in a tight loop was slow. b32f2a4c was later reverted, but the "stop instead of encode silence" change was kept, leaving the FIFO-underrun problem it was never actually needed to fix. Restore the original behavior: substitute zero-filled input and keep encoding when the mic FIFO has nothing ready. Combined with the already-reverted FIFO depth (back to the default 640ms), this matches the last commit (9b9701fd) known to pass RADE Reporting on Windows CI. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit 5c6866195b1333467aa3d22720c2fc7c60616048 Author: Mooneer Salem Date: Wed Jul 29 20:23:07 2026 -0700 Restore FIFO underrun counters stripped by previous revert. g_outfifo1_empty_while_tx and the FIFO stats log_info line were removed by ecf28955 along with the FIFO-depth/silence-encoding experiments it reverted, but they're needed to confirm whether outfifo1 is running dry mid-transmission (the suspected cause of the current Windows/Linux RADE Reporting CI failures) now that txProcessing_() breaks instead of encoding silence when the mic FIFO underruns. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018h3XKcHxnKLjyeQiCynNiv commit 0c4963c941e3dc53f792f77e5725bf0a8b3e1915 Author: Mooneer Salem Date: Wed Jul 29 12:02:04 2026 -0700 Revert "Change to force GH to rebuild." This reverts commit d5ab04dbc57387751ba4b72db71d565c6218b725. commit d5ab04dbc57387751ba4b72db71d565c6218b725 Author: Mooneer Salem Date: Wed Jul 29 12:02:00 2026 -0700 Change to force GH to rebuild. commit 1ad8ee767c3184c024d13ef9f9ae3b058f2eb549 Author: Mooneer Salem Date: Wed Jul 29 08:24:45 2026 -0700 Increase TX time for reporting tests to make sure we can decode a callsign. commit 90e9f0da9f5b40a95ca2311d7a74d7a92d1c8d10 Author: Mooneer Salem Date: Wed Jul 29 01:51:01 2026 -0700 Increase sox buffer, remove experimental MacAudioDevice logic. commit 371feca17581461580505f9435fcf74896649a13 Author: Mooneer Salem Date: Tue Jul 28 13:41:40 2026 -0700 Revert r8brain changes. commit 98604d61446fce04c8e1e7cf10e976881a5e07ee Author: Mooneer Salem Date: Mon Jul 27 18:16:30 2026 -0700 Fix Linux lint failures. commit f7653ef3bd7a5617090676c975fdc299143f9bc1 Merge: c3438cda f7aab2bb Author: Mooneer Salem Date: Mon Jul 27 17:19:06 2026 -0700 Merge branch 'ms-rade-v2' of github.com:drowe67/freedv-gui into ms-rade-v2 commit c3438cda5ff4498138584f18675bc0fa94cf86ae Author: Mooneer Salem Date: Mon Jul 27 17:18:40 2026 -0700 Minimal changes to get r8brain version of freedv-backend working for test. commit f7aab2bb88e3cae2429f040d7da5217e7fb404c5 Author: Mooneer Salem Date: Mon Jul 27 14:35:54 2026 -0700 Experiment: bypass semaphore wait in MacAudioDevice::stopRealTimeWork. Cross-platform comparison (macOS/Linux/Windows, same CI run) showed the massive real-time-thread stalls (100ms-1s+) inside pipeline_->execute() only occur on macOS. Windows and Linux both fail the same rade_loss test intermittently too, but their equivalent processing-loop timing never exceeds single-digit ms even on a failing run. The one relevant difference: macOS is the only platform whose stopRealTimeWork() pacing is driven by dispatch_semaphore_wait() tied to CoreAudio's own hardware callback delivery, paired with a one-time THREAD_TIME_CONSTRAINT_POLICY declaration (20ms period) in setHelperRealTime(). Windows/Linux both fall back to a flat, self-paced sleep_for(10ms) with no OS-level real-time contract to violate. If the real-time thread's actual wake cadence drifts from its declared period under load (plausible if CoreAudio callback delivery itself becomes irregular), the kernel's real-time scheduling guarantee for that thread can degrade, exposing it to the same contention-based delays we're trying to avoid -- which would explain why it's macOS-specific. This change keeps the semaphore-signaling infrastructure intact (InputProc_ still signals sem_) and just has stopRealTimeWork() ignore it in favor of the same flat sleep the other two platforms use, to test the hypothesis directly rather than removing the semaphore machinery outright. Local stress testing can't validate this (it has never reproduced the severe stalls in the first place -- both versions behave identically under achievable local stress), so this needs a real CI run to evaluate. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01LG3VpAYqh5jGHk2Q1z9f8i commit dd9b25740780c7a33a8e71706d3e24ab64af69a2 Author: Mooneer Salem Date: Mon Jul 27 13:03:16 2026 -0700 Add main-thread timing diagnostic to togglePTT(). Testing whether the deterministic PTT-transition stalls found in the real-time TX/RX thread's processing-loop timing are correlated with synchronous main-thread work in togglePTT() (UI updates, Yield() polling loops, reporter/rig-control calls) happening at the same moment, rather than something inside the encoder/decoder itself. Locally, the two didn't clearly correlate (main thread busy 358ms at PTT release vs. only 0.71ms RT-thread stall in the same window), but local stress testing hasn't been able to reproduce the severe 300-870ms stalls seen on real CI hardware. Pushing so the next CI run captures both signals together for a meaningful comparison. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01LG3VpAYqh5jGHk2Q1z9f8i commit eb9bbe3df3984e7c252784fe626cca53e84a4d8c Author: Mooneer Salem Date: Sun Jul 26 23:25:37 2026 -0700 Improve macOS test pass rate. commit ecf28955acb5e3ff6c09d724b05e59aa0a79c5f8 Author: Mooneer Salem Date: Sun Jul 26 19:42:25 2026 -0700 Revert previous test commits, try another way of suppressing TX thread execution. commit 16fab50a2c16e15c7067e8947eaf5798fd979e62 Author: Mooneer Salem Date: Sun Jul 26 17:28:52 2026 -0700 TX loop: stop instead of encoding synthesized silence when mic FIFO is empty. Processing-timing instrumentation from real CI failures showed a deterministic, multi-hundred-millisecond stall occurring almost exactly at every PTT engage (TX encode thread) and release (RX thread's background loop), independent of system load - not the random OS-scheduling jitter we'd assumed. This matched the previous behavior of txProcessing_(): whenever infifo2 (mic input) had no data ready, the loop substituted a zero-filled buffer and kept encoding anyway to keep outfifo1 topped up, which after the recent FIFO-depth increase to 3s meant synthesizing enough silence frames to fill 3 seconds of buffer in a tight loop right at TX start. Instead, break out of the loop when no mic input is available (unless we're ending TX, which still needs the existing EOO handling) and let the next iteration pick up once real audio has arrived, rather than burning time encoding frames nobody asked for. Locally reproduced under the same 8x CPU-stress conditions used throughout this investigation: the PTT-engage stall dropped from 250-580ms to 4.7ms, and the PTT-release stall dropped from 770-870ms to 0.7ms. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01LG3VpAYqh5jGHk2Q1z9f8i commit 0c5f4ed3a4a19a51ba5b6c29db4f7f92f17b310c Author: Mooneer Salem Date: Sun Jul 26 15:14:51 2026 -0700 Fix clang-tidy failure: use thread-safe localtime_r/localtime_s. Enabling ENABLE_PROCESSING_STATS unconditionally exposed reportStats_() to clang-tidy for the first time (it was previously compiled out of the lint build entirely), which flagged the existing std::localtime() calls as concurrency-mt-unsafe since TX and RX threads can call this concurrently. Switch to the reentrant localtime_r/localtime_s. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01LG3VpAYqh5jGHk2Q1z9f8i commit 065107f9e3fd935bf44a3105c8b08edf6d134d38 Author: Mooneer Salem Date: Sun Jul 26 14:24:02 2026 -0700 Enable TX/RX processing timing stats in all builds, not just UNITTEST. The FIFO-depth fix addressed one confirmed failure mode (TX-side outfifo1 underrun injecting silence), but CI data from the same run shows a second, larger, still-unaddressed problem: the RX-side demodulator losing sync for extended periods under CPU contention even when the recorded audio is completely clean (verified via two test-app-folder failures with zero clipping/gaps yet loss 0.69-0.96). Gating ENABLE_PROCESSING_STATS on UNITTEST meant it was compiled out of the release DMG that the test-app-folder jobs actually exercise - exactly the binary variant showing this failure. Enable it unconditionally instead so the next real failure on any build variant carries the TX/RX iteration timing distribution needed to diagnose it. Overhead is negligible (a couple of clock reads/accumulates per frame, one extra log line per TX/RX session at thread shutdown). Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01LG3VpAYqh5jGHk2Q1z9f8i commit b32f2a4ca79388ee8094424deb724babc24884d1 Author: Mooneer Salem Date: Sun Jul 26 13:01:30 2026 -0700 Increase TX/RX FIFO depth during automated unit tests to survive CI stalls. Root cause of intermittent rade_loss failures: a CI-hardware scheduling stall can starve the real-time TX thread long enough to fully drain outfifo1, injecting a literal ~100-150ms silence gap into the transmitted RADE waveform (confirmed via sample-level analysis of an actual failing CI recording). This breaks the RX demodulator's sync and inflates the feature loss above threshold. Floor the FIFO depth to 3s (UT_MIN_FIFO_SIZE_MS) only when running under -ut automated test mode, giving the producer thread enough headroom to absorb a scheduling stall before it can run the buffer dry. Normal interactive use is unaffected: fifoSizeMs (default 640ms) is left exactly as configured since testName is empty outside of -ut. Locally reproduced the failure under artificial CPU load (loss 1.712, FAIL) and confirmed the fix resolves it under the same conditions (loss 0.084, PASS, continuous sync for the full transmission). Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01LG3VpAYqh5jGHk2Q1z9f8i commit 9b9701fdc4d037486567544f7af41aaa8d6da3e9 Author: Mooneer Salem Date: Sun Jul 26 11:45:35 2026 -0700 Fix RADE loss artifact upload (archive:false only supports one file). The previous artifact stash step failed on every CI run because actions/upload-artifact@v7 rejects archive:false when more than one file is uploaded. Drop that option so the files get zipped normally. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01LG3VpAYqh5jGHk2Q1z9f8i commit 8cca0b943acee31ab3e14b0f435426febc54dab3 Author: Mooneer Salem Date: Sun Jul 26 10:51:29 2026 -0700 Stash RADE loss test artifacts (test.wav, feature files) for debugging. Uploads test.wav, txfeatures.f32, rxfeatures.f32, and logs from the RADE loss test on every macOS CI run (pass or fail) so intermittent failures can be diagnosed from the actual recorded audio instead of just log output. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01LG3VpAYqh5jGHk2Q1z9f8i commit 4d45c0bcf62254b9b22fa47c6766e81de8582621 Author: Mooneer Salem Date: Sun Jul 26 09:25:42 2026 -0700 Additional Claude-assisted debugging code. commit 46f32fb030a742183917d55ec9a3d99b0ef0ac82 Author: Mooneer Salem Date: Sun Jul 26 07:58:23 2026 -0700 Add additional logging. commit 4eeff7fde6f33d28da7f441a7ea4122deef193e4 Author: Mooneer Salem Date: Sat Jul 25 17:22:55 2026 -0700 Tweaking input into pipeline. commit 9dc1d9d9ab2eed32b5f387607523f6332719d289 Author: Mooneer Salem Date: Sat Jul 25 16:11:35 2026 -0700 Oops, timing was wrong. commit 02b65513aa0c7ef992f516abd7c2f6a381b2b1d1 Author: Mooneer Salem Date: Sat Jul 25 15:08:57 2026 -0700 Debug: try to catch very short desyncs. commit c8ce0b7db97b545c33091611e7667e2fe17131ea Author: Mooneer Salem Date: Sat Jul 25 14:19:03 2026 -0700 Always use 10ms for sleep time. commit 1bbae04b4f6ea5d995aea5e1aee7f78e34c1bcb0 Author: Mooneer Salem Date: Sat Jul 25 12:59:49 2026 -0700 Extend wait time to 7s. commit 2f6f40f565747edf0e6e9e9bfc78c1ba0da0fccb Author: Mooneer Salem Date: Sat Jul 25 10:59:37 2026 -0700 Fix corruption in waterfall on start. commit 5910de748240c87a53e34624a23bc48d0b1aeef6 Author: Mooneer Salem Date: Sat Jul 25 09:36:04 2026 -0700 Calculate extra sleep time and subtract next time. commit 2288f7b243cb02825f238c7016c70cd49a25a87d Author: Mooneer Salem Date: Sat Jul 25 08:43:07 2026 -0700 Fix macOS compiler error. commit 920ed91976ec71270ff488ebffb267ad7ef2999d Author: Mooneer Salem Date: Sat Jul 25 08:23:42 2026 -0700 Add check for non-zero number of items. commit 0bc391e3d00e73f606c6bcca85c975dc6307205b Author: Mooneer Salem Date: Sat Jul 25 08:22:19 2026 -0700 Unconditionally add new station to Heard Station list if first heard. commit a3d86f9a2fd6e117a7b26f7cc2793b2f77769568 Author: Mooneer Salem Date: Sat Jul 25 08:17:40 2026 -0700 Try simple sleep after processing audio blocks. commit f046fb73376744edb960933c2d121f4c309ddce1 Author: Mooneer Salem Date: Fri Jul 24 18:20:40 2026 -0700 WASAPI: Round extra wait time to nearest millisecond. commit 3749a5db376623d2d0f97868a62c2070a6a4d262 Author: Mooneer Salem Date: Fri Jul 24 14:23:54 2026 -0700 Revert previous change. commit 129305b3aace77626208535b2b783a1eb8c0c3fe Author: Mooneer Salem Date: Fri Jul 24 13:43:30 2026 -0700 Fix lint error. commit 8e23b530df379b3554e7760cba5609c37255d8cf Author: Mooneer Salem Date: Fri Jul 24 13:21:05 2026 -0700 Force 10ms wait to see if macOS tests behave better. commit 59d02f837fbc4b963648b184f11f583b0ea08ae9 Author: Mooneer Salem Date: Fri Jul 24 11:56:28 2026 -0700 Reset clip_start as it doesn't make a difference. commit c766f56780ca16893f8aec66a9ba77604caa083c Author: Mooneer Salem Date: Thu Jul 23 21:55:18 2026 -0700 Increase clip_start for Windows tests too. commit ce3c6039ee4357c6e17d1c80d14b346c7ab925da Author: Mooneer Salem Date: Thu Jul 23 21:10:48 2026 -0700 Try higher clip_start. commit a9d7f070a7de087454142393ef8b9de2fd05d382 Author: Mooneer Salem Date: Thu Jul 23 19:25:58 2026 -0700 Revert "macOS: Use 16384 for output scaling." This reverts commit d816c3587b5848e6087dae7d1f685075a3f254c7. commit d816c3587b5848e6087dae7d1f685075a3f254c7 Author: Mooneer Salem Date: Thu Jul 23 18:04:28 2026 -0700 macOS: Use 16384 for output scaling. commit 166bc89bf2f6b5d52601a6c1bd497ba4c5d08779 Author: Mooneer Salem Date: Thu Jul 23 15:58:32 2026 -0700 Adjust RT settings for macOS. commit c03e45b1fb61e0b7e1cdebcd41ba932be55e2b9d Author: Mooneer Salem Date: Wed Jul 22 19:14:15 2026 -0700 Try fixing Windows issue again. commit a2ded14c473970f2ef22c7ce5a13144aafb8200e Author: Mooneer Salem Date: Wed Jul 22 18:41:33 2026 -0700 Fix PyTorch install in GH environment. See https://learn.arm.com/install-guides/pytorch-woa/ for correct steps on ARM. commit 7cee3007c9b12875b9b4fc7a5fb0bf1c5cf6009f Author: Mooneer Salem Date: Wed Jul 22 18:00:37 2026 -0700 Update scaling to fix UBSan warnings. commit 4472e336ac2f288456b168b481ed89c23cc1ea38 Author: Mooneer Salem Date: Wed Jul 22 17:53:33 2026 -0700 Add RADE loss test to Windows CI run. commit 9fdc8775eec7d1852c74c6579f3a2a759b7ab7ff Author: Mooneer Salem Date: Wed Jul 22 17:50:25 2026 -0700 Fully reenable CI, need to test Windows RADE loss test. commit 5040078595a50b01e254ce65cc531c12abb9e5bf Author: Mooneer Salem Date: Wed Jul 22 14:37:34 2026 -0700 Add RADE loss test for Windows (thanks Claude) commit 15ad367c4dd968a1a2b800f9eee3d8a8d24eeed5 Author: Mooneer Salem Date: Wed Jul 22 14:06:24 2026 -0700 RX pipeline shouldn't be shortcut during loss tests. commit 3a72eac0444d2bff1ffd85e03f2cfdaf50c6e89a Author: Mooneer Salem Date: Wed Jul 22 07:44:56 2026 -0700 Add PR #1435 to changelog. commit 57b0cfbc500ba1ff4b4dfdc2e31c958568a37375 Merge: 48769dda a4ae0535 Author: Mooneer Salem Date: Wed Jul 22 07:44:12 2026 -0700 Merge branch 'master' into ms-tab-layout-persist commit 6385bd37f2a5e372c9f4f47a16c5a48efc64e73a Author: Mooneer Salem Date: Tue Jul 21 23:38:01 2026 -0700 Update rade_loss test to match RADE verification procedure. commit 738003ad1cf68762c6a62ea011bba9c4094a3804 Author: Mooneer Salem Date: Tue Jul 21 16:47:39 2026 -0700 Stop after losing sync, not on next sync. commit 52a6c268245e5d102ace9112458453583aa84beb Merge: 0840d01a a4ae0535 Author: Mooneer Salem Date: Tue Jul 21 16:45:53 2026 -0700 Merge branch 'master' into ms-snr-corruption commit b5c32e60a6e6bae6c381a42826674498fbb2f4a2 Author: Mooneer Salem Date: Tue Jul 21 14:25:56 2026 -0700 Reenable CI, do not export any RADEV2 binaries yet. commit fbb47da852b37287f9c91968b8907113fdefda07 Author: Mooneer Salem Date: Tue Jul 21 21:23:48 2026 +0000 latest user manual PDF commit c104d983e12efb1cc8326f807c9789ededefed0a Merge: a816981d 7e996789 Author: Mooneer Salem Date: Tue Jul 21 14:23:16 2026 -0700 Merge branch 'v3.0-dev' into ms-rade-v2 commit 7e9967895bf36c9bd086bd08fd4265c2519d5c38 Merge: 1ac5fb79 150bd434 Author: Mooneer Salem Date: Tue Jul 21 14:21:36 2026 -0700 Merge pull request #1442 from drowe67/ms-merge-cpp-20 Merge down C++20 changes from master. commit 150bd434dc35d02354863782ddc1250ec7c25625 Author: Mooneer Salem Date: Tue Jul 21 13:21:03 2026 -0700 Fix additional wxWidgets 3.0 related compiler errors. commit b54783fc49fe6b72455409fe084df80e0010eff5 Merge: 1ac5fb79 a4ae0535 Author: Mooneer Salem Date: Tue Jul 21 12:35:25 2026 -0700 Merge branch 'master' into ms-merge-cpp-20 commit a4ae0535051552096e8b3fd7757049b2a375c1aa Author: Mooneer Salem Date: Tue Jul 21 18:21:56 2026 +0000 latest user manual PDF commit 2c423e8d47cc06b66c96f4069b61593d410fd322 Author: Mooneer Salem Date: Tue Jul 21 11:19:29 2026 -0700 Require C++20 support when building FreeDV. (#1440) * Require C++20 support when building FreeDV. * Fix Windows compiler errors. * Add PR #1440 to changelog. * Fix compiler errors due to wxWidgets 3.0 and C++20. commit 516eab0d614aec273f92d6dde08aa774442261af Author: Mooneer Salem Date: Tue Jul 21 00:17:02 2026 -0700 Fix compiler errors due to wxWidgets 3.0 and C++20. commit 3c5614f44151c275d4a2080562b8eb0170ec0db6 Author: Mooneer Salem Date: Mon Jul 20 17:07:38 2026 -0700 Add PR #1440 to changelog. commit 508ecff6142fae05a21d8f0ecfdcb2946c816072 Author: Mooneer Salem Date: Mon Jul 20 17:07:10 2026 -0700 Fix Windows compiler errors. commit aa83a3a0825184d049603f782710597050b6476c Author: Mooneer Salem Date: Mon Jul 20 23:50:34 2026 +0000 latest user manual PDF commit bc5ef9ca54730bc7352f4cca97ee6a2c258b59ca Author: Mooneer Salem Date: Mon Jul 20 16:46:32 2026 -0700 Require C++20 support when building FreeDV. commit d60339922f775654e6dfad440d4688d0f2fbc037 Author: Mooneer Salem Date: Mon Jul 20 16:45:51 2026 -0700 Upgrade wxWidgets to 3.3.3. (#1439) * Upgrade wxWidgets to 3.3.3. * Add PR #1439 to changelog. commit 6c188f75173fdc51404cc55a8db60e9e0580c4af Author: Mooneer Salem Date: Mon Jul 20 16:08:30 2026 -0700 Add PR #1439 to changelog. commit b5c763cc7fcc9c947b328c4e51ddca0942e2369a Author: Mooneer Salem Date: Mon Jul 20 16:07:25 2026 -0700 Upgrade wxWidgets to 3.3.3. commit a816981d529543b3edc046c4abc3f91e57fe36dc Author: Mooneer Salem Date: Mon Jul 20 00:29:26 2026 -0700 Allow longer callsigns to be configured (thanks Claude). commit 124430c179349b5ce6bec421fe8d5a3cc6719706 Author: Mooneer Salem Date: Mon Jul 20 00:12:52 2026 -0700 Avoid duplicate reports during RX. commit 177aa13ff6db8a7453541bed3d5a7ff6e495a5ce Merge: 7af48d0c a3860e2a Author: Mooneer Salem Date: Sun Jul 19 23:51:59 2026 -0700 Merge branch 'ms-rade-v2' of github.com:drowe67/freedv-gui into ms-rade-v2 commit 0840d01ae989a4e6eda91d0ce97c2cab81093dc6 Author: Mooneer Salem Date: Sun Jul 19 15:49:06 2026 -0700 Revert freedv-backend back to main since the remaining change to RADE repo was merged. commit 4dfe86a43caf75007eb352f3e7637ed2f7310e3f Merge: 353d758c 4a183670 Author: Mooneer Salem Date: Sun Jul 19 15:48:04 2026 -0700 Merge branch 'master' into ms-snr-corruption commit 78df64c1f46368de4efd28d5bb66b5b4a7e4f6a8 Author: Mooneer Salem Date: Sat Jul 18 16:42:16 2026 -0700 Automatically start decoding on FreeDV startup. commit 334aca9d4629a5e0fe9701c65ba0ba12287499c2 Merge: 3bb8c2f8 18781cc9 Author: Mooneer Salem Date: Sat Jul 18 16:36:25 2026 -0700 WIP on master: 3bb8c2f8 Fix HAS_GTK3 not reaching fdv_gui_util, silently disabling window position restore (#1433) commit 18781cc991d9b0caaed2e200614ed2b41a836f6e Author: Mooneer Salem Date: Sat Jul 18 16:36:25 2026 -0700 index on master: 3bb8c2f8 Fix HAS_GTK3 not reaching fdv_gui_util, silently disabling window position restore (#1433) commit 48769ddae0b7fbd78e37fd002f4e2a6318bbc3fe Merge: 882fc8d2 4a183670 Author: Mooneer Salem Date: Sat Jul 18 16:25:24 2026 -0700 Merge branch 'master' into ms-tab-layout-persist commit a3860e2aeade24198e03a03a589987e7d8855cc3 Author: Mooneer Salem Date: Sat Jul 18 14:25:31 2026 -0700 Use clip_start like with ota_test.sh. commit 7af48d0cdf2fb2024a5aefa379ae520c5e8e0d5b Author: Mooneer Salem Date: Fri Jul 17 16:33:32 2026 -0700 Add --clip_start to duplicate Python RADE tests. commit 882fc8d21cca75f514ae29612e73e3451ace2b2b Author: Mooneer Salem Date: Fri Jul 17 16:23:05 2026 -0700 Restore previous RX tab. commit acced2b7c48507653d95f4ad64bc0c7aed0b73c2 Author: Mooneer Salem Date: Fri Jul 17 15:57:41 2026 -0700 Restore 'Enable Experimental Features' option. commit a6cda4c286298ddd6cf8b6dca3967ef0edebb496 Author: Mooneer Salem Date: Fri Jul 17 15:52:33 2026 -0700 Re-add previous wxWidgets <= 3.2 implementation of tab save/restore. commit 075b7b4bcbfabc568ab6d6c37008b9935cec92a7 Author: Mooneer Salem Date: Thu Jul 16 17:24:48 2026 -0700 Disable GitHub Actions--not ready for wider user testing yet. commit fb8fe8bf613b22be76deffc316b17b4a828f5d92 Author: Mooneer Salem Date: Thu Jul 16 17:24:01 2026 -0700 Use RADEV2 for encode/decode. commit 16798ff4827b2fc28a26f5111e4e0075df147181 Author: Mooneer Salem Date: Thu Jul 16 13:36:10 2026 -0700 Use wxWidgets 3.3 hooks to save/load tab layout. commit 1ac5fb79ac9591b74d4ddb8f159b29b7c94df940 Merge: 158ce2f8 ca7cb41f Author: Mooneer Salem Date: Tue Jul 14 15:42:53 2026 -0700 Merge branch 'master' into v3.0-dev commit 353d758c0cefeadd0302c5c0c8f8bc7bf69111fe Merge: 0b83fee4 ca7cb41f Author: Mooneer Salem Date: Tue Jul 14 15:42:13 2026 -0700 Merge branch 'master' into ms-snr-corruption commit 158ce2f841c67fe4cb284a531edfe2913d2a30cb Author: Mooneer Salem Date: Tue Jul 14 08:27:57 2026 +0000 latest user manual PDF commit 62a9a1f654060ced70205c877098da411f38b629 Author: Mooneer Salem Date: Tue Jul 14 01:24:54 2026 -0700 Setup Wizard: fix crash on initial start with invalid config file. (#1432) * Setup Wizard: fix crash on initial start with invalid config file. * Add PR #1432 to changelog. commit 7715a8740efb8877fc1eafff65f9b36ba1d439e7 Author: Mooneer Salem Date: Tue Jul 14 01:24:37 2026 -0700 Add PR #1432 to changelog. commit 2edc978bd0cbdc69f31b7addc5cccb26ea9eb095 Author: Mooneer Salem Date: Mon Jul 13 16:57:02 2026 -0700 Setup Wizard: fix crash on initial start with invalid config file. commit b38d95b39e6d341f63ebd2801759be3f7d85859a Merge: 35324b1e 800cbdc0 Author: Mooneer Salem Date: Mon Jul 13 16:30:04 2026 -0700 Merge branch 'master' into v3.0-dev commit 0b83fee4ba60971756e5416acaaa3dffbf20016f Merge: b2897aee 800cbdc0 Author: Mooneer Salem Date: Mon Jul 13 16:28:43 2026 -0700 Merge branch 'master' into ms-snr-corruption commit b2897aee2d195d64c8b362bf92ee17d9c7abcca9 Author: Mooneer Salem Date: Mon Jul 13 07:57:48 2026 -0700 Only call the reporting block once every 100ms. commit 800cbdc03a88b309f30c26b0517677b234487b89 Author: Mooneer Salem Date: Sat Jul 11 01:05:01 2026 -0700 Use Python RADE implementation of loss script. (#1430) commit a0fb92e013700e82587a0d4edfc4c7d0c7f1974d Author: Mooneer Salem Date: Fri Jul 10 23:58:13 2026 -0700 Use Python RADE implementation of loss script. commit cdc3b673d9450f7ccb428bbd85cac270b66a498e Author: Mooneer Salem Date: Fri Jul 10 23:58:13 2026 -0700 Use Python RADE implementation of loss script. commit 8354685fac20b6ec7c824c700e1cdcd3585a365c Author: Mooneer Salem Date: Fri Jul 10 09:37:47 2026 -0700 Add PR #1429 to changelog. commit 35324b1e658159cf439035500ca3ac1c7a61770c Author: Mooneer Salem Date: Thu Jul 9 07:51:37 2026 +0000 latest user manual PDF commit 1ecb0f195d4c44e73b77f7f806af7d9e8f3b1448 Author: Mooneer Salem Date: Thu Jul 9 00:48:30 2026 -0700 Move all FreeDV configuration to Settings->Edit Settings. (#1418) * Add CAT control config to Tools->Options. * Add initial audio device controls to Options window. * Remove Easy Setup, Audio and CAT config windows. * Fix lint errors. * macOS: Use correct keyboard shortcut for Tools->Options. * Rename Sound Card 1/2 to more descriptive names. * Play recorded test audio on output device. * Change tab ordering. * Rename Tools->Options to Tools->Settings. * Change button labels on Test buttons during audio testing. * Fix lint errors. * First proposal for FreeDV Setup Wizard. * Remove individual checkboxes for FreeDV and PSK Reporter. * Further Setup Wizard updates. * Tweak audio selection to more closely match the Setup Wizard. * Fix segfault on Linux when opening the Setup Wizard. * Adjust sizing of wizard. * Move Voice Keyer settings to separate tab. * Center align Test PTT button. * Adjust menu bar per PR feedback. * Bring original audio device labeling back. * Fix Linux/Windows crash issue. * Split Audio tab into RX/TX tabs, fix swapped device ordering. * Fix crashes on audio device saving. * Fix crash when running audio tests. * Rename Options window to Settings. * Make Settings window resizable. * Add buttons to refresh device lists. * Size Device column to fill available space. * Remove unused 'channel noise' setting. * Remove remaining unused options from Simulation tab and move remaining used option to Debug. * Shorten tab titles to RX/TX Audio. * Suppress spurious GTK logging. * Apply patch from @barjac. * Add PR #1418 to changelog. * First pass at updating the user manual. Will need another update prior to 3.0 release. commit d5566858232fb55dc311b25e376a606d61edaa6f Author: Mooneer Salem Date: Thu Jul 9 00:46:39 2026 -0700 First pass at updating the user manual. Will need another update prior to 3.0 release. commit 5ce423766e378f07ee1b1388cbb608979eb842c7 Author: Mooneer Salem Date: Thu Jul 9 00:27:07 2026 -0700 Add PR #1418 to changelog. commit a7fd92b581059c166c26ec011476b82d906288ed Merge: bda384a8 d391d070 Author: Mooneer Salem Date: Thu Jul 9 00:26:05 2026 -0700 Merge branch 'v3.0-dev' into ms-config-refactoring commit d391d07051fe86c6b3542ea1ed3413cd3ba1c6e1 Merge: a2943458 07dd9829 Author: Mooneer Salem Date: Thu Jul 9 00:25:31 2026 -0700 Merge branch 'master' into v3.0-dev commit 07dd9829ce909a39100217c2edae5538b01c28b8 Author: Mooneer Salem Date: Thu Jul 9 03:35:58 2026 +0000 latest user manual PDF commit 21be6c5d6d3fbe7031a60c7c04b761be44706ae7 Author: Mooneer Salem Date: Wed Jul 8 20:33:39 2026 -0700 Only preserve previously selected tab on TX if it's in the same group as 'From Mic'. (#1428) * Only preserve previously selected tab on TX if it's in the same group as 'From Mic'. * Change currently selected tab in page changed handler instead of RX->TX transition. * Initialize tab objects to NULL. * Check visibility status of each page. * Fix lint failures. * Copy current save logic to voice keyer record feature. * Add PR #1428 to changelog. commit e66f7b9f0383dfbb4299619271f98690b84c5bf6 Author: Mooneer Salem Date: Wed Jul 8 20:32:42 2026 -0700 Add PR #1428 to changelog. commit 7dfbaeb8d37ce78b55bfbb8e983c9945b5659d6b Author: Mooneer Salem Date: Wed Jul 8 16:08:14 2026 -0700 Copy current save logic to voice keyer record feature. commit 64e88696d168bbf45d38cc7831e4514a4a8b5b74 Author: Mooneer Salem Date: Wed Jul 8 12:09:44 2026 -0700 Fix lint failures. commit fb9adb288b2b505e9a33ebdc6ded5d16170574f4 Author: Mooneer Salem Date: Wed Jul 8 11:52:30 2026 -0700 Check visibility status of each page. commit 7a1a50f46633d4f3290ae016b74e7cf150d13ec5 Author: Mooneer Salem Date: Tue Jul 7 14:07:59 2026 -0700 Initialize tab objects to NULL. commit 128f8c49aa4aef119172d0566175f150fcaf4918 Author: Mooneer Salem Date: Tue Jul 7 13:42:58 2026 -0700 Change currently selected tab in page changed handler instead of RX->TX transition. commit bda384a89c2a61d60d3ce05d289c166996c8bdd2 Merge: 09faded3 a2943458 Author: Mooneer Salem Date: Mon Jul 6 17:04:01 2026 -0700 Merge branch 'v3.0-dev' into ms-config-refactoring commit a294345835c844f665f21ebb836638be4051abb6 Merge: d1c1c3e8 65ff9aaa Author: Mooneer Salem Date: Mon Jul 6 17:03:00 2026 -0700 Merge branch 'master' into v3.0-dev commit 5ad2ebf9277ae03ce1b2e9e293735c8b45a896af Merge: a4bea431 65ff9aaa Author: Mooneer Salem Date: Mon Jul 6 16:56:08 2026 -0700 Merge branch 'master' into ms-snr-corruption commit fb25e77f742afe7b302c07c2da925298f6cb85bb Author: Mooneer Salem Date: Mon Jul 6 16:27:48 2026 -0700 Only preserve previously selected tab on TX if it's in the same group as 'From Mic'. commit 65ff9aaa7e7aed284b76d5396a0941aeae1cbedb Author: Mooneer Salem Date: Mon Jul 6 21:26:12 2026 +0000 latest user manual PDF commit 2184d92dc3be16bd4cdf409d3dcac70df8956d5c Author: Mooneer Salem Date: Mon Jul 6 14:23:53 2026 -0700 Fix TLS connection failures in AppImage. (#1427) * Fix TLS connection failures in AppImage. * Add PR #1427 to changelog. commit fe22b3d2d0069963b624f8d17ce8a5857b0fddf0 Author: Mooneer Salem Date: Mon Jul 6 13:36:48 2026 -0700 Add PR #1427 to changelog. commit 3c4a9c36a3d3625866d9b87dbf5a48a974d60ab7 Author: Mooneer Salem Date: Mon Jul 6 10:01:19 2026 -0700 Fix TLS connection failures in AppImage. commit 90cc1f9803da1b736e342b9f60c80dfe6f840a66 Author: Mooneer Salem Date: Mon Jul 6 04:03:43 2026 +0000 latest user manual PDF commit bd8ed179ffbadb890c780cfe6870f895f7e30580 Author: Mooneer Salem Date: Sun Jul 5 21:01:30 2026 -0700 Allow 8k sample rate for 'radio' devices. (#1416) * Allow 8k sample rate for 'radio' devices. * Add PR #1416 to changelog. commit 68ae252fa1408232e0a974bf3730778c439cdcf5 Merge: 6114185b 91ecac72 Author: Mooneer Salem Date: Sun Jul 5 21:01:20 2026 -0700 Merge branch 'master' into ms-min-sample-rate commit 6114185bab7c1d2823f0bf17a82c6119a268fe7f Author: Mooneer Salem Date: Sun Jul 5 21:00:53 2026 -0700 Add PR #1416 to changelog. commit a4bea431fc8ea6243fe34f1c70ea8162d0b46715 Merge: ef42c8a9 91ecac72 Author: Mooneer Salem Date: Sun Jul 5 17:24:08 2026 -0700 Merge branch 'master' into ms-snr-corruption commit 0eeff3f1c64b6cc589153149ec415a0ee1256437 Author: Mooneer Salem Date: Sun Jul 5 17:20:08 2026 -0700 Add PR #1424 to changelog. commit 57a4a94020cbfc48667111ac3fe731ac03e64bc7 Merge: e4241cfd 48527bc6 Author: Mooneer Salem Date: Sun Jul 5 17:19:33 2026 -0700 Merge branch 'master' into bcj-block-slash-recording-suffix commit 09faded389360e2902a086f1dc8a1237be82fee1 Merge: 47139853 d1c1c3e8 Author: Mooneer Salem Date: Sun Jul 5 13:06:21 2026 -0700 Merge branch 'v3.0-dev' into ms-config-refactoring commit d1c1c3e84831ea15275beec626b443add8358a61 Merge: 75853b11 48527bc6 Author: Mooneer Salem Date: Sun Jul 5 13:05:43 2026 -0700 Merge branch 'master' into v3.0-dev commit 48527bc6967553c7394beeabbaf286b5d376d7f1 Author: Mooneer Salem Date: Sun Jul 5 18:03:20 2026 +0000 latest user manual PDF commit 4818cb0fde5fd5d6024e7667603466974f0d4b28 Author: Mooneer Salem Date: Sun Jul 5 11:00:48 2026 -0700 Enable TLS connections for FreeDV Reporter. (#1422) * Enable TLS connections for FreeDV Reporter. * Add additional ntdll.dll file to exclude list. * Exclude crypt32.dll from package generation. * Suppress clang-tidy for FetchContent code. * Try installing LibreTLS packages before running clang-tidy. * Use OpenSSL instead for lint. * Force LibreSSL to be built for 'dist' CI build. * Add GUI configuration to enable/disable TLS. * Add PR #1422 to changelog. * verbose ssh logging * Revert "verbose ssh logging" This reverts commit 342525a5fedc0443d7b3ea648c1d92363a109a9c. * Fix bug preventing signing of AppImages. * Revert "Enable TLS connections for FreeDV Reporter." This reverts commit 4e4e6fb32f7f857b949ba5fb94637c3e40d7ef5c. commit 75853b117617e9d765f22592ba4ebb6c34c7d410 Merge: f77b6e98 cbc19da8 Author: Mooneer Salem Date: Sun Jul 5 10:08:53 2026 -0700 Merge branch 'master' into v3.0-dev commit c898ee81870764d383ca8f0995d9fda6dc8af99c Author: Mooneer Salem Date: Sun Jul 5 00:11:41 2026 -0700 Revert "Enable TLS connections for FreeDV Reporter." This reverts commit 4e4e6fb32f7f857b949ba5fb94637c3e40d7ef5c. commit 7627d78489f8fe0779d04a2514a5ddbde34bbbd5 Author: Mooneer Salem Date: Sat Jul 4 22:38:12 2026 -0700 Fix bug preventing signing of AppImages. commit e13e2cfc9638e26b0a5442dc9d363fd3db147094 Merge: c8220636 cbc19da8 Author: Mooneer Salem Date: Sat Jul 4 22:36:24 2026 -0700 Merge branch 'master' into ms-reporter-tls commit c8220636a2fb4345e8270fd71c702740cdbf1699 Author: Mooneer Salem Date: Sat Jul 4 19:48:51 2026 -0700 Revert "verbose ssh logging" This reverts commit 342525a5fedc0443d7b3ea648c1d92363a109a9c. commit 342525a5fedc0443d7b3ea648c1d92363a109a9c Author: Mooneer Salem Date: Sat Jul 4 19:32:37 2026 -0700 verbose ssh logging commit b382bee0cd1fa4b541f2ad72d3582eca7db88f5a Author: Mooneer Salem Date: Sat Jul 4 17:23:54 2026 -0700 Add PR #1422 to changelog. commit 29918843dca16514613989be55539c20372cd284 Author: Mooneer Salem Date: Sat Jul 4 17:03:55 2026 -0700 Add GUI configuration to enable/disable TLS. commit 9f674b617013f95670ff834bd5d369589131efbf Author: Mooneer Salem Date: Sat Jul 4 16:41:44 2026 -0700 Force LibreSSL to be built for 'dist' CI build. commit 1f05749df2b69f317bf186a87486d714055e48e4 Author: Mooneer Salem Date: Sat Jul 4 16:16:56 2026 -0700 Use OpenSSL instead for lint. commit 1a1ec043de6d5100dbc772fdeff13371a22a19bf Author: Mooneer Salem Date: Sat Jul 4 16:02:50 2026 -0700 Try installing LibreTLS packages before running clang-tidy. commit 4265ac9b9707558d02eabd9da32229209742e1dd Author: Mooneer Salem Date: Sat Jul 4 15:18:31 2026 -0700 Suppress clang-tidy for FetchContent code. commit 9f82a23dfaf3a1e16d52545dfbe7c16b50e89af0 Author: Mooneer Salem Date: Sat Jul 4 15:15:59 2026 -0700 Exclude crypt32.dll from package generation. commit af6774f7e4176213e365288b08b06b7dc3efd1a6 Author: Mooneer Salem Date: Fri Jul 3 20:30:25 2026 -0700 Add additional ntdll.dll file to exclude list. commit 4e4e6fb32f7f857b949ba5fb94637c3e40d7ef5c Author: Mooneer Salem Date: Fri Jul 3 17:44:53 2026 -0700 Enable TLS connections for FreeDV Reporter. commit cbc19da8f32fa8c0af4c0005b4ea7ef125796a1b Author: Mooneer Salem Date: Fri Jul 3 15:22:16 2026 +0000 latest user manual PDF commit 471398530b22821cf38658065d9d49b3a2c91a57 Author: Mooneer Salem Date: Fri Jul 3 08:21:10 2026 -0700 Apply patch from @barjac. commit 03755f62e2989a909aa9f9ca5ab8a951f08b6b46 Merge: d4b5bbab f77b6e98 Author: Mooneer Salem Date: Fri Jul 3 08:20:45 2026 -0700 Merge branch 'v3.0-dev' into ms-config-refactoring commit f77b6e98785a38b05908015dd3bdc2664aaef4c0 Merge: 50170078 8531ebd4 Author: Mooneer Salem Date: Fri Jul 3 08:20:22 2026 -0700 Merge branch 'master' into v3.0-dev commit 8531ebd4533d8546ad23a86c675481911230dc88 Author: Mooneer Salem Date: Fri Jul 3 08:20:03 2026 -0700 Fix compiler error from previous PR. (#1421) * Fix compiler error from previous PR. * Add PR #1421 to changelog. commit 5b777661c21d50f3c6458b80463e1c88db15f57b Author: Mooneer Salem Date: Fri Jul 3 08:19:41 2026 -0700 Add PR #1421 to changelog. commit 9e8e0b625c5b78b2fa05342c380317566d578ea3 Author: Mooneer Salem Date: Fri Jul 3 07:48:23 2026 -0700 Fix compiler error from previous PR. commit d4b5bbabd5967c077c482e18696b88f7fd7c96b6 Merge: 282edb8d 50170078 Author: Mooneer Salem Date: Fri Jul 3 01:18:00 2026 -0700 Merge branch 'v3.0-dev' into ms-config-refactoring commit 50170078277abc43f82669dcbee32a44ee39c3b2 Merge: bdbd8638 14d2c709 Author: Mooneer Salem Date: Fri Jul 3 01:17:39 2026 -0700 Merge branch 'master' into v3.0-dev commit 282edb8d1a414729c4f6a405a7e08259801db5d3 Author: Mooneer Salem Date: Thu Jul 2 16:52:58 2026 -0700 Suppress spurious GTK logging. commit 4293aa3c9410842cc1ba9957884ec18f90f154c9 Author: Mooneer Salem Date: Thu Jul 2 16:43:46 2026 -0700 Shorten tab titles to RX/TX Audio. commit 06ba8e07087c673f15960bc2bf990ecfd6cd4034 Author: Mooneer Salem Date: Thu Jul 2 16:33:07 2026 -0700 Remove remaining unused options from Simulation tab and move remaining used option to Debug. commit 9a0c218a2bf304e0736591594d764474f8f60998 Author: Mooneer Salem Date: Thu Jul 2 16:26:07 2026 -0700 Remove unused 'channel noise' setting. commit d0d70cbb49df7e1f33b3c7cf6f634747c08e359a Author: Mooneer Salem Date: Thu Jul 2 16:17:45 2026 -0700 Size Device column to fill available space. commit 4829bd8e80de3a956a13ff90abb1d417bb44a1e2 Author: Mooneer Salem Date: Thu Jul 2 11:24:33 2026 -0700 Add buttons to refresh device lists. commit 2bb8375aa497070f63968be6d208552efeaedc4f Author: Mooneer Salem Date: Thu Jul 2 11:20:14 2026 -0700 Make Settings window resizable. commit 0933962086604f1f6de9fe3443d7b0310acb61f6 Author: Mooneer Salem Date: Thu Jul 2 11:12:52 2026 -0700 Rename Options window to Settings. commit 35294d48ae253ecdcbf359bbf276d590ab9e6144 Author: Mooneer Salem Date: Thu Jul 2 09:43:04 2026 -0700 Fix crash when running audio tests.