Add fallback to email reminder modal (#2193)

* Add fallback to email reminder modal

* Add more debug
zio/stable
Eric Bailey 2023-12-12 17:18:38 -06:00 committed by GitHub
parent bf9cedb67b
commit b1f9454f1d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 0 deletions

View File

@ -361,6 +361,8 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
}
if (canReusePrevSession) {
logger.info(`session: attempting to reuse previous session`)
agent.session = prevSession
__globalAgent = agent
queryClient.clear()
@ -370,6 +372,9 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
resumeSessionWithFreshAccount()
.then(freshAccount => {
if (JSON.stringify(account) !== JSON.stringify(freshAccount)) {
logger.info(
`session: reuse of previous session returned a fresh account, upserting`,
)
upsertAccount(freshAccount)
}
})
@ -385,6 +390,8 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
__globalAgent = PUBLIC_BSKY_AGENT
})
} else {
logger.info(`session: attempting to resume using previous session`)
try {
const freshAccount = await resumeSessionWithFreshAccount()
__globalAgent = agent
@ -404,6 +411,8 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
}
async function resumeSessionWithFreshAccount(): Promise<SessionAccount> {
logger.info(`session: resumeSessionWithFreshAccount`)
await networkRetry(1, () => agent.resumeSession(prevSession))
/*

View File

@ -22,6 +22,7 @@ import {Trans, msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useModalControls} from '#/state/modals'
import {useSession, useSessionApi, getAgent} from '#/state/session'
import {logger} from '#/logger'
export const snapPoints = ['90%']
@ -45,6 +46,13 @@ export function Component({showReminder}: {showReminder?: boolean}) {
const {isMobile} = useWebMediaQueries()
const {openModal, closeModal} = useModalControls()
React.useEffect(() => {
if (!currentAccount) {
logger.error(`VerifyEmail modal opened without currentAccount`)
closeModal()
}
}, [currentAccount, closeModal])
const onSendEmail = async () => {
setError('')
setIsProcessing(true)