perf(frontend): parallelize video thumbs, batch owner-cache writes, minor tweaks
- photos: generate + upload the three video-thumbnail sizes in parallel via Promise.allSettled instead of a sequential await loop; previewData is still captured before its upload so the local preview survives a failed upload. - useOwnerCache: resolve the batch, then apply a single reactive assignment to `#names` instead of spread-copying the record once per id (fewer copies and fewer derive re-runs on large resolves). - admin: migration status polling slowed from 2s to 5s. - files store: soft cap (10k) on the per-item selection toggle. Bulk "select all" in the views is intentionally left uncapped.
This commit is contained in:
@@ -96,10 +96,15 @@ class FilesStore {
|
||||
this.selection = new Set();
|
||||
}
|
||||
|
||||
// Soft ceiling so the per-item toggle can't grow the set without bound.
|
||||
// (Bulk "select all" lives in the views and intentionally isn't capped —
|
||||
// silently dropping ids there would break batch delete/move.)
|
||||
static readonly MAX_SELECTION = 10_000;
|
||||
|
||||
toggleSelected(id: string): void {
|
||||
const next = new Set(this.selection);
|
||||
if (next.has(id)) next.delete(id);
|
||||
else next.add(id);
|
||||
else if (next.size < FilesStore.MAX_SELECTION) next.add(id);
|
||||
this.selection = next;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user