From dd719620ffb43fabda05bd6d87641bdbc477d36c Mon Sep 17 00:00:00 2001 From: Luke Vella Date: Mon, 10 Mar 2025 10:36:34 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20race=20condition=20(#1625)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web/src/components/create-poll.tsx | 12 +++++------- apps/web/src/components/discussion/discussion.tsx | 12 +++++------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/apps/web/src/components/create-poll.tsx b/apps/web/src/components/create-poll.tsx index a06ddfe65..2665b5688 100644 --- a/apps/web/src/components/create-poll.tsx +++ b/apps/web/src/components/create-poll.tsx @@ -69,13 +69,6 @@ export const CreatePoll: React.FunctionComponent = () => { const posthog = usePostHog(); const createPoll = trpc.polls.create.useMutation({ networkMode: "always", - onMutate: async () => { - if (session.status !== "authenticated") { - await signIn("guest", { - redirect: false, - }); - } - }, onError: (error) => { if (error.data?.code === "BAD_REQUEST") { toast({ @@ -91,6 +84,11 @@ export const CreatePoll: React.FunctionComponent = () => {
{ const title = required(formData?.title); + if (session.status !== "authenticated") { + await signIn("guest", { + redirect: false, + }); + } await createPoll.mutateAsync( { title: title, diff --git a/apps/web/src/components/discussion/discussion.tsx b/apps/web/src/components/discussion/discussion.tsx index 2e418f3c5..098764902 100644 --- a/apps/web/src/components/discussion/discussion.tsx +++ b/apps/web/src/components/discussion/discussion.tsx @@ -84,13 +84,6 @@ function NewCommentForm({ const { toast } = useToast(); const addComment = trpc.polls.comments.add.useMutation({ - onMutate: async () => { - if (session.status !== "authenticated") { - await signIn("guest", { - redirect: false, - }); - } - }, onSuccess: () => { posthog?.capture("created comment"); }, @@ -105,6 +98,11 @@ function NewCommentForm({ { + if (session.status !== "authenticated") { + await signIn("guest", { + redirect: false, + }); + } await addComment.mutateAsync({ authorName, content, pollId }); reset({ authorName, content: "" }); onSubmit?.();