diff --git a/server/entity/Media.ts b/server/entity/Media.ts index 704a5f104..cf6f5a280 100644 --- a/server/entity/Media.ts +++ b/server/entity/Media.ts @@ -204,12 +204,16 @@ class Media { externalHostname && externalHostname.length > 0 ? externalHostname : hostname; - jellyfinHost = jellyfinHost.endsWith("/") ? jellyfinHost.slice(0, -1) : jellyfinHost; + + jellyfinHost = jellyfinHost!.endsWith('/') + ? jellyfinHost!.slice(0, -1) + : jellyfinHost; + if (this.jellyfinMediaId) { this.mediaUrl = `${jellyfinHost}/web/index.html#!/${pageName}?id=${this.jellyfinMediaId}&context=home&serverId=${serverId}`; } if (this.jellyfinMediaId4k) { - this.mediaUrl4k = `${jellyfinHost}/web/index.html#!/${pageName}?id=${this.jellyfinMediaId4k}&context=home&serverId=${serverId}`; + this.mediaUrl4k = `${jellyfinHost}/web/index.html#!/${pageName}?id=${this.jellyfinMediaId}&context=home&serverId=${serverId}`; } } } diff --git a/server/routes/auth.ts b/server/routes/auth.ts index 0bce293df..0280a4286 100644 --- a/server/routes/auth.ts +++ b/server/routes/auth.ts @@ -245,10 +245,13 @@ authRoutes.post('/jellyfin', async (req, res, next) => { // First we need to attempt to log the user in to jellyfin const jellyfinserver = new JellyfinAPI(hostname ?? '', undefined, deviceId); let jellyfinHost = - externalHostname && externalHostname.length > 0 - ? externalHostname - : hostname; - jellyfinHost = jellyfinHost.endsWith("/") ? jellyfinHost.slice(0, -1) : jellyfinHost; + externalHostname && externalHostname.length > 0 + ? externalHostname + : hostname; + + jellyfinHost = jellyfinHost!.endsWith('/') + ? jellyfinHost!.slice(0, -1) + : jellyfinHost; const account = await jellyfinserver.login(body.username, body.password); // Next let's see if the user already exists diff --git a/server/routes/settings/index.ts b/server/routes/settings/index.ts index 2fcc1a00a..dc9dbcb42 100644 --- a/server/routes/settings/index.ts +++ b/server/routes/settings/index.ts @@ -308,11 +308,13 @@ settingsRoutes.get('/jellyfin/users', async (req, res) => { const settings = getSettings(); const { hostname, externalHostname } = getSettings().jellyfin; let jellyfinHost = - externalHostname && externalHostname.length > 0 - ? externalHostname - : hostname; - jellyfinHost = jellyfinHost.endsWith("/") ? jellyfinHost.slice(0, -1) : jellyfinHost; + externalHostname && externalHostname.length > 0 + ? externalHostname + : hostname; + jellyfinHost = jellyfinHost!.endsWith('/') + ? jellyfinHost!.slice(0, -1) + : jellyfinHost; const userRepository = getRepository(User); const admin = await userRepository.findOneOrFail({ select: ['id', 'jellyfinAuthToken', 'jellyfinDeviceId', 'jellyfinUserId'], diff --git a/server/routes/user/index.ts b/server/routes/user/index.ts index 349cde076..16d8a50be 100644 --- a/server/routes/user/index.ts +++ b/server/routes/user/index.ts @@ -501,8 +501,10 @@ router.post( externalHostname && externalHostname.length > 0 ? externalHostname : hostname; - jellyfinHost = jellyfinHost.endsWith("/") ? jellyfinHost.slice(0, -1) : jellyfinHost; + jellyfinHost = jellyfinHost!.endsWith('/') + ? jellyfinHost!.slice(0, -1) + : jellyfinHost; jellyfinClient.setUserId(admin.jellyfinUserId ?? ''); const jellyfinUsers = await jellyfinClient.getUsers();