Skip unchanged thumbnail jobs and reuse bounded settings hashes (both maps capped at 1024 entries). Reject stale render results and cache writes after edits, library changes and preview clears: render requests carry a request id and cache generation, PreviewCache writes and reads hold the generation lock that clear() takes, and library.clearPreviews also drops cached sources. The web worker index follows the same generation rule. The decoder guards, Windows path fixes and test fixture changes that were bundled in a327b98 are separate commits; the benchmark follows this one. Co-authored-by: Codex <noreply@openai.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| index.html | ||
| worker.js | ||