You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(global-radio): Play in place without navigating to station detail - #469
Following Global Radio F5 restore (#465 / #466), a saved station has metadata but no (expired) signed HLS source. Dock Play in Player.vue emitted select-station; components/player/Session.vue treated it as navigation and called navigateTo(target.url). This caused Play to open the Apple Music station detail instead of starting a fresh stream in place.
Fix
Route all explicit Global Radio dock/queue Play actions to the existing app-scoped useAuthorizedGlobalRadioPlayback resolver directly inside PlayerSession, without navigation. Public provider metadata is fetched only after the user acts, with a single reusable in-flight fetch and guards for replaced selections.
Preserve the existing Country station queue navigation behavior; regular station title/image links still open details.
On F5, keep prior policy: station metadata restores while audio remains stopped, no stale HLS accessKey is persisted, and only an explicit Play resolves a fresh signed URL.
Regression
Source/contract test asserts Global branch cannot call navigateTo, but Country branch still does.
Browser tests cover dock Play from Global provider directory and when browsing a different Global detail page; URL must not change, including after F5.
Release gates
Exact PR head CI (npm test, full generate and SEO checks) green.
PR Preview build + public verification green; run Playwright regression where available.
Merge to staging, verify source deploy and destination Staging Pages.
Promote only through direct staging → main PR with successful CI and production destination Pages/public checks. Do not claim release merely on merge.
This change does not modify catalog, SEO, GA4, or copy.
ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing
Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.
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
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.
Root cause
Following Global Radio F5 restore (#465 / #466), a saved station has metadata but no (expired) signed HLS source. Dock Play in
Player.vueemittedselect-station;components/player/Session.vuetreated it as navigation and callednavigateTo(target.url). This caused Play to open the Apple Music station detail instead of starting a fresh stream in place.Fix
useAuthorizedGlobalRadioPlaybackresolver directly insidePlayerSession, without navigation. Public provider metadata is fetched only after the user acts, with a single reusable in-flight fetch and guards for replaced selections.accessKeyis persisted, and only an explicit Play resolves a fresh signed URL.Regression
navigateTo, but Country branch still does.Release gates
npm test, full generate and SEO checks) green.staging, verify source deploy and destination Staging Pages.staging → mainPR with successful CI and production destination Pages/public checks. Do not claim release merely on merge.This change does not modify catalog, SEO, GA4, or copy.