Bluesky app fork with some witchin' additions 💫 forked from jollywhoppers.com/witchsky.app
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738import {jwtDecode} from 'jwt-decode'
import {hasProp} from '#/lib/type-guards'import {logger} from '#/logger'import * as persisted from '#/state/persisted'import {type SessionAccount} from './types'
export function readLastActiveAccount() { const {currentAccount, accounts} = persisted.get('session') return accounts.find(a => a.did === currentAccount?.did)}
export function isSignupQueued(accessJwt: string | undefined) { if (accessJwt) { const sessData = jwtDecode(accessJwt) return ( hasProp(sessData, 'scope') && sessData.scope === 'com.atproto.signupQueued' ) } return false}
export function isSessionExpired(account: SessionAccount) { try { if (account.accessJwt) { const decoded = jwtDecode(account.accessJwt) if (decoded.exp) { const didExpire = Date.now() >= decoded.exp * 1000 return didExpire } } } catch (e) { logger.error(`session: could not decode jwt`) } return true}