@oxyhq/services 5.15.8 → 5.16.0

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 (148) hide show
  1. package/lib/commonjs/core/OxyServices.js +0 -1
  2. package/lib/commonjs/core/OxyServices.js.map +1 -1
  3. package/lib/commonjs/core/mixins/OxyServices.auth.js +3 -6
  4. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
  5. package/lib/commonjs/core/mixins/OxyServices.devices.js +1 -1
  6. package/lib/commonjs/core/mixins/OxyServices.devices.js.map +1 -1
  7. package/lib/commonjs/core/mixins/index.js +11 -12
  8. package/lib/commonjs/core/mixins/index.js.map +1 -1
  9. package/lib/commonjs/crypto/signatureService.js +3 -2
  10. package/lib/commonjs/crypto/signatureService.js.map +1 -1
  11. package/lib/commonjs/i18n/locales/ar-SA.json +1 -9
  12. package/lib/commonjs/i18n/locales/ca-ES.json +1 -9
  13. package/lib/commonjs/i18n/locales/de-DE.json +1 -9
  14. package/lib/commonjs/i18n/locales/en-US.json +3 -21
  15. package/lib/commonjs/i18n/locales/es-ES.json +3 -21
  16. package/lib/commonjs/i18n/locales/fr-FR.json +1 -9
  17. package/lib/commonjs/i18n/locales/it-IT.json +1 -9
  18. package/lib/commonjs/i18n/locales/ja-JP.json +1 -9
  19. package/lib/commonjs/i18n/locales/ko-KR.json +1 -9
  20. package/lib/commonjs/i18n/locales/pt-PT.json +1 -9
  21. package/lib/commonjs/i18n/locales/zh-CN.json +1 -9
  22. package/lib/commonjs/ui/context/OxyContext.js +24 -4
  23. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  24. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +217 -100
  25. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  26. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +2 -319
  27. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  28. package/lib/commonjs/ui/screens/OxyAuthScreen.js +178 -77
  29. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  30. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +0 -1
  31. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  32. package/lib/commonjs/ui/screens/SessionManagementScreen.js +43 -29
  33. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  34. package/lib/commonjs/ui/stores/authStore.js +14 -1
  35. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  36. package/lib/module/core/OxyServices.js +0 -1
  37. package/lib/module/core/OxyServices.js.map +1 -1
  38. package/lib/module/core/mixins/OxyServices.auth.js +3 -6
  39. package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
  40. package/lib/module/core/mixins/OxyServices.devices.js +1 -1
  41. package/lib/module/core/mixins/OxyServices.devices.js.map +1 -1
  42. package/lib/module/core/mixins/index.js +1 -2
  43. package/lib/module/core/mixins/index.js.map +1 -1
  44. package/lib/module/crypto/signatureService.js +3 -2
  45. package/lib/module/crypto/signatureService.js.map +1 -1
  46. package/lib/module/i18n/locales/ar-SA.json +1 -9
  47. package/lib/module/i18n/locales/ca-ES.json +1 -9
  48. package/lib/module/i18n/locales/de-DE.json +1 -9
  49. package/lib/module/i18n/locales/en-US.json +3 -21
  50. package/lib/module/i18n/locales/es-ES.json +3 -21
  51. package/lib/module/i18n/locales/fr-FR.json +1 -9
  52. package/lib/module/i18n/locales/it-IT.json +1 -9
  53. package/lib/module/i18n/locales/ja-JP.json +1 -9
  54. package/lib/module/i18n/locales/ko-KR.json +1 -9
  55. package/lib/module/i18n/locales/pt-PT.json +1 -9
  56. package/lib/module/i18n/locales/zh-CN.json +1 -9
  57. package/lib/module/ui/context/OxyContext.js +24 -4
  58. package/lib/module/ui/context/OxyContext.js.map +1 -1
  59. package/lib/module/ui/context/hooks/useAuthOperations.js +217 -100
  60. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  61. package/lib/module/ui/screens/AccountSettingsScreen.js +2 -319
  62. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  63. package/lib/module/ui/screens/OxyAuthScreen.js +179 -78
  64. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  65. package/lib/module/ui/screens/PrivacySettingsScreen.js +0 -1
  66. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  67. package/lib/module/ui/screens/SessionManagementScreen.js +44 -29
  68. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  69. package/lib/module/ui/stores/authStore.js +14 -1
  70. package/lib/module/ui/stores/authStore.js.map +1 -1
  71. package/lib/typescript/core/OxyServices.d.ts +0 -1
  72. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  73. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +3 -4
  74. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
  75. package/lib/typescript/core/mixins/OxyServices.devices.d.ts +1 -4
  76. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
  77. package/lib/typescript/core/mixins/index.d.ts +1 -64
  78. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  79. package/lib/typescript/crypto/signatureService.d.ts +2 -1
  80. package/lib/typescript/crypto/signatureService.d.ts.map +1 -1
  81. package/lib/typescript/models/interfaces.d.ts +1 -1
  82. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  83. package/lib/typescript/types/bip39.d.ts +1 -0
  84. package/lib/typescript/types/buffer.d.ts +1 -0
  85. package/lib/typescript/types/color.d.ts +1 -0
  86. package/lib/typescript/types/elliptic.d.ts +1 -0
  87. package/lib/typescript/types/expo-crypto.d.ts +1 -0
  88. package/lib/typescript/types/expo-secure-store.d.ts +1 -0
  89. package/lib/typescript/ui/context/OxyContext.d.ts +11 -3
  90. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  91. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +13 -5
  92. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  93. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  94. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +1 -0
  95. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  96. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  97. package/lib/typescript/ui/screens/SessionManagementScreen.d.ts.map +1 -1
  98. package/lib/typescript/ui/stores/authStore.d.ts +4 -0
  99. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  100. package/package.json +6 -5
  101. package/src/core/OxyServices.ts +0 -1
  102. package/src/core/mixins/OxyServices.auth.ts +3 -8
  103. package/src/core/mixins/OxyServices.devices.ts +1 -4
  104. package/src/core/mixins/index.ts +2 -5
  105. package/src/crypto/index.ts +1 -0
  106. package/src/crypto/keyManager.ts +1 -0
  107. package/src/crypto/polyfill.ts +1 -0
  108. package/src/crypto/recoveryPhrase.ts +1 -0
  109. package/src/crypto/signatureService.ts +4 -5
  110. package/src/i18n/locales/ar-SA.json +1 -9
  111. package/src/i18n/locales/ca-ES.json +1 -9
  112. package/src/i18n/locales/de-DE.json +1 -9
  113. package/src/i18n/locales/en-US.json +3 -21
  114. package/src/i18n/locales/es-ES.json +3 -21
  115. package/src/i18n/locales/fr-FR.json +1 -9
  116. package/src/i18n/locales/it-IT.json +1 -9
  117. package/src/i18n/locales/ja-JP.json +1 -9
  118. package/src/i18n/locales/ko-KR.json +1 -9
  119. package/src/i18n/locales/pt-PT.json +1 -9
  120. package/src/i18n/locales/zh-CN.json +1 -9
  121. package/src/models/interfaces.ts +1 -1
  122. package/src/types/bip39.d.ts +1 -0
  123. package/src/types/buffer.d.ts +1 -0
  124. package/src/types/color.d.ts +1 -0
  125. package/src/types/elliptic.d.ts +1 -0
  126. package/src/types/expo-crypto.d.ts +1 -0
  127. package/src/types/expo-secure-store.d.ts +1 -0
  128. package/src/ui/context/OxyContext.tsx +35 -3
  129. package/src/ui/context/hooks/useAuthOperations.ts +212 -98
  130. package/src/ui/screens/AccountSettingsScreen.tsx +1 -201
  131. package/src/ui/screens/OxyAuthScreen.tsx +193 -69
  132. package/src/ui/screens/PrivacySettingsScreen.tsx +0 -2
  133. package/src/ui/screens/SessionManagementScreen.tsx +43 -26
  134. package/src/ui/stores/authStore.ts +31 -2
  135. package/lib/commonjs/core/mixins/OxyServices.totp.js +0 -53
  136. package/lib/commonjs/core/mixins/OxyServices.totp.js.map +0 -1
  137. package/lib/commonjs/ui/components/profile/TwoFactorSetupModal.js +0 -467
  138. package/lib/commonjs/ui/components/profile/TwoFactorSetupModal.js.map +0 -1
  139. package/lib/module/core/mixins/OxyServices.totp.js +0 -49
  140. package/lib/module/core/mixins/OxyServices.totp.js.map +0 -1
  141. package/lib/module/ui/components/profile/TwoFactorSetupModal.js +0 -460
  142. package/lib/module/ui/components/profile/TwoFactorSetupModal.js.map +0 -1
  143. package/lib/typescript/core/mixins/OxyServices.totp.d.ts +0 -66
  144. package/lib/typescript/core/mixins/OxyServices.totp.d.ts.map +0 -1
  145. package/lib/typescript/ui/components/profile/TwoFactorSetupModal.d.ts +0 -11
  146. package/lib/typescript/ui/components/profile/TwoFactorSetupModal.d.ts.map +0 -1
  147. package/src/core/mixins/OxyServices.totp.ts +0 -36
  148. package/src/ui/components/profile/TwoFactorSetupModal.tsx +0 -442
@@ -71,7 +71,12 @@ const OxyProvider = ({
71
71
  error,
72
72
  loginSuccess,
73
73
  loginFailure,
74
- logoutStore
74
+ logoutStore,
75
+ // Identity sync state and actions
76
+ isIdentitySyncedStore,
77
+ isSyncing,
78
+ setIdentitySynced,
79
+ setSyncing
75
80
  } = (0, _authStore.useAuthStore)((0, _shallow.useShallow)(state => ({
76
81
  user: state.user,
77
82
  isAuthenticated: state.isAuthenticated,
@@ -79,7 +84,12 @@ const OxyProvider = ({
79
84
  error: state.error,
80
85
  loginSuccess: state.loginSuccess,
81
86
  loginFailure: state.loginFailure,
82
- logoutStore: state.logout
87
+ logoutStore: state.logout,
88
+ // Identity sync state and actions
89
+ isIdentitySyncedStore: state.isIdentitySynced,
90
+ isSyncing: state.isSyncing,
91
+ setIdentitySynced: state.setIdentitySynced,
92
+ setSyncing: state.setSyncing
83
93
  })));
84
94
  const [tokenReady, setTokenReady] = (0, _react.useState)(true);
85
95
  const initializedRef = (0, _react.useRef)(false);
@@ -141,7 +151,9 @@ const OxyProvider = ({
141
151
  logout,
142
152
  logoutAll,
143
153
  hasIdentity,
144
- getPublicKey
154
+ getPublicKey,
155
+ isIdentitySynced,
156
+ syncIdentity
145
157
  } = (0, _useAuthOperations.useAuthOperations)({
146
158
  oxyServices,
147
159
  storage,
@@ -159,6 +171,8 @@ const OxyProvider = ({
159
171
  loginFailure,
160
172
  logoutStore,
161
173
  setAuthState,
174
+ setIdentitySynced,
175
+ setSyncing,
162
176
  logger
163
177
  });
164
178
  const {
@@ -287,6 +301,12 @@ const OxyProvider = ({
287
301
  signIn,
288
302
  hasIdentity,
289
303
  getPublicKey,
304
+ isIdentitySynced,
305
+ syncIdentity,
306
+ identitySyncState: {
307
+ isSynced: isIdentitySyncedStore ?? true,
308
+ isSyncing: isSyncing ?? false
309
+ },
290
310
  logout,
291
311
  logoutAll,
292
312
  switchSession: switchSessionForContext,
@@ -299,7 +319,7 @@ const OxyProvider = ({
299
319
  oxyServices,
300
320
  useFollow: useFollowHook,
301
321
  showBottomSheet: showBottomSheetForContext
302
- }), [activeSessionId, createIdentity, importIdentity, signIn, hasIdentity, getPublicKey, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, error, getDeviceSessions, isAuthenticated, isLoading, logout, logoutAll, logoutAllDeviceSessions, oxyServices, refreshSessionsWithUser, sessions, setLanguage, switchSessionForContext, tokenReady, updateDeviceName, useFollowHook, user, showBottomSheetForContext]);
322
+ }), [activeSessionId, createIdentity, importIdentity, signIn, hasIdentity, getPublicKey, isIdentitySynced, syncIdentity, isIdentitySyncedStore, isSyncing, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, error, getDeviceSessions, isAuthenticated, isLoading, logout, logoutAll, logoutAllDeviceSessions, oxyServices, refreshSessionsWithUser, sessions, setLanguage, switchSessionForContext, tokenReady, updateDeviceName, useFollowHook, user, showBottomSheetForContext]);
303
323
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(OxyContext.Provider, {
304
324
  value: contextValue,
305
325
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_core","_sonner","_authStore","_shallow","_useSessionSocket","_useStorage","_useLanguageManagement","_useSessionManagement","_useAuthOperations","_useDeviceManagement","_storageHelpers","_errorHandlers","_bottomSheetManager","_jsxRuntime","OxyContext","createContext","cachedUseFollowHook","loadUseFollowHook","useFollow","error","__DEV__","console","warn","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","useRef","current","OxyServices","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","useAuthStore","useShallow","state","logout","tokenReady","setTokenReady","useState","initializedRef","setAuthState","setState","logger","useCallback","message","err","storageKeys","useMemo","getStorageKeys","storage","useStorage","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","useLanguageManagement","languageKey","language","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","useSessionManagement","setAuthError","createIdentity","importIdentity","signIn","logoutAll","hasIdentity","getPublicKey","useAuthOperations","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useDeviceManagement","useFollowHook","restoreSessionsFromStorage","storedSessionIdsJson","getItem","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","merge","switchError","isInvalidSessionError","removeItem","filter","session","useEffect","activeSession","find","undefined","currentDeviceId","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","toast","info","catch","remoteError","useSessionSocket","getBaseURL","onRemoteSignOut","onSessionRemoved","switchSessionForContext","showBottomSheetForContext","screenOrConfig","globalShowBottomSheet","contextValue","isTokenReady","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","_core","_sonner","_authStore","_shallow","_useSessionSocket","_useStorage","_useLanguageManagement","_useSessionManagement","_useAuthOperations","_useDeviceManagement","_storageHelpers","_errorHandlers","_bottomSheetManager","_jsxRuntime","OxyContext","createContext","cachedUseFollowHook","loadUseFollowHook","useFollow","error","__DEV__","console","warn","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","storageKeys","useMemo","getStorageKeys","storage","useStorage","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","useLanguageManagement","languageKey","language","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","useSessionManagement","setAuthError","createIdentity","importIdentity","signIn","logoutAll","hasIdentity","getPublicKey","syncIdentity","useAuthOperations","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useDeviceManagement","useFollowHook","restoreSessionsFromStorage","storedSessionIdsJson","getItem","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","merge","switchError","isInvalidSessionError","removeItem","filter","session","useEffect","activeSession","find","undefined","currentDeviceId","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","toast","info","catch","remoteError","useSessionSocket","getBaseURL","onRemoteSignOut","onSessionRemoved","switchSessionForContext","showBottomSheetForContext","screenOrConfig","globalShowBottomSheet","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":[]}
@@ -35,45 +35,138 @@ const useAuthOperations = ({
35
35
  loginFailure,
36
36
  logoutStore,
37
37
  setAuthState,
38
+ setIdentitySynced,
39
+ setSyncing,
38
40
  logger
39
41
  }) => {
40
42
  /**
41
- * Create a new identity with recovery phrase
43
+ * Internal function to perform challenge-response sign in
42
44
  */
43
- const createIdentity = (0, _react.useCallback)(async (username, email) => {
45
+ const performSignIn = (0, _react.useCallback)(async publicKey => {
46
+ const deviceFingerprintObj = _deviceManager.DeviceManager.getDeviceFingerprint();
47
+ const deviceFingerprint = JSON.stringify(deviceFingerprintObj);
48
+ const deviceInfo = await _deviceManager.DeviceManager.getDeviceInfo();
49
+ const deviceName = deviceInfo.deviceName || _deviceManager.DeviceManager.getDefaultDeviceName();
50
+
51
+ // Request challenge
52
+ const {
53
+ challenge
54
+ } = await oxyServices.requestChallenge(publicKey);
55
+
56
+ // Note: Biometric authentication check should be handled by the app layer
57
+ // (e.g., accounts app) before calling signIn. The biometric preference is stored
58
+ // in local storage as 'oxy_biometric_enabled' and can be checked there.
59
+
60
+ // Sign the challenge
61
+ const {
62
+ challenge: signature,
63
+ timestamp
64
+ } = await _crypto.SignatureService.signChallenge(challenge);
65
+
66
+ // Verify and create session
67
+ const sessionResponse = await oxyServices.verifyChallenge(publicKey, challenge, signature, timestamp, deviceName, deviceFingerprint);
68
+
69
+ // Get token for the session
70
+ await oxyServices.getTokenBySession(sessionResponse.sessionId);
71
+
72
+ // Get full user data
73
+ const fullUser = await oxyServices.getUserBySession(sessionResponse.sessionId);
74
+ await applyLanguagePreference(fullUser);
75
+ loginSuccess(fullUser);
76
+
77
+ // Fetch device sessions
78
+ let allDeviceSessions = [];
79
+ try {
80
+ allDeviceSessions = await (0, _sessionHelpers.fetchSessionsWithFallback)(oxyServices, sessionResponse.sessionId, {
81
+ fallbackDeviceId: sessionResponse.deviceId,
82
+ fallbackUserId: fullUser.id,
83
+ logger
84
+ });
85
+ } catch (error) {
86
+ if (__DEV__) {
87
+ console.warn('Failed to fetch device sessions after login:', error);
88
+ }
89
+ }
90
+
91
+ // Check for existing session for same user
92
+ const existingSession = allDeviceSessions.find(session => session.userId?.toString() === fullUser.id?.toString() && session.sessionId !== sessionResponse.sessionId);
93
+ if (existingSession) {
94
+ // Logout duplicate session
95
+ try {
96
+ await oxyServices.logoutSession(sessionResponse.sessionId, sessionResponse.sessionId);
97
+ } catch (logoutError) {
98
+ if (__DEV__) {
99
+ console.warn('Failed to logout duplicate session:', logoutError);
100
+ }
101
+ }
102
+ await switchSession(existingSession.sessionId);
103
+ updateSessions(allDeviceSessions.filter(session => session.sessionId !== sessionResponse.sessionId), {
104
+ merge: false
105
+ });
106
+ onAuthStateChange?.(fullUser);
107
+ return fullUser;
108
+ }
109
+ setActiveSessionId(sessionResponse.sessionId);
110
+ await saveActiveSessionId(sessionResponse.sessionId);
111
+ updateSessions(allDeviceSessions, {
112
+ merge: true
113
+ });
114
+ onAuthStateChange?.(fullUser);
115
+ return fullUser;
116
+ }, [applyLanguagePreference, logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, setActiveSessionId, switchSession, updateSessions]);
117
+
118
+ /**
119
+ * Create a new identity with recovery phrase (offline-first)
120
+ * Identity is purely cryptographic - no username or email required
121
+ */
122
+ const createIdentity = (0, _react.useCallback)(async () => {
44
123
  if (!storage) throw new Error('Storage not initialized');
45
124
  setAuthState({
46
125
  isLoading: true,
47
126
  error: null
48
127
  });
49
128
  try {
50
- // Generate new identity with recovery phrase
129
+ // Generate new identity with recovery phrase (works offline)
51
130
  const {
52
131
  phrase,
53
132
  words,
54
133
  publicKey
55
134
  } = await _crypto.RecoveryPhraseService.generateIdentityWithRecovery();
56
135
 
57
- // Create registration signature
58
- const {
59
- signature,
60
- timestamp
61
- } = await _crypto.SignatureService.createRegistrationSignature(username, email);
136
+ // Mark as not synced
137
+ await storage.setItem('oxy_identity_synced', 'false');
138
+ setIdentitySynced(false);
62
139
 
63
- // Register with server
64
- const {
65
- user
66
- } = await oxyServices.register(publicKey, username, signature, timestamp, email);
140
+ // Try to sync with server (will succeed if online)
141
+ try {
142
+ const {
143
+ signature,
144
+ timestamp
145
+ } = await _crypto.SignatureService.createRegistrationSignature();
146
+ await oxyServices.register(publicKey, signature, timestamp);
67
147
 
68
- // Now sign in to create a session
69
- const fullUser = await performSignIn(publicKey);
70
- return {
71
- user: fullUser,
72
- recoveryPhrase: words
73
- };
148
+ // Mark as synced (Zustand store + storage)
149
+ await storage.setItem('oxy_identity_synced', 'true');
150
+ setIdentitySynced(true);
151
+ return {
152
+ recoveryPhrase: words,
153
+ synced: true
154
+ };
155
+ } catch (syncError) {
156
+ // Offline or server error - identity is created locally but not synced
157
+ if (__DEV__) {
158
+ console.log('[Auth] Identity created locally, will sync when online:', syncError);
159
+ }
160
+ return {
161
+ recoveryPhrase: words,
162
+ synced: false
163
+ };
164
+ }
74
165
  } catch (error) {
75
- // Clean up identity if registration failed
166
+ // Clean up identity if generation failed
76
167
  await _crypto.KeyManager.deleteIdentity().catch(() => {});
168
+ await storage.removeItem('oxy_identity_synced').catch(() => {});
169
+ setIdentitySynced(true);
77
170
  const message = (0, _errorHandlers.handleAuthError)(error, {
78
171
  defaultMessage: 'Failed to create identity',
79
172
  code: REGISTER_ERROR_CODE,
@@ -90,43 +183,65 @@ const useAuthOperations = ({
90
183
  isLoading: false
91
184
  });
92
185
  }
93
- }, [oxyServices, storage, setAuthState, loginFailure, onError, logger]);
186
+ }, [oxyServices, storage, setAuthState, loginFailure, onError, logger, setIdentitySynced]);
94
187
 
95
188
  /**
96
- * Import identity from recovery phrase
189
+ * Check if identity is synced with server (reads from storage for persistence)
97
190
  */
98
- const importIdentity = (0, _react.useCallback)(async (phrase, username, email) => {
191
+ const isIdentitySyncedFn = (0, _react.useCallback)(async () => {
192
+ if (!storage) return true;
193
+ const synced = await storage.getItem('oxy_identity_synced');
194
+ const isSynced = synced !== 'false';
195
+ setIdentitySynced(isSynced);
196
+ return isSynced;
197
+ }, [storage, setIdentitySynced]);
198
+
199
+ /**
200
+ * Sync local identity with server (call when online)
201
+ */
202
+ const syncIdentity = (0, _react.useCallback)(async () => {
99
203
  if (!storage) throw new Error('Storage not initialized');
100
204
  setAuthState({
101
205
  isLoading: true,
102
206
  error: null
103
207
  });
208
+ setSyncing(true);
104
209
  try {
105
- // Restore identity from phrase
106
- const publicKey = await _crypto.RecoveryPhraseService.restoreFromPhrase(phrase);
210
+ const publicKey = await _crypto.KeyManager.getPublicKey();
211
+ if (!publicKey) {
212
+ throw new Error('No identity found on this device');
213
+ }
107
214
 
108
- // Check if this identity is already registered
215
+ // Check if already synced
216
+ const alreadySynced = await storage.getItem('oxy_identity_synced');
217
+ if (alreadySynced === 'true') {
218
+ // Already synced, just sign in
219
+ setIdentitySynced(true);
220
+ return await performSignIn(publicKey);
221
+ }
222
+
223
+ // Check if already registered on server
109
224
  const {
110
225
  registered
111
226
  } = await oxyServices.checkPublicKeyRegistered(publicKey);
112
- if (registered) {
113
- // Identity exists, just sign in
114
- return await performSignIn(publicKey);
115
- } else {
116
- // Need to register this identity
117
- if (!username) {
118
- throw new Error('Username is required for new registration');
119
- }
227
+ if (!registered) {
228
+ // Register with server (identity is just the publicKey)
120
229
  const {
121
230
  signature,
122
231
  timestamp
123
- } = await _crypto.SignatureService.createRegistrationSignature(username, email);
124
- await oxyServices.register(publicKey, username, signature, timestamp, email);
125
- return await performSignIn(publicKey);
232
+ } = await _crypto.SignatureService.createRegistrationSignature();
233
+ await oxyServices.register(publicKey, signature, timestamp);
126
234
  }
235
+
236
+ // Mark as synced (Zustand store + storage)
237
+ await storage.setItem('oxy_identity_synced', 'true');
238
+ setIdentitySynced(true);
239
+
240
+ // Sign in
241
+ return await performSignIn(publicKey);
127
242
  } catch (error) {
128
243
  const message = (0, _errorHandlers.handleAuthError)(error, {
129
- defaultMessage: 'Failed to import identity',
244
+ defaultMessage: 'Failed to sync identity',
130
245
  code: REGISTER_ERROR_CODE,
131
246
  onError,
132
247
  setAuthError: msg => setAuthState({
@@ -140,80 +255,80 @@ const useAuthOperations = ({
140
255
  setAuthState({
141
256
  isLoading: false
142
257
  });
258
+ setSyncing(false);
143
259
  }
144
- }, [oxyServices, storage, setAuthState, loginFailure, onError, logger]);
260
+ }, [oxyServices, storage, setAuthState, performSignIn, loginFailure, onError, logger, setSyncing, setIdentitySynced]);
145
261
 
146
262
  /**
147
- * Internal function to perform challenge-response sign in
263
+ * Import identity from recovery phrase (offline-first)
148
264
  */
149
- const performSignIn = (0, _react.useCallback)(async publicKey => {
150
- const deviceFingerprintObj = _deviceManager.DeviceManager.getDeviceFingerprint();
151
- const deviceFingerprint = JSON.stringify(deviceFingerprintObj);
152
- const deviceInfo = await _deviceManager.DeviceManager.getDeviceInfo();
153
- const deviceName = deviceInfo.deviceName || _deviceManager.DeviceManager.getDefaultDeviceName();
154
-
155
- // Request challenge
156
- const {
157
- challenge
158
- } = await oxyServices.requestChallenge(publicKey);
159
-
160
- // Sign the challenge
161
- const {
162
- challenge: signature,
163
- timestamp
164
- } = await _crypto.SignatureService.signChallenge(challenge);
165
-
166
- // Verify and create session
167
- const sessionResponse = await oxyServices.verifyChallenge(publicKey, challenge, signature, timestamp, deviceName, deviceFingerprint);
168
-
169
- // Get token for the session
170
- await oxyServices.getTokenBySession(sessionResponse.sessionId);
171
-
172
- // Get full user data
173
- const fullUser = await oxyServices.getUserBySession(sessionResponse.sessionId);
174
- await applyLanguagePreference(fullUser);
175
- loginSuccess(fullUser);
176
-
177
- // Fetch device sessions
178
- let allDeviceSessions = [];
265
+ const importIdentity = (0, _react.useCallback)(async phrase => {
266
+ if (!storage) throw new Error('Storage not initialized');
267
+ setAuthState({
268
+ isLoading: true,
269
+ error: null
270
+ });
179
271
  try {
180
- allDeviceSessions = await (0, _sessionHelpers.fetchSessionsWithFallback)(oxyServices, sessionResponse.sessionId, {
181
- fallbackDeviceId: sessionResponse.deviceId,
182
- fallbackUserId: fullUser.id,
183
- logger
184
- });
185
- } catch (error) {
186
- if (__DEV__) {
187
- console.warn('Failed to fetch device sessions after login:', error);
188
- }
189
- }
272
+ // Restore identity from phrase (works offline)
273
+ const publicKey = await _crypto.RecoveryPhraseService.restoreFromPhrase(phrase);
190
274
 
191
- // Check for existing session for same user
192
- const existingSession = allDeviceSessions.find(session => session.userId?.toString() === fullUser.id?.toString() && session.sessionId !== sessionResponse.sessionId);
193
- if (existingSession) {
194
- // Logout duplicate session
275
+ // Mark as not synced
276
+ await storage.setItem('oxy_identity_synced', 'false');
277
+ setIdentitySynced(false);
278
+
279
+ // Try to sync with server
195
280
  try {
196
- await oxyServices.logoutSession(sessionResponse.sessionId, sessionResponse.sessionId);
197
- } catch (logoutError) {
281
+ // Check if this identity is already registered
282
+ const {
283
+ registered
284
+ } = await oxyServices.checkPublicKeyRegistered(publicKey);
285
+ if (registered) {
286
+ // Identity exists, mark as synced
287
+ await storage.setItem('oxy_identity_synced', 'true');
288
+ setIdentitySynced(true);
289
+ return {
290
+ synced: true
291
+ };
292
+ } else {
293
+ // Need to register this identity (identity is just the publicKey)
294
+ const {
295
+ signature,
296
+ timestamp
297
+ } = await _crypto.SignatureService.createRegistrationSignature();
298
+ await oxyServices.register(publicKey, signature, timestamp);
299
+ await storage.setItem('oxy_identity_synced', 'true');
300
+ setIdentitySynced(true);
301
+ return {
302
+ synced: true
303
+ };
304
+ }
305
+ } catch (syncError) {
306
+ // Offline - identity restored locally but not synced
198
307
  if (__DEV__) {
199
- console.warn('Failed to logout duplicate session:', logoutError);
308
+ console.log('[Auth] Identity imported locally, will sync when online:', syncError);
200
309
  }
310
+ return {
311
+ synced: false
312
+ };
201
313
  }
202
- await switchSession(existingSession.sessionId);
203
- updateSessions(allDeviceSessions.filter(session => session.sessionId !== sessionResponse.sessionId), {
204
- merge: false
314
+ } catch (error) {
315
+ const message = (0, _errorHandlers.handleAuthError)(error, {
316
+ defaultMessage: 'Failed to import identity',
317
+ code: REGISTER_ERROR_CODE,
318
+ onError,
319
+ setAuthError: msg => setAuthState({
320
+ error: msg
321
+ }),
322
+ logger
323
+ });
324
+ loginFailure(message);
325
+ throw error;
326
+ } finally {
327
+ setAuthState({
328
+ isLoading: false
205
329
  });
206
- onAuthStateChange?.(fullUser);
207
- return fullUser;
208
330
  }
209
- setActiveSessionId(sessionResponse.sessionId);
210
- await saveActiveSessionId(sessionResponse.sessionId);
211
- updateSessions(allDeviceSessions, {
212
- merge: true
213
- });
214
- onAuthStateChange?.(fullUser);
215
- return fullUser;
216
- }, [applyLanguagePreference, logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, setActiveSessionId, switchSession, updateSessions]);
331
+ }, [oxyServices, storage, setAuthState, loginFailure, onError, logger, setIdentitySynced]);
217
332
 
218
333
  /**
219
334
  * Sign in with existing identity on device
@@ -342,7 +457,9 @@ const useAuthOperations = ({
342
457
  logout,
343
458
  logoutAll,
344
459
  hasIdentity,
345
- getPublicKey
460
+ getPublicKey,
461
+ isIdentitySynced: isIdentitySyncedFn,
462
+ syncIdentity
346
463
  };
347
464
  };
348
465
  exports.useAuthOperations = useAuthOperations;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_deviceManager","_sessionHelpers","_errorHandlers","_crypto","LOGIN_ERROR_CODE","REGISTER_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","useAuthOperations","oxyServices","storage","sessions","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","applyLanguagePreference","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","logger","createIdentity","useCallback","username","email","Error","isLoading","error","phrase","words","publicKey","RecoveryPhraseService","generateIdentityWithRecovery","signature","timestamp","SignatureService","createRegistrationSignature","user","register","fullUser","performSignIn","recoveryPhrase","KeyManager","deleteIdentity","catch","message","handleAuthError","defaultMessage","code","setAuthError","msg","importIdentity","restoreFromPhrase","registered","checkPublicKeyRegistered","deviceFingerprintObj","DeviceManager","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challenge","requestChallenge","signChallenge","sessionResponse","verifyChallenge","getTokenBySession","sessionId","getUserBySession","allDeviceSessions","fetchSessionsWithFallback","fallbackDeviceId","deviceId","fallbackUserId","id","__DEV__","console","warn","existingSession","find","session","userId","toString","logoutSession","logoutError","filter","merge","signIn","getPublicKey","logout","targetSessionId","sessionToLogout","filteredSessions","length","isInvalid","isInvalidSessionError","status","undefined","logoutAll","logoutAllSessions","hasIdentity","exports"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_deviceManager","_sessionHelpers","_errorHandlers","_crypto","LOGIN_ERROR_CODE","REGISTER_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","useAuthOperations","oxyServices","storage","sessions","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","applyLanguagePreference","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","setIdentitySynced","setSyncing","logger","performSignIn","useCallback","publicKey","deviceFingerprintObj","DeviceManager","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challenge","requestChallenge","signature","timestamp","SignatureService","signChallenge","sessionResponse","verifyChallenge","getTokenBySession","sessionId","fullUser","getUserBySession","allDeviceSessions","fetchSessionsWithFallback","fallbackDeviceId","deviceId","fallbackUserId","id","error","__DEV__","console","warn","existingSession","find","session","userId","toString","logoutSession","logoutError","filter","merge","createIdentity","Error","isLoading","phrase","words","RecoveryPhraseService","generateIdentityWithRecovery","setItem","createRegistrationSignature","register","recoveryPhrase","synced","syncError","log","KeyManager","deleteIdentity","catch","removeItem","message","handleAuthError","defaultMessage","code","setAuthError","msg","isIdentitySyncedFn","getItem","isSynced","syncIdentity","getPublicKey","alreadySynced","registered","checkPublicKeyRegistered","importIdentity","restoreFromPhrase","signIn","logout","targetSessionId","sessionToLogout","filteredSessions","length","isInvalid","isInvalidSessionError","status","undefined","logoutAll","logoutAllSessions","hasIdentity","isIdentitySynced","exports"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}