fix(playback): harden watch progress edge cases

This commit is contained in:
edde746
2026-05-29 21:16:01 +02:00
parent d93ea9813f
commit dba01f14bb
20 changed files with 593 additions and 163 deletions
+6 -4
View File
@@ -22,7 +22,7 @@ class PlaybackSourceResolver {
String? sessionIdentifier,
String? transcodeSessionId,
}) async {
final reportingClient = _onlineClient(metadata.serverId);
final reportingClient = _playbackClient(metadata.serverId, offlineLibraryMode: offlineLibraryMode);
final service = PlaybackInitializationService(client: reportingClient, database: database);
final result = await service.getPlaybackData(
metadata: metadata,
@@ -58,9 +58,11 @@ class PlaybackSourceResolver {
);
}
MediaServerClient? _onlineClient(String? serverId) {
if (serverId == null || !serverManager.isClientOnline(serverId)) return null;
return serverManager.getClient(serverId);
MediaServerClient? _playbackClient(String? serverId, {required bool offlineLibraryMode}) {
if (serverId == null) return null;
final client = serverManager.getClient(serverId);
if (offlineLibraryMode && !serverManager.isClientOnline(serverId)) return null;
return client;
}
PlaybackReportingMode _reportingMode({