Repository navigation
Conversation
…t, ignore modifier chords - Mute sets the volume to zero and unmute restores the last audible volume (0.5 when none is known), as in the shared player controls; a stored volume of zero no longer leaves Unmute silent, and raising the volume while muted is heard. - The Live/Paused badge and play button follow the <audio> element's play, pause, ended and error events, so media-key pauses and failed stations show; a refused play() shows paused unless a newer one plays. - Ctrl, Cmd and Alt chords are not radio shortcuts. - The synthetic Stalker radio setup moves to the radio fixture so a new web E2E can reuse it.
Contributor
[Medium impact] The PR appears safe to merge. SummaryThe radio player now restores an audible volume when unmuted, updates its badge after audio events, and leaves modified shortcuts alone.
Reviews (1) · Last reviewed commit: "fix(radio): unmute always sounds, play s..." · Reviewed by Greptile |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2257 +/- ##
========================================
Coverage 81.98% 81.99%
========================================
Files 1921 1921
Lines 102911 102909 -2
Branches 24419 25189 +770
========================================
+ Hits 84376 84377 +1
+ Misses 11112 11111 -1
+ Partials 7423 7421 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
This branch has not been deployed
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.
Summary
Three radio player bugs in
libs/ui/playback/src/lib/audio-player/audio-player.component.ts:audio.mutedand also set the volume to 0. With a stored volume of 0 (which a mute persists to the sharedvolumekey), Unmute restored 0. A slider or arrow change made whileaudio.mutedwas set stayed silent.<audio>element. A media-key pause, an OS pause or a station that failed to load still showed LIVE and a Pause button.Changes
ControlsVolume,LegacyMuteMemory):isMutedisvolume() === 0, so raising the volume is also an unmute.audio.mutedis no longer used.play,pause,endedanderrorevents. A rejectedplay()shows paused only while the element is actually paused, so a late AbortError from the previous station cannot flip a station that is now playing.M.dialog-accessibility.e2e.tsintostalker-radio-player.fixture.ts(playSyntheticStalkerRadio), so the new web E2E can reuse it. That test is otherwise unchanged.Docs
docs/architecture/player-controls-contract.md, radio section: the mute model, the play-state source and modifier chords..changes/radio-mute-play-state.md.Validation
pause/ended/error/playeventsplay()and a late rejectionui-playback1769/1769.stalker-radio-controls.e2e.ts(Chromium):It fails on the old component.
dialog-accessibility4/4 (Chromium), with the refactored radio setup. Electronremote-control6/6, which drives the radio volume through the host input.typecheck:webis clean.release:notes:validateandagents:validatepass.