From df7002d99015d1918ad543651c0c0a7275439d5e Mon Sep 17 00:00:00 2001 From: PartyDonut <42371342+PartyDonut@users.noreply.github.com> Date: Tue, 19 Nov 2024 19:47:06 +0100 Subject: [PATCH] fix: Improve sanitizing for trickplay (#158) Co-authored-by: PartyDonut --- lib/providers/service_provider.dart | 10 ++++++++-- lib/providers/sync_provider.dart | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/providers/service_provider.dart b/lib/providers/service_provider.dart index 259b216..5204c9b 100644 --- a/lib/providers/service_provider.dart +++ b/lib/providers/service_provider.dart @@ -906,10 +906,16 @@ class JellyService { if (server == null) return null; - final lines = response.bodyString.split('\n')..removeWhere((element) => element.startsWith('#')); + final sanitizedUrls = response.bodyString + .split('\n') + .where((line) => line.isNotEmpty && !line.startsWith('#')) + .map((line) => line.trim()) + .map((line) => Uri.parse(line).toString()) + .toList(); + return response.copyWith( body: trickPlayModel.copyWith( - images: lines + images: sanitizedUrls .map( (e) => joinAll([server, 'Videos/${item.id}/Trickplay/${trickPlayModel.width}', e]), ) diff --git a/lib/providers/sync_provider.dart b/lib/providers/sync_provider.dart index fbcd854..78231ee 100644 --- a/lib/providers/sync_provider.dart +++ b/lib/providers/sync_provider.dart @@ -457,7 +457,7 @@ class SyncNotifier extends StateNotifier { try { if (!skipDownload && currentTask.task == null) { final downloadTask = DownloadTask( - url: downloadString, + url: Uri.parse(downloadString).toString(), directory: syncItem.directory.path, filename: syncItem.videoFileName, updates: Updates.statusAndProgress,