From 645221b38424db6febf4fb613c226abd199595f8 Mon Sep 17 00:00:00 2001 From: Paul Makles Date: Mon, 10 Jan 2022 20:23:06 +0000 Subject: [PATCH] fix(invite): fix invite embed logic --- .../common/messaging/embed/EmbedInvite.tsx | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/components/common/messaging/embed/EmbedInvite.tsx b/src/components/common/messaging/embed/EmbedInvite.tsx index 827ef9f9..93e5f4a1 100644 --- a/src/components/common/messaging/embed/EmbedInvite.tsx +++ b/src/components/common/messaging/embed/EmbedInvite.tsx @@ -1,5 +1,5 @@ import { Group } from "@styled-icons/boxicons-solid"; -import { autorun } from "mobx"; +import { autorun, reaction } from "mobx"; import { observer } from "mobx-react-lite"; import { useHistory } from "react-router-dom"; import { RetrievedInvite } from "revolt-api/types/Invites"; @@ -147,14 +147,16 @@ export function EmbedInvite({ code }: Props) { history.push( `/server/${invite.server_id}/channel/${invite.channel_id}`, ); + + return; } - const dispose = autorun(() => { - const server = client.servers.get( - invite.server_id, - ); - - defer(() => { + const dispose = reaction( + () => + client.servers.get( + invite.server_id, + ), + (server) => { if (server) { client.unreads!.markMultipleRead( server.channel_ids, @@ -163,11 +165,11 @@ export function EmbedInvite({ code }: Props) { history.push( `/server/${server._id}/channel/${invite.channel_id}`, ); - } - }); - dispose(); - }); + dispose(); + } + }, + ); } await client.joinInvite(code);