Backport pull request #7240 from jellyfin-web/release-10.11.z

Handle browsers lacking stop media session action support

Original-merge: f7583a842b

Merged-by: thornbill <thornbill@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
This commit is contained in:
thornbill
2025-10-27 15:47:09 -04:00
committed by Joshua M. Boniface
parent c778f9cc2c
commit 8c1958db46

View File

@@ -54,7 +54,12 @@ class MediaSessionSubscriber extends PlaybackSubscriber {
/* eslint-disable compat/compat */
navigator.mediaSession.setActionHandler('pause', this.onMediaSessionAction.bind(this));
navigator.mediaSession.setActionHandler('play', this.onMediaSessionAction.bind(this));
navigator.mediaSession.setActionHandler('stop', this.onMediaSessionAction.bind(this));
// NOTE: Some legacy (TV) browsers lack support for the stop action
try {
navigator.mediaSession.setActionHandler('stop', this.onMediaSessionAction.bind(this));
} catch (err) {
console.warn('[MediaSessionSubscriber] Failed to add \'stop\' action handler', err);
}
navigator.mediaSession.setActionHandler('previoustrack', this.onMediaSessionAction.bind(this));
navigator.mediaSession.setActionHandler('nexttrack', this.onMediaSessionAction.bind(this));
navigator.mediaSession.setActionHandler('seekto', this.onMediaSessionAction.bind(this));