From 1e484c6318c0f1a2fa46c028d53b92d817293d11 Mon Sep 17 00:00:00 2001
From: dan <dan.abramov@gmail.com>
Date: Fri, 3 May 2024 13:46:34 +0100
Subject: [Session] Reset global agent on expire (#3838)

---
 src/state/session/index.tsx | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

(limited to 'src/state/session/index.tsx')

diff --git a/src/state/session/index.tsx b/src/state/session/index.tsx
index b9d67f2e0..4894ad696 100644
--- a/src/state/session/index.tsx
+++ b/src/state/session/index.tsx
@@ -145,6 +145,16 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
       if (expired) {
         logger.warn(`session: expired`)
         emitSessionDropped()
+        __globalAgent = PUBLIC_BSKY_AGENT
+        configureModerationForGuest()
+        setState(s => ({
+          accounts: s.accounts,
+          currentAgentState: {
+            agent: PUBLIC_BSKY_AGENT,
+            did: undefined,
+          },
+          needsPersist: true,
+        }))
       }
 
       /*
@@ -175,12 +185,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
             refreshedAccount,
             ...s.accounts.filter(a => a.did !== refreshedAccount.did),
           ],
-          currentAgentState: expired
-            ? {
-                agent: PUBLIC_BSKY_AGENT,
-                did: undefined,
-              }
-            : s.currentAgentState,
+          currentAgentState: s.currentAgentState,
           needsPersist: true,
         }
       })
-- 
cgit 1.4.1

