Skip to content

perf(studio): drag and resize any number of selected clips, saved in one write per file #19649

perf(studio): drag and resize any number of selected clips, saved in one write per file

perf(studio): drag and resize any number of selected clips, saved in one write per file #19649

Triggered via pull request October 3, 2026 10:17
Status Failure
Total duration 10m 33s
Artifacts –

windows-render.yml

on: pull_request
Detect changes
19s
Detect changes
Preflight (lint + format)
40s
Preflight (lint + format)
Matrix: test-windows-lane
Render on windows-latest
5m 50s
Render on windows-latest
Tests on windows-latest
4s
Tests on windows-latest
Fit to window
Zoom out
Zoom in

Annotations

13 errors, 7 warnings, and 3 notices
Render on windows-latest
The inferred type of 'cn' cannot be named without a reference to '../../../../../node_modules/cn/dist/types'. This is likely not portable. A type annotation is necessary.
src/hooks/useTimelineEditing.test.tsx > useTimelineEditing: nested rows write composition-local starts > writes local starts and a local scale window for a nested group resize: packages/studio/src/hooks/useTimelineEditing.test.tsx#L2048
AssertionError: expected [] to deeply equal [ ObjectContaining{…} ] - Expected + Received - [ - ObjectContaining { - "newDuration": 4.5, - "newStart": 3.5, - "oldDuration": 5, - "oldStart": 3, - }, - ] + [] ❯ src/hooks/useTimelineEditing.test.tsx:2048:28
src/hooks/timelineTimingSync.test.ts > foldGsapMutationIntoHistory — owned GSAP transaction > rolls back the owned output when the history verification reread fails: packages/studio/src/hooks/timelineTimingSync.test.ts#L883
AssertionError: expected undefined to deeply equal { path: 'index.html', …(3) } - Expected: { "conflict": false, "expected": "OWNED", "path": "index.html", "restore": "ORIGINAL", } + Received: undefined ❯ src/hooks/timelineTimingSync.test.ts:883:33
src/hooks/timelineTimingSync.test.ts > foldGsapMutationIntoHistory — owned GSAP transaction > rejects a discontinuous same-file chain without claiming foreign bytes: packages/studio/src/hooks/timelineTimingSync.test.ts#L852
AssertionError: expected [] to deeply equal [ { path: 'index.html', …(3) }, …(1) ] - Expected + Received - [ - { - "conflict": false, - "expected": "FOREIGN+STEP-2", - "path": "index.html", - "restore": "FOREIGN", - }, - { - "conflict": true, - "expected": "STEP-1", - "path": "index.html", - "restore": "ORIGINAL", - }, - ] + [] ❯ src/hooks/timelineTimingSync.test.ts:852:30
src/hooks/timelineTimingSync.test.ts > foldGsapMutationIntoHistory — owned GSAP transaction > records first owned before and last owned after without a client snapshot: packages/studio/src/hooks/timelineTimingSync.test.ts#L816
AssertionError: expected +0 to be 1 // Object.is equality - Expected + Received - 1 + 0 ❯ src/hooks/timelineTimingSync.test.ts:816:32
src/hooks/timelineTimingSync.test.ts > foldGsapMutationIntoHistory — owned GSAP transaction > reloads when a failed rollback request leaves owned bytes without history: packages/studio/src/hooks/timelineTimingSync.test.ts#L785
AssertionError: expected 'ORIGINAL' to be 'OWNED' // Object.is equality Expected: "OWNED" Received: "ORIGINAL" ❯ src/hooks/timelineTimingSync.test.ts:785:40
src/hooks/timelineTimingSync.test.ts > foldGsapMutationIntoHistory — owned GSAP transaction > server CAS preserves a successor that arrives as rollback starts: packages/studio/src/hooks/timelineTimingSync.test.ts#L755
AssertionError: expected undefined to be true // Object.is equality - Expected: true + Received: undefined ❯ src/hooks/timelineTimingSync.test.ts:755:43
src/hooks/timelineTimingSync.test.ts > foldGsapMutationIntoHistory — owned GSAP transaction > uses the endpoint's atomic before when a foreign write precedes mutation: packages/studio/src/hooks/timelineTimingSync.test.ts#L720
AssertionError: expected undefined to deeply equal { path: 'index.html', …(3) } - Expected: { "conflict": false, "expected": "FOREIGN+OWNED", "path": "index.html", "restore": "FOREIGN", } + Received: undefined ❯ src/hooks/timelineTimingSync.test.ts:720:33
src/hooks/timelineTimingSync.test.ts > foldGsapMutationIntoHistory — owned GSAP transaction > reverse-rolls back every successful same-file step after a late failure: packages/studio/src/hooks/timelineTimingSync.test.ts#L687
AssertionError: expected [] to deeply equal [ { path: 'index.html', …(3) }, …(1) ] - Expected + Received - [ - { - "conflict": false, - "expected": "STEP-2", - "path": "index.html", - "restore": "STEP-1", - }, - { - "conflict": false, - "expected": "STEP-1", - "path": "index.html", - "restore": "ORIGINAL", - }, - ] + [] ❯ src/hooks/timelineTimingSync.test.ts:687:30
Tests on windows-latest
Process completed with exit code 1.
Tests on windows-latest
One or more Windows test lanes did not succeed.
Detect changes
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@11d5960a326750d5838078e36cf38b85af677262. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Preflight (lint + format)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830, actions/checkout@11d5960a326750d5838078e36cf38b85af677262, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Tests on windows-latest: studio-2
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@11d5960a326750d5838078e36cf38b85af677262, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Render on windows-latest
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@11d5960a326750d5838078e36cf38b85af677262, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020, actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Tests on windows-latest: engine-cli
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@11d5960a326750d5838078e36cf38b85af677262, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Tests on windows-latest: studio-1
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@11d5960a326750d5838078e36cf38b85af677262, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Tests on windows-latest: core
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@11d5960a326750d5838078e36cf38b85af677262, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Detect changes
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Preflight (lint + format)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Tests on windows-latest
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"