From 6e172b6ce359e88b0be3648c9ca92841fd90740d Mon Sep 17 00:00:00 2001 From: dan Date: Fri, 10 May 2024 00:05:44 +0100 Subject: [PATCH] [Session] Restore emailAuthFactor and emailConfirmed from last session (#3939) --- src/state/session/agent.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/state/session/agent.ts b/src/state/session/agent.ts index 9dacf543..024f6e7d 100644 --- a/src/state/session/agent.ts +++ b/src/state/session/agent.ts @@ -1,5 +1,4 @@ -import {BskyAgent} from '@atproto/api' -import {AtpSessionEvent} from '@atproto-labs/api' +import {AtpSessionData, AtpSessionEvent, BskyAgent} from '@atproto/api' import {networkRetry} from '#/lib/async/retry' import {PUBLIC_BSKY_SERVICE} from '#/lib/constants' @@ -32,11 +31,15 @@ export async function createAgentAndResume( } const gates = tryFetchGates(storedAccount.did, 'prefer-low-latency') const moderation = configureModerationForAccount(agent, storedAccount) - const prevSession = { + const prevSession: AtpSessionData = { + // Sorted in the same property order as when returned by BskyAgent (alphabetical). accessJwt: storedAccount.accessJwt ?? '', - refreshJwt: storedAccount.refreshJwt ?? '', did: storedAccount.did, + email: storedAccount.email, + emailAuthFactor: storedAccount.emailAuthFactor, + emailConfirmed: storedAccount.emailConfirmed, handle: storedAccount.handle, + refreshJwt: storedAccount.refreshJwt ?? '', } if (isSessionExpired(storedAccount)) { await networkRetry(1, () => agent.resumeSession(prevSession))