@oxyhq/services 5.16.1 → 5.16.2

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 (175) hide show
  1. package/lib/commonjs/core/mixins/OxyServices.user.js +14 -13
  2. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
  3. package/lib/commonjs/crypto/keyManager.js +164 -3
  4. package/lib/commonjs/crypto/keyManager.js.map +1 -1
  5. package/lib/commonjs/crypto/signatureService.js +26 -0
  6. package/lib/commonjs/crypto/signatureService.js.map +1 -1
  7. package/lib/commonjs/ui/components/GroupedSection.js +1 -1
  8. package/lib/commonjs/ui/components/GroupedSection.js.map +1 -1
  9. package/lib/commonjs/ui/components/OxyProvider.js +71 -24
  10. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  11. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js +1 -4
  12. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js.map +1 -1
  13. package/lib/commonjs/ui/context/OxyContext.js +177 -4
  14. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  15. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +148 -49
  16. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  17. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +22 -2
  18. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -1
  19. package/lib/commonjs/ui/hooks/mutations/index.js +28 -0
  20. package/lib/commonjs/ui/hooks/mutations/index.js.map +1 -0
  21. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +314 -0
  22. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -0
  23. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +193 -0
  24. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -0
  25. package/lib/commonjs/ui/hooks/queries/index.js +39 -0
  26. package/lib/commonjs/ui/hooks/queries/index.js.map +1 -0
  27. package/lib/commonjs/ui/hooks/queries/queryKeys.js +85 -0
  28. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -0
  29. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +145 -0
  30. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -0
  31. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +138 -0
  32. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -0
  33. package/lib/commonjs/ui/hooks/queryClient.js +117 -0
  34. package/lib/commonjs/ui/hooks/queryClient.js.map +1 -0
  35. package/lib/commonjs/ui/hooks/useIdentityMutations.js +111 -0
  36. package/lib/commonjs/ui/hooks/useIdentityMutations.js.map +1 -0
  37. package/lib/commonjs/ui/hooks/useProfileEditing.js +42 -58
  38. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  39. package/lib/commonjs/ui/hooks/useQueryClient.js +20 -0
  40. package/lib/commonjs/ui/hooks/useQueryClient.js.map +1 -0
  41. package/lib/commonjs/ui/hooks/useSessionManagement.js +22 -2
  42. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  43. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +43 -42
  44. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  45. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +63 -58
  46. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  47. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +6 -6
  48. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  49. package/lib/commonjs/ui/stores/accountStore.js +57 -42
  50. package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
  51. package/lib/commonjs/ui/stores/authStore.js +4 -25
  52. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  53. package/lib/module/core/mixins/OxyServices.user.js +14 -13
  54. package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
  55. package/lib/module/crypto/keyManager.js +164 -3
  56. package/lib/module/crypto/keyManager.js.map +1 -1
  57. package/lib/module/crypto/signatureService.js +26 -0
  58. package/lib/module/crypto/signatureService.js.map +1 -1
  59. package/lib/module/ui/components/GroupedSection.js +1 -1
  60. package/lib/module/ui/components/GroupedSection.js.map +1 -1
  61. package/lib/module/ui/components/OxyProvider.js +72 -25
  62. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  63. package/lib/module/ui/components/profile/EditDisplayNameModal.js +1 -4
  64. package/lib/module/ui/components/profile/EditDisplayNameModal.js.map +1 -1
  65. package/lib/module/ui/context/OxyContext.js +176 -4
  66. package/lib/module/ui/context/OxyContext.js.map +1 -1
  67. package/lib/module/ui/context/hooks/useAuthOperations.js +148 -49
  68. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  69. package/lib/module/ui/context/hooks/useSessionManagement.js +22 -2
  70. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -1
  71. package/lib/module/ui/hooks/mutations/index.js +6 -0
  72. package/lib/module/ui/hooks/mutations/index.js.map +1 -0
  73. package/lib/module/ui/hooks/mutations/useAccountMutations.js +308 -0
  74. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -0
  75. package/lib/module/ui/hooks/mutations/useServicesMutations.js +185 -0
  76. package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -0
  77. package/lib/module/ui/hooks/queries/index.js +7 -0
  78. package/lib/module/ui/hooks/queries/index.js.map +1 -0
  79. package/lib/module/ui/hooks/queries/queryKeys.js +78 -0
  80. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -0
  81. package/lib/module/ui/hooks/queries/useAccountQueries.js +136 -0
  82. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -0
  83. package/lib/module/ui/hooks/queries/useServicesQueries.js +130 -0
  84. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -0
  85. package/lib/module/ui/hooks/queryClient.js +110 -0
  86. package/lib/module/ui/hooks/queryClient.js.map +1 -0
  87. package/lib/module/ui/hooks/useIdentityMutations.js +105 -0
  88. package/lib/module/ui/hooks/useIdentityMutations.js.map +1 -0
  89. package/lib/module/ui/hooks/useProfileEditing.js +43 -59
  90. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  91. package/lib/module/ui/hooks/useQueryClient.js +15 -0
  92. package/lib/module/ui/hooks/useQueryClient.js.map +1 -0
  93. package/lib/module/ui/hooks/useSessionManagement.js +22 -2
  94. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  95. package/lib/module/ui/screens/AccountOverviewScreen.js +43 -42
  96. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  97. package/lib/module/ui/screens/AccountSettingsScreen.js +63 -58
  98. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  99. package/lib/module/ui/screens/WelcomeNewUserScreen.js +6 -6
  100. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  101. package/lib/module/ui/stores/accountStore.js +57 -42
  102. package/lib/module/ui/stores/accountStore.js.map +1 -1
  103. package/lib/module/ui/stores/authStore.js +4 -25
  104. package/lib/module/ui/stores/authStore.js.map +1 -1
  105. package/lib/typescript/core/mixins/OxyServices.user.d.ts +4 -5
  106. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  107. package/lib/typescript/core/mixins/index.d.ts +0 -1
  108. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  109. package/lib/typescript/crypto/keyManager.d.ts +19 -2
  110. package/lib/typescript/crypto/keyManager.d.ts.map +1 -1
  111. package/lib/typescript/crypto/signatureService.d.ts +5 -0
  112. package/lib/typescript/crypto/signatureService.d.ts.map +1 -1
  113. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  114. package/lib/typescript/ui/components/profile/EditDisplayNameModal.d.ts.map +1 -1
  115. package/lib/typescript/ui/context/OxyContext.d.ts +4 -0
  116. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  117. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  118. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +3 -1
  119. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -1
  120. package/lib/typescript/ui/hooks/mutations/index.d.ts +3 -0
  121. package/lib/typescript/ui/hooks/mutations/index.d.ts.map +1 -0
  122. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +25 -0
  123. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -0
  124. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts +23 -0
  125. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -0
  126. package/lib/typescript/ui/hooks/queries/index.d.ts +4 -0
  127. package/lib/typescript/ui/hooks/queries/index.d.ts.map +1 -0
  128. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts +56 -0
  129. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts.map +1 -0
  130. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +41 -0
  131. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -0
  132. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts +34 -0
  133. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -0
  134. package/lib/typescript/ui/hooks/queryClient.d.ts +19 -0
  135. package/lib/typescript/ui/hooks/queryClient.d.ts.map +1 -0
  136. package/lib/typescript/ui/hooks/useIdentityMutations.d.ts +29 -0
  137. package/lib/typescript/ui/hooks/useIdentityMutations.d.ts.map +1 -0
  138. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
  139. package/lib/typescript/ui/hooks/useQueryClient.d.ts +7 -0
  140. package/lib/typescript/ui/hooks/useQueryClient.d.ts.map +1 -0
  141. package/lib/typescript/ui/hooks/useSessionManagement.d.ts +3 -1
  142. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
  143. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  144. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  145. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  146. package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
  147. package/lib/typescript/ui/stores/authStore.d.ts +0 -4
  148. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  149. package/package.json +5 -4
  150. package/src/core/mixins/OxyServices.user.ts +17 -10
  151. package/src/crypto/keyManager.ts +177 -2
  152. package/src/crypto/signatureService.ts +30 -0
  153. package/src/ui/components/GroupedSection.tsx +1 -1
  154. package/src/ui/components/OxyProvider.tsx +91 -37
  155. package/src/ui/components/profile/EditDisplayNameModal.tsx +1 -3
  156. package/src/ui/context/OxyContext.tsx +185 -2
  157. package/src/ui/context/hooks/useAuthOperations.ts +171 -58
  158. package/src/ui/context/hooks/useSessionManagement.ts +24 -1
  159. package/src/ui/hooks/mutations/index.ts +4 -0
  160. package/src/ui/hooks/mutations/useAccountMutations.ts +277 -0
  161. package/src/ui/hooks/mutations/useServicesMutations.ts +164 -0
  162. package/src/ui/hooks/queries/index.ts +5 -0
  163. package/src/ui/hooks/queries/queryKeys.ts +73 -0
  164. package/src/ui/hooks/queries/useAccountQueries.ts +126 -0
  165. package/src/ui/hooks/queries/useServicesQueries.ts +121 -0
  166. package/src/ui/hooks/queryClient.ts +112 -0
  167. package/src/ui/hooks/useIdentityMutations.ts +115 -0
  168. package/src/ui/hooks/useProfileEditing.ts +46 -60
  169. package/src/ui/hooks/useQueryClient.ts +17 -0
  170. package/src/ui/hooks/useSessionManagement.ts +24 -1
  171. package/src/ui/screens/AccountOverviewScreen.tsx +38 -46
  172. package/src/ui/screens/AccountSettingsScreen.tsx +54 -54
  173. package/src/ui/screens/WelcomeNewUserScreen.tsx +13 -12
  174. package/src/ui/stores/accountStore.ts +54 -43
  175. package/src/ui/stores/authStore.ts +3 -17
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_vectorIcons","_useThemeStyles","_useColorScheme","_useI18n","_fonts","_useProfileEditing","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EditDisplayNameModal","visible","onClose","initialDisplayName","initialLastName","theme","onSave","useI18n","colorScheme","useColorScheme","themeStyles","useThemeStyles","colors","updateField","isSaving","useProfileEditing","displayName","setDisplayName","useState","lastName","setLastName","useEffect","saveProfile","handleSave","updates","success","jsx","Modal","animationType","transparent","onRequestClose","children","View","style","styles","modalOverlay","jsxs","modalContent","backgroundColor","background","modalHeader","TouchableOpacity","onPress","closeButton","Ionicons","name","size","color","text","Text","modalTitle","disabled","saveButton","opacity","saveButtonText","tint","modalBody","inputGroup","label","TextInput","input","card","borderColor","border","value","onChangeText","placeholder","placeholderTextColor","secondaryText","autoFocus","selectionColor","exports","StyleSheet","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","Platform","OS","maxHeight","flexDirection","alignItems","paddingHorizontal","paddingBottom","borderBottomWidth","hairlineWidth","borderBottomColor","width","height","fontSize","fontWeight","fontFamily","fontFamilies","phuduSemiBold","textAlign","paddingVertical","padding","gap","borderWidth","borderRadius","minHeight"],"sourceRoot":"../../../../../src","sources":["ui/components/profile/EditDisplayNameModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_vectorIcons","_useThemeStyles","_useColorScheme","_useI18n","_fonts","_useProfileEditing","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EditDisplayNameModal","visible","onClose","initialDisplayName","initialLastName","theme","onSave","useI18n","colorScheme","useColorScheme","themeStyles","useThemeStyles","colors","saveProfile","isSaving","useProfileEditing","displayName","setDisplayName","useState","lastName","setLastName","useEffect","handleSave","updates","success","jsx","Modal","animationType","transparent","onRequestClose","children","View","style","styles","modalOverlay","jsxs","modalContent","backgroundColor","background","modalHeader","TouchableOpacity","onPress","closeButton","Ionicons","name","size","color","text","Text","modalTitle","disabled","saveButton","opacity","saveButtonText","tint","modalBody","inputGroup","label","TextInput","input","card","borderColor","border","value","onChangeText","placeholder","placeholderTextColor","secondaryText","autoFocus","selectionColor","exports","StyleSheet","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","Platform","OS","maxHeight","flexDirection","alignItems","paddingHorizontal","paddingBottom","borderBottomWidth","hairlineWidth","borderBottomColor","width","height","fontSize","fontWeight","fontFamily","fontFamilies","phuduSemiBold","textAlign","paddingVertical","padding","gap","borderWidth","borderRadius","minHeight"],"sourceRoot":"../../../../../src","sources":["ui/components/profile/EditDisplayNameModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,11 @@ var _useDeviceManagement = require("../hooks/useDeviceManagement");
18
18
  var _storageHelpers = require("../utils/storageHelpers");
19
19
  var _errorHandlers = require("../utils/errorHandlers");
20
20
  var _bottomSheetManager = require("../navigation/bottomSheetManager");
21
+ var _reactQuery = require("@tanstack/react-query");
22
+ var _queryClient = require("../hooks/queryClient");
23
+ var _accountStore = require("../stores/accountStore");
21
24
  var _jsxRuntime = require("react/jsx-runtime");
25
+ 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); }
22
26
  const OxyContext = /*#__PURE__*/(0, _react.createContext)(null);
23
27
  let cachedUseFollowHook = null;
24
28
  const loadUseFollowHook = () => {
@@ -101,11 +105,61 @@ const OxyProvider = ({
101
105
  }, []);
102
106
  const storageKeys = (0, _react.useMemo)(() => (0, _storageHelpers.getStorageKeys)(storageKeyPrefix), [storageKeyPrefix]);
103
107
  const {
104
- storage
108
+ storage,
109
+ isReady: isStorageReady
105
110
  } = (0, _useStorage.useStorage)({
106
111
  onError,
107
112
  logger
108
113
  });
114
+
115
+ // Identity integrity check and auto-restore on startup
116
+ (0, _react.useEffect)(() => {
117
+ if (!storage || !isStorageReady) return;
118
+ const checkAndRestoreIdentity = async () => {
119
+ try {
120
+ const {
121
+ KeyManager
122
+ } = await Promise.resolve().then(() => _interopRequireWildcard(require('../../crypto/index.js')));
123
+ // Check if identity exists and verify integrity
124
+ const hasIdentity = await KeyManager.hasIdentity();
125
+ if (hasIdentity) {
126
+ const isValid = await KeyManager.verifyIdentityIntegrity();
127
+ if (!isValid) {
128
+ // Try to restore from backup
129
+ const restored = await KeyManager.restoreIdentityFromBackup();
130
+ if (restored) {
131
+ if (__DEV__) {
132
+ logger('Identity restored from backup successfully');
133
+ }
134
+ } else {
135
+ if (__DEV__) {
136
+ logger('Identity integrity check failed - user may need to restore from recovery phrase');
137
+ }
138
+ }
139
+ } else {
140
+ // Identity is valid - ensure backup is up to date
141
+ await KeyManager.backupIdentity();
142
+ }
143
+ } else {
144
+ // No identity - try to restore from backup
145
+ const restored = await KeyManager.restoreIdentityFromBackup();
146
+ if (restored && __DEV__) {
147
+ logger('Identity restored from backup on startup');
148
+ }
149
+ }
150
+ } catch (error) {
151
+ if (__DEV__) {
152
+ logger('Error during identity integrity check', error);
153
+ }
154
+ // Don't block app startup - user can recover with recovery phrase
155
+ }
156
+ };
157
+ checkAndRestoreIdentity();
158
+ }, [storage, isStorageReady, logger]);
159
+
160
+ // Offline queuing is now handled by TanStack Query mutations
161
+ // No need for custom offline queue
162
+
109
163
  const {
110
164
  currentLanguage,
111
165
  metadata: currentLanguageMetadata,
@@ -119,6 +173,7 @@ const OxyProvider = ({
119
173
  onError,
120
174
  logger
121
175
  });
176
+ const queryClient = (0, _reactQuery.useQueryClient)();
122
177
  const {
123
178
  sessions,
124
179
  activeSessionId,
@@ -142,7 +197,8 @@ const OxyProvider = ({
142
197
  error: message
143
198
  }),
144
199
  logger,
145
- setTokenReady
200
+ setTokenReady,
201
+ queryClient
146
202
  });
147
203
  const {
148
204
  createIdentity,
@@ -153,7 +209,7 @@ const OxyProvider = ({
153
209
  hasIdentity,
154
210
  getPublicKey,
155
211
  isIdentitySynced,
156
- syncIdentity
212
+ syncIdentity: syncIdentityBase
157
213
  } = (0, _useAuthOperations.useAuthOperations)({
158
214
  oxyServices,
159
215
  storage,
@@ -175,6 +231,119 @@ const OxyProvider = ({
175
231
  setSyncing,
176
232
  logger
177
233
  });
234
+
235
+ // syncIdentity - TanStack Query handles offline mutations automatically
236
+ const syncIdentity = (0, _react.useCallback)(async () => {
237
+ return await syncIdentityBase();
238
+ }, [syncIdentityBase]);
239
+
240
+ // Clear all account data when identity is lost (for accounts app)
241
+ // In accounts app, identity = account, so losing identity means losing everything
242
+ const clearAllAccountData = (0, _react.useCallback)(async () => {
243
+ // Clear TanStack Query cache (in-memory)
244
+ queryClient.clear();
245
+
246
+ // Clear persisted query cache
247
+ if (storage) {
248
+ try {
249
+ await (0, _queryClient.clearQueryCache)(storage);
250
+ } catch (error) {
251
+ if (logger) {
252
+ logger('Failed to clear persisted query cache', error);
253
+ }
254
+ }
255
+ }
256
+
257
+ // Clear session state (sessions, activeSessionId, storage)
258
+ await clearSessionState();
259
+
260
+ // Clear identity sync state from storage
261
+ if (storage) {
262
+ try {
263
+ await storage.removeItem('oxy_identity_synced');
264
+ } catch (error) {
265
+ if (logger) {
266
+ logger('Failed to clear identity sync state', error);
267
+ }
268
+ }
269
+ }
270
+
271
+ // Reset auth store identity sync state
272
+ _authStore.useAuthStore.getState().setIdentitySynced(false);
273
+ _authStore.useAuthStore.getState().setSyncing(false);
274
+
275
+ // Reset account store
276
+ _accountStore.useAccountStore.getState().reset();
277
+
278
+ // Clear HTTP service cache
279
+ oxyServices.clearCache();
280
+ }, [queryClient, storage, clearSessionState, logger, oxyServices]);
281
+
282
+ // Delete identity and clear all account data
283
+ // In accounts app, deleting identity means losing the account completely
284
+ const deleteIdentityAndClearAccount = (0, _react.useCallback)(async (skipBackup = false, force = false, userConfirmed = false) => {
285
+ // First, clear all account data
286
+ await clearAllAccountData();
287
+
288
+ // Then delete the identity keys
289
+ const {
290
+ KeyManager
291
+ } = await Promise.resolve().then(() => _interopRequireWildcard(require('../../crypto/keyManager.js')));
292
+ await KeyManager.deleteIdentity(skipBackup, force, userConfirmed);
293
+ }, [clearAllAccountData]);
294
+
295
+ // Network reconnect sync - TanStack Query automatically retries mutations on reconnect
296
+ // We only need to sync identity if it's not synced
297
+ (0, _react.useEffect)(() => {
298
+ if (!storage) return;
299
+ let wasOffline = false;
300
+ let checkInterval = null;
301
+ const checkNetworkAndSync = async () => {
302
+ try {
303
+ // Try a lightweight health check to see if we're online
304
+ await oxyServices.healthCheck().catch(() => {
305
+ wasOffline = true;
306
+ return;
307
+ });
308
+
309
+ // If we were offline and now we're online, sync identity if needed
310
+ if (wasOffline) {
311
+ if (__DEV__ && logger) {
312
+ logger('Network reconnected, checking identity sync...');
313
+ }
314
+
315
+ // Sync identity first (if not synced)
316
+ try {
317
+ const isSynced = await storage.getItem('oxy_identity_synced');
318
+ if (isSynced === 'false') {
319
+ await syncIdentity();
320
+ }
321
+ } catch (syncError) {
322
+ if (__DEV__ && logger) {
323
+ logger('Error syncing identity on reconnect', syncError);
324
+ }
325
+ }
326
+
327
+ // TanStack Query will automatically retry pending mutations
328
+ wasOffline = false;
329
+ }
330
+ } catch (error) {
331
+ // Network check failed - we're offline
332
+ wasOffline = true;
333
+ }
334
+ };
335
+
336
+ // Check immediately
337
+ checkNetworkAndSync();
338
+
339
+ // Check periodically (every 10 seconds when app is active)
340
+ checkInterval = setInterval(checkNetworkAndSync, 10000);
341
+ return () => {
342
+ if (checkInterval) {
343
+ clearInterval(checkInterval);
344
+ }
345
+ };
346
+ }, [oxyServices, storage, syncIdentity, logger]);
178
347
  const {
179
348
  getDeviceSessions,
180
349
  logoutAllDeviceSessions,
@@ -291,6 +460,7 @@ const OxyProvider = ({
291
460
  isAuthenticated,
292
461
  isLoading,
293
462
  isTokenReady: tokenReady,
463
+ isStorageReady,
294
464
  error,
295
465
  currentLanguage,
296
466
  currentLanguageMetadata,
@@ -303,6 +473,7 @@ const OxyProvider = ({
303
473
  getPublicKey,
304
474
  isIdentitySynced,
305
475
  syncIdentity,
476
+ deleteIdentityAndClearAccount,
306
477
  identitySyncState: {
307
478
  isSynced: isIdentitySyncedStore ?? true,
308
479
  isSyncing: isSyncing ?? false
@@ -316,10 +487,12 @@ const OxyProvider = ({
316
487
  getDeviceSessions,
317
488
  logoutAllDeviceSessions,
318
489
  updateDeviceName,
490
+ clearSessionState,
491
+ clearAllAccountData,
319
492
  oxyServices,
320
493
  useFollow: useFollowHook,
321
494
  showBottomSheet: 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]);
495
+ }), [activeSessionId, createIdentity, importIdentity, signIn, hasIdentity, getPublicKey, isIdentitySynced, syncIdentity, deleteIdentityAndClearAccount, 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]);
323
496
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(OxyContext.Provider, {
324
497
  value: contextValue,
325
498
  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","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":[]}
1
+ {"version":3,"names":["_react","require","_core","_sonner","_authStore","_shallow","_useSessionSocket","_useStorage","_useLanguageManagement","_useSessionManagement","_useAuthOperations","_useDeviceManagement","_storageHelpers","_errorHandlers","_bottomSheetManager","_reactQuery","_queryClient","_accountStore","_jsxRuntime","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","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","isReady","isStorageReady","useStorage","useEffect","checkAndRestoreIdentity","KeyManager","Promise","resolve","then","hasIdentity","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","checkInterval","checkNetworkAndSync","healthCheck","catch","isSynced","getItem","syncError","setInterval","clearInterval","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","merge","switchError","isInvalidSessionError","filter","session","activeSession","find","undefined","currentDeviceId","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","toast","info","remoteError","useSessionSocket","getBaseURL","onRemoteSignOut","onSessionRemoved","switchSessionForContext","showBottomSheetForContext","screenOrConfig","globalShowBottomSheet","contextValue","isTokenReady","identitySyncState","removeSession","showBottomSheet","jsx","Provider","value","exports","OxyContextProvider","useOxy","context","useContext","_default"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -40,18 +40,36 @@ const useAuthOperations = ({
40
40
  logger
41
41
  }) => {
42
42
  /**
43
- * Internal function to perform challenge-response sign in
43
+ * Internal function to perform challenge-response sign in (works offline)
44
44
  */
45
45
  const performSignIn = (0, _react.useCallback)(async publicKey => {
46
46
  const deviceFingerprintObj = _deviceManager.DeviceManager.getDeviceFingerprint();
47
47
  const deviceFingerprint = JSON.stringify(deviceFingerprintObj);
48
48
  const deviceInfo = await _deviceManager.DeviceManager.getDeviceInfo();
49
49
  const deviceName = deviceInfo.deviceName || _deviceManager.DeviceManager.getDefaultDeviceName();
50
+ let challenge;
51
+ let isOffline = false;
50
52
 
51
- // Request challenge
52
- const {
53
- challenge
54
- } = await oxyServices.requestChallenge(publicKey);
53
+ // Try to request challenge from server (online)
54
+ try {
55
+ const challengeResponse = await oxyServices.requestChallenge(publicKey);
56
+ challenge = challengeResponse.challenge;
57
+ } catch (error) {
58
+ // Network error - generate challenge locally for offline sign-in
59
+ const errorMessage = error instanceof Error ? error.message : String(error);
60
+ const isNetworkError = errorMessage.includes('Network') || errorMessage.includes('network') || errorMessage.includes('Failed to fetch') || errorMessage.includes('fetch failed') || error?.code === 'NETWORK_ERROR' || error?.status === 0;
61
+ if (isNetworkError) {
62
+ if (__DEV__ && logger) {
63
+ logger('Network unavailable, performing offline sign-in');
64
+ }
65
+ // Generate challenge locally
66
+ challenge = await _crypto.SignatureService.generateChallenge();
67
+ isOffline = true;
68
+ } else {
69
+ // Re-throw non-network errors
70
+ throw error;
71
+ }
72
+ }
55
73
 
56
74
  // Note: Biometric authentication check should be handled by the app layer
57
75
  // (e.g., accounts app) before calling signIn. The biometric preference is stored
@@ -62,58 +80,118 @@ const useAuthOperations = ({
62
80
  challenge: signature,
63
81
  timestamp
64
82
  } = await _crypto.SignatureService.signChallenge(challenge);
83
+ let fullUser;
84
+ let sessionResponse;
85
+ if (isOffline) {
86
+ // Offline sign-in: create local session and minimal user object
87
+ if (__DEV__ && logger) {
88
+ logger('Creating offline session');
89
+ }
65
90
 
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);
91
+ // Generate a local session ID
92
+ const localSessionId = `offline_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
93
+ const localDeviceId = `device_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
94
+ const expiresAt = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString(); // 7 days
71
95
 
72
- // Get full user data
73
- const fullUser = await oxyServices.getUserBySession(sessionResponse.sessionId);
74
- await applyLanguagePreference(fullUser);
75
- loginSuccess(fullUser);
96
+ // Create minimal user object with publicKey as id
97
+ fullUser = {
98
+ id: publicKey,
99
+ // Use publicKey as id (per migration document)
100
+ publicKey,
101
+ username: '',
102
+ privacySettings: {}
103
+ };
104
+ sessionResponse = {
105
+ sessionId: localSessionId,
106
+ deviceId: localDeviceId,
107
+ expiresAt,
108
+ user: {
109
+ id: publicKey,
110
+ username: ''
111
+ }
112
+ };
76
113
 
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
114
+ // Store offline session locally
115
+ const offlineSession = {
116
+ sessionId: localSessionId,
117
+ deviceId: localDeviceId,
118
+ expiresAt,
119
+ lastActive: new Date().toISOString(),
120
+ userId: publicKey,
121
+ isCurrent: true
122
+ };
123
+ setActiveSessionId(localSessionId);
124
+ await saveActiveSessionId(localSessionId);
125
+ updateSessions([offlineSession], {
126
+ merge: true
84
127
  });
85
- } catch (error) {
86
- if (__DEV__) {
87
- console.warn('Failed to fetch device sessions after login:', error);
128
+
129
+ // Mark session as offline for later sync
130
+ if (storage) {
131
+ await storage.setItem(`oxy_session_${localSessionId}_offline`, 'true');
88
132
  }
89
- }
133
+ if (__DEV__ && logger) {
134
+ logger('Offline sign-in successful');
135
+ }
136
+ } else {
137
+ // Online sign-in: use normal flow
138
+ // Verify and create session
139
+ sessionResponse = await oxyServices.verifyChallenge(publicKey, challenge, signature, timestamp, deviceName, deviceFingerprint);
140
+
141
+ // Get token for the session
142
+ await oxyServices.getTokenBySession(sessionResponse.sessionId);
90
143
 
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
144
+ // Get full user data
145
+ fullUser = await oxyServices.getUserBySession(sessionResponse.sessionId);
146
+
147
+ // Ensure id is set to publicKey (per migration document)
148
+ if (fullUser.id !== fullUser.publicKey) {
149
+ fullUser.id = fullUser.publicKey;
150
+ }
151
+
152
+ // Fetch device sessions
153
+ let allDeviceSessions = [];
95
154
  try {
96
- await oxyServices.logoutSession(sessionResponse.sessionId, sessionResponse.sessionId);
97
- } catch (logoutError) {
155
+ allDeviceSessions = await (0, _sessionHelpers.fetchSessionsWithFallback)(oxyServices, sessionResponse.sessionId, {
156
+ fallbackDeviceId: sessionResponse.deviceId,
157
+ fallbackUserId: fullUser.id,
158
+ logger
159
+ });
160
+ } catch (error) {
98
161
  if (__DEV__) {
99
- console.warn('Failed to logout duplicate session:', logoutError);
162
+ console.warn('Failed to fetch device sessions after login:', error);
100
163
  }
101
164
  }
102
- await switchSession(existingSession.sessionId);
103
- updateSessions(allDeviceSessions.filter(session => session.sessionId !== sessionResponse.sessionId), {
104
- merge: false
165
+
166
+ // Check for existing session for same user
167
+ const existingSession = allDeviceSessions.find(session => session.userId?.toString() === fullUser.id?.toString() && session.sessionId !== sessionResponse.sessionId);
168
+ if (existingSession) {
169
+ // Logout duplicate session
170
+ try {
171
+ await oxyServices.logoutSession(sessionResponse.sessionId, sessionResponse.sessionId);
172
+ } catch (logoutError) {
173
+ if (__DEV__) {
174
+ console.warn('Failed to logout duplicate session:', logoutError);
175
+ }
176
+ }
177
+ await switchSession(existingSession.sessionId);
178
+ updateSessions(allDeviceSessions.filter(session => session.sessionId !== sessionResponse.sessionId), {
179
+ merge: false
180
+ });
181
+ onAuthStateChange?.(fullUser);
182
+ return fullUser;
183
+ }
184
+ setActiveSessionId(sessionResponse.sessionId);
185
+ await saveActiveSessionId(sessionResponse.sessionId);
186
+ updateSessions(allDeviceSessions, {
187
+ merge: true
105
188
  });
106
- onAuthStateChange?.(fullUser);
107
- return fullUser;
108
189
  }
109
- setActiveSessionId(sessionResponse.sessionId);
110
- await saveActiveSessionId(sessionResponse.sessionId);
111
- updateSessions(allDeviceSessions, {
112
- merge: true
113
- });
190
+ await applyLanguagePreference(fullUser);
191
+ loginSuccess(fullUser);
114
192
  onAuthStateChange?.(fullUser);
115
193
  return fullUser;
116
- }, [applyLanguagePreference, logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, setActiveSessionId, switchSession, updateSessions]);
194
+ }, [applyLanguagePreference, logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, setActiveSessionId, switchSession, updateSessions, storage]);
117
195
 
118
196
  /**
119
197
  * Create a new identity with recovery phrase (offline-first)
@@ -163,10 +241,27 @@ const useAuthOperations = ({
163
241
  };
164
242
  }
165
243
  } catch (error) {
166
- // Clean up identity if generation failed
167
- await _crypto.KeyManager.deleteIdentity().catch(() => {});
168
- await storage.removeItem('oxy_identity_synced').catch(() => {});
169
- setIdentitySynced(true);
244
+ // 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
246
+ // Identity deletion should ONLY happen when explicitly requested by the user
247
+ if (__DEV__ && logger) {
248
+ logger('Error during identity creation (identity may still exist):', error);
249
+ }
250
+
251
+ // Check if identity was actually created (keys exist)
252
+ const hasIdentity = await _crypto.KeyManager.hasIdentity().catch(() => false);
253
+ if (hasIdentity) {
254
+ // Identity exists - don't delete it! Just mark as not synced
255
+ await storage.setItem('oxy_identity_synced', 'false').catch(() => {});
256
+ setIdentitySynced(false);
257
+ if (__DEV__ && logger) {
258
+ logger('Identity was created but sync failed - user can sync later using recovery phrase');
259
+ }
260
+ } else {
261
+ // No identity exists - this was a generation failure, safe to clean up sync flag
262
+ await storage.removeItem('oxy_identity_synced').catch(() => {});
263
+ setIdentitySynced(false);
264
+ }
170
265
  const message = (0, _errorHandlers.handleAuthError)(error, {
171
266
  defaultMessage: 'Failed to create identity',
172
267
  code: REGISTER_ERROR_CODE,
@@ -198,6 +293,7 @@ const useAuthOperations = ({
198
293
 
199
294
  /**
200
295
  * Sync local identity with server (call when online)
296
+ * TanStack Query handles offline mutations automatically
201
297
  */
202
298
  const syncIdentity = (0, _react.useCallback)(async () => {
203
299
  if (!storage) throw new Error('Storage not initialized');
@@ -215,7 +311,6 @@ const useAuthOperations = ({
215
311
  // Check if already synced
216
312
  const alreadySynced = await storage.getItem('oxy_identity_synced');
217
313
  if (alreadySynced === 'true') {
218
- // Already synced, just sign in
219
314
  setIdentitySynced(true);
220
315
  return await performSignIn(publicKey);
221
316
  }
@@ -238,7 +333,11 @@ const useAuthOperations = ({
238
333
  setIdentitySynced(true);
239
334
 
240
335
  // Sign in
241
- return await performSignIn(publicKey);
336
+ const user = await performSignIn(publicKey);
337
+
338
+ // TanStack Query will automatically retry any pending mutations
339
+
340
+ return user;
242
341
  } catch (error) {
243
342
  const message = (0, _errorHandlers.handleAuthError)(error, {
244
343
  defaultMessage: 'Failed to sync identity',