fix(diashow): never project a video, however its poster turned out
`merge` decided by whether a usable still existed, so the same clip was included or dropped depending on whether ffmpeg happened to extract a poster — a video WITH a thumbnail was queued and shown as a frozen frame, one without was skipped. Keyed on the mime type instead: the projector shows stills only. The test factory casts through `as unknown as FeedUpload`, so adding a field the queue reads does not fail typechecking — it fails at runtime, which is how this surfaced as ten broken tests rather than a compile error. The factory now carries `mime_type` and the comment says why keeping it in step matters. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -205,6 +205,7 @@
|
||||
// Ids known BEFORE the scan — only these are eviction candidates, so an upload that
|
||||
// arrives mid-scan (not in this snapshot) is never wrongly pruned.
|
||||
const before = new Set(queue.knownIds());
|
||||
// eslint-disable-next-line svelte/prefer-svelte-reactivity -- local scan-bookkeeping set inside one reconcile() call; never stored in $state, so no reactivity is involved.
|
||||
const seen = new Set<string>();
|
||||
let cursor: string | null = null;
|
||||
let complete = false;
|
||||
|
||||
Reference in New Issue
Block a user