Skip to content

fix: keep cuts and audio edits across trim changes, decode caption escapes - #1

Merged
bradsec merged 1 commit into
mainfrom
fix/bug-sweep
Oct 29, 2026
Merged

bradsec merged 1 commit into
mainfrom
fix/bug-sweep

Conversation

@bradsec

@bradsec bradsec commented Oct 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • Trim drag deleted cuts (B2). setTrim runs on every pointer move and stored cuts, master fades and the audio mix normalized against the current trim. Dragging the end handle past a cut and back removed the cut; fades and the added-audio offset were shortened for good. Stored values now stay as entered (bounded to the source duration). Export, preview, cut rows, filmstrip marks, change counts and copy/passthrough eligibility apply the current trim when they read them. Cuts outside the trim stay stored and return when the trim widens.
  • Caption escapes (B1). WebVTT &, < and similar showed literally in burned captions. The parser now decodes named and numeric character references after removing styling tags.

Verification

  • pnpm test: 497/497 pass. Regression tests added for both bugs and confirmed failing first (cuts: [] after a drag past and back; Received: "Tom & Jerry <3").
  • typecheck, lint and format check are clean.
  • Playwright specs for cuts, trim, audio, audio-mix, settings, captions, gif and reset-all: 148/148 pass.
  • The full Playwright baseline before this change had 3 failures, all in "GIF previews edits live" on WebKit, iPhone and iPad; it passes when run alone, so it looks flaky under load and is unrelated to this change.

…capes

- Trim and cut changes stored cuts, master fades and the audio mix
  re-normalized against the current trim. The trim handle dispatches on
  every pointer move, so dragging past a cut and back deleted it and
  shortened fades for good. Settings now keep the values as entered
  (bounded to the source duration) and every consumer applies the
  current trim when it reads them.
- WebVTT character references such as & and < showed literally
  in burned captions. The parser now decodes named and numeric
  references after removing styling tags.
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying videoadjust with  Cloudflare Pages  Cloudflare Pages

Latest commit: 6fef8d6
Status:⚡️  Build in progress...

View logs

@bradsec
bradsec merged commit 3803c31 into main Oct 29, 2026
4 of 5 checks passed
@bradsec
bradsec deleted the fix/bug-sweep branch October 29, 2026 22:59
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