From 5c785a82557ec08ed69163cf3abf2dde20083e0b Mon Sep 17 00:00:00 2001 From: Regalijan Date: Fri, 27 Oct 2023 11:56:34 -0400 Subject: [PATCH] Make nonexistent MessageChannel come back --- app/routes/mod-queue.tsx | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) 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(