mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-22 07:15:47 +00:00
fix(playback): pin queue playback to source server when browsing another library (#717)
* fix(playback): pin queue streams, cover art, and library links to queue server When the active server changes while a queue from another server is playing, keep streams and UI on queueServerId; switch back for artist/album links and queue or player-bar context menus. * fix(playback): switch to queue server when opening Now Playing Ensure active server matches queueServerId before Subsonic fetches on the Now Playing page, mobile player route, and queue info panel; scope caches by server id. * docs(credits): mention Now Playing in PR #717 contribution line * fix(playback): route scrobble and queue sync to queue server Address PR review: apiForServer for scrobble/now-playing/savePlayQueue, clear queueServerId on server removal, mini-player queueServerId sync, block cross-server enqueue with toast, and regression tests.
This commit is contained in:
@@ -28,6 +28,7 @@ export const queue = {
|
||||
shareQueue: 'Warteschlangen-Link kopieren',
|
||||
shareQueueEmpty: 'Die Warteschlange ist leer — nichts zu teilen.',
|
||||
emptyQueue: 'Die Warteschlange ist leer.',
|
||||
crossServerEnqueueBlocked: 'Titel von einem anderen Server können der aktuellen Warteschlange nicht hinzugefügt werden. Beende oder leere die Warteschlange zuerst.',
|
||||
trackSingular: 'Titel',
|
||||
trackPlural: 'Titel',
|
||||
showRemaining: 'Restzeit anzeigen',
|
||||
|
||||
@@ -28,6 +28,7 @@ export const queue = {
|
||||
shareQueue: 'Copy queue share link',
|
||||
shareQueueEmpty: 'The queue is empty — nothing to share.',
|
||||
emptyQueue: 'The queue is empty.',
|
||||
crossServerEnqueueBlocked: 'Tracks from another server cannot be added to the current queue. Finish or clear the queue first.',
|
||||
trackSingular: 'track',
|
||||
trackPlural: 'tracks',
|
||||
showRemaining: 'Show remaining time',
|
||||
|
||||
@@ -28,6 +28,7 @@ export const queue = {
|
||||
shareQueue: 'Copiar enlace de la cola',
|
||||
shareQueueEmpty: 'La cola está vacía — no hay nada que compartir.',
|
||||
emptyQueue: 'La cola está vacía.',
|
||||
crossServerEnqueueBlocked: 'No se pueden añadir pistas de otro servidor a la cola actual. Termina o vacía la cola primero.',
|
||||
trackSingular: 'pista',
|
||||
trackPlural: 'pistas',
|
||||
showRemaining: 'Mostrar tiempo restante',
|
||||
|
||||
@@ -28,6 +28,7 @@ export const queue = {
|
||||
shareQueue: 'Copier le lien de la file d’attente',
|
||||
shareQueueEmpty: 'La file d’attente est vide — rien à partager.',
|
||||
emptyQueue: 'La file d\'attente est vide.',
|
||||
crossServerEnqueueBlocked: 'Les titres d\'un autre serveur ne peuvent pas être ajoutés à la file en cours. Terminez ou videz la file d\'abord.',
|
||||
trackSingular: 'piste',
|
||||
trackPlural: 'pistes',
|
||||
showRemaining: 'Afficher le temps restant',
|
||||
|
||||
@@ -28,6 +28,7 @@ export const queue = {
|
||||
shareQueue: 'Kopiér lenke til kø',
|
||||
shareQueueEmpty: 'Køen er tom — ingenting å dele.',
|
||||
emptyQueue: 'Køen er tom.',
|
||||
crossServerEnqueueBlocked: 'Spor fra en annen server kan ikke legges til i den nåværende køen. Tøm eller avslutt køen først.',
|
||||
trackSingular: 'spor',
|
||||
trackPlural: 'spor',
|
||||
showRemaining: 'Vis gjenværende tid',
|
||||
|
||||
@@ -28,6 +28,7 @@ export const queue = {
|
||||
shareQueue: 'Wachtrij-deellink kopiëren',
|
||||
shareQueueEmpty: 'De wachtrij is leeg — niets om te delen.',
|
||||
emptyQueue: 'De wachtrij is leeg.',
|
||||
crossServerEnqueueBlocked: 'Tracks van een andere server kunnen niet aan de huidige wachtrij worden toegevoegd. Maak de wachtrij eerst leeg of stop afspelen.',
|
||||
trackSingular: 'nummer',
|
||||
trackPlural: 'nummers',
|
||||
showRemaining: 'Resterende tijd tonen',
|
||||
|
||||
@@ -28,6 +28,7 @@ export const queue = {
|
||||
shareQueue: 'Copiază link-ul distribuirii cozii',
|
||||
shareQueueEmpty: 'Coada este goală — nimic de distribuit.',
|
||||
emptyQueue: 'Coada este goală.',
|
||||
crossServerEnqueueBlocked: 'Piesele de pe alt server nu pot fi adăugate în coada curentă. Golește sau oprește coada mai întâi.',
|
||||
trackSingular: 'piesă',
|
||||
trackPlural: 'piese',
|
||||
showRemaining: 'Arată timpul rămas',
|
||||
|
||||
@@ -28,6 +28,7 @@ export const queue = {
|
||||
shareQueue: 'Копировать ссылку на очередь',
|
||||
shareQueueEmpty: 'Очередь пуста — нечем поделиться.',
|
||||
emptyQueue: 'Очередь пуста.',
|
||||
crossServerEnqueueBlocked: 'Треки с другого сервера нельзя добавить в текущую очередь. Завершите или очистите очередь.',
|
||||
trackSingular: 'трек',
|
||||
trackPlural: 'треков',
|
||||
showRemaining: 'Осталось',
|
||||
|
||||
@@ -28,6 +28,7 @@ export const queue = {
|
||||
shareQueue: '复制队列分享链接',
|
||||
shareQueueEmpty: '队列为空,无法分享。',
|
||||
emptyQueue: '队列为空。',
|
||||
crossServerEnqueueBlocked: '无法将其他服务器的曲目加入当前播放队列。请先清空或结束当前队列。',
|
||||
trackSingular: '首曲目',
|
||||
trackPlural: '首曲目',
|
||||
showRemaining: '显示剩余时间',
|
||||
|
||||
Reference in New Issue
Block a user