From 203e8a6d9e2392f991936b2a6dbdc7dc05cdc3c9 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 17 Oct 2026 07:07:22 +0000 Subject: Refresh skips with bounded concurrency, not one at a time The sweep awaited each episode's server query sequentially, and it runs on every refresh including the library button. Several hundred downloaded episodes meant a tap that used to take seconds took minutes, and under WorkManager it risked being killed partway -- the same shape as the ten-minute ceiling that stopped FingerprintWorker ever confirming. Six at a time, through a semaphore inside the call's own coroutineScope so nothing escapes to a background dispatcher. Per-episode failure isolation is unchanged; CancellationException is rethrown rather than caught, the bug already fixed once in skipFurniture(). Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_018AwnALZL6bD4VBtATDVv3B --- .coverage-baseline | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.coverage-baseline') diff --git a/.coverage-baseline b/.coverage-baseline index 744a7d3..4b940a3 100644 --- a/.coverage-baseline +++ b/.coverage-baseline @@ -1 +1 @@ -93.86 +93.89 -- cgit v1.2.3