Skip to content

fix: sweep bug batch — preset loss, grouped-volume springback, pair-name focus, contrast - #837

Merged
JRpersonal merged 4 commits into
mainfrom
fix/2026-09-03-sweep-2
Sep 3, 2026
Merged

fix: sweep bug batch — preset loss, grouped-volume springback, pair-name focus, contrast#837
JRpersonal merged 4 commits into
mainfrom
fix/2026-09-03-sweep-2

Conversation

@JRpersonal

@JRpersonal JRpersonal commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Four field bugs from the 2026-09-03 sweep. Independent commits.

#836 — saved stations disappear when you save preset keys (823995f)

Long-press "save to key" saved whatever was playing at that instant, and the speaker's now-playing lags the station you just picked (native preset switch #530). So a save grabbed an already-saved station, and the agent then silently removed it from the other key. Three saves in a row could collapse onto one key.
Fix (both halves): the save takes the app's own fresh record, not the box's lagging report; and a save whose station already sits on another key is refused (409 already-on-slot, a "already on key N" note) instead of deleting that key. No preset is ever removed by saving another one. New i18n key in all 13 bundles; savePresetCase tests updated.

#726 — phone volume slider springs back on a grouped speaker (40cbafc)

The v0.9.71 fix held only one of the page's two volume refreshes. The plain status poll adopted the speaker's own level, which lags the members' ramp when the group slider drives a whole zone (worst on an scm/BCO box whose getGroup hangs — abschuss's Küche). The status poll now leaves the slider alone while the group owns it, adopting the speaker's own level only when controlling a single speaker.

#775 — stereo pair name box loses focus while typing (813d812)

The Multi-Room screen re-polls and repaints every few seconds, rebuilding the name field mid-word: focus jumped out, keystrokes were lost, the machine beeped. The repaint now waits a cycle while the name box is focused. Value is kept throughout.

#833 — low contrast (bcd35dc)

Offline-speaker version 0.55→0.82 opacity; "first install" badge → neutral chip so the red label reads in every theme.

Verification

  • GOOS=linux GOARCH=arm GOARM=5 go build ./... clean; go vet + full internal/webui + internal/streamproxy tests pass; gofmt clean.
  • Frontend builds; 215 vitest pass; eslint 0 errors; i18n coverage 100%.
  • New regression tests: savePresetCase (preset save), TestPhoneRemoteStatusPollDoesNotSpringTheGroupSlider (Media-Server antwortet nicht (Phone) #726).

All four are phone/app UI + preset-store fixes from one sweep; bundling to keep OTA/release churn down. Good to fleet-check alongside the next roll.

@JRpersonal JRpersonal added bug Something isn't working frontend Desktop app frontend (Wails Vite/JS/CSS) changes labels Sep 3, 2026
}
s.logger.Info("preset save refused: this station is already on another slot",
"slot", slot, "existingSlot", other.Slot, "name", other.Name,
"from", r.RemoteAddr, "ua", r.Header.Get("User-Agent"))
JRpersonal and others added 2 commits September 3, 2026 14:06
…dge readable

The greyed version on an offline speaker tile was faded to near-invisible, and
the "first install" badge put red-ish text on a red tint, worst on the muted
default palette. The version keeps a lighter "not live" cue but stays legible,
and the badge now uses a neutral chip so its label reads clearly in every theme.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFzcAvQkHKWn7hMwxAqfae
…keys

Holding a key to save saved whatever the speaker was playing at that instant,
and the speaker's now-playing could still lag the station you just picked (its
native preset switch reports the previous station for a moment). So a save
grabbed a station that was already on another key, and the app then silently
removed it from that other key to keep one station per button. Saving three
stations in a row could collapse them onto a single key.

The save now takes the station the app itself just started, not the speaker's
lagging report, and a save whose station already sits on another key is refused
with a short "already on key N" note instead of deleting that key. No preset is
ever removed by saving another one.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFzcAvQkHKWn7hMwxAqfae
@JRpersonal
JRpersonal force-pushed the fix/2026-09-03-sweep-2 branch from 2051a90 to 823995f Compare September 3, 2026 12:07
JRpersonal and others added 2 commits September 3, 2026 14:33
The v0.9.71 fix held the group slider only against one of the page's two volume
refreshes. The other, the plain status poll, adopted this speaker's own reported
level, and when the group slider drives a whole zone that reading lags the other
members catching up, worst on a speaker whose group read keeps timing out. So the
slider still sprang back a second after each step on a grouped speaker. The
status poll now leaves the slider alone while the group slider owns it, and only
adopts the speaker's own level when you are controlling a single speaker.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFzcAvQkHKWn7hMwxAqfae
The Multi-Room screen re-polls every speaker's zone every few seconds and
repaints, which rebuilt the name field mid-word: focus jumped out, the keystrokes
were lost and the machine beeped, and the typed characters never appeared. The
repaint now waits a cycle while the name box is focused, so typing a pair name is
uninterrupted; the value is kept the whole time and any change made elsewhere is
still picked up as soon as you click away.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFzcAvQkHKWn7hMwxAqfae
@JRpersonal JRpersonal changed the title fix: presets vanish on save (#836) + offline version / first-install contrast (#833) fix: sweep bug batch — preset loss, grouped-volume springback, pair-name focus, contrast Sep 3, 2026
@JRpersonal
JRpersonal merged commit 029780e into main Sep 3, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working frontend Desktop app frontend (Wails Vite/JS/CSS) changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants