@oxyhq/services 5.16.25 → 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.
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useTransferStoreRestored = exports.useTransferStore = exports.useTransferCodesForPersistence = void 0;
7
+ var _zustand = require("zustand");
8
+ var _shallow = require("zustand/react/shallow");
9
+ const FIFTEEN_MINUTES = 15 * 60 * 1000;
10
+ const initialState = {
11
+ transferCodes: {},
12
+ activeTransferId: null,
13
+ isRestored: false
14
+ };
15
+ const useTransferStore = exports.useTransferStore = (0, _zustand.create)((set, get) => ({
16
+ ...initialState,
17
+ storeTransferCode: (transferId, code, sourceDeviceId, publicKey) => {
18
+ set(state => ({
19
+ transferCodes: {
20
+ ...state.transferCodes,
21
+ [transferId]: {
22
+ code,
23
+ sourceDeviceId,
24
+ publicKey,
25
+ timestamp: Date.now(),
26
+ state: 'pending'
27
+ }
28
+ },
29
+ activeTransferId: transferId
30
+ }));
31
+ },
32
+ getTransferCode: transferId => {
33
+ const state = get();
34
+ return state.transferCodes[transferId] || null;
35
+ },
36
+ clearTransferCode: transferId => {
37
+ set(state => {
38
+ const {
39
+ [transferId]: removed,
40
+ ...rest
41
+ } = state.transferCodes;
42
+ const newActiveTransferId = state.activeTransferId === transferId ? null : state.activeTransferId;
43
+ return {
44
+ transferCodes: rest,
45
+ activeTransferId: newActiveTransferId
46
+ };
47
+ });
48
+ },
49
+ updateTransferState: (transferId, newState) => {
50
+ set(state => {
51
+ const existing = state.transferCodes[transferId];
52
+ if (!existing) {
53
+ return state;
54
+ }
55
+ const updated = {
56
+ ...existing,
57
+ state: newState
58
+ };
59
+
60
+ // Clear active transfer if completed or failed
61
+ const newActiveTransferId = (newState === 'completed' || newState === 'failed') && state.activeTransferId === transferId ? null : state.activeTransferId;
62
+ return {
63
+ transferCodes: {
64
+ ...state.transferCodes,
65
+ [transferId]: updated
66
+ },
67
+ activeTransferId: newActiveTransferId
68
+ };
69
+ });
70
+ },
71
+ getAllPendingTransfers: () => {
72
+ const state = get();
73
+ const pending = [];
74
+ Object.entries(state.transferCodes).forEach(([transferId, data]) => {
75
+ if (data.state === 'pending') {
76
+ pending.push({
77
+ transferId,
78
+ data
79
+ });
80
+ }
81
+ });
82
+ return pending;
83
+ },
84
+ getActiveTransferId: () => {
85
+ return get().activeTransferId;
86
+ },
87
+ setActiveTransferId: transferId => {
88
+ set({
89
+ activeTransferId: transferId
90
+ });
91
+ },
92
+ restoreFromStorage: (codes, activeTransferId) => {
93
+ const now = Date.now();
94
+ const validCodes = {};
95
+
96
+ // Only restore non-expired pending transfers
97
+ Object.entries(codes).forEach(([transferId, data]) => {
98
+ if (data.state === 'pending' && now - data.timestamp < FIFTEEN_MINUTES) {
99
+ validCodes[transferId] = data;
100
+ }
101
+ });
102
+
103
+ // Verify active transfer is still valid
104
+ let validActiveTransferId = activeTransferId;
105
+ if (activeTransferId && (!validCodes[activeTransferId] || validCodes[activeTransferId].state !== 'pending')) {
106
+ validActiveTransferId = null;
107
+ }
108
+ set({
109
+ transferCodes: validCodes,
110
+ activeTransferId: validActiveTransferId,
111
+ isRestored: true
112
+ });
113
+ },
114
+ markRestored: () => {
115
+ set({
116
+ isRestored: true
117
+ });
118
+ },
119
+ cleanupExpired: () => {
120
+ const now = Date.now();
121
+ set(state => {
122
+ const validCodes = {};
123
+ let newActiveTransferId = state.activeTransferId;
124
+ Object.entries(state.transferCodes).forEach(([transferId, data]) => {
125
+ const age = now - data.timestamp;
126
+ if (age < FIFTEEN_MINUTES) {
127
+ validCodes[transferId] = data;
128
+ } else if (transferId === state.activeTransferId) {
129
+ newActiveTransferId = null;
130
+ }
131
+ });
132
+ return {
133
+ transferCodes: validCodes,
134
+ activeTransferId: newActiveTransferId
135
+ };
136
+ });
137
+ },
138
+ reset: () => {
139
+ set(initialState);
140
+ }
141
+ }));
142
+
143
+ /**
144
+ * Hook to get transfer codes for persistence
145
+ */
146
+ const useTransferCodesForPersistence = () => {
147
+ return useTransferStore((0, _shallow.useShallow)(state => ({
148
+ transferCodes: state.transferCodes,
149
+ activeTransferId: state.activeTransferId
150
+ })));
151
+ };
152
+
153
+ /**
154
+ * Hook to check if store has been restored
155
+ */
156
+ exports.useTransferCodesForPersistence = useTransferCodesForPersistence;
157
+ const useTransferStoreRestored = () => {
158
+ return useTransferStore(state => state.isRestored);
159
+ };
160
+ exports.useTransferStoreRestored = useTransferStoreRestored;
161
+ //# sourceMappingURL=transferStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_zustand","require","_shallow","FIFTEEN_MINUTES","initialState","transferCodes","activeTransferId","isRestored","useTransferStore","exports","create","set","get","storeTransferCode","transferId","code","sourceDeviceId","publicKey","state","timestamp","Date","now","getTransferCode","clearTransferCode","removed","rest","newActiveTransferId","updateTransferState","newState","existing","updated","getAllPendingTransfers","pending","Object","entries","forEach","data","push","getActiveTransferId","setActiveTransferId","restoreFromStorage","codes","validCodes","validActiveTransferId","markRestored","cleanupExpired","age","reset","useTransferCodesForPersistence","useShallow","useTransferStoreRestored"],"sourceRoot":"../../../../src","sources":["ui/stores/transferStore.ts"],"mappings":"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","ignoreList":[]}
@@ -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,15 +290,44 @@ 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
+
301
+ // Transfer code management functions (must be defined before deleteIdentityAndClearAccount)
302
+ const getAllPendingTransfers = useCallback(() => {
303
+ return getAllPendingTransfersStore();
304
+ }, [getAllPendingTransfersStore]);
305
+ const getActiveTransferId = useCallback(() => {
306
+ return getActiveTransferIdStore();
307
+ }, [getActiveTransferIdStore]);
308
+
291
309
  // Delete identity and clear all account data
292
310
  // In accounts app, deleting identity means losing the account completely
293
311
  const deleteIdentityAndClearAccount = useCallback(async (skipBackup = false, force = false, userConfirmed = false) => {
312
+ // CRITICAL: Check for active transfers before deletion (unless force is true)
313
+ // This prevents accidental identity loss during transfer
314
+ if (!force) {
315
+ const pendingTransfers = getAllPendingTransfers();
316
+ if (pendingTransfers.length > 0) {
317
+ const activeTransferId = getActiveTransferId();
318
+ const hasActiveTransfer = activeTransferId && pendingTransfers.some(t => t.transferId === activeTransferId);
319
+ if (hasActiveTransfer) {
320
+ throw new Error('Cannot delete identity: An active identity transfer is in progress. ' + 'Please wait for the transfer to complete or cancel it first. ' + 'If you proceed, you may lose access to your identity permanently.');
321
+ }
322
+ }
323
+ }
324
+
294
325
  // First, clear all account data
295
326
  await clearAllAccountData();
296
327
 
297
328
  // Then delete the identity keys
298
329
  await KeyManager.deleteIdentity(skipBackup, force, userConfirmed);
299
- }, [clearAllAccountData]);
330
+ }, [clearAllAccountData, getAllPendingTransfers, getActiveTransferId]);
300
331
 
301
332
  // Network reconnect sync - TanStack Query automatically retries mutations on reconnect
302
333
  // We only need to sync identity if it's not synced
@@ -379,6 +410,10 @@ export const OxyProvider = ({
379
410
  }, syncError);
380
411
  }
381
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
382
417
  }
383
418
 
384
419
  // TanStack Query will automatically retry pending mutations
@@ -413,7 +448,7 @@ export const OxyProvider = ({
413
448
  clearTimeout(checkTimeout);
414
449
  }
415
450
  };
416
- }, [oxyServices, storage, syncIdentity, logger]);
451
+ }, [oxyServices, storage, syncIdentity, logger, hasIdentity, isAuthenticated]);
417
452
  const {
418
453
  getDeviceSessions,
419
454
  logoutAllDeviceSessions,
@@ -525,38 +560,81 @@ export const OxyProvider = ({
525
560
  // The JWT token's userId field contains the MongoDB ObjectId
526
561
  const userId = oxyServices.getCurrentUserId() || user?.id;
527
562
 
528
- // Store transfer codes in memory for verification
529
- // Map: transferId -> { code, sourceDeviceId, publicKey, timestamp }
530
- const transferCodesRef = useRef(new Map());
563
+ // Use Zustand store for transfer state management
564
+ const TRANSFER_CODES_STORAGE_KEY = `${storageKeyPrefix}_transfer_codes`;
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);
531
570
 
532
- // Cleanup old transfer codes (older than 15 minutes)
571
+ // Load transfer codes from storage on startup (only once)
533
572
  useEffect(() => {
534
- const cleanup = setInterval(() => {
535
- const now = Date.now();
536
- const fifteenMinutes = 15 * 60 * 1000;
537
- transferCodesRef.current.forEach((value, key) => {
538
- if (now - value.timestamp > fifteenMinutes) {
539
- transferCodesRef.current.delete(key);
540
- if (__DEV__) {
541
- logger('Cleaned up expired transfer code', {
542
- transferId: key
543
- });
544
- }
573
+ if (!storage || !isStorageReady || isRestored) return;
574
+ const loadTransferCodes = async () => {
575
+ try {
576
+ // Load transfer codes
577
+ const storedCodes = await storage.getItem(TRANSFER_CODES_STORAGE_KEY);
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
+ });
545
590
  }
546
- });
591
+ } catch (error) {
592
+ if (__DEV__) {
593
+ logger('Failed to load transfer codes from storage', error);
594
+ }
595
+ // Mark as restored even on error to prevent retries
596
+ markRestored();
597
+ }
598
+ };
599
+ loadTransferCodes();
600
+ }, [storage, isStorageReady, isRestored, restoreFromStorage, markRestored, logger, storageKeyPrefix]);
601
+
602
+ // Persist transfer codes to storage whenever store changes
603
+ const {
604
+ transferCodes,
605
+ activeTransferId
606
+ } = useTransferCodesForPersistence();
607
+ useEffect(() => {
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);
616
+ }
617
+ } catch (error) {
618
+ if (__DEV__) {
619
+ logger('Failed to persist transfer codes', error);
620
+ }
621
+ }
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();
547
630
  }, 60000); // Check every minute
548
631
 
549
632
  return () => clearInterval(cleanup);
550
- }, [logger]);
551
-
552
- // Transfer code management functions
553
- const storeTransferCode = useCallback((transferId, code, sourceDeviceId, publicKey) => {
554
- transferCodesRef.current.set(transferId, {
555
- code,
556
- sourceDeviceId,
557
- publicKey,
558
- timestamp: Date.now()
559
- });
633
+ }, [cleanupExpired]);
634
+
635
+ // Transfer code management functions using Zustand store
636
+ const storeTransferCode = useCallback(async (transferId, code, sourceDeviceId, publicKey) => {
637
+ storeTransferCodeStore(transferId, code, sourceDeviceId, publicKey);
560
638
  if (__DEV__) {
561
639
  logger('Stored transfer code', {
562
640
  transferId,
@@ -564,18 +642,27 @@ export const OxyProvider = ({
564
642
  publicKey: publicKey.substring(0, 16) + '...'
565
643
  });
566
644
  }
567
- }, [logger]);
645
+ }, [logger, storeTransferCodeStore]);
568
646
  const getTransferCode = useCallback(transferId => {
569
- return transferCodesRef.current.get(transferId) || null;
570
- }, []);
571
- const clearTransferCode = useCallback(transferId => {
572
- transferCodesRef.current.delete(transferId);
647
+ return getTransferCodeStore(transferId);
648
+ }, [getTransferCodeStore]);
649
+ const updateTransferState = useCallback(async (transferId, state) => {
650
+ updateTransferStateStore(transferId, state);
651
+ if (__DEV__) {
652
+ logger('Updated transfer state', {
653
+ transferId,
654
+ state
655
+ });
656
+ }
657
+ }, [logger, updateTransferStateStore]);
658
+ const clearTransferCode = useCallback(async transferId => {
659
+ clearTransferCodeStore(transferId);
573
660
  if (__DEV__) {
574
661
  logger('Cleared transfer code', {
575
662
  transferId
576
663
  });
577
664
  }
578
- }, [logger]);
665
+ }, [logger, clearTransferCodeStore]);
579
666
  const refreshSessionsWithUser = useCallback(() => refreshSessions(userId), [refreshSessions, userId]);
580
667
  const handleSessionRemoved = useCallback(sessionId => {
581
668
  trackRemovedSession(sessionId);
@@ -584,6 +671,11 @@ export const OxyProvider = ({
584
671
  toast.info('You have been signed out remotely.');
585
672
  logout().catch(remoteError => logger('Failed to process remote sign out', remoteError));
586
673
  }, [logger, logout]);
674
+
675
+ // Check pending transfers when authenticated and online using TanStack Query
676
+ const {
677
+ data: pendingTransferResults
678
+ } = useCheckPendingTransfers();
587
679
  const handleIdentityTransferComplete = useCallback(async data => {
588
680
  try {
589
681
  logger('Received identity transfer complete notification', {
@@ -672,27 +764,55 @@ export const OxyProvider = ({
672
764
  clearTransferCode(data.transferId);
673
765
  return;
674
766
  }
767
+
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.
772
+
675
773
  logger('All transfer verifications passed, deleting identity from source device', {
676
774
  transferId: data.transferId,
677
775
  sourceDeviceId: data.sourceDeviceId,
678
776
  publicKey: data.publicKey.substring(0, 16) + '...'
679
777
  });
680
778
  try {
779
+ // Verify identity still exists before deletion (safety check)
780
+ const identityStillExists = await KeyManager.hasIdentity();
781
+ if (!identityStillExists) {
782
+ logger('Identity already deleted - skipping deletion', {
783
+ transferId: data.transferId
784
+ });
785
+ await updateTransferState(data.transferId, 'completed');
786
+ await clearTransferCode(data.transferId);
787
+ return;
788
+ }
681
789
  await deleteIdentityAndClearAccount(false, false, true);
682
- clearTransferCode(data.transferId);
790
+
791
+ // Verify identity was actually deleted
792
+ const identityDeleted = !(await KeyManager.hasIdentity());
793
+ if (!identityDeleted) {
794
+ logger('Identity deletion failed - identity still exists', {
795
+ transferId: data.transferId
796
+ });
797
+ await updateTransferState(data.transferId, 'failed');
798
+ throw new Error('Identity deletion failed - identity still exists');
799
+ }
800
+ await updateTransferState(data.transferId, 'completed');
801
+ await clearTransferCode(data.transferId);
683
802
  logger('Identity successfully deleted and transfer code cleared', {
684
803
  transferId: data.transferId
685
804
  });
686
805
  toast.success('Identity successfully transferred and removed from this device');
687
806
  } catch (deleteError) {
688
807
  logger('Error during identity deletion', deleteError);
808
+ await updateTransferState(data.transferId, 'failed');
689
809
  throw deleteError;
690
810
  }
691
811
  } catch (error) {
692
812
  logger('Failed to delete identity after transfer', error);
693
813
  toast.error(error?.message || 'Failed to remove identity from this device. Please try again manually from Security Settings.');
694
814
  }
695
- }, [deleteIdentityAndClearAccount, logger, getTransferCode, clearTransferCode, currentDeviceId, activeSessionId]);
815
+ }, [deleteIdentityAndClearAccount, logger, getTransferCode, clearTransferCode, updateTransferState, currentDeviceId, activeSessionId, oxyServices]);
696
816
  useSessionSocket({
697
817
  userId,
698
818
  activeSessionId,
@@ -772,6 +892,9 @@ export const OxyProvider = ({
772
892
  storeTransferCode,
773
893
  getTransferCode,
774
894
  clearTransferCode,
895
+ getAllPendingTransfers,
896
+ getActiveTransferId,
897
+ updateTransferState,
775
898
  identitySyncState: {
776
899
  isSynced: isIdentitySyncedStore ?? true,
777
900
  isSyncing: isSyncing ?? false
@@ -791,7 +914,7 @@ export const OxyProvider = ({
791
914
  useFollow: useFollowHook,
792
915
  showBottomSheet: showBottomSheetForContext,
793
916
  openAvatarPicker
794
- }), [activeSessionId, currentDeviceId, createIdentity, importIdentity, signIn, hasIdentity, getPublicKey, isIdentitySynced, syncIdentity, deleteIdentityAndClearAccount, storeTransferCode, getTransferCode, clearTransferCode, isIdentitySyncedStore, isSyncing, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, error, getDeviceSessions, isAuthenticated, isLoading, logout, logoutAll, logoutAllDeviceSessions, oxyServices, refreshSessionsWithUser, sessions, setLanguage, switchSessionForContext, tokenReady, isStorageReady, updateDeviceName, clearAllAccountData, useFollowHook, user, showBottomSheetForContext, openAvatarPicker]);
917
+ }), [activeSessionId, currentDeviceId, createIdentity, importIdentity, signIn, hasIdentity, getPublicKey, isIdentitySynced, syncIdentity, deleteIdentityAndClearAccount, storeTransferCode, getTransferCode, clearTransferCode, getAllPendingTransfers, getActiveTransferId, updateTransferState, isIdentitySyncedStore, isSyncing, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, error, getDeviceSessions, isAuthenticated, isLoading, logout, logoutAll, logoutAllDeviceSessions, oxyServices, refreshSessionsWithUser, sessions, setLanguage, switchSessionForContext, tokenReady, isStorageReady, updateDeviceName, clearAllAccountData, useFollowHook, user, showBottomSheetForContext, openAvatarPicker]);
795
918
  return /*#__PURE__*/_jsx(OxyContext.Provider, {
796
919
  value: contextValue,
797
920
  children: children
@@ -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","deleteIdentityAndClearAccount","skipBackup","force","userConfirmed","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","length","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","transferCodesRef","Map","cleanup","setInterval","fifteenMinutes","forEach","value","key","timestamp","delete","transferId","clearInterval","storeTransferCode","sourceDeviceId","publicKey","set","substring","getTransferCode","get","clearTransferCode","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","info","remoteError","handleIdentityTransferComplete","data","hasActiveSession","storedTransfer","publicKeyMatches","receivedPublicKey","storedPublicKey","deviceIdMatches","receivedDeviceId","storedDeviceId","transferCode","codeMatches","toUpperCase","receivedCode","storedCode","transferAge","tenMinutes","age","ageMinutes","round","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":[]}