Skip to content

fix(studio,producer): post-merge regressions — fixes #1636, #1637, #1644#1643

Merged
miguel-heygen merged 1 commit into
mainfrom
fix/post-merge-regressions
Jun 22, 2026
Merged

fix(studio,producer): post-merge regressions — fixes #1636, #1637, #1644#1643
miguel-heygen merged 1 commit into
mainfrom
fix/post-merge-regressions

Conversation

@miguel-heygen

@miguel-heygen miguel-heygen commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fixes CI failures and open issues after the keyframe editing stack merge (#1605).

CI fix

  • Test import: gsapDragCommit.test.ts imported commitGsapPositionFromDrag from gsapDragCommit but it was extracted to gsapDragPositionCommit

Fixes #1637crypto.randomUUID is not a function on plain HTTP

  • Added generateId() helper with insecure-context fallback (Date.now()-Math.random()) for all 6 call sites across 5 files

Fixes #1636 — Live preview freezes after ~10s, playhead jumps to end

  • clock.setDuration() was called every tick with a DOM-derived duration. A transient shorter read (from sanitizeCompositionDurationAttributes stripping sub-comp attrs mid-tick) would shrink the duration → reachedEnd() fires → playhead jumps to end
  • Fix: never shrink duration while playing — only grow or hold steady

Fixes #1644 — ENOTEMPTY race on worker directory cleanup

  • Chrome worker processes write GPU cache/crash dumps after the render completes. rmSync({recursive: true}) walks the tree, removes files, then rmdir — but Chrome writes a new file between the walk and the rmdir
  • Fix: add maxRetries: 3, retryDelay: 100 to rmSync in the three cleanup paths (orchestrator, distributed chunk, shared cleanup helper)

Enable keyframes

  • Flipped STUDIO_KEYFRAMES_ENABLED default from false to true

Test plan

  • bun test packages/studio/src/hooks/gsapDragCommit.test.ts — 12/12 pass
  • Studio preview works over plain HTTP (no crypto crash)
  • Continuous playback >10s does not freeze
  • Multi-worker renders clean up without ENOTEMPTY errors
  • Keyframe diamonds visible in timeline without env flag

@miguel-heygen miguel-heygen force-pushed the fix/post-merge-regressions branch from c411fc5 to a393011 Compare June 22, 2026 14:40
@miguel-heygen miguel-heygen changed the title fix(studio): post-merge regressions — test import, crypto fallback, enable keyframes fix(studio): post-merge regressions — test import, crypto fallback, enable keyframes, preview freeze Jun 22, 2026
@miguel-heygen miguel-heygen force-pushed the fix/post-merge-regressions branch from a393011 to 14ce288 Compare June 22, 2026 14:50
@miguel-heygen miguel-heygen changed the title fix(studio): post-merge regressions — test import, crypto fallback, enable keyframes, preview freeze fix(studio,producer): post-merge regressions — fixes #1636, #1637, #1644 Jun 22, 2026
@miguel-heygen miguel-heygen force-pushed the fix/post-merge-regressions branch 2 times, most recently from d873697 to 6e0f4ad Compare June 22, 2026 15:04
- fix gsapDragCommit.test.ts import for commitGsapPositionFromDrag
- add generateId() helper with insecure-context fallback (fixes #1637)
- enable STUDIO_KEYFRAMES_ENABLED by default
- prevent clock duration from shrinking during playback (fixes #1636)
- add maxRetries to rmSync cleanup calls to handle ENOTEMPTY race (fixes #1644)
@miguel-heygen miguel-heygen force-pushed the fix/post-merge-regressions branch from 6e0f4ad to b5034b3 Compare June 22, 2026 15:05
@miguel-heygen miguel-heygen merged commit 1f5dbdb into main Jun 22, 2026
45 checks passed
@miguel-heygen miguel-heygen deleted the fix/post-merge-regressions branch June 22, 2026 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant