diff --git a/app/routes/mod-queue.tsx b/app/routes/mod-queue.tsx index 83248e5..2eb0301 100644 --- a/app/routes/mod-queue.tsx +++ b/app/routes/mod-queue.tsx @@ -119,7 +119,9 @@ export default function () { [] as { element: ReactNode; id: string }[], ); const [before, setBefore] = useState(Date.now()); - const [messageChannel] = useState(null as MessageChannel | null); + const [messageChannel, setMessageChannel] = useState( + null as MessageChannel | null, + ); const toast = useToast(); for (const type of pageProps.entry_types) @@ -130,13 +132,15 @@ export default function () { ); useEffect(() => { - if (!messageChannel) return; - - messageChannel.port1.onmessage = function (ev) { - const { data }: { data: string } = ev; - - setEntries([...entries].filter((entry) => entry.id !== data)); - }; + if (!messageChannel) { + setMessageChannel(new MessageChannel()); + } else { + messageChannel.port1.onmessage = function (ev) { + const { data }: { data: string } = ev; + + setEntries([...entries].filter((entry) => entry.id !== data)); + }; + } }, [messageChannel]); async function updateQueue(