diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-04-15 04:45:15 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-04-15 04:45:15 +0200 |
| commit | 6312fc5b078689bc82c52fda9b7f92ee0a21d311 (patch) | |
| tree | 692f81fb70eef0f257d62268bd81b4b3b08dce3f /apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts | |
| parent | 2da93aa98f1b2ee5d7fac81ad7daa0f44ff902d2 (diff) | |
| download | opencut-6312fc5b078689bc82c52fda9b7f92ee0a21d311.tar.gz | |
fix: repair scene tracks broken by v23-to-v24 migration
Diffstat (limited to 'apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts')
| -rw-r--r-- | apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts b/apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts index 710d4dc1..736ca8dd 100644 --- a/apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts +++ b/apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts @@ -51,9 +51,7 @@ function migrateScene({ scene }: { scene: unknown }): unknown { } const mainTrack = findMainTrack({ tracks: scene.tracks }); - if (!mainTrack) { - return scene; - } + const finalMainTrack = mainTrack ?? buildEmptyMainTrack(); return { ...scene, @@ -65,7 +63,7 @@ function migrateScene({ scene }: { scene: unknown }): unknown { (track): track is ProjectRecord => isRecord(track) && track.type !== "audio", ), - main: migrateTrack({ track: mainTrack }), + main: migrateTrack({ track: finalMainTrack }), audio: scene.tracks .map((track) => migrateTrack({ track })) .filter( @@ -76,6 +74,17 @@ function migrateScene({ scene }: { scene: unknown }): unknown { }; } +function buildEmptyMainTrack(): ProjectRecord { + return { + id: crypto.randomUUID(), + name: "Main", + type: "video", + elements: [], + muted: false, + hidden: false, + }; +} + function findMainTrack({ tracks, }: { |
