From fe2c0416efcbff6e6e090ede4701561ece70a5a0 Mon Sep 17 00:00:00 2001 From: fallenbagel <98979876+fallenbagel@users.noreply.github.com> Date: Wed, 8 Apr 2026 02:12:54 +0500 Subject: [PATCH] fix(emby): use static version in auth header for emby only (#2821) --- server/api/jellyfin.ts | 11 +++++++---- server/routes/auth.ts | 8 +++++--- server/routes/avatarproxy.ts | 6 +++++- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/server/api/jellyfin.ts b/server/api/jellyfin.ts index 3a684031a..28afc3e0e 100644 --- a/server/api/jellyfin.ts +++ b/server/api/jellyfin.ts @@ -138,11 +138,14 @@ class JellyfinAPI extends ExternalAPI { ? deviceId : Buffer.from('BOT_seerr').toString('base64'); - let authHeaderVal: string; + const version = + settings.main.mediaServerType === MediaServerType.EMBY + ? '1.0.0' + : getAppVersion(); + + let authHeaderVal = `MediaBrowser Client="Seerr", Device="Seerr", DeviceId="${safeDeviceId}", Version="${version}"`; if (authToken) { - authHeaderVal = `MediaBrowser Client="Seerr", Device="Seerr", DeviceId="${safeDeviceId}", Version="${getAppVersion()}", Token="${authToken}"`; - } else { - authHeaderVal = `MediaBrowser Client="Seerr", Device="Seerr", DeviceId="${safeDeviceId}", Version="${getAppVersion()}"`; + authHeaderVal += `, Token="${authToken}"`; } super( diff --git a/server/routes/auth.ts b/server/routes/auth.ts index ee352ca92..66b18224a 100644 --- a/server/routes/auth.ts +++ b/server/routes/auth.ts @@ -671,9 +671,11 @@ authRoutes.post('/logout', async (req, res, next) => { await axios.delete(`${baseUrl}/Devices`, { params: { Id: user.jellyfinDeviceId }, headers: { - 'X-Emby-Authorization': `MediaBrowser Client="Seerr", Device="Seerr", DeviceId="seerr", Version="${getAppVersion()}", Token="${ - settings.jellyfin.apiKey - }"`, + 'X-Emby-Authorization': `MediaBrowser Client="Seerr", Device="Seerr", DeviceId="seerr", Version="${ + settings.main.mediaServerType === MediaServerType.EMBY + ? '1.0.0' + : getAppVersion() + }", Token="${settings.jellyfin.apiKey}"`, }, }); } catch (error) { diff --git a/server/routes/avatarproxy.ts b/server/routes/avatarproxy.ts index d89e6d7ee..2027d79db 100644 --- a/server/routes/avatarproxy.ts +++ b/server/routes/avatarproxy.ts @@ -27,7 +27,11 @@ async function initAvatarImageProxy() { const authToken = getSettings().jellyfin.apiKey; _avatarImageProxy = new ImageProxy('avatar', '', { headers: { - 'X-Emby-Authorization': `MediaBrowser Client="Seerr", Device="Seerr", DeviceId="${deviceId}", Version="${getAppVersion()}", Token="${authToken}"`, + 'X-Emby-Authorization': `MediaBrowser Client="Seerr", Device="Seerr", DeviceId="${deviceId}", Version="${ + getSettings().main.mediaServerType === MediaServerType.EMBY + ? '1.0.0' + : getAppVersion() + }", Token="${authToken}"`, }, }); }