From 23a3dfa5d1d942ffa6fce3d5d745f60964d597cf Mon Sep 17 00:00:00 2001 From: FoxxMD Date: Fri, 1 May 2026 00:01:50 +0000 Subject: [PATCH] fix: Workaround for old play structure --- src/backend/utils/CacheUtils.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/backend/utils/CacheUtils.ts b/src/backend/utils/CacheUtils.ts index 26afc541..796b87fc 100644 --- a/src/backend/utils/CacheUtils.ts +++ b/src/backend/utils/CacheUtils.ts @@ -22,7 +22,7 @@ export const rehydratePlay = (obj: AmbPlayObject): PlayObject => { } } if(obj.data.listenRanges !== undefined) { - obj.data.listenRanges = obj.data.listenRanges.map(rehydrateListenRangeData); + obj.data.listenRanges = obj.data.listenRanges.map(rehydrateListenRangeData).filter(x => x !== undefined); } return obj as PlayObject; } @@ -30,6 +30,10 @@ export const rehydratePlay = (obj: AmbPlayObject): PlayObject => { // this may become problematic since we aren't re-instantiating Progress class, just implementing interface // but that may only be an issue if rehydrating source data which isn't in scope so far export const rehydrateListenRangeData = (obj: ListenRangeDataAmb): ListenRangeData => { + // workaround for incompatible rehydration + if(obj.start === undefined || obj.end === undefined) { + return undefined; + } return { start: rehydratePlayProgress(obj.start), end: rehydratePlayProgress(obj.end) -- 2.51.2