@oxyhq/services 5.16.28 → 5.16.30

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.
Files changed (111) hide show
  1. package/lib/commonjs/crypto/keyManager.js +3 -0
  2. package/lib/commonjs/crypto/keyManager.js.map +1 -1
  3. package/lib/commonjs/index.js +64 -0
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/ui/context/OxyContext.js +70 -17
  6. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  7. package/lib/commonjs/ui/hooks/auth/index.js +37 -0
  8. package/lib/commonjs/ui/hooks/auth/index.js.map +1 -0
  9. package/lib/commonjs/ui/hooks/auth/useUsernameValidation.js +171 -0
  10. package/lib/commonjs/ui/hooks/auth/useUsernameValidation.js.map +1 -0
  11. package/lib/commonjs/ui/hooks/index.js +20 -0
  12. package/lib/commonjs/ui/hooks/index.js.map +1 -1
  13. package/lib/commonjs/ui/hooks/mutations/index.js +12 -0
  14. package/lib/commonjs/ui/hooks/mutations/index.js.map +1 -1
  15. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +45 -1
  16. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  17. package/lib/commonjs/ui/hooks/queries/index.js +12 -0
  18. package/lib/commonjs/ui/hooks/queries/index.js.map +1 -1
  19. package/lib/commonjs/ui/hooks/queries/queryKeys.js +3 -1
  20. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
  21. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +43 -1
  22. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  23. package/lib/commonjs/ui/hooks/useTransferQueries.js +1 -64
  24. package/lib/commonjs/ui/hooks/useTransferQueries.js.map +1 -1
  25. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +76 -97
  26. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  27. package/lib/commonjs/ui/stores/transferStore.js +1 -9
  28. package/lib/commonjs/ui/stores/transferStore.js.map +1 -1
  29. package/lib/module/crypto/keyManager.js +3 -0
  30. package/lib/module/crypto/keyManager.js.map +1 -1
  31. package/lib/module/index.js +3 -3
  32. package/lib/module/index.js.map +1 -1
  33. package/lib/module/ui/context/OxyContext.js +70 -17
  34. package/lib/module/ui/context/OxyContext.js.map +1 -1
  35. package/lib/module/ui/hooks/auth/index.js +7 -0
  36. package/lib/module/ui/hooks/auth/index.js.map +1 -0
  37. package/lib/module/ui/hooks/auth/useUsernameValidation.js +167 -0
  38. package/lib/module/ui/hooks/auth/useUsernameValidation.js.map +1 -0
  39. package/lib/module/ui/hooks/index.js +1 -0
  40. package/lib/module/ui/hooks/index.js.map +1 -1
  41. package/lib/module/ui/hooks/mutations/index.js +1 -1
  42. package/lib/module/ui/hooks/mutations/index.js.map +1 -1
  43. package/lib/module/ui/hooks/mutations/useAccountMutations.js +42 -0
  44. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  45. package/lib/module/ui/hooks/queries/index.js +1 -1
  46. package/lib/module/ui/hooks/queries/index.js.map +1 -1
  47. package/lib/module/ui/hooks/queries/queryKeys.js +3 -1
  48. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
  49. package/lib/module/ui/hooks/queries/useAccountQueries.js +40 -0
  50. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  51. package/lib/module/ui/hooks/useTransferQueries.js +0 -61
  52. package/lib/module/ui/hooks/useTransferQueries.js.map +1 -1
  53. package/lib/module/ui/screens/PrivacySettingsScreen.js +77 -98
  54. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  55. package/lib/module/ui/stores/transferStore.js +0 -7
  56. package/lib/module/ui/stores/transferStore.js.map +1 -1
  57. package/lib/typescript/crypto/keyManager.d.ts +2 -1
  58. package/lib/typescript/crypto/keyManager.d.ts.map +1 -1
  59. package/lib/typescript/index.d.ts +4 -2
  60. package/lib/typescript/index.d.ts.map +1 -1
  61. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  62. package/lib/typescript/ui/hooks/auth/index.d.ts +6 -0
  63. package/lib/typescript/ui/hooks/auth/index.d.ts.map +1 -0
  64. package/lib/typescript/ui/hooks/auth/useUsernameValidation.d.ts +32 -0
  65. package/lib/typescript/ui/hooks/auth/useUsernameValidation.d.ts.map +1 -0
  66. package/lib/typescript/ui/hooks/index.d.ts +1 -0
  67. package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
  68. package/lib/typescript/ui/hooks/mutations/index.d.ts +1 -1
  69. package/lib/typescript/ui/hooks/mutations/index.d.ts.map +1 -1
  70. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +12 -0
  71. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  72. package/lib/typescript/ui/hooks/queries/index.d.ts +1 -1
  73. package/lib/typescript/ui/hooks/queries/index.d.ts.map +1 -1
  74. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts +2 -0
  75. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  76. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +12 -0
  77. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  78. package/lib/typescript/ui/hooks/useTransferQueries.d.ts +0 -28
  79. package/lib/typescript/ui/hooks/useTransferQueries.d.ts.map +1 -1
  80. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  81. package/lib/typescript/ui/stores/transferStore.d.ts +0 -4
  82. package/lib/typescript/ui/stores/transferStore.d.ts.map +1 -1
  83. package/package.json +1 -1
  84. package/src/crypto/keyManager.ts +5 -1
  85. package/src/index.ts +6 -0
  86. package/src/ui/context/OxyContext.tsx +67 -13
  87. package/src/ui/hooks/auth/index.ts +6 -0
  88. package/src/ui/hooks/auth/useUsernameValidation.ts +177 -0
  89. package/src/ui/hooks/index.ts +2 -1
  90. package/src/ui/hooks/mutations/index.ts +2 -0
  91. package/src/ui/hooks/mutations/useAccountMutations.ts +36 -0
  92. package/src/ui/hooks/queries/index.ts +2 -0
  93. package/src/ui/hooks/queries/queryKeys.ts +2 -0
  94. package/src/ui/hooks/queries/useAccountQueries.ts +34 -0
  95. package/src/ui/hooks/useTransferQueries.ts +1 -67
  96. package/src/ui/screens/PrivacySettingsScreen.tsx +67 -101
  97. package/src/ui/stores/transferStore.ts +0 -6
  98. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +0 -281
  99. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +0 -1
  100. package/lib/commonjs/ui/context/hooks/useStorage.js +0 -79
  101. package/lib/commonjs/ui/context/hooks/useStorage.js.map +0 -1
  102. package/lib/module/ui/context/hooks/useSessionManagement.js +0 -276
  103. package/lib/module/ui/context/hooks/useSessionManagement.js.map +0 -1
  104. package/lib/module/ui/context/hooks/useStorage.js +0 -74
  105. package/lib/module/ui/context/hooks/useStorage.js.map +0 -1
  106. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +0 -41
  107. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +0 -1
  108. package/lib/typescript/ui/context/hooks/useStorage.d.ts +0 -22
  109. package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +0 -1
  110. package/src/ui/context/hooks/useSessionManagement.ts +0 -401
  111. package/src/ui/context/hooks/useStorage.ts +0 -104
@@ -75,7 +75,7 @@ export const OxyProvider = ({
75
75
  const oxyServices = oxyServicesRef.current;
76
76
  const {
77
77
  user,
78
- isAuthenticated,
78
+ isAuthenticated: isAuthenticatedFromStore,
79
79
  isLoading,
80
80
  error,
81
81
  loginSuccess,
@@ -129,12 +129,16 @@ export const OxyProvider = ({
129
129
 
130
130
  const checkAndRestoreIdentity = async () => {
131
131
  try {
132
+ // CRITICAL: Invalidate cache on app startup to ensure fresh state check
133
+ // This prevents stale cache from previous session from showing incorrect state
134
+ KeyManager.invalidateCache();
135
+
132
136
  // Check if identity exists and verify integrity
133
137
  const hasIdentity = await KeyManager.hasIdentity();
134
138
  if (hasIdentity) {
135
139
  const isValid = await KeyManager.verifyIdentityIntegrity();
136
140
  if (!isValid) {
137
- // Try to restore from backup
141
+ // Try to restore from backup (cache will be invalidated inside restoreIdentityFromBackup)
138
142
  const restored = await KeyManager.restoreIdentityFromBackup();
139
143
  if (__DEV__) {
140
144
  logger(restored ? 'Identity restored from backup successfully' : 'Identity integrity check failed - user may need to restore from backup file');
@@ -144,7 +148,7 @@ export const OxyProvider = ({
144
148
  await KeyManager.backupIdentity();
145
149
  }
146
150
  } else {
147
- // No identity - try to restore from backup
151
+ // No identity - try to restore from backup (cache will be invalidated inside restoreIdentityFromBackup)
148
152
  const restored = await KeyManager.restoreIdentityFromBackup();
149
153
  if (restored && __DEV__) {
150
154
  logger('Identity restored from backup on startup');
@@ -159,10 +163,6 @@ export const OxyProvider = ({
159
163
  };
160
164
  checkAndRestoreIdentity();
161
165
  }, [storage, isStorageReady, logger]);
162
-
163
- // Offline queuing is now handled by TanStack Query mutations
164
- // No need for custom offline queue
165
-
166
166
  const {
167
167
  currentLanguage,
168
168
  metadata: currentLanguageMetadata,
@@ -180,7 +180,7 @@ export const OxyProvider = ({
180
180
  const {
181
181
  sessions,
182
182
  activeSessionId,
183
- setActiveSessionId,
183
+ setActiveSessionId: setActiveSessionIdFromHook,
184
184
  updateSessions,
185
185
  switchSession,
186
186
  refreshSessions,
@@ -218,7 +218,7 @@ export const OxyProvider = ({
218
218
  storage,
219
219
  sessions,
220
220
  activeSessionId,
221
- setActiveSessionId,
221
+ setActiveSessionId: setActiveSessionIdFromHook,
222
222
  updateSessions,
223
223
  saveActiveSessionId,
224
224
  clearSessionState,
@@ -448,7 +448,7 @@ export const OxyProvider = ({
448
448
  clearTimeout(checkTimeout);
449
449
  }
450
450
  };
451
- }, [oxyServices, storage, syncIdentity, logger, hasIdentity, isAuthenticated]);
451
+ }, [oxyServices, storage, syncIdentity, logger, hasIdentity]);
452
452
  const {
453
453
  getDeviceSessions,
454
454
  logoutAllDeviceSessions,
@@ -521,6 +521,26 @@ export const OxyProvider = ({
521
521
  // Don't log expected session errors during restoration
522
522
  } else if (isTimeoutOrNetworkError(switchError)) {
523
523
  // Timeout/network error - non-critical, don't block
524
+ // However, if we have valid sessions, we should still set activeSessionId
525
+ // so that isAuthenticated can be computed correctly
526
+ if (validSessions.length > 0) {
527
+ const matchingSession = validSessions.find(s => s.sessionId === storedActiveSessionId);
528
+ if (matchingSession) {
529
+ // Set active session even if validation timed out (offline scenario)
530
+ setActiveSessionIdFromHook(storedActiveSessionId);
531
+ // Try to get user from session if possible (might fail offline, but that's OK)
532
+ try {
533
+ const validation = await oxyServices.validateSession(storedActiveSessionId, {
534
+ useHeaderValidation: false
535
+ });
536
+ if (validation?.valid && validation.user) {
537
+ loginSuccess(validation.user);
538
+ }
539
+ } catch {
540
+ // Ignore - we're offline, will sync when online
541
+ }
542
+ }
543
+ }
524
544
  if (__DEV__) {
525
545
  loggerUtil.debug('Active session validation timeout (expected when offline)', {
526
546
  component: 'OxyContext',
@@ -532,6 +552,28 @@ export const OxyProvider = ({
532
552
  logger('Active session validation error', switchError);
533
553
  }
534
554
  }
555
+ } else if (validSessions.length > 0) {
556
+ // No stored active session, but we have valid sessions - activate the first one
557
+ const firstSession = validSessions[0];
558
+ try {
559
+ await switchSession(firstSession.sessionId);
560
+ } catch (switchError) {
561
+ // If switch fails, at least set the activeSessionId so UI can show sessions
562
+ if (isTimeoutOrNetworkError(switchError)) {
563
+ setActiveSessionIdFromHook(firstSession.sessionId);
564
+ // Try to get user from session
565
+ try {
566
+ const validation = await oxyServices.validateSession(firstSession.sessionId, {
567
+ useHeaderValidation: false
568
+ });
569
+ if (validation?.valid && validation.user) {
570
+ loginSuccess(validation.user);
571
+ }
572
+ } catch {
573
+ // Ignore - offline scenario
574
+ }
575
+ }
576
+ }
535
577
  }
536
578
  } catch (error) {
537
579
  if (__DEV__) {
@@ -544,7 +586,7 @@ export const OxyProvider = ({
544
586
  } finally {
545
587
  setTokenReady(true);
546
588
  }
547
- }, [clearSessionState, logger, oxyServices, storage, storageKeys.activeSessionId, storageKeys.sessionIds, switchSession, updateSessions]);
589
+ }, [clearSessionState, logger, oxyServices, storage, storageKeys.activeSessionId, storageKeys.sessionIds, switchSession, updateSessions, setActiveSessionIdFromHook, loginSuccess]);
548
590
  useEffect(() => {
549
591
  if (!storage || initializedRef.current) {
550
592
  return;
@@ -555,6 +597,18 @@ export const OxyProvider = ({
555
597
  const activeSession = activeSessionId ? sessions.find(session => session.sessionId === activeSessionId) : undefined;
556
598
  const currentDeviceId = activeSession?.deviceId ?? null;
557
599
 
600
+ // Compute isAuthenticated from actual session state, not just auth store
601
+ // This ensures UI shows correct state even if loginSuccess wasn't called during restoration
602
+ const isAuthenticatedFromSessions = useMemo(() => {
603
+ return !!(activeSessionId && sessions.length > 0 && user);
604
+ }, [activeSessionId, sessions.length, user]);
605
+
606
+ // Use session-based authentication state if auth store says not authenticated but we have sessions
607
+ // This handles the case where sessions were restored but loginSuccess wasn't called
608
+ const computedIsAuthenticated = useMemo(() => {
609
+ return isAuthenticatedFromStore || isAuthenticatedFromSessions;
610
+ }, [isAuthenticatedFromStore, isAuthenticatedFromSessions]);
611
+
558
612
  // Get userId from JWT token (MongoDB ObjectId) for socket room matching
559
613
  // user.id is set to publicKey for compatibility, but socket rooms use MongoDB ObjectId
560
614
  // The JWT token's userId field contains the MongoDB ObjectId
@@ -673,10 +727,9 @@ export const OxyProvider = ({
673
727
  }, [logger, logout]);
674
728
 
675
729
  // Check pending transfers when authenticated and online using TanStack Query
676
- // Pass oxyServices and isAuthenticated directly to avoid circular dependency
677
- const {
678
- data: pendingTransferResults
679
- } = useCheckPendingTransfers(oxyServices, isAuthenticated);
730
+ // Check for pending transfers that may have completed while offline
731
+ // Results are processed via socket events (onIdentityTransferComplete), so we don't need to process query results here
732
+ useCheckPendingTransfers(oxyServices, computedIsAuthenticated);
680
733
  const handleIdentityTransferComplete = useCallback(async data => {
681
734
  try {
682
735
  logger('Received identity transfer complete notification', {
@@ -873,7 +926,7 @@ export const OxyProvider = ({
873
926
  sessions,
874
927
  activeSessionId,
875
928
  currentDeviceId,
876
- isAuthenticated,
929
+ isAuthenticated: computedIsAuthenticated,
877
930
  isLoading,
878
931
  isTokenReady: tokenReady,
879
932
  isStorageReady,
@@ -915,7 +968,7 @@ export const OxyProvider = ({
915
968
  useFollow: useFollowHook,
916
969
  showBottomSheet: showBottomSheetForContext,
917
970
  openAvatarPicker
918
- }), [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]);
971
+ }), [activeSessionId, currentDeviceId, createIdentity, importIdentity, signIn, hasIdentity, getPublicKey, isIdentitySynced, syncIdentity, deleteIdentityAndClearAccount, storeTransferCode, getTransferCode, clearTransferCode, getAllPendingTransfers, getActiveTransferId, updateTransferState, isIdentitySyncedStore, isSyncing, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, error, getDeviceSessions, computedIsAuthenticated, isLoading, logout, logoutAll, logoutAllDeviceSessions, oxyServices, refreshSessionsWithUser, sessions, setLanguage, switchSessionForContext, tokenReady, isStorageReady, updateDeviceName, clearAllAccountData, useFollowHook, user, showBottomSheetForContext, openAvatarPicker]);
919
972
  return /*#__PURE__*/_jsx(OxyContext.Provider, {
920
973
  value: contextValue,
921
974
  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","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":[]}
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","isAuthenticatedFromStore","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","invalidateCache","hasIdentity","isValid","verifyIdentityIntegrity","restored","restoreIdentityFromBackup","backupIdentity","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","setActiveSessionIdFromHook","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","matchingSession","find","s","firstSession","String","activeSession","currentDeviceId","isAuthenticatedFromSessions","computedIsAuthenticated","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","handleIdentityTransferComplete","data","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":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Auth-related hooks
5
+ */
6
+ export { useUsernameValidation, USERNAME_MIN_LENGTH, USERNAME_REGEX, USERNAME_FORMAT_ERROR, USERNAME_DEBOUNCE_MS } from './useUsernameValidation';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useUsernameValidation","USERNAME_MIN_LENGTH","USERNAME_REGEX","USERNAME_FORMAT_ERROR","USERNAME_DEBOUNCE_MS"],"sourceRoot":"../../../../../src","sources":["ui/hooks/auth/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,qBAAqB,EAAEC,mBAAmB,EAAEC,cAAc,EAAEC,qBAAqB,EAAEC,oBAAoB,QAAQ,yBAAyB","ignoreList":[]}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+
3
+ import { useMemo } from 'react';
4
+ import { useQuery } from '@tanstack/react-query';
5
+ import { handleHttpError, ErrorCodes } from '../../../utils/errorUtils';
6
+ import { useDebounce } from '../../../utils/hookUtils';
7
+
8
+ /**
9
+ * Username validation constants
10
+ */
11
+ export const USERNAME_MIN_LENGTH = 4;
12
+ export const USERNAME_REGEX = /^[a-z0-9]+$/i;
13
+ export const USERNAME_FORMAT_ERROR = 'You can use a-z, 0-9. Minimum length is 4 characters.';
14
+ export const USERNAME_DEBOUNCE_MS = 500;
15
+
16
+ /**
17
+ * Username validation result interface
18
+ */
19
+
20
+ /**
21
+ * Validate username format using services validation utilities
22
+ */
23
+ function validateUsernameFormat(username) {
24
+ // Use stricter validation: lowercase alphanumeric only, min 4 chars
25
+ return username.length >= USERNAME_MIN_LENGTH && USERNAME_REGEX.test(username);
26
+ }
27
+
28
+ /**
29
+ * Check if an error is a network or timeout error
30
+ */
31
+ function isNetworkOrTimeoutError(error) {
32
+ const apiError = handleHttpError(error);
33
+ return apiError.code === ErrorCodes.NETWORK_ERROR || apiError.code === ErrorCodes.TIMEOUT || apiError.code === ErrorCodes.CONNECTION_FAILED;
34
+ }
35
+
36
+ /**
37
+ * Extract error message from an unknown error shape
38
+ */
39
+ function extractAuthErrorMessage(error, fallbackMessage = 'An error occurred') {
40
+ const apiError = handleHttpError(error);
41
+ return apiError.message || fallbackMessage;
42
+ }
43
+
44
+ /**
45
+ * Hook for username validation with debouncing and availability checking
46
+ *
47
+ * Uses TanStack Query for efficient API calls with:
48
+ * - Automatic request cancellation when username changes
49
+ * - Built-in caching (same username checked multiple times = cached result)
50
+ * - Request deduplication (multiple components checking same username = single request)
51
+ * - Proper error handling
52
+ *
53
+ * @param username - The username to validate
54
+ * @param oxyServices - OxyServices instance for API calls
55
+ * @returns Username validation state and result
56
+ */
57
+ export function useUsernameValidation(username, oxyServices) {
58
+ // Debounce the username input to avoid excessive API calls
59
+ const debouncedUsername = useDebounce(username.trim().toLowerCase(), USERNAME_DEBOUNCE_MS);
60
+
61
+ // Validate format synchronously (no API call needed)
62
+ const isValid = useMemo(() => validateUsernameFormat(username), [username]);
63
+
64
+ // Determine if we should check availability
65
+ const shouldCheckAvailability = useMemo(() => {
66
+ if (!debouncedUsername || debouncedUsername.length < USERNAME_MIN_LENGTH) {
67
+ return false;
68
+ }
69
+ return validateUsernameFormat(debouncedUsername);
70
+ }, [debouncedUsername]);
71
+
72
+ // Use TanStack Query for the API call
73
+ // This provides automatic caching, request cancellation, and deduplication
74
+ const {
75
+ data: availabilityResult,
76
+ isLoading: isChecking,
77
+ error: queryError,
78
+ isFetching
79
+ } = useQuery({
80
+ queryKey: ['username', 'availability', debouncedUsername],
81
+ queryFn: async () => {
82
+ if (!oxyServices) {
83
+ throw new Error('OxyServices not available');
84
+ }
85
+ return await oxyServices.checkUsernameAvailability(debouncedUsername);
86
+ },
87
+ enabled: shouldCheckAvailability && !!oxyServices,
88
+ staleTime: 5 * 60 * 1000,
89
+ // Cache for 5 minutes (usernames don't change often)
90
+ gcTime: 30 * 60 * 1000,
91
+ // Keep in cache for 30 minutes
92
+ retry: (failureCount, error) => {
93
+ // Don't retry on network/timeout errors (user might be offline)
94
+ if (isNetworkOrTimeoutError(error)) {
95
+ return false;
96
+ }
97
+ // Retry up to 2 times for other errors
98
+ return failureCount < 2;
99
+ },
100
+ retryDelay: attemptIndex => Math.min(1000 * 2 ** attemptIndex, 3000)
101
+ });
102
+
103
+ // Compute the result based on validation and query state
104
+ return useMemo(() => {
105
+ // If username is too short or invalid format, return early validation
106
+ if (!username || username.length < USERNAME_MIN_LENGTH) {
107
+ return {
108
+ isValid: false,
109
+ isAvailable: null,
110
+ error: null,
111
+ isChecking: false
112
+ };
113
+ }
114
+ if (!isValid) {
115
+ return {
116
+ isValid: false,
117
+ isAvailable: false,
118
+ error: USERNAME_FORMAT_ERROR,
119
+ isChecking: false
120
+ };
121
+ }
122
+
123
+ // If we're not checking yet (debounce period), show checking state only if user is typing
124
+ const isCurrentlyChecking = isChecking || isFetching;
125
+
126
+ // Handle network/timeout errors gracefully
127
+ if (queryError && isNetworkOrTimeoutError(queryError)) {
128
+ // Allow proceeding if offline/network issue (optimistic)
129
+ return {
130
+ isValid: true,
131
+ isAvailable: true,
132
+ // Optimistic: allow proceeding
133
+ error: null,
134
+ isChecking: false
135
+ };
136
+ }
137
+
138
+ // Handle other errors
139
+ if (queryError) {
140
+ return {
141
+ isValid: true,
142
+ isAvailable: false,
143
+ error: extractAuthErrorMessage(queryError, 'Failed to check username availability'),
144
+ isChecking: false
145
+ };
146
+ }
147
+
148
+ // If we have a result, use it
149
+ if (availabilityResult) {
150
+ return {
151
+ isValid: true,
152
+ isAvailable: availabilityResult.available,
153
+ error: availabilityResult.available ? null : availabilityResult.message || 'Username is already taken',
154
+ isChecking: false
155
+ };
156
+ }
157
+
158
+ // Still checking (or waiting for debounce)
159
+ return {
160
+ isValid: true,
161
+ isAvailable: null,
162
+ error: null,
163
+ isChecking: isCurrentlyChecking
164
+ };
165
+ }, [username, isValid, availabilityResult, isChecking, isFetching, queryError]);
166
+ }
167
+ //# sourceMappingURL=useUsernameValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useQuery","handleHttpError","ErrorCodes","useDebounce","USERNAME_MIN_LENGTH","USERNAME_REGEX","USERNAME_FORMAT_ERROR","USERNAME_DEBOUNCE_MS","validateUsernameFormat","username","length","test","isNetworkOrTimeoutError","error","apiError","code","NETWORK_ERROR","TIMEOUT","CONNECTION_FAILED","extractAuthErrorMessage","fallbackMessage","message","useUsernameValidation","oxyServices","debouncedUsername","trim","toLowerCase","isValid","shouldCheckAvailability","data","availabilityResult","isLoading","isChecking","queryError","isFetching","queryKey","queryFn","Error","checkUsernameAvailability","enabled","staleTime","gcTime","retry","failureCount","retryDelay","attemptIndex","Math","min","isAvailable","isCurrentlyChecking","available"],"sourceRoot":"../../../../../src","sources":["ui/hooks/auth/useUsernameValidation.ts"],"mappings":"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","ignoreList":[]}
@@ -4,4 +4,5 @@ export { useFollow, useFollowerCounts } from './useFollow';
4
4
  export { useFileDownloadUrl, setOxyFileUrlInstance } from './useFileDownloadUrl';
5
5
  export { useThemeStyles } from './useThemeStyles';
6
6
  export { useThemeColors } from './useThemeColors';
7
+ export * from './auth';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useFollow","useFollowerCounts","useFileDownloadUrl","setOxyFileUrlInstance","useThemeStyles","useThemeColors"],"sourceRoot":"../../../../src","sources":["ui/hooks/index.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,iBAAiB,QAAQ,aAAa;AAC1D,SAASC,kBAAkB,EAAEC,qBAAqB,QAAQ,sBAAsB;AAChF,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,cAAc,QAAQ,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["useFollow","useFollowerCounts","useFileDownloadUrl","setOxyFileUrlInstance","useThemeStyles","useThemeColors"],"sourceRoot":"../../../../src","sources":["ui/hooks/index.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,iBAAiB,QAAQ,aAAa;AAC1D,SAASC,kBAAkB,EAAEC,qBAAqB,QAAQ,sBAAsB;AAChF,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,cAAc,QAAQ,kBAAkB;AACjD,cAAc,QAAQ","ignoreList":[]}
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  // Account mutation hooks
11
- export { useUpdateProfile, useUploadAvatar, useUpdateAccountSettings, useUpdatePrivacySettings, useUploadFile } from './useAccountMutations';
11
+ export { useUpdateProfile, useUploadAvatar, useUpdateAccountSettings, useUpdatePrivacySettings, useUploadFile, useUnblockUser, useUnrestrictUser } from './useAccountMutations';
12
12
 
13
13
  // Service mutation hooks (sessions, devices)
14
14
  export { useSwitchSession, useLogoutSession, useLogoutAll, useUpdateDeviceName, useRemoveDevice } from './useServicesMutations';
@@ -1 +1 @@
1
- {"version":3,"names":["useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SACEA,gBAAgB,EAChBC,eAAe,EACfC,wBAAwB,EACxBC,wBAAwB,EACxBC,aAAa,QACR,uBAAuB;;AAE9B;AACA,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,YAAY,EACZC,mBAAmB,EACnBC,eAAe,QACV,wBAAwB","ignoreList":[]}
1
+ {"version":3,"names":["useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUploadFile","useUnblockUser","useUnrestrictUser","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SACEA,gBAAgB,EAChBC,eAAe,EACfC,wBAAwB,EACxBC,wBAAwB,EACxBC,aAAa,EACbC,cAAc,EACdC,iBAAiB,QACZ,uBAAuB;;AAE9B;AACA,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,YAAY,EACZC,mBAAmB,EACnBC,eAAe,QACV,wBAAwB","ignoreList":[]}
@@ -541,4 +541,46 @@ export const useUploadFile = () => {
541
541
  }
542
542
  });
543
543
  };
544
+
545
+ /**
546
+ * Unblock a user with query invalidation
547
+ */
548
+ export const useUnblockUser = () => {
549
+ const {
550
+ oxyServices
551
+ } = useOxy();
552
+ const queryClient = useQueryClient();
553
+ return useMutation({
554
+ mutationFn: async userId => {
555
+ return await oxyServices.unblockUser(userId);
556
+ },
557
+ onSuccess: () => {
558
+ // Invalidate blocked users query to refetch the list
559
+ queryClient.invalidateQueries({
560
+ queryKey: queryKeys.privacy.blocked()
561
+ });
562
+ }
563
+ });
564
+ };
565
+
566
+ /**
567
+ * Unrestrict a user with query invalidation
568
+ */
569
+ export const useUnrestrictUser = () => {
570
+ const {
571
+ oxyServices
572
+ } = useOxy();
573
+ const queryClient = useQueryClient();
574
+ return useMutation({
575
+ mutationFn: async userId => {
576
+ return await oxyServices.unrestrictUser(userId);
577
+ },
578
+ onSuccess: () => {
579
+ // Invalidate restricted users query to refetch the list
580
+ queryClient.invalidateQueries({
581
+ queryKey: queryKeys.privacy.restricted()
582
+ });
583
+ }
584
+ });
585
+ };
544
586
  //# sourceMappingURL=useAccountMutations.js.map