summaryrefslogtreecommitdiff
path: root/apps/web/src/services/storage/migrations/transformers
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2026-02-05 14:44:31 +0100
committerMaze Winther <mazewinther@gmail.com>2026-02-05 14:44:31 +0100
commit464a6e83b96a400614bea9973aeb0278d03daa0b (patch)
tree9eaf84183913f8059f1a7d9ca589565b9e4d01be /apps/web/src/services/storage/migrations/transformers
parentd0b4b1a5fc439d68371d8cfa677348250afec88b (diff)
downloadopencut-464a6e83b96a400614bea9973aeb0278d03daa0b.tar.gz
fix rendering issue from v1 to current
Diffstat (limited to 'apps/web/src/services/storage/migrations/transformers')
-rw-r--r--apps/web/src/services/storage/migrations/transformers/v1-to-v2.ts59
1 files changed, 31 insertions, 28 deletions
diff --git a/apps/web/src/services/storage/migrations/transformers/v1-to-v2.ts b/apps/web/src/services/storage/migrations/transformers/v1-to-v2.ts
index 6242f8c3..098101d6 100644
--- a/apps/web/src/services/storage/migrations/transformers/v1-to-v2.ts
+++ b/apps/web/src/services/storage/migrations/transformers/v1-to-v2.ts
@@ -26,7 +26,7 @@ interface LegacyMediaElement {
type: "media";
mediaId: string;
muted?: boolean;
- [id: string]: unknown;
+ [key: string]: unknown;
}
interface LegacyTextElement {
@@ -35,19 +35,19 @@ interface LegacyTextElement {
y: number;
rotation: number;
opacity: number;
- [id: string]: unknown;
+ [key: string]: unknown;
}
interface LegacyAudioElement {
type: "audio";
mediaId: string;
- [id: string]: unknown;
+ [key: string]: unknown;
}
interface LegacyMediaTrack {
type: "media";
elements: unknown[];
- [id: string]: unknown;
+ [key: string]: unknown;
}
export interface TransformV1ToV2Options {
@@ -265,35 +265,38 @@ async function transformTracks({
}
let isFirstVideoTrackFound = false;
+ const transformedTracks: (TimelineTrack | null)[] = [];
- const transformedTracks = await Promise.all(
- tracks.map(async (track) => {
- if (!isRecord(track)) {
- return null;
- }
+ for (const track of tracks) {
+ if (!isRecord(track)) {
+ transformedTracks.push(null);
+ continue;
+ }
- const trackType = track.type;
- if (trackType === "media") {
- const videoTrack = await transformMediaTrack({
- track: track as LegacyMediaTrack,
- loadMediaAsset,
- isMain: !isFirstVideoTrackFound,
- });
- isFirstVideoTrackFound = true;
- return videoTrack;
- }
+ const trackType = track.type;
+ if (trackType === "media") {
+ const videoTrack = await transformMediaTrack({
+ track: track as LegacyMediaTrack,
+ loadMediaAsset,
+ isMain: !isFirstVideoTrackFound,
+ });
+ isFirstVideoTrackFound = true;
+ transformedTracks.push(videoTrack);
+ continue;
+ }
- if (trackType === "text") {
- return transformTextTrack({ track });
- }
+ if (trackType === "text") {
+ transformedTracks.push(transformTextTrack({ track }));
+ continue;
+ }
- if (trackType === "audio") {
- return transformAudioTrack({ track });
- }
+ if (trackType === "audio") {
+ transformedTracks.push(transformAudioTrack({ track }));
+ continue;
+ }
- return null;
- }),
- );
+ transformedTracks.push(null);
+ }
return transformedTracks.filter(
(track): track is TimelineTrack => track !== null,