From 6312fc5b078689bc82c52fda9b7f92ee0a21d311 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Wed, 15 Apr 2026 04:45:15 +0200 Subject: fix: repair scene tracks broken by v23-to-v24 migration --- .../storage/migrations/transformers/v23-to-v24.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'apps/web/src/services/storage/migrations/transformers/v23-to-v24.ts') 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, }: { -- cgit v1.3.1