@oxyhq/services 5.16.18 → 5.16.20

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 (71) hide show
  1. package/README.md +7 -8
  2. package/lib/commonjs/crypto/index.js +0 -7
  3. package/lib/commonjs/crypto/index.js.map +1 -1
  4. package/lib/commonjs/crypto/keyManager.js +2 -2
  5. package/lib/commonjs/crypto/polyfill.js +4 -4
  6. package/lib/commonjs/crypto/types.js +2 -0
  7. package/lib/commonjs/crypto/types.js.map +1 -0
  8. package/lib/commonjs/i18n/locales/en-US.json +1 -1
  9. package/lib/commonjs/index.js +0 -7
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/ui/context/OxyContext.js +54 -11
  12. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  13. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +56 -15
  14. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  15. package/lib/commonjs/ui/hooks/useSessionSocket.js +52 -2
  16. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  17. package/lib/module/crypto/index.js +2 -4
  18. package/lib/module/crypto/index.js.map +1 -1
  19. package/lib/module/crypto/keyManager.js +2 -2
  20. package/lib/module/crypto/polyfill.js +4 -4
  21. package/lib/module/crypto/types.js +2 -0
  22. package/lib/module/crypto/types.js.map +1 -0
  23. package/lib/module/i18n/locales/en-US.json +1 -1
  24. package/lib/module/index.js +1 -1
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/module/ui/context/OxyContext.js +49 -6
  27. package/lib/module/ui/context/OxyContext.js.map +1 -1
  28. package/lib/module/ui/context/hooks/useAuthOperations.js +56 -16
  29. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  30. package/lib/module/ui/hooks/useSessionSocket.js +52 -2
  31. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  32. package/lib/typescript/crypto/index.d.ts +2 -2
  33. package/lib/typescript/crypto/index.d.ts.map +1 -1
  34. package/lib/typescript/crypto/keyManager.d.ts +2 -2
  35. package/lib/typescript/crypto/polyfill.d.ts +2 -2
  36. package/lib/typescript/crypto/types.d.ts +18 -0
  37. package/lib/typescript/crypto/types.d.ts.map +1 -0
  38. package/lib/typescript/index.d.ts +2 -2
  39. package/lib/typescript/index.d.ts.map +1 -1
  40. package/lib/typescript/ui/context/OxyContext.d.ts +2 -2
  41. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  42. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +3 -3
  43. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  44. package/lib/typescript/ui/hooks/useSessionSocket.d.ts +7 -1
  45. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
  46. package/package.json +1 -2
  47. package/src/crypto/index.ts +3 -6
  48. package/src/crypto/keyManager.ts +2 -2
  49. package/src/crypto/polyfill.ts +4 -4
  50. package/src/crypto/types.ts +19 -0
  51. package/src/i18n/locales/en-US.json +1 -1
  52. package/src/index.ts +2 -4
  53. package/src/ui/context/OxyContext.tsx +63 -7
  54. package/src/ui/context/hooks/useAuthOperations.ts +67 -17
  55. package/src/ui/hooks/useSessionSocket.ts +62 -2
  56. package/lib/commonjs/crypto/recoveryPhrase.js +0 -152
  57. package/lib/commonjs/crypto/recoveryPhrase.js.map +0 -1
  58. package/lib/commonjs/ui/hooks/useIdentityMutations.js +0 -111
  59. package/lib/commonjs/ui/hooks/useIdentityMutations.js.map +0 -1
  60. package/lib/module/crypto/recoveryPhrase.js +0 -147
  61. package/lib/module/crypto/recoveryPhrase.js.map +0 -1
  62. package/lib/module/ui/hooks/useIdentityMutations.js +0 -105
  63. package/lib/module/ui/hooks/useIdentityMutations.js.map +0 -1
  64. package/lib/typescript/crypto/recoveryPhrase.d.ts +0 -59
  65. package/lib/typescript/crypto/recoveryPhrase.d.ts.map +0 -1
  66. package/lib/typescript/types/bip39.d.ts +0 -32
  67. package/lib/typescript/ui/hooks/useIdentityMutations.d.ts +0 -29
  68. package/lib/typescript/ui/hooks/useIdentityMutations.d.ts.map +0 -1
  69. package/src/crypto/recoveryPhrase.ts +0 -166
  70. package/src/types/bip39.d.ts +0 -32
  71. package/src/ui/hooks/useIdentityMutations.ts +0 -115
package/README.md CHANGED
@@ -329,8 +329,7 @@ import {
329
329
  // Crypto module (for identity management)
330
330
  import {
331
331
  KeyManager,
332
- SignatureService,
333
- RecoveryPhraseService
332
+ SignatureService
334
333
  } from '@oxyhq/services/crypto';
335
334
  ```
336
335
 
@@ -437,8 +436,8 @@ const {
437
436
  error,
438
437
 
439
438
  // Identity management (Public Key Authentication)
440
- createIdentity, // Create new identity with recovery phrase
441
- importIdentity, // Import identity from recovery phrase
439
+ createIdentity, // Create new identity
440
+ importIdentity, // Import identity from backup file
442
441
  signIn, // Sign in with stored identity
443
442
  hasIdentity, // Check if identity exists on device
444
443
  getPublicKey, // Get stored public key
@@ -501,12 +500,12 @@ function AuthScreen() {
501
500
 
502
501
  // Create new identity (in Oxy Accounts app)
503
502
  const handleCreate = async () => {
504
- const { user, recoveryPhrase } = await createIdentity('username', 'email');
505
- // Show recoveryPhrase to user - they must save it!
503
+ const { synced } = await createIdentity();
504
+ // Identity created - user should create backup file
506
505
  };
507
506
 
508
- // Import existing identity
509
- const handleImport = async (phrase: string) => {
507
+ // Import existing identity from backup file
508
+ const handleImport = async (backupData: { encrypted: string; salt: string; iv: string; publicKey: string }, password: string) => {
510
509
  const user = await importIdentity(phrase, 'username', 'email');
511
510
  };
512
511
 
@@ -9,12 +9,6 @@ Object.defineProperty(exports, "KeyManager", {
9
9
  return _keyManager.KeyManager;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "RecoveryPhraseService", {
13
- enumerable: true,
14
- get: function () {
15
- return _recoveryPhrase.RecoveryPhraseService;
16
- }
17
- });
18
12
  Object.defineProperty(exports, "SignatureService", {
19
13
  enumerable: true,
20
14
  get: function () {
@@ -30,5 +24,4 @@ Object.defineProperty(exports, "default", {
30
24
  require("./polyfill");
31
25
  var _keyManager = require("./keyManager");
32
26
  var _signatureService = require("./signatureService");
33
- var _recoveryPhrase = require("./recoveryPhrase");
34
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["require","_keyManager","_signatureService","_recoveryPhrase"],"sourceRoot":"../../../src","sources":["crypto/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQAA,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAKA,IAAAG,eAAA,GAAAH,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["require","_keyManager","_signatureService"],"sourceRoot":"../../../src","sources":["crypto/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAQAA,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA","ignoreList":[]}
@@ -172,7 +172,7 @@ class KeyManager {
172
172
  }
173
173
 
174
174
  /**
175
- * Import an existing key pair (e.g., from recovery phrase)
175
+ * Import an existing key pair (e.g., from backup file)
176
176
  */
177
177
  static async importKeyPair(privateKey) {
178
178
  if (isWebPlatform()) {
@@ -271,7 +271,7 @@ class KeyManager {
271
271
 
272
272
  /**
273
273
  * Delete the stored identity (both keys)
274
- * Use with EXTREME caution - this is irreversible without a recovery phrase
274
+ * Use with EXTREME caution - this is irreversible without a backup file
275
275
  * This should ONLY be called when explicitly requested by the user
276
276
  * @param skipBackup - If true, skip backup before deletion (default: false)
277
277
  * @param force - If true, skip confirmation checks (default: false)
@@ -17,12 +17,12 @@ var _buffer = require("buffer");
17
17
  * before any crypto operations are performed.
18
18
  *
19
19
  * Polyfills included:
20
- * - Buffer: Required by bip39 and other crypto libraries
21
- * - crypto.getRandomValues: Required by bip39 for secure random number generation
20
+ * - Buffer: Required by crypto libraries
21
+ * - crypto.getRandomValues: Required for secure random number generation
22
22
  */
23
23
 
24
24
  // Import Buffer polyfill for React Native compatibility
25
- // Libraries like bip39 depend on Buffer which isn't available in React Native
25
+ // Some crypto libraries depend on Buffer which isn't available in React Native
26
26
 
27
27
  // Get the global object in a cross-platform way
28
28
  const getGlobalObject = () => {
@@ -40,7 +40,7 @@ if (!globalObject.Buffer) {
40
40
  }
41
41
 
42
42
  // Polyfill crypto.getRandomValues for React Native
43
- // This is required by bip39 and other crypto libraries
43
+ // This is required by crypto libraries for secure random number generation
44
44
 
45
45
  // Cache for expo-crypto module
46
46
  let expoCryptoModule = null;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["crypto/types.ts"],"mappings":"","ignoreList":[]}
@@ -237,7 +237,7 @@
237
237
  "enterCode": "Enter the 6‑digit code from your authenticator app.",
238
238
  "newPassword": "Set New Password",
239
239
  "resetSuccess": "Your password has been reset! You can now sign in.",
240
- "noEmail": "We no longer send recovery emails. Please use your recovery phrase to restore your identity. Contact support if you need assistance.",
240
+ "noEmail": "We no longer send recovery emails. Please use your backup file to restore your identity. Contact support if you need assistance.",
241
241
  "password": {
242
242
  "minLength": "Password must be at least 8 characters long",
243
243
  "mismatch": "Passwords do not match",
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  var _exportNames = {
7
7
  KeyManager: true,
8
8
  SignatureService: true,
9
- RecoveryPhraseService: true,
10
9
  OxyServices: true,
11
10
  OxyAuthenticationError: true,
12
11
  OxyAuthenticationTimeoutError: true,
@@ -165,12 +164,6 @@ Object.defineProperty(exports, "OxySignInButton", {
165
164
  return _OxySignInButton.OxySignInButton;
166
165
  }
167
166
  });
168
- Object.defineProperty(exports, "RecoveryPhraseService", {
169
- enumerable: true,
170
- get: function () {
171
- return _crypto.RecoveryPhraseService;
172
- }
173
- });
174
167
  Object.defineProperty(exports, "SECURITY_EVENT_SEVERITY_MAP", {
175
168
  enumerable: true,
176
169
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"names":["require","_crypto","_core","_OxyContext","_OxyProvider","_interopRequireDefault","_deviceManager","_languageUtils","_interfaces","_authStore","_assetStore","_useSessionSocket","_useAssets","_useFileDownloadUrl","_queries","_mutations","_OxySignInButton","_ui","_apiUtils","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_errorUtils","_validationUtils","_loggerUtils","_asyncUtils","_hookUtils","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["require","_crypto","_core","_OxyContext","_OxyProvider","_interopRequireDefault","_deviceManager","_languageUtils","_interfaces","_authStore","_assetStore","_useSessionSocket","_useAssets","_useFileDownloadUrl","_queries","_mutations","_OxySignInButton","_ui","_apiUtils","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_errorUtils","_validationUtils","_loggerUtils","_asyncUtils","_hookUtils","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -21,7 +21,7 @@ var _errorHandlers = require("../utils/errorHandlers");
21
21
  var _bottomSheetManager = require("../navigation/bottomSheetManager");
22
22
  var _reactQuery = require("@tanstack/react-query");
23
23
  var _queryClient = require("../hooks/queryClient");
24
- var _keyManager = require("../../crypto/keyManager");
24
+ var _crypto = require("../../crypto");
25
25
  var _i18n = require("../../i18n");
26
26
  var _avatarUtils = require("../utils/avatarUtils");
27
27
  var _accountStore = require("../stores/accountStore");
@@ -128,22 +128,22 @@ const OxyProvider = ({
128
128
  const checkAndRestoreIdentity = async () => {
129
129
  try {
130
130
  // Check if identity exists and verify integrity
131
- const hasIdentity = await _keyManager.KeyManager.hasIdentity();
131
+ const hasIdentity = await _crypto.KeyManager.hasIdentity();
132
132
  if (hasIdentity) {
133
- const isValid = await _keyManager.KeyManager.verifyIdentityIntegrity();
133
+ const isValid = await _crypto.KeyManager.verifyIdentityIntegrity();
134
134
  if (!isValid) {
135
135
  // Try to restore from backup
136
- const restored = await _keyManager.KeyManager.restoreIdentityFromBackup();
136
+ const restored = await _crypto.KeyManager.restoreIdentityFromBackup();
137
137
  if (__DEV__) {
138
- logger(restored ? 'Identity restored from backup successfully' : 'Identity integrity check failed - user may need to restore from recovery phrase');
138
+ logger(restored ? 'Identity restored from backup successfully' : 'Identity integrity check failed - user may need to restore from backup file');
139
139
  }
140
140
  } else {
141
141
  // Identity is valid - ensure backup is up to date
142
- await _keyManager.KeyManager.backupIdentity();
142
+ await _crypto.KeyManager.backupIdentity();
143
143
  }
144
144
  } else {
145
145
  // No identity - try to restore from backup
146
- const restored = await _keyManager.KeyManager.restoreIdentityFromBackup();
146
+ const restored = await _crypto.KeyManager.restoreIdentityFromBackup();
147
147
  if (restored && __DEV__) {
148
148
  logger('Identity restored from backup on startup');
149
149
  }
@@ -152,7 +152,7 @@ const OxyProvider = ({
152
152
  if (__DEV__) {
153
153
  logger('Error during identity integrity check', error);
154
154
  }
155
- // Don't block app startup - user can recover with recovery phrase
155
+ // Don't block app startup - user can recover with backup file
156
156
  }
157
157
  };
158
158
  checkAndRestoreIdentity();
@@ -203,7 +203,7 @@ const OxyProvider = ({
203
203
  });
204
204
  const {
205
205
  createIdentity,
206
- importIdentity,
206
+ importIdentity: importIdentityBase,
207
207
  signIn,
208
208
  logout,
209
209
  logoutAll,
@@ -236,6 +236,20 @@ const OxyProvider = ({
236
236
  // syncIdentity - TanStack Query handles offline mutations automatically
237
237
  const syncIdentity = (0, _react.useCallback)(() => syncIdentityBase(), [syncIdentityBase]);
238
238
 
239
+ // Wrapper for importIdentity to handle legacy calls gracefully
240
+ const importIdentity = (0, _react.useCallback)(async (backupData, password) => {
241
+ // Handle legacy calls with single string argument (old recovery phrase signature)
242
+ if (typeof backupData === 'string') {
243
+ throw new Error('Recovery phrase import is no longer supported. Please use backup file import or QR code transfer instead.');
244
+ }
245
+
246
+ // Validate that password is provided
247
+ if (!password || typeof password !== 'string') {
248
+ throw new Error('Password is required for backup file import.');
249
+ }
250
+ return importIdentityBase(backupData, password);
251
+ }, [importIdentityBase]);
252
+
239
253
  // Clear all account data when identity is lost (for accounts app)
240
254
  // In accounts app, identity = account, so losing identity means losing everything
241
255
  const clearAllAccountData = (0, _react.useCallback)(async () => {
@@ -281,7 +295,7 @@ const OxyProvider = ({
281
295
  await clearAllAccountData();
282
296
 
283
297
  // Then delete the identity keys
284
- await _keyManager.KeyManager.deleteIdentity(skipBackup, force, userConfirmed);
298
+ await _crypto.KeyManager.deleteIdentity(skipBackup, force, userConfirmed);
285
299
  }, [clearAllAccountData]);
286
300
 
287
301
  // Network reconnect sync - TanStack Query automatically retries mutations on reconnect
@@ -506,6 +520,34 @@ const OxyProvider = ({
506
520
  _sonner.toast.info('You have been signed out remotely.');
507
521
  logout().catch(remoteError => logger('Failed to process remote sign out', remoteError));
508
522
  }, [logger, logout]);
523
+ const handleIdentityTransferComplete = (0, _react.useCallback)(async data => {
524
+ // Show confirmation dialog asking if user wants to delete identity from this device
525
+ return new Promise(resolve => {
526
+ _reactNative.Alert.alert('Identity Transfer Complete', 'Your identity has been successfully transferred to another device. Would you like to remove it from this device?', [{
527
+ text: 'Keep on This Device',
528
+ style: 'cancel',
529
+ onPress: () => resolve()
530
+ }, {
531
+ text: 'Remove from This Device',
532
+ style: 'destructive',
533
+ onPress: async () => {
534
+ try {
535
+ // Delete identity with user confirmation
536
+ await deleteIdentityAndClearAccount(false, false, true);
537
+ _sonner.toast.success('Identity removed from this device');
538
+ } catch (error) {
539
+ logger('Failed to delete identity after transfer', error);
540
+ _sonner.toast.error(error?.message || 'Failed to remove identity from this device');
541
+ } finally {
542
+ resolve();
543
+ }
544
+ }
545
+ }], {
546
+ cancelable: true,
547
+ onDismiss: () => resolve()
548
+ });
549
+ });
550
+ }, [deleteIdentityAndClearAccount, logger]);
509
551
  (0, _useSessionSocket.useSessionSocket)({
510
552
  userId,
511
553
  activeSessionId,
@@ -515,7 +557,8 @@ const OxyProvider = ({
515
557
  clearSessionState,
516
558
  baseURL: oxyServices.getBaseURL(),
517
559
  onRemoteSignOut: handleRemoteSignOut,
518
- onSessionRemoved: handleSessionRemoved
560
+ onSessionRemoved: handleSessionRemoved,
561
+ onIdentityTransferComplete: handleIdentityTransferComplete
519
562
  });
520
563
  const switchSessionForContext = (0, _react.useCallback)(async sessionId => {
521
564
  await switchSession(sessionId);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_core","_sonner","_authStore","_shallow","_useSessionSocket","_useStorage","_useLanguageManagement","_useSessionManagement","_useAuthOperations","_useDeviceManagement","_storageHelpers","_errorHandlers","_bottomSheetManager","_reactQuery","_queryClient","_keyManager","_i18n","_avatarUtils","_accountStore","_loggerUtils","_jsxRuntime","OxyContext","createContext","cachedUseFollowHook","loadUseFollowHook","useFollow","error","__DEV__","loggerUtil","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","useRef","current","OxyServices","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","isIdentitySyncedStore","isSyncing","setIdentitySynced","setSyncing","useAuthStore","useShallow","state","logout","isIdentitySynced","tokenReady","setTokenReady","useState","initializedRef","setAuthState","setState","logger","useCallback","message","err","console","storageKeys","useMemo","getStorageKeys","storage","isReady","isStorageReady","useStorage","useEffect","Platform","OS","checkAndRestoreIdentity","hasIdentity","KeyManager","isValid","verifyIdentityIntegrity","restored","restoreIdentityFromBackup","backupIdentity","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","useLanguageManagement","languageKey","language","queryClient","useQueryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","useSessionManagement","setAuthError","createIdentity","importIdentity","signIn","logoutAll","getPublicKey","syncIdentity","syncIdentityBase","useAuthOperations","clearAllAccountData","clear","clearQueryCache","removeItem","getState","useAccountStore","reset","clearCache","deleteIdentityAndClearAccount","skipBackup","force","userConfirmed","deleteIdentity","wasOffline","checkTimeout","stateRef","consecutiveFailures","currentInterval","baseInterval","maxInterval","maxFailures","scheduleNextCheck","clearTimeout","setTimeout","checkNetworkAndSync","healthCheck","catch","hasIdentityValue","syncStatus","getItem","syncError","code","debug","isTimeoutOrNetworkError","backoffMultiplier","Math","min","pow","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useDeviceManagement","useFollowHook","restoreSessionsFromStorage","storedSessionIdsJson","sessionIds","storedSessionIds","JSON","parse","storedActiveSessionId","validSessions","length","sessionId","validation","validateSession","useHeaderValidation","valid","now","Date","push","deviceId","expiresAt","getTime","toISOString","lastActive","userId","id","toString","isCurrent","validationError","isInvalidSessionError","merge","switchError","filter","session","String","activeSession","find","undefined","currentDeviceId","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","toast","info","remoteError","useSessionSocket","getBaseURL","onRemoteSignOut","onSessionRemoved","switchSessionForContext","showBottomSheetForContext","screenOrConfig","globalShowBottomSheet","openAvatarPicker","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","translate","updateAvatarVisibility","updateProfileWithAvatar","avatar","success","e","contextValue","isTokenReady","identitySyncState","isSynced","removeSession","showBottomSheet","jsx","Provider","value","exports","OxyContextProvider","useOxy","context","useContext","_default","default"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_core","_sonner","_authStore","_shallow","_useSessionSocket","_useStorage","_useLanguageManagement","_useSessionManagement","_useAuthOperations","_useDeviceManagement","_storageHelpers","_errorHandlers","_bottomSheetManager","_reactQuery","_queryClient","_crypto","_i18n","_avatarUtils","_accountStore","_loggerUtils","_jsxRuntime","OxyContext","createContext","cachedUseFollowHook","loadUseFollowHook","useFollow","error","__DEV__","loggerUtil","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","useRef","current","OxyServices","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","isIdentitySyncedStore","isSyncing","setIdentitySynced","setSyncing","useAuthStore","useShallow","state","logout","isIdentitySynced","tokenReady","setTokenReady","useState","initializedRef","setAuthState","setState","logger","useCallback","message","err","console","storageKeys","useMemo","getStorageKeys","storage","isReady","isStorageReady","useStorage","useEffect","Platform","OS","checkAndRestoreIdentity","hasIdentity","KeyManager","isValid","verifyIdentityIntegrity","restored","restoreIdentityFromBackup","backupIdentity","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","useLanguageManagement","languageKey","language","queryClient","useQueryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","useSessionManagement","setAuthError","createIdentity","importIdentity","importIdentityBase","signIn","logoutAll","getPublicKey","syncIdentity","syncIdentityBase","useAuthOperations","backupData","password","clearAllAccountData","clear","clearQueryCache","removeItem","getState","useAccountStore","reset","clearCache","deleteIdentityAndClearAccount","skipBackup","force","userConfirmed","deleteIdentity","wasOffline","checkTimeout","stateRef","consecutiveFailures","currentInterval","baseInterval","maxInterval","maxFailures","scheduleNextCheck","clearTimeout","setTimeout","checkNetworkAndSync","healthCheck","catch","hasIdentityValue","syncStatus","getItem","syncError","code","debug","isTimeoutOrNetworkError","backoffMultiplier","Math","min","pow","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useDeviceManagement","useFollowHook","restoreSessionsFromStorage","storedSessionIdsJson","sessionIds","storedSessionIds","JSON","parse","storedActiveSessionId","validSessions","length","sessionId","validation","validateSession","useHeaderValidation","valid","now","Date","push","deviceId","expiresAt","getTime","toISOString","lastActive","userId","id","toString","isCurrent","validationError","isInvalidSessionError","merge","switchError","filter","session","String","activeSession","find","undefined","currentDeviceId","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","toast","info","remoteError","handleIdentityTransferComplete","data","Promise","resolve","Alert","alert","text","style","onPress","success","cancelable","onDismiss","useSessionSocket","getBaseURL","onRemoteSignOut","onSessionRemoved","onIdentityTransferComplete","switchSessionForContext","showBottomSheetForContext","screenOrConfig","globalShowBottomSheet","openAvatarPicker","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","translate","updateAvatarVisibility","updateProfileWithAvatar","avatar","e","contextValue","isTokenReady","identitySyncState","isSynced","removeSession","showBottomSheet","jsx","Provider","value","exports","OxyContextProvider","useOxy","context","useContext","_default","default"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,7 @@ var _deviceManager = require("../../../utils/deviceManager");
9
9
  var _sessionHelpers = require("../../utils/sessionHelpers");
10
10
  var _errorHandlers = require("../../utils/errorHandlers");
11
11
  var _crypto = require("../../../crypto");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
13
  const LOGIN_ERROR_CODE = 'LOGIN_ERROR';
13
14
  const REGISTER_ERROR_CODE = 'REGISTER_ERROR';
14
15
  const LOGOUT_ERROR_CODE = 'LOGOUT_ERROR';
@@ -194,7 +195,7 @@ const useAuthOperations = ({
194
195
  }, [applyLanguagePreference, logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, setActiveSessionId, switchSession, updateSessions, storage]);
195
196
 
196
197
  /**
197
- * Create a new identity with recovery phrase (offline-first)
198
+ * Create a new identity (offline-first)
198
199
  * Identity is purely cryptographic - no username or email required
199
200
  */
200
201
  const createIdentity = (0, _react.useCallback)(async () => {
@@ -204,12 +205,12 @@ const useAuthOperations = ({
204
205
  error: null
205
206
  });
206
207
  try {
207
- // Generate new identity with recovery phrase (works offline)
208
+ // Generate new key pair directly (works offline)
208
209
  const {
209
- phrase,
210
- words,
211
- publicKey
212
- } = await _crypto.RecoveryPhraseService.generateIdentityWithRecovery();
210
+ publicKey,
211
+ privateKey
212
+ } = await _crypto.KeyManager.generateKeyPair();
213
+ await _crypto.KeyManager.importKeyPair(privateKey);
213
214
 
214
215
  // Mark as not synced
215
216
  await storage.setItem('oxy_identity_synced', 'false');
@@ -227,7 +228,6 @@ const useAuthOperations = ({
227
228
  await storage.setItem('oxy_identity_synced', 'true');
228
229
  setIdentitySynced(true);
229
230
  return {
230
- recoveryPhrase: words,
231
231
  synced: true
232
232
  };
233
233
  } catch (syncError) {
@@ -236,13 +236,12 @@ const useAuthOperations = ({
236
236
  console.log('[Auth] Identity created locally, will sync when online:', syncError);
237
237
  }
238
238
  return {
239
- recoveryPhrase: words,
240
239
  synced: false
241
240
  };
242
241
  }
243
242
  } catch (error) {
244
243
  // CRITICAL: Never delete identity on error - it may have been successfully created
245
- // Only log the error and let the user recover using their recovery phrase
244
+ // Only log the error and let the user recover using their backup file
246
245
  // Identity deletion should ONLY happen when explicitly requested by the user
247
246
  if (__DEV__ && logger) {
248
247
  logger('Error during identity creation (identity may still exist):', error);
@@ -255,7 +254,7 @@ const useAuthOperations = ({
255
254
  await storage.setItem('oxy_identity_synced', 'false').catch(() => {});
256
255
  setIdentitySynced(false);
257
256
  if (__DEV__ && logger) {
258
- logger('Identity was created but sync failed - user can sync later using recovery phrase');
257
+ logger('Identity was created but sync failed - user can sync later using backup file');
259
258
  }
260
259
  } else {
261
260
  // No identity exists - this was a generation failure, safe to clean up sync flag
@@ -366,17 +365,59 @@ const useAuthOperations = ({
366
365
  }, [oxyServices, storage, setAuthState, performSignIn, loginFailure, onError, logger, setSyncing, setIdentitySynced]);
367
366
 
368
367
  /**
369
- * Import identity from recovery phrase (offline-first)
368
+ * Import identity from backup file data (offline-first)
370
369
  */
371
- const importIdentity = (0, _react.useCallback)(async phrase => {
370
+ const importIdentity = (0, _react.useCallback)(async (backupData, password) => {
372
371
  if (!storage) throw new Error('Storage not initialized');
372
+
373
+ // Validate arguments - ensure backupData is an object, not a string (old signature)
374
+ if (!backupData || typeof backupData !== 'object' || Array.isArray(backupData)) {
375
+ throw new Error('Invalid backup data. Please use the backup file import feature.');
376
+ }
377
+ if (!backupData.encrypted || !backupData.salt || !backupData.iv || !backupData.publicKey) {
378
+ throw new Error('Invalid backup data structure. Missing required fields.');
379
+ }
380
+ if (!password || typeof password !== 'string') {
381
+ throw new Error('Password is required for backup file import.');
382
+ }
373
383
  setAuthState({
374
384
  isLoading: true,
375
385
  error: null
376
386
  });
377
387
  try {
378
- // Restore identity from phrase (works offline)
379
- const publicKey = await _crypto.RecoveryPhraseService.restoreFromPhrase(phrase);
388
+ // Decrypt private key from backup data
389
+ const Crypto = await Promise.resolve().then(() => _interopRequireWildcard(require('expo-crypto')));
390
+
391
+ // Convert hex strings to Uint8Array
392
+ const saltBytes = new Uint8Array(backupData.salt.match(/.{1,2}/g)?.map(byte => parseInt(byte, 16)) || []);
393
+ const ivBytes = new Uint8Array(backupData.iv.match(/.{1,2}/g)?.map(byte => parseInt(byte, 16)) || []);
394
+
395
+ // Derive key from password (same algorithm as EncryptedBackupGenerator)
396
+ const saltHex = Array.from(saltBytes).map(b => b.toString(16).padStart(2, '0')).join('');
397
+ let key = password + saltHex;
398
+ for (let i = 0; i < 10000; i++) {
399
+ key = await Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, key);
400
+ }
401
+ const keyBytes = new Uint8Array(32);
402
+ for (let i = 0; i < 64 && i < key.length; i += 2) {
403
+ keyBytes[i / 2] = parseInt(key.substring(i, i + 2), 16);
404
+ }
405
+
406
+ // Decrypt private key (XOR decryption - same as encryption)
407
+ const encryptedBytes = Buffer.from(backupData.encrypted, 'base64');
408
+ const decryptedBytes = new Uint8Array(encryptedBytes.length);
409
+ for (let i = 0; i < encryptedBytes.length; i++) {
410
+ decryptedBytes[i] = encryptedBytes[i] ^ keyBytes[i % keyBytes.length] ^ ivBytes[i % ivBytes.length];
411
+ }
412
+ const privateKey = new TextDecoder().decode(decryptedBytes);
413
+
414
+ // Import the key pair
415
+ const publicKey = await _crypto.KeyManager.importKeyPair(privateKey);
416
+
417
+ // Verify public key matches
418
+ if (publicKey !== backupData.publicKey) {
419
+ throw new Error('Backup file is corrupted or password is incorrect');
420
+ }
380
421
 
381
422
  // Mark as not synced
382
423
  await storage.setItem('oxy_identity_synced', 'false');
@@ -419,7 +460,7 @@ const useAuthOperations = ({
419
460
  }
420
461
  } catch (error) {
421
462
  const message = (0, _errorHandlers.handleAuthError)(error, {
422
- defaultMessage: 'Failed to import identity',
463
+ defaultMessage: 'Failed to import identity. Please check your password and backup file.',
423
464
  code: REGISTER_ERROR_CODE,
424
465
  onError,
425
466
  setAuthError: msg => setAuthState({