diff --git a/src/state/session/agent.ts b/src/state/session/agent.ts index fb8a1165a4..4177719912 100644 --- a/src/state/session/agent.ts +++ b/src/state/session/agent.ts @@ -72,19 +72,6 @@ export async function createAgentAndResume( await networkRetry(1, () => agent.resumeSession(prevSession)) } else { agent.sessionManager.session = prevSession - if (!storedAccount.signupQueued) { - networkRetry(3, () => agent.resumeSession(prevSession)).catch( - (e: any) => { - logger.error(`networkRetry failed to resume session`, { - status: e?.status || 'unknown', - // this field name is ignored by Sentry scrubbers - safeMessage: e?.message || 'unknown', - }) - - throw e - }, - ) - } } // after session is attached diff --git a/src/state/session/index.tsx b/src/state/session/index.tsx index e63e180a4e..acdd8a4c9b 100644 --- a/src/state/session/index.tsx +++ b/src/state/session/index.tsx @@ -321,6 +321,12 @@ export function Provider({children}: React.PropsWithChildren<{}>) { ) if (syncedAccount && syncedAccount.refreshJwt) { if (syncedAccount.did !== state.currentAgentState.did) { + /* + * Web handling: if leader tab has switched to a diff account that is + * stale, it will refresh the session before triggering the update to + * follower tabs. Follower tabs will therefore receive the fresh + * session. See APP-1960, or ask Eric. + */ resumeSession(syncedAccount) } else { const agent = state.currentAgentState.agent as BskyAgent