From f29d1d1af51e3f940fabe837d667d7cf146b536b Mon Sep 17 00:00:00 2001 From: NeilClack Date: Sat, 11 Jul 2026 17:10:59 -0500 Subject: [PATCH] Bump version to 07112026-1710; move completed items to release section --- changelog.txt | 11 +++++++++-- internal/page/home.go | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/changelog.txt b/changelog.txt index e5da6ab..0082663 100644 --- a/changelog.txt +++ b/changelog.txt @@ -6,14 +6,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/). ## [Unreleased] +## [07112026-1710] + ### Fixed -- Play() deadlocks when called before device is open (recursive SwitchDevice → Play) +- Play() deadlocks when called before device is open (recursive SwitchDevice -> Play) - Audio volume silently zeroed after switching output devices (Init used hardcoded 0.20; SwitchDevice did not restore saved volume) - SwitchDevice not persisted to database across restarts (caller now saves to AppConfig) - Device restore path passes invalid device name "system default" to SDL (now passes "" for default) - Stop() no-op when audio toggled off mid-playback (removed AudioEnabled guard from Stop) - App shows "READY" before audio files finish downloading (state machine now gates READY on download completion via DOWNLOADING_ASSETS state) - Download failure no longer silently allows READY (downloadFailed flag prevents premature READY) +- App restarts repeatedly after downloads complete (checkState re-navigated to HOME, closing DownloadDone channel twice -> panic) +- F2/F3 keybinds now work during DOWNLOADING_ASSETS (blocked only during early prerequisites: no wifi, no email, no license key) ### Known Issues - Active device highlight incorrect when using default device @@ -21,8 +25,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/). ### Added - Human-readable audio device names (Built-in Speakers, HDMI/TV/Monitor) - Unit tests for mixer package (parseSinks, parseSinkLine, ConvertVolume) -- Regression tests for state machine (download gating, failure handling) +- Regression tests for state machine (download gating, failure handling, prerequisite priority, non-blocking channel read) - Regression tests for mixer (Stop with AudioEnabled=false, SwitchDevice edge cases) +- Regression tests for Home page (double-close guard, download failure path) ### Changed (Major Refactors) - Mixer package: inject audio backend dependencies for testability @@ -30,4 +35,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/). - SwitchDevice now takes *db.AppConfig to access saved volume - Audio files moved from ~/.local/share/rhemawave/audio to ~/.radiantwave/audio - State machine uses DOWNLOADING_ASSETS state before READY +- checkState() skips re-navigation when transitioning between HOME-mapped states +- network.init() logs warning instead of crashing when D-Bus is unavailable - CI now runs go test before nix build diff --git a/internal/page/home.go b/internal/page/home.go index e32b913..087828b 100644 --- a/internal/page/home.go +++ b/internal/page/home.go @@ -13,7 +13,7 @@ import ( "rhemawavetech.com/rhemawave/internal/shaderManager" ) -var GitVersion = "Audio-Bug-Fix 0.6" +var GitVersion = "07112026-1710" type Home struct { Base