From d837f96478dce8f6df03e387fa6d34086b01263f Mon Sep 17 00:00:00 2001
From: Paul Frazee <pfrazee@gmail.com>
Date: Thu, 4 Jul 2024 12:08:33 -0700
Subject: Fix responsiveness of dismissing the progress guide (#4729)

---
 src/state/shell/progress-guide.tsx | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

(limited to 'src/state/shell/progress-guide.tsx')

diff --git a/src/state/shell/progress-guide.tsx b/src/state/shell/progress-guide.tsx
index d10d58297..c9b42a263 100644
--- a/src/state/shell/progress-guide.tsx
+++ b/src/state/shell/progress-guide.tsx
@@ -59,11 +59,13 @@ export function useProgressGuideControls() {
 export function Provider({children}: React.PropsWithChildren<{}>) {
   const {_} = useLingui()
   const {data: preferences} = usePreferencesQuery()
-  const {mutateAsync, variables} = useSetActiveProgressGuideMutation()
+  const {mutateAsync, variables, isPending} =
+    useSetActiveProgressGuideMutation()
   const gate = useGate()
 
-  const activeProgressGuide = (variables ||
-    preferences?.bskyAppState?.activeProgressGuide) as ProgressGuide
+  const activeProgressGuide = (
+    isPending ? variables : preferences?.bskyAppState?.activeProgressGuide
+  ) as ProgressGuide
 
   // ensure the unspecced attributes have the correct types
   if (activeProgressGuide?.guide === 'like-10-and-follow-7') {
@@ -103,11 +105,8 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
       },
 
       endProgressGuide() {
-        // update the persisted first
-        mutateAsync(undefined).then(() => {
-          // now clear local state, to avoid rehydrating from the server
-          setLocalGuideState(undefined)
-        })
+        setLocalGuideState(undefined)
+        mutateAsync(undefined)
       },
 
       captureAction(action: ProgressGuideAction, count = 1) {
-- 
cgit 1.4.1

