@oxyhq/services 5.16.26 → 5.16.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,6 +22,8 @@ import { translate } from '../../i18n';
22
22
  import { updateAvatarVisibility, updateProfileWithAvatar } from '../utils/avatarUtils';
23
23
  import { useAccountStore } from '../stores/accountStore';
24
24
  import { logger as loggerUtil } from '../../utils/loggerUtils';
25
+ import { useTransferStore, useTransferCodesForPersistence } from '../stores/transferStore';
26
+ import { useCheckPendingTransfers } from '../hooks/useTransferQueries';
25
27
  import { jsx as _jsx } from "react/jsx-runtime";
26
28
  const OxyContext = /*#__PURE__*/createContext(null);
27
29
  let cachedUseFollowHook = null;
@@ -288,22 +290,21 @@ export const OxyProvider = ({
288
290
  oxyServices.clearCache();
289
291
  }, [queryClient, storage, clearSessionState, logger, oxyServices]);
290
292
 
293
+ // Extract Zustand store functions early (before they're used in callbacks)
294
+ const getAllPendingTransfersStore = useTransferStore(state => state.getAllPendingTransfers);
295
+ const getActiveTransferIdStore = useTransferStore(state => state.getActiveTransferId);
296
+ const storeTransferCodeStore = useTransferStore(state => state.storeTransferCode);
297
+ const getTransferCodeStore = useTransferStore(state => state.getTransferCode);
298
+ const updateTransferStateStore = useTransferStore(state => state.updateTransferState);
299
+ const clearTransferCodeStore = useTransferStore(state => state.clearTransferCode);
300
+
291
301
  // Transfer code management functions (must be defined before deleteIdentityAndClearAccount)
292
302
  const getAllPendingTransfers = useCallback(() => {
293
- const pending = [];
294
- transferCodesRef.current.forEach((data, transferId) => {
295
- if (data.state === 'pending') {
296
- pending.push({
297
- transferId,
298
- data
299
- });
300
- }
301
- });
302
- return pending;
303
- }, []);
303
+ return getAllPendingTransfersStore();
304
+ }, [getAllPendingTransfersStore]);
304
305
  const getActiveTransferId = useCallback(() => {
305
- return activeTransferIdRef.current;
306
- }, []);
306
+ return getActiveTransferIdStore();
307
+ }, [getActiveTransferIdStore]);
307
308
 
308
309
  // Delete identity and clear all account data
309
310
  // In accounts app, deleting identity means losing the account completely
@@ -409,6 +410,10 @@ export const OxyProvider = ({
409
410
  }, syncError);
410
411
  }
411
412
  }
413
+
414
+ // Check for pending transfers that may have completed while offline
415
+ // This is handled by useCheckPendingTransfers hook which runs automatically
416
+ // when authenticated and online
412
417
  }
413
418
 
414
419
  // TanStack Query will automatically retry pending mutations
@@ -443,7 +448,7 @@ export const OxyProvider = ({
443
448
  clearTimeout(checkTimeout);
444
449
  }
445
450
  };
446
- }, [oxyServices, storage, syncIdentity, logger]);
451
+ }, [oxyServices, storage, syncIdentity, logger, hasIdentity, isAuthenticated]);
447
452
  const {
448
453
  getDeviceSessions,
449
454
  logoutAllDeviceSessions,
@@ -555,142 +560,81 @@ export const OxyProvider = ({
555
560
  // The JWT token's userId field contains the MongoDB ObjectId
556
561
  const userId = oxyServices.getCurrentUserId() || user?.id;
557
562
 
558
- // Transfer code storage interface
559
-
560
- // Store transfer codes in memory for verification (also persisted to storage)
561
- // Map: transferId -> TransferCodeData
562
- const transferCodesRef = useRef(new Map());
563
- const activeTransferIdRef = useRef(null);
563
+ // Use Zustand store for transfer state management
564
564
  const TRANSFER_CODES_STORAGE_KEY = `${storageKeyPrefix}_transfer_codes`;
565
565
  const ACTIVE_TRANSFER_STORAGE_KEY = `${storageKeyPrefix}_active_transfer_id`;
566
+ const isRestored = useTransferStore(state => state.isRestored);
567
+ const restoreFromStorage = useTransferStore(state => state.restoreFromStorage);
568
+ const markRestored = useTransferStore(state => state.markRestored);
569
+ const cleanupExpired = useTransferStore(state => state.cleanupExpired);
566
570
 
567
- // Load transfer codes from storage on startup
571
+ // Load transfer codes from storage on startup (only once)
568
572
  useEffect(() => {
569
- if (!storage || !isStorageReady) return;
573
+ if (!storage || !isStorageReady || isRestored) return;
570
574
  const loadTransferCodes = async () => {
571
575
  try {
572
576
  // Load transfer codes
573
577
  const storedCodes = await storage.getItem(TRANSFER_CODES_STORAGE_KEY);
574
- if (storedCodes) {
575
- const parsed = JSON.parse(storedCodes);
576
- const now = Date.now();
577
- const fifteenMinutes = 15 * 60 * 1000;
578
-
579
- // Only restore non-expired pending transfers
580
- Object.entries(parsed).forEach(([transferId, data]) => {
581
- if (data.state === 'pending' && now - data.timestamp < fifteenMinutes) {
582
- transferCodesRef.current.set(transferId, data);
583
- if (__DEV__) {
584
- logger('Restored pending transfer from storage', {
585
- transferId
586
- });
587
- }
588
- }
578
+ const storedActiveTransferId = await storage.getItem(ACTIVE_TRANSFER_STORAGE_KEY);
579
+ const parsedCodes = storedCodes ? JSON.parse(storedCodes) : {};
580
+ const activeTransferId = storedActiveTransferId || null;
581
+
582
+ // Restore to Zustand store (store handles validation and expiration)
583
+ restoreFromStorage(parsedCodes, activeTransferId);
584
+ markRestored();
585
+ if (__DEV__ && Object.keys(parsedCodes).length > 0) {
586
+ logger('Restored transfer codes from storage', {
587
+ count: Object.keys(parsedCodes).length,
588
+ hasActiveTransfer: !!activeTransferId
589
589
  });
590
590
  }
591
-
592
- // Load active transfer ID
593
- const activeTransferId = await storage.getItem(ACTIVE_TRANSFER_STORAGE_KEY);
594
- if (activeTransferId) {
595
- // Verify it's still valid
596
- const transferData = transferCodesRef.current.get(activeTransferId);
597
- if (transferData && transferData.state === 'pending') {
598
- activeTransferIdRef.current = activeTransferId;
599
- if (__DEV__) {
600
- logger('Restored active transfer ID from storage', {
601
- transferId: activeTransferId
602
- });
603
- }
604
- } else {
605
- // Clear invalid active transfer
606
- await storage.removeItem(ACTIVE_TRANSFER_STORAGE_KEY);
607
- }
608
- }
609
591
  } catch (error) {
610
592
  if (__DEV__) {
611
593
  logger('Failed to load transfer codes from storage', error);
612
594
  }
595
+ // Mark as restored even on error to prevent retries
596
+ markRestored();
613
597
  }
614
598
  };
615
599
  loadTransferCodes();
616
- }, [storage, isStorageReady, logger, storageKeyPrefix]);
600
+ }, [storage, isStorageReady, isRestored, restoreFromStorage, markRestored, logger, storageKeyPrefix]);
617
601
 
618
- // Persist transfer codes to storage whenever they change
619
- const persistTransferCodes = useCallback(async () => {
620
- if (!storage) return;
621
- try {
622
- const codesToStore = {};
623
- transferCodesRef.current.forEach((value, key) => {
624
- codesToStore[key] = value;
625
- });
626
- await storage.setItem(TRANSFER_CODES_STORAGE_KEY, JSON.stringify(codesToStore));
627
- } catch (error) {
628
- if (__DEV__) {
629
- logger('Failed to persist transfer codes', error);
630
- }
631
- }
632
- }, [storage, logger]);
633
-
634
- // Cleanup old transfer codes (older than 15 minutes)
602
+ // Persist transfer codes to storage whenever store changes
603
+ const {
604
+ transferCodes,
605
+ activeTransferId
606
+ } = useTransferCodesForPersistence();
635
607
  useEffect(() => {
636
- const cleanup = setInterval(async () => {
637
- const now = Date.now();
638
- const fifteenMinutes = 15 * 60 * 1000;
639
- let needsPersist = false;
640
- transferCodesRef.current.forEach((value, key) => {
641
- if (now - value.timestamp > fifteenMinutes) {
642
- transferCodesRef.current.delete(key);
643
- needsPersist = true;
644
- if (__DEV__) {
645
- logger('Cleaned up expired transfer code', {
646
- transferId: key
647
- });
648
- }
608
+ if (!storage || !isStorageReady || !isRestored) return;
609
+ const persistTransferCodes = async () => {
610
+ try {
611
+ await storage.setItem(TRANSFER_CODES_STORAGE_KEY, JSON.stringify(transferCodes));
612
+ if (activeTransferId) {
613
+ await storage.setItem(ACTIVE_TRANSFER_STORAGE_KEY, activeTransferId);
614
+ } else {
615
+ await storage.removeItem(ACTIVE_TRANSFER_STORAGE_KEY);
649
616
  }
650
- });
651
-
652
- // Clear active transfer if it was deleted
653
- if (activeTransferIdRef.current && !transferCodesRef.current.has(activeTransferIdRef.current)) {
654
- activeTransferIdRef.current = null;
655
- if (storage) {
656
- try {
657
- await storage.removeItem(ACTIVE_TRANSFER_STORAGE_KEY);
658
- } catch (error) {
659
- // Ignore storage errors
660
- }
617
+ } catch (error) {
618
+ if (__DEV__) {
619
+ logger('Failed to persist transfer codes', error);
661
620
  }
662
621
  }
663
- if (needsPersist) {
664
- await persistTransferCodes();
665
- }
622
+ };
623
+ persistTransferCodes();
624
+ }, [transferCodes, activeTransferId, storage, isStorageReady, isRestored, logger]);
625
+
626
+ // Cleanup expired transfer codes (every minute)
627
+ useEffect(() => {
628
+ const cleanup = setInterval(() => {
629
+ cleanupExpired();
666
630
  }, 60000); // Check every minute
667
631
 
668
632
  return () => clearInterval(cleanup);
669
- }, [logger, persistTransferCodes, storage]);
633
+ }, [cleanupExpired]);
670
634
 
671
- // Transfer code management functions
635
+ // Transfer code management functions using Zustand store
672
636
  const storeTransferCode = useCallback(async (transferId, code, sourceDeviceId, publicKey) => {
673
- const transferData = {
674
- code,
675
- sourceDeviceId,
676
- publicKey,
677
- timestamp: Date.now(),
678
- state: 'pending'
679
- };
680
- transferCodesRef.current.set(transferId, transferData);
681
- activeTransferIdRef.current = transferId;
682
-
683
- // Persist to storage
684
- await persistTransferCodes();
685
- if (storage) {
686
- try {
687
- await storage.setItem(ACTIVE_TRANSFER_STORAGE_KEY, transferId);
688
- } catch (error) {
689
- if (__DEV__) {
690
- logger('Failed to persist active transfer ID', error);
691
- }
692
- }
693
- }
637
+ storeTransferCodeStore(transferId, code, sourceDeviceId, publicKey);
694
638
  if (__DEV__) {
695
639
  logger('Stored transfer code', {
696
640
  transferId,
@@ -698,57 +642,27 @@ export const OxyProvider = ({
698
642
  publicKey: publicKey.substring(0, 16) + '...'
699
643
  });
700
644
  }
701
- }, [logger, persistTransferCodes, storage]);
645
+ }, [logger, storeTransferCodeStore]);
702
646
  const getTransferCode = useCallback(transferId => {
703
- return transferCodesRef.current.get(transferId) || null;
704
- }, []);
647
+ return getTransferCodeStore(transferId);
648
+ }, [getTransferCodeStore]);
705
649
  const updateTransferState = useCallback(async (transferId, state) => {
706
- const transferData = transferCodesRef.current.get(transferId);
707
- if (transferData) {
708
- transferData.state = state;
709
- transferCodesRef.current.set(transferId, transferData);
710
-
711
- // Clear active transfer if completed or failed
712
- if (state === 'completed' || state === 'failed') {
713
- if (activeTransferIdRef.current === transferId) {
714
- activeTransferIdRef.current = null;
715
- if (storage) {
716
- try {
717
- await storage.removeItem(ACTIVE_TRANSFER_STORAGE_KEY);
718
- } catch (error) {
719
- // Ignore storage errors
720
- }
721
- }
722
- }
723
- }
724
- await persistTransferCodes();
725
- if (__DEV__) {
726
- logger('Updated transfer state', {
727
- transferId,
728
- state
729
- });
730
- }
650
+ updateTransferStateStore(transferId, state);
651
+ if (__DEV__) {
652
+ logger('Updated transfer state', {
653
+ transferId,
654
+ state
655
+ });
731
656
  }
732
- }, [logger, persistTransferCodes, storage]);
657
+ }, [logger, updateTransferStateStore]);
733
658
  const clearTransferCode = useCallback(async transferId => {
734
- transferCodesRef.current.delete(transferId);
735
- if (activeTransferIdRef.current === transferId) {
736
- activeTransferIdRef.current = null;
737
- if (storage) {
738
- try {
739
- await storage.removeItem(ACTIVE_TRANSFER_STORAGE_KEY);
740
- } catch (error) {
741
- // Ignore storage errors
742
- }
743
- }
744
- }
745
- await persistTransferCodes();
659
+ clearTransferCodeStore(transferId);
746
660
  if (__DEV__) {
747
661
  logger('Cleared transfer code', {
748
662
  transferId
749
663
  });
750
664
  }
751
- }, [logger, persistTransferCodes, storage]);
665
+ }, [logger, clearTransferCodeStore]);
752
666
  const refreshSessionsWithUser = useCallback(() => refreshSessions(userId), [refreshSessions, userId]);
753
667
  const handleSessionRemoved = useCallback(sessionId => {
754
668
  trackRemovedSession(sessionId);
@@ -757,6 +671,11 @@ export const OxyProvider = ({
757
671
  toast.info('You have been signed out remotely.');
758
672
  logout().catch(remoteError => logger('Failed to process remote sign out', remoteError));
759
673
  }, [logger, logout]);
674
+
675
+ // Check pending transfers when authenticated and online using TanStack Query
676
+ const {
677
+ data: pendingTransferResults
678
+ } = useCheckPendingTransfers();
760
679
  const handleIdentityTransferComplete = useCallback(async data => {
761
680
  try {
762
681
  logger('Received identity transfer complete notification', {
@@ -846,38 +765,11 @@ export const OxyProvider = ({
846
765
  return;
847
766
  }
848
767
 
849
- // CRITICAL: Verify target device has identity before deleting on source device
850
- // This ensures we never lose the identity
851
- try {
852
- logger('Verifying target device has identity before deletion', {
853
- transferId: data.transferId,
854
- publicKey: data.publicKey.substring(0, 16) + '...'
855
- });
768
+ // NOTE: Target device verification already happened server-side when notifyTransferComplete was called
769
+ // The server verified that the target device is authenticated and has the matching public key
770
+ // Additional client-side verification is not necessary and would require source device authentication
771
+ // which may not be available. The existing checks (public key match, transfer code, device ID) are sufficient.
856
772
 
857
- // Verify target device has active session with matching public key
858
- const verifyResponse = await oxyServices.makeRequest('GET', `/api/identity/verify-transfer?publicKey=${encodeURIComponent(data.publicKey)}`, undefined, {
859
- cache: false
860
- });
861
- if (!verifyResponse.verified || !verifyResponse.hasActiveSession) {
862
- logger('Target device verification failed - identity will not be deleted', {
863
- transferId: data.transferId,
864
- verified: verifyResponse.verified,
865
- hasActiveSession: verifyResponse.hasActiveSession
866
- });
867
- await updateTransferState(data.transferId, 'failed');
868
- toast.error('Transfer verification failed: Target device does not have active session. Identity will not be deleted.');
869
- return;
870
- }
871
- logger('Target device verification passed', {
872
- transferId: data.transferId
873
- });
874
- } catch (verifyError) {
875
- // If verification fails, don't delete identity - it's safer to keep it
876
- logger('Failed to verify target device - identity will not be deleted', verifyError);
877
- await updateTransferState(data.transferId, 'failed');
878
- toast.error('Transfer verification failed: Could not verify target device. Identity will not be deleted.');
879
- return;
880
- }
881
773
  logger('All transfer verifications passed, deleting identity from source device', {
882
774
  transferId: data.transferId,
883
775
  sourceDeviceId: data.sourceDeviceId,
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Platform","OxyServices","toast","useAuthStore","useShallow","useSessionSocket","useStorage","useLanguageManagement","useSessionManagement","useAuthOperations","useDeviceManagement","getStorageKeys","isInvalidSessionError","isTimeoutOrNetworkError","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","KeyManager","translate","updateAvatarVisibility","updateProfileWithAvatar","useAccountStore","logger","loggerUtil","jsx","_jsx","OxyContext","cachedUseFollowHook","loadUseFollowHook","useFollow","require","error","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","current","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","isIdentitySyncedStore","isSyncing","setIdentitySynced","setSyncing","state","logout","isIdentitySynced","tokenReady","setTokenReady","initializedRef","setAuthState","setState","message","err","undefined","console","storageKeys","storage","isReady","isStorageReady","OS","checkAndRestoreIdentity","hasIdentity","isValid","verifyIdentityIntegrity","restored","restoreIdentityFromBackup","backupIdentity","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","setAuthError","createIdentity","importIdentity","importIdentityBase","signIn","logoutAll","getPublicKey","syncIdentity","syncIdentityBase","backupData","password","clearAllAccountData","clear","removeItem","getState","reset","clearCache","getAllPendingTransfers","pending","transferCodesRef","forEach","data","transferId","push","getActiveTransferId","activeTransferIdRef","deleteIdentityAndClearAccount","skipBackup","force","userConfirmed","pendingTransfers","length","activeTransferId","hasActiveTransfer","some","t","deleteIdentity","wasOffline","checkTimeout","lastReconnectionLog","RECONNECTION_LOG_DEBOUNCE_MS","stateRef","consecutiveFailures","currentInterval","baseInterval","maxInterval","maxFailures","scheduleNextCheck","clearTimeout","setTimeout","checkNetworkAndSync","healthCheck","catch","now","Date","timeSinceLastLog","hasIdentityValue","syncStatus","getItem","syncError","code","debug","backoffMultiplier","Math","min","pow","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","restoreSessionsFromStorage","storedSessionIdsJson","sessionIds","storedSessionIds","JSON","parse","storedActiveSessionId","validSessions","sessionId","validation","validateSession","useHeaderValidation","valid","deviceId","expiresAt","getTime","toISOString","lastActive","userId","id","toString","isCurrent","validationError","merge","switchError","filter","session","String","activeSession","find","currentDeviceId","getCurrentUserId","Map","TRANSFER_CODES_STORAGE_KEY","ACTIVE_TRANSFER_STORAGE_KEY","loadTransferCodes","storedCodes","parsed","fifteenMinutes","Object","entries","timestamp","set","transferData","get","persistTransferCodes","codesToStore","value","key","setItem","stringify","cleanup","setInterval","needsPersist","delete","has","clearInterval","storeTransferCode","sourceDeviceId","publicKey","substring","getTransferCode","updateTransferState","clearTransferCode","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","info","remoteError","handleIdentityTransferComplete","hasActiveSession","storedTransfer","publicKeyMatches","receivedPublicKey","storedPublicKey","deviceIdMatches","receivedDeviceId","storedDeviceId","transferCode","codeMatches","toUpperCase","receivedCode","storedCode","transferAge","tenMinutes","age","ageMinutes","round","verifyResponse","makeRequest","encodeURIComponent","cache","verified","verifyError","identityStillExists","identityDeleted","success","deleteError","getBaseURL","getAccessToken","onRemoteSignOut","onSessionRemoved","onIdentityTransferComplete","switchSessionForContext","showBottomSheetForContext","screenOrConfig","openAvatarPicker","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","avatar","e","contextValue","isTokenReady","identitySyncState","isSynced","removeSession","Provider","OxyContextProvider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Platform","OxyServices","toast","useAuthStore","useShallow","useSessionSocket","useStorage","useLanguageManagement","useSessionManagement","useAuthOperations","useDeviceManagement","getStorageKeys","isInvalidSessionError","isTimeoutOrNetworkError","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","KeyManager","translate","updateAvatarVisibility","updateProfileWithAvatar","useAccountStore","logger","loggerUtil","useTransferStore","useTransferCodesForPersistence","useCheckPendingTransfers","jsx","_jsx","OxyContext","cachedUseFollowHook","loadUseFollowHook","useFollow","require","error","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","current","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","isIdentitySyncedStore","isSyncing","setIdentitySynced","setSyncing","state","logout","isIdentitySynced","tokenReady","setTokenReady","initializedRef","setAuthState","setState","message","err","undefined","console","storageKeys","storage","isReady","isStorageReady","OS","checkAndRestoreIdentity","hasIdentity","isValid","verifyIdentityIntegrity","restored","restoreIdentityFromBackup","backupIdentity","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","setAuthError","createIdentity","importIdentity","importIdentityBase","signIn","logoutAll","getPublicKey","syncIdentity","syncIdentityBase","backupData","password","clearAllAccountData","clear","removeItem","getState","reset","clearCache","getAllPendingTransfersStore","getAllPendingTransfers","getActiveTransferIdStore","getActiveTransferId","storeTransferCodeStore","storeTransferCode","getTransferCodeStore","getTransferCode","updateTransferStateStore","updateTransferState","clearTransferCodeStore","clearTransferCode","deleteIdentityAndClearAccount","skipBackup","force","userConfirmed","pendingTransfers","length","activeTransferId","hasActiveTransfer","some","t","transferId","deleteIdentity","wasOffline","checkTimeout","lastReconnectionLog","RECONNECTION_LOG_DEBOUNCE_MS","stateRef","consecutiveFailures","currentInterval","baseInterval","maxInterval","maxFailures","scheduleNextCheck","clearTimeout","setTimeout","checkNetworkAndSync","healthCheck","catch","now","Date","timeSinceLastLog","hasIdentityValue","syncStatus","getItem","syncError","code","debug","backoffMultiplier","Math","min","pow","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","restoreSessionsFromStorage","storedSessionIdsJson","sessionIds","storedSessionIds","JSON","parse","storedActiveSessionId","validSessions","sessionId","validation","validateSession","useHeaderValidation","valid","push","deviceId","expiresAt","getTime","toISOString","lastActive","userId","id","toString","isCurrent","validationError","merge","switchError","filter","session","String","activeSession","find","currentDeviceId","getCurrentUserId","TRANSFER_CODES_STORAGE_KEY","ACTIVE_TRANSFER_STORAGE_KEY","isRestored","restoreFromStorage","markRestored","cleanupExpired","loadTransferCodes","storedCodes","storedActiveTransferId","parsedCodes","Object","keys","count","transferCodes","persistTransferCodes","setItem","stringify","cleanup","setInterval","clearInterval","sourceDeviceId","publicKey","substring","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","info","remoteError","data","pendingTransferResults","handleIdentityTransferComplete","hasActiveSession","storedTransfer","publicKeyMatches","receivedPublicKey","storedPublicKey","deviceIdMatches","receivedDeviceId","storedDeviceId","transferCode","codeMatches","toUpperCase","receivedCode","storedCode","transferAge","timestamp","tenMinutes","age","ageMinutes","round","identityStillExists","identityDeleted","success","deleteError","getBaseURL","getAccessToken","onRemoteSignOut","onSessionRemoved","onIdentityTransferComplete","switchSessionForContext","showBottomSheetForContext","screenOrConfig","openAvatarPicker","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","avatar","e","contextValue","isTokenReady","identitySyncState","isSynced","removeSession","Provider","value","OxyContextProvider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}