Skip to content

feat(audio): add waveform preview playback - #127

Open
flamboh wants to merge 7 commits into
codex/mobile-workspace-navigationfrom
codex/waveform-preview
Open

flamboh wants to merge 7 commits into
codex/mobile-workspace-navigationfrom
codex/waveform-preview

Conversation

@flamboh

@flamboh flamboh commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a SoundCloud-style waveform preview to the selected-track editor
  • support play/pause, elapsed/duration, pointer drag seeking, keyboard seeking, and horizontal panning
  • stop/reset before paint on selection replacement or whenever the editor becomes inaccessible
  • pause when Settings opens, mobile Back returns to the library, or the sidebar sheet covers the editor
  • degrade safely when playback or waveform construction is unavailable

Resource and lifecycle safety

  • serialize waveform decoding to one AudioContext
  • reject compressed files over 96 MiB
  • require finite positive duration and enforce a conservative 256 MiB decoded-PCM estimate before decoding
  • retain an exact post-decode PCM gate as defense in depth
  • use source generations so stale decode/media events cannot populate a replacement, including same-ID/new-File updates
  • skip canceled queued work, discard canceled in-flight results, close contexts, and revoke object URLs
  • document Web Audio's non-cancelable decodeAudioData behavior accurately

Verification

  • vp check
  • bun run typecheck
  • bun run test (428 tests on the mobile-navigation base)
  • bun run build
  • two fresh implementation reviews plus repeated rechecks after lifecycle fixes

Dependency

Targets #125 (codex/mobile-workspace-navigation) because preview visibility must follow the mobile page/sheet accessibility state.

Manual follow-up

The Playwright spec was not executed because project instructions say not to start a development server during manual-review workflows.

@github-actions

github-actions Bot commented Jul 17, 2026

Copy link
Copy Markdown

React Doctor found no new issues. 🎉

Reviewed by React Doctor for commit 2535bb9.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 17, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
tagium 2535bb9 Commit Preview URL

Branch Preview URL
Jul 23 2026, 04:56 AM

flamboh commented Jul 20, 2026

Copy link
Copy Markdown
Owner Author

@flamboh
flamboh force-pushed the codex/waveform-preview branch from d874062 to 70037d1 Compare July 20, 2026 20:44
@flamboh
flamboh force-pushed the codex/mobile-workspace-navigation branch from b56db03 to 5b1fd77 Compare July 20, 2026 20:44
@flamboh
flamboh force-pushed the codex/waveform-preview branch 3 times, most recently from 3c0547a to 15fde28 Compare July 23, 2026 00:26
@flamboh
flamboh marked this pull request as ready for review July 23, 2026 03:02
@flamboh
flamboh force-pushed the codex/mobile-workspace-navigation branch from 3657d29 to 885f3fe Compare July 23, 2026 03:36
@flamboh
flamboh force-pushed the codex/waveform-preview branch 2 times, most recently from 79d9da4 to fa0712b Compare July 23, 2026 04:49
@flamboh
flamboh force-pushed the codex/mobile-workspace-navigation branch from 885f3fe to 915b139 Compare July 23, 2026 04:49
@flamboh
flamboh force-pushed the codex/waveform-preview branch from fa0712b to 2535bb9 Compare July 23, 2026 04:55
@flamboh
flamboh force-pushed the codex/mobile-workspace-navigation branch from 915b139 to 4c7af2c Compare July 23, 2026 04:55
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