From 202e6a9f7cce216a23a3325ef4ab933e6fa9d9f3 Mon Sep 17 00:00:00 2001 From: Prateek Sunal Date: Fri, 29 Aug 2025 12:28:48 +0000 Subject: [PATCH] fix: trigger processing for already-queued manual stream files When users click "Create Stream" on files already in queue from previous sessions, ensure processing actually starts even if the file was previously stalled due to ML blocking. Add forceProcess parameter to queueFiles() to bypass the existing queue check and trigger processing of stalled manual queue items. --- mobile/apps/photos/lib/services/video_preview_service.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mobile/apps/photos/lib/services/video_preview_service.dart b/mobile/apps/photos/lib/services/video_preview_service.dart index b8dfec235a..e0ae78af6a 100644 --- a/mobile/apps/photos/lib/services/video_preview_service.dart +++ b/mobile/apps/photos/lib/services/video_preview_service.dart @@ -125,6 +125,10 @@ class VideoPreviewService { file.uploadedFileID!, ); if (alreadyInQueue) { + // File is already queued, but trigger processing in case it was stalled + if (uploadingFileId < 0) { + queueFiles(duration: Duration.zero, isManual: true, forceProcess: true); + } return false; // Indicates file was already in queue } @@ -1147,9 +1151,10 @@ class VideoPreviewService { void queueFiles({ Duration duration = const Duration(seconds: 5), bool isManual = false, + bool forceProcess = false, }) { Future.delayed(duration, () async { - if (_hasQueuedFile) return; + if (_hasQueuedFile && !forceProcess) return; final isStreamAllowed = isManual ? _allowManualStream() : _allowStream(); if (!isStreamAllowed) return;