fix: sweep bug batch — preset loss, grouped-volume springback, pair-name focus, contrast - #837
Merged
Conversation
| } | ||
| 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")) |
…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
force-pushed
the
fix/2026-09-03-sweep-2
branch
from
September 3, 2026 12:07
2051a90 to
823995f
Compare
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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;savePresetCasetests 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
getGrouphangs — 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+ fullinternal/webui+internal/streamproxytests pass; gofmt clean.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.