Skip to content

fix: media from the code review (cancels, visualizer, stills, RAW, waveforms, big images), 0.117.7 - #420

Merged
Maxaubert merged 3 commits into
mainfrom
fix/review-media
Oct 16, 2026
Merged

Maxaubert merged 3 commits into
mainfrom
fix/review-media

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Media fixes from the 2026-10-16 code review (research/prism/2026-10-16-code-review.md, findings #5, 6, 12, 13, 16, 20, 23, 24, 25). Built by an Opus agent and reviewed by a second.

Fixes

Tests

0.117.7.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DzqPzR6LuAvhiDabNwqzpx

Maxaubert and others added 3 commits October 16, 2026 11:39
…-16 code review)

- Conversion cancel during the probe is kept: viewers count from the ask (convertWaiters.ts)
- Visualizer drop analysis waits for a known duration, runs once per source, aborts stale runs
- Hidden audio tabs run no visualizer draw loop; a click no longer wakes a paused AudioContext
- ffmpeg-decoded stills, raw previews and HEIC stream above 8 MB; decoded cache capped by bytes
- Raw preview scan uses Buffer.indexOf and caches a copy, not a view of the 40 MB scan buffer
- Waveform peaks: one decode at a time, shared per file, cancellable from the renderer
- probeCached shares in-flight probes; conversion and peaks go through it
- ImageView shows the spinner while a huge picture's bitmap decodes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DzqPzR6LuAvhiDabNwqzpx
…el during the stat is kept

The peaks job was keyed by the stat-derived cache key, registered only after
`await key(file)`. A cancel arriving in that gap found nothing, and the ask
then started a whole-file decode for nobody at the head of the
one-at-a-time queue, delaying every other waveform. Jobs are now keyed by
path and registered synchronously; a cache hit no longer waits in the queue.
The renderer sends cancelPeaks only while its ask is still open, so a
settled ask cannot take a waiter off another tab's job.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DzqPzR6LuAvhiDabNwqzpx
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DzqPzR6LuAvhiDabNwqzpx
@Maxaubert
Maxaubert merged commit 578e8e3 into main Oct 16, 2026
3 checks passed
@Maxaubert
Maxaubert deleted the fix/review-media branch October 16, 2026 10:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant