Make nonexistent MessageChannel come back

This commit is contained in:
Regalijan 2023-10-27 11:56:34 -04:00
parent f218390d60
commit 5c785a8255
Signed by: regalijan
GPG Key ID: 5D4196DA269EF520

View File

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