Make batch source search sequential per source and independent across sources

Refactor searchMissingBatch to schedule each source independently via a
per-source promise chain (scheduleSource) instead of processing all targets
in a single serial loop. This keeps source ordering intact while allowing
different sources to advance in parallel across models.

Also update searchOnline to accept scheduleSource and emit a pending UI
state for queued searches, split pending/running source colors in CSS, and
add tests covering independent batch source progression plus error/cancel
survival.
This commit is contained in:
Dariusz L
2026-09-10 14:49:28 +02:00
parent 9f9b3da12c
commit cf5c73c2c8
3 changed files with 131 additions and 30 deletions
+12 -2
View File
@@ -1103,14 +1103,20 @@
--mr-source-border-alpha: 0.22;
}
.mr-missing-source-running,
.mr-missing-source-pending {
.mr-missing-source-running {
--mr-source-rgb: 96, 190, 255;
--mr-source-fill-alpha: 0.16;
--mr-source-border-hi-alpha: 0.78;
--mr-source-border-alpha: 0.6;
}
.mr-missing-source-pending {
--mr-source-rgb: 175, 180, 188;
--mr-source-fill-alpha: 0.10;
--mr-source-border-hi-alpha: 0.52;
--mr-source-border-alpha: 0.38;
}
.mr-missing-source-error {
--mr-source-rgb: 255, 138, 128;
--mr-source-fill-alpha: 0.16;
@@ -3675,6 +3681,10 @@
display: none;
}
.mr-search-progress-pending .mr-search-progress-fill {
background: var(--mr-text-muted);
}
.mr-footer:not(.mr-footer-is-missing) .mr-footer-star-link {
margin-right: auto;
}