fix(studio,producer): post-merge regressions and open issues (#1643)

- 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)
This commit is contained in:
Miguel Ángel
2026-06-22 11:19:52 -04:00
committed by GitHub
parent 4db708eb4a
commit 1f5dbdbc4c
12 changed files with 31 additions and 19 deletions
@@ -707,7 +707,7 @@ export async function renderChunk(
// Clean up only after the hash + perf sidecar landed. Any failure above
// leaves the framesDir in place for inspection.
try {
rmSync(workDir, { recursive: true, force: true });
rmSync(workDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 });
} catch (err) {
log.warn("[renderChunk] failed to remove work dir", {
workDir,
@@ -65,7 +65,7 @@ export async function cleanupRenderResources(input: {
// `force: true` swallows ENOENT, so no need to existsSync first.
await safeCleanup(
`remove workDir (${label})`,
() => rmSync(workDir, { recursive: true, force: true }),
() => rmSync(workDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 }),
log,
);
}
@@ -1699,7 +1699,7 @@ export async function executeRenderJob(
await safeCleanup(
"remove workDir",
() => {
rmSync(workDir, { recursive: true, force: true });
rmSync(workDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 });
},
log,
);