Add fallback to email reminder modal (#2193)
* Add fallback to email reminder modal * Add more debugzio/stable
parent
bf9cedb67b
commit
b1f9454f1d
|
@ -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))
|
||||
|
||||
/*
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue