mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-21 23:05:46 +00:00
fix(radio): card polish and paused streams stop auto-resuming (#786)
* refactor(playback): extract fadeOut helper Used by playAlbum.ts today; about to be reused for the radio delete fade-out so it lives in its own module instead of being copy-pasted. * fix(player): disable Repeat button while a radio stream is active Matches the Prev / Next buttons that already gate on isRadio — repeat has no meaning for a live stream, and the live tooltip plus accent colour suggested it was interactive. * fix(radio): fade out before deleting the playing station Mirrors the 700 ms fade-out playAlbum uses on track changes — beats the abrupt cut when the deleted station is the one currently on air. * fix(radio): add Play/Stop tooltip to the cover-overlay button Cast / X icon now describes itself, matching the favourite and delete buttons that already had tooltips. * fix(radio): use Square stop icon on the active card The play-overlay and delete buttons both used X, making it ambiguous which click stopped the stream and which deleted the station. Stop gets a filled Square; delete keeps its X. * fix(radio): cancel auto-reconnect when the user pauses a stream Closes #779. Root cause: a 'stalled' event during a paused stream still scheduled a 4 s reconnect timer that called play(), and the timer was not cancelled on pauseRadio(). On macOS WKWebView the underlying TCP socket droops roughly a minute after pause, the browser fires 'stalled', and the stream resumes against the user's intent. The store's isPlaying flag stays false because nothing on the reconnect path syncs it, so the play/pause button stops matching reality. Fix: skip the schedule when radioAudio.paused, re-check inside the timer callback (covers a pause within the 4 s window), and clear any pending timer in pauseRadio(). * docs: changelog for radio card polish + paused-stream fix (#786)
This commit is contained in:
committed by
GitHub
parent
99c78d8567
commit
d7abf9be3b
@@ -3,6 +3,8 @@ export const radio = {
|
||||
empty: 'Keine Radiosender konfiguriert.',
|
||||
addStation: 'Sender hinzufügen',
|
||||
editStation: 'Bearbeiten',
|
||||
playStation: 'Sender abspielen',
|
||||
stopStation: 'Sender stoppen',
|
||||
deleteStation: 'Sender löschen',
|
||||
confirmDelete: 'Zum Bestätigen erneut klicken',
|
||||
stationName: 'Sendername…',
|
||||
|
||||
@@ -3,6 +3,8 @@ export const radio = {
|
||||
empty: 'No radio stations configured.',
|
||||
addStation: 'Add Station',
|
||||
editStation: 'Edit',
|
||||
playStation: 'Play station',
|
||||
stopStation: 'Stop station',
|
||||
deleteStation: 'Delete station',
|
||||
confirmDelete: 'Click again to confirm',
|
||||
stationName: 'Station name…',
|
||||
|
||||
@@ -3,6 +3,8 @@ export const radio = {
|
||||
empty: 'No hay estaciones de radio configuradas.',
|
||||
addStation: 'Agregar Estación',
|
||||
editStation: 'Editar',
|
||||
playStation: 'Reproducir estación',
|
||||
stopStation: 'Detener estación',
|
||||
deleteStation: 'Eliminar estación',
|
||||
confirmDelete: 'Click de nuevo para confirmar',
|
||||
stationName: 'Nombre de estación…',
|
||||
|
||||
@@ -3,6 +3,8 @@ export const radio = {
|
||||
empty: 'Aucune station radio configurée.',
|
||||
addStation: 'Ajouter une station',
|
||||
editStation: 'Modifier',
|
||||
playStation: 'Lire la station',
|
||||
stopStation: 'Arrêter la station',
|
||||
deleteStation: 'Supprimer la station',
|
||||
confirmDelete: 'Cliquer à nouveau pour confirmer',
|
||||
stationName: 'Nom de la station…',
|
||||
|
||||
@@ -3,6 +3,8 @@ export const radio = {
|
||||
empty: 'Ingen radiostasjoner konfigurert.',
|
||||
addStation: 'Legg til radio stasjon',
|
||||
editStation: 'Rediger',
|
||||
playStation: 'Spill stasjon',
|
||||
stopStation: 'Stopp stasjon',
|
||||
deleteStation: 'Slett stasjon',
|
||||
confirmDelete: 'Klikk igjen for å bekrefte',
|
||||
stationName: 'Stasjonsnavn…',
|
||||
|
||||
@@ -3,6 +3,8 @@ export const radio = {
|
||||
empty: 'Geen radiostations geconfigureerd.',
|
||||
addStation: 'Station toevoegen',
|
||||
editStation: 'Bewerken',
|
||||
playStation: 'Station afspelen',
|
||||
stopStation: 'Station stoppen',
|
||||
deleteStation: 'Station verwijderen',
|
||||
confirmDelete: 'Klik opnieuw om te bevestigen',
|
||||
stationName: 'Stationsnaam…',
|
||||
|
||||
@@ -3,6 +3,8 @@ export const radio = {
|
||||
empty: 'Nicio stație radio configurată.',
|
||||
addStation: 'Adaugă Stație',
|
||||
editStation: 'Editează',
|
||||
playStation: 'Redă stația',
|
||||
stopStation: 'Oprește stația',
|
||||
deleteStation: 'Șterge stație',
|
||||
confirmDelete: 'Apasă din nou pentru a confirma',
|
||||
stationName: 'Numele stației…',
|
||||
|
||||
@@ -3,6 +3,8 @@ export const radio = {
|
||||
empty: 'Радиостанции не настроены.',
|
||||
addStation: 'Добавить станцию',
|
||||
editStation: 'Изменить',
|
||||
playStation: 'Воспроизвести станцию',
|
||||
stopStation: 'Остановить станцию',
|
||||
deleteStation: 'Удалить станцию',
|
||||
confirmDelete: 'Нажмите ещё раз для подтверждения',
|
||||
stationName: 'Название станции…',
|
||||
|
||||
@@ -3,6 +3,8 @@ export const radio = {
|
||||
empty: '未配置任何电台。',
|
||||
addStation: '添加电台',
|
||||
editStation: '编辑',
|
||||
playStation: '播放电台',
|
||||
stopStation: '停止电台',
|
||||
deleteStation: '删除电台',
|
||||
confirmDelete: '再次点击确认',
|
||||
stationName: '电台名称…',
|
||||
|
||||
Reference in New Issue
Block a user