From 6a3cee81077f8de9c4eae7f33b7962257ae3eac1 Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 31 Jul 2026 13:53:06 +0200 Subject: [PATCH] fix(navidrome): complete media server session data (#6492) --- .../src/navidrome/navidrome-integration.ts | 44 +++++++++++-------- .../test/navidrome-integration.spec.ts | 12 +++++ 2 files changed, 38 insertions(+), 18 deletions(-) diff --git a/packages/integrations/src/navidrome/navidrome-integration.ts b/packages/integrations/src/navidrome/navidrome-integration.ts index 733fa92a0..6f1e7b1b7 100644 --- a/packages/integrations/src/navidrome/navidrome-integration.ts +++ b/packages/integrations/src/navidrome/navidrome-integration.ts @@ -72,24 +72,32 @@ export class NavidromeIntegration extends Integration implements IMediaServerInt public async getCurrentSessionsAsync(_options: CurrentSessionsInput): Promise { const nowPlaying = await this.getNowPlayingAsync(); - return nowPlaying.map((entry): StreamSession => ({ - sessionId: `${entry.username}-${entry.playerName}`, - sessionName: entry.playerName, - user: { - userId: entry.username, - username: entry.username, - profilePictureUrl: null, - }, - currentlyPlaying: { - type: "audio", - name: entry.title, - seasonName: entry.artist || undefined, - episodeName: null, - albumName: entry.album, - episodeCount: null, - metadata: null, - }, - })); + return nowPlaying.map( + (entry): StreamSession => ({ + sessionId: `${entry.username}-${entry.playerName}`, + sessionName: entry.playerName, + user: { + userId: entry.username, + username: entry.username, + profilePictureUrl: null, + }, + currentlyPlaying: { + type: "audio", + name: entry.title, + seasonName: entry.artist || undefined, + episodeName: null, + albumName: entry.album, + episodeCount: null, + playback: { + state: null, + positionMs: null, + durationMs: null, + }, + location: null, + metadata: null, + }, + }), + ); } private async getArtistCountAsync(): Promise { diff --git a/packages/integrations/src/navidrome/test/navidrome-integration.spec.ts b/packages/integrations/src/navidrome/test/navidrome-integration.spec.ts index b3fa10141..3300f7003 100644 --- a/packages/integrations/src/navidrome/test/navidrome-integration.spec.ts +++ b/packages/integrations/src/navidrome/test/navidrome-integration.spec.ts @@ -257,6 +257,12 @@ describe("NavidromeIntegration.getCurrentSessionsAsync", () => { episodeName: null, albumName: "LP", episodeCount: null, + playback: { + state: null, + positionMs: null, + durationMs: null, + }, + location: null, metadata: null, }, }, @@ -275,6 +281,12 @@ describe("NavidromeIntegration.getCurrentSessionsAsync", () => { episodeName: null, albumName: "Second Album", episodeCount: null, + playback: { + state: null, + positionMs: null, + durationMs: null, + }, + location: null, metadata: null, }, },