From cd5af769ab009363d91744093c9cb905255f4439 Mon Sep 17 00:00:00 2001 From: Carlos Valente Date: Sun, 30 Nov 2025 21:03:12 +0100 Subject: [PATCH] fix: undefined flatRundown --- .../src/common/hooks-query/useRundown.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/apps/client/src/common/hooks-query/useRundown.ts b/apps/client/src/common/hooks-query/useRundown.ts index 36848f808..4d95659b1 100644 --- a/apps/client/src/common/hooks-query/useRundown.ts +++ b/apps/client/src/common/hooks-query/useRundown.ts @@ -30,7 +30,15 @@ export default function useRundown() { placeholderData: (previousData, _previousQuery) => previousData, refetchInterval: queryRefetchIntervalSlow, }); - return { data: data ?? cachedRundownPlaceholder, status, isError, refetch, isFetching }; + + const returnData = useMemo(() => { + if (data && Array.isArray(data.flatOrder)) { + return data; + } + return cachedRundownPlaceholder; + }, [data]); + + return { data: returnData, status, isError, refetch, isFetching }; } export function useRundownWithMetadata() { @@ -54,8 +62,10 @@ export function useFlatRundown() { // update data whenever the revision changes useEffect(() => { - if (data.revision !== -1 || data.revision !== prevRevision) { - const flatRundown = data.flatOrder.map((id) => data.entries[id]); + if (data.revision !== -1 && data.revision !== prevRevision) { + const flatRundown = data.flatOrder + .map((id) => data.entries[id]) + .filter((entry): entry is OntimeEntry => entry !== undefined); setFlatRundown(flatRundown); setPrevRevision(data.revision); } @@ -103,7 +113,7 @@ export function useEntry(entryId: EntryId | null): OntimeEntry | null { // track the specific entry we care about const entry = useMemo(() => { if (entryId === null) return null; - return rundown.entries[entryId]; + return rundown.entries[entryId] ?? null; }, [entryId, rundown.entries]); return entry;