[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))
|
await networkRetry(1, () => agent.resumeSession(prevSession))
|
||||||
} else {
|
} else {
|
||||||
agent.sessionManager.session = prevSession
|
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
|
// after session is attached
|
||||||
|
|||||||
@@ -321,6 +321,12 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
|
|||||||
)
|
)
|
||||||
if (syncedAccount && syncedAccount.refreshJwt) {
|
if (syncedAccount && syncedAccount.refreshJwt) {
|
||||||
if (syncedAccount.did !== state.currentAgentState.did) {
|
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)
|
resumeSession(syncedAccount)
|
||||||
} else {
|
} else {
|
||||||
const agent = state.currentAgentState.agent as BskyAgent
|
const agent = state.currentAgentState.agent as BskyAgent
|
||||||
|
|||||||
Reference in New Issue
Block a user