[APP-1960] Fix current session refresh bug (#10019)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user