@oxyhq/services 5.16.0 → 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 (190) hide show
  1. package/lib/commonjs/core/mixins/OxyServices.assets.js +15 -0
  2. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
  3. package/lib/commonjs/core/mixins/OxyServices.user.js +14 -13
  4. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
  5. package/lib/commonjs/crypto/keyManager.js +164 -3
  6. package/lib/commonjs/crypto/keyManager.js.map +1 -1
  7. package/lib/commonjs/crypto/signatureService.js +26 -0
  8. package/lib/commonjs/crypto/signatureService.js.map +1 -1
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/ui/components/GroupedSection.js +1 -1
  11. package/lib/commonjs/ui/components/GroupedSection.js.map +1 -1
  12. package/lib/commonjs/ui/components/OxyProvider.js +71 -24
  13. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  14. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js +1 -4
  15. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js.map +1 -1
  16. package/lib/commonjs/ui/context/OxyContext.js +177 -4
  17. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  18. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +148 -49
  19. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  20. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +22 -2
  21. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -1
  22. package/lib/commonjs/ui/hooks/mutations/index.js +28 -0
  23. package/lib/commonjs/ui/hooks/mutations/index.js.map +1 -0
  24. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +314 -0
  25. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -0
  26. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +193 -0
  27. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -0
  28. package/lib/commonjs/ui/hooks/queries/index.js +39 -0
  29. package/lib/commonjs/ui/hooks/queries/index.js.map +1 -0
  30. package/lib/commonjs/ui/hooks/queries/queryKeys.js +85 -0
  31. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -0
  32. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +145 -0
  33. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -0
  34. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +138 -0
  35. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -0
  36. package/lib/commonjs/ui/hooks/queryClient.js +117 -0
  37. package/lib/commonjs/ui/hooks/queryClient.js.map +1 -0
  38. package/lib/commonjs/ui/hooks/useIdentityMutations.js +111 -0
  39. package/lib/commonjs/ui/hooks/useIdentityMutations.js.map +1 -0
  40. package/lib/commonjs/ui/hooks/useProfileEditing.js +42 -58
  41. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  42. package/lib/commonjs/ui/hooks/useQueryClient.js +20 -0
  43. package/lib/commonjs/ui/hooks/useQueryClient.js.map +1 -0
  44. package/lib/commonjs/ui/hooks/useSessionManagement.js +22 -2
  45. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  46. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +43 -42
  47. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  48. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +63 -58
  49. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  50. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +6 -6
  51. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  52. package/lib/commonjs/ui/stores/accountStore.js +57 -42
  53. package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
  54. package/lib/commonjs/ui/stores/authStore.js +4 -25
  55. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  56. package/lib/module/core/mixins/OxyServices.assets.js +15 -0
  57. package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
  58. package/lib/module/core/mixins/OxyServices.user.js +14 -13
  59. package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
  60. package/lib/module/crypto/keyManager.js +164 -3
  61. package/lib/module/crypto/keyManager.js.map +1 -1
  62. package/lib/module/crypto/signatureService.js +26 -0
  63. package/lib/module/crypto/signatureService.js.map +1 -1
  64. package/lib/module/index.js.map +1 -1
  65. package/lib/module/ui/components/GroupedSection.js +1 -1
  66. package/lib/module/ui/components/GroupedSection.js.map +1 -1
  67. package/lib/module/ui/components/OxyProvider.js +72 -25
  68. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  69. package/lib/module/ui/components/profile/EditDisplayNameModal.js +1 -4
  70. package/lib/module/ui/components/profile/EditDisplayNameModal.js.map +1 -1
  71. package/lib/module/ui/context/OxyContext.js +176 -4
  72. package/lib/module/ui/context/OxyContext.js.map +1 -1
  73. package/lib/module/ui/context/hooks/useAuthOperations.js +148 -49
  74. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  75. package/lib/module/ui/context/hooks/useSessionManagement.js +22 -2
  76. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -1
  77. package/lib/module/ui/hooks/mutations/index.js +6 -0
  78. package/lib/module/ui/hooks/mutations/index.js.map +1 -0
  79. package/lib/module/ui/hooks/mutations/useAccountMutations.js +308 -0
  80. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -0
  81. package/lib/module/ui/hooks/mutations/useServicesMutations.js +185 -0
  82. package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -0
  83. package/lib/module/ui/hooks/queries/index.js +7 -0
  84. package/lib/module/ui/hooks/queries/index.js.map +1 -0
  85. package/lib/module/ui/hooks/queries/queryKeys.js +78 -0
  86. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -0
  87. package/lib/module/ui/hooks/queries/useAccountQueries.js +136 -0
  88. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -0
  89. package/lib/module/ui/hooks/queries/useServicesQueries.js +130 -0
  90. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -0
  91. package/lib/module/ui/hooks/queryClient.js +110 -0
  92. package/lib/module/ui/hooks/queryClient.js.map +1 -0
  93. package/lib/module/ui/hooks/useIdentityMutations.js +105 -0
  94. package/lib/module/ui/hooks/useIdentityMutations.js.map +1 -0
  95. package/lib/module/ui/hooks/useProfileEditing.js +43 -59
  96. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  97. package/lib/module/ui/hooks/useQueryClient.js +15 -0
  98. package/lib/module/ui/hooks/useQueryClient.js.map +1 -0
  99. package/lib/module/ui/hooks/useSessionManagement.js +22 -2
  100. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  101. package/lib/module/ui/screens/AccountOverviewScreen.js +43 -42
  102. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  103. package/lib/module/ui/screens/AccountSettingsScreen.js +63 -58
  104. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  105. package/lib/module/ui/screens/WelcomeNewUserScreen.js +6 -6
  106. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  107. package/lib/module/ui/stores/accountStore.js +57 -42
  108. package/lib/module/ui/stores/accountStore.js.map +1 -1
  109. package/lib/module/ui/stores/authStore.js +4 -25
  110. package/lib/module/ui/stores/authStore.js.map +1 -1
  111. package/lib/typescript/core/mixins/OxyServices.assets.d.ts +7 -1
  112. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
  113. package/lib/typescript/core/mixins/OxyServices.user.d.ts +4 -5
  114. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  115. package/lib/typescript/core/mixins/index.d.ts +1 -1
  116. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  117. package/lib/typescript/crypto/keyManager.d.ts +19 -2
  118. package/lib/typescript/crypto/keyManager.d.ts.map +1 -1
  119. package/lib/typescript/crypto/signatureService.d.ts +5 -0
  120. package/lib/typescript/crypto/signatureService.d.ts.map +1 -1
  121. package/lib/typescript/index.d.ts +1 -1
  122. package/lib/typescript/index.d.ts.map +1 -1
  123. package/lib/typescript/models/interfaces.d.ts +21 -0
  124. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  125. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  126. package/lib/typescript/ui/components/profile/EditDisplayNameModal.d.ts.map +1 -1
  127. package/lib/typescript/ui/context/OxyContext.d.ts +4 -0
  128. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  129. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  130. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +3 -1
  131. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -1
  132. package/lib/typescript/ui/hooks/mutations/index.d.ts +3 -0
  133. package/lib/typescript/ui/hooks/mutations/index.d.ts.map +1 -0
  134. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +25 -0
  135. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -0
  136. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts +23 -0
  137. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -0
  138. package/lib/typescript/ui/hooks/queries/index.d.ts +4 -0
  139. package/lib/typescript/ui/hooks/queries/index.d.ts.map +1 -0
  140. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts +56 -0
  141. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts.map +1 -0
  142. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +41 -0
  143. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -0
  144. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts +34 -0
  145. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -0
  146. package/lib/typescript/ui/hooks/queryClient.d.ts +19 -0
  147. package/lib/typescript/ui/hooks/queryClient.d.ts.map +1 -0
  148. package/lib/typescript/ui/hooks/useIdentityMutations.d.ts +29 -0
  149. package/lib/typescript/ui/hooks/useIdentityMutations.d.ts.map +1 -0
  150. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
  151. package/lib/typescript/ui/hooks/useQueryClient.d.ts +7 -0
  152. package/lib/typescript/ui/hooks/useQueryClient.d.ts.map +1 -0
  153. package/lib/typescript/ui/hooks/useSessionManagement.d.ts +3 -1
  154. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
  155. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  156. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  157. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  158. package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
  159. package/lib/typescript/ui/stores/authStore.d.ts +0 -4
  160. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  161. package/package.json +6 -5
  162. package/src/core/mixins/OxyServices.assets.ts +16 -1
  163. package/src/core/mixins/OxyServices.user.ts +17 -10
  164. package/src/crypto/keyManager.ts +177 -2
  165. package/src/crypto/signatureService.ts +30 -0
  166. package/src/index.ts +4 -1
  167. package/src/models/interfaces.ts +23 -0
  168. package/src/ui/components/GroupedSection.tsx +1 -1
  169. package/src/ui/components/OxyProvider.tsx +91 -37
  170. package/src/ui/components/profile/EditDisplayNameModal.tsx +1 -3
  171. package/src/ui/context/OxyContext.tsx +185 -2
  172. package/src/ui/context/hooks/useAuthOperations.ts +171 -58
  173. package/src/ui/context/hooks/useSessionManagement.ts +24 -1
  174. package/src/ui/hooks/mutations/index.ts +4 -0
  175. package/src/ui/hooks/mutations/useAccountMutations.ts +277 -0
  176. package/src/ui/hooks/mutations/useServicesMutations.ts +164 -0
  177. package/src/ui/hooks/queries/index.ts +5 -0
  178. package/src/ui/hooks/queries/queryKeys.ts +73 -0
  179. package/src/ui/hooks/queries/useAccountQueries.ts +126 -0
  180. package/src/ui/hooks/queries/useServicesQueries.ts +121 -0
  181. package/src/ui/hooks/queryClient.ts +112 -0
  182. package/src/ui/hooks/useIdentityMutations.ts +115 -0
  183. package/src/ui/hooks/useProfileEditing.ts +46 -60
  184. package/src/ui/hooks/useQueryClient.ts +17 -0
  185. package/src/ui/hooks/useSessionManagement.ts +24 -1
  186. package/src/ui/screens/AccountOverviewScreen.tsx +38 -46
  187. package/src/ui/screens/AccountSettingsScreen.tsx +54 -54
  188. package/src/ui/screens/WelcomeNewUserScreen.tsx +13 -12
  189. package/src/ui/stores/accountStore.ts +54 -43
  190. package/src/ui/stores/authStore.ts +3 -17
@@ -1 +1 @@
1
- {"version":3,"names":["ec","EC","SecureStore","ExpoCrypto","STORAGE_KEYS","PRIVATE_KEY","PUBLIC_KEY","initSecureStore","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoCrypto","uint8ArrayToHex","bytes","Array","from","map","b","toString","padStart","join","getSecureRandomBytes","length","Crypto","getRandomBytes","getCrypto","Function","crypto","Uint8Array","randomBytes","error","KeyManager","generateKeyPairSync","keyPair","genKeyPair","privateKey","getPrivate","publicKey","getPublic","generateKeyPair","privateKeyHex","keyFromPrivate","createIdentity","store","setItemAsync","keychainAccessible","WHEN_UNLOCKED_THIS_DEVICE_ONLY","importKeyPair","getPrivateKey","getItemAsync","getPublicKey","hasIdentity","deleteIdentity","deleteItemAsync","getKeyPairObject","derivePublicKey","isValidPublicKey","keyFromPublic","isValidPrivateKey","shortenPublicKey","slice"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ec","EC","SecureStore","ExpoCrypto","STORAGE_KEYS","PRIVATE_KEY","PUBLIC_KEY","BACKUP_PRIVATE_KEY","BACKUP_PUBLIC_KEY","BACKUP_TIMESTAMP","initSecureStore","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoCrypto","uint8ArrayToHex","bytes","Array","from","map","b","toString","padStart","join","getSecureRandomBytes","length","Crypto","getRandomBytes","getCrypto","Function","crypto","Uint8Array","randomBytes","error","KeyManager","generateKeyPairSync","keyPair","genKeyPair","privateKey","getPrivate","publicKey","getPublic","generateKeyPair","privateKeyHex","keyFromPrivate","createIdentity","store","setItemAsync","keychainAccessible","WHEN_UNLOCKED_THIS_DEVICE_ONLY","importKeyPair","getPrivateKey","getItemAsync","getPublicKey","hasIdentity","deleteIdentity","skipBackup","force","userConfirmed","Error","backupSuccess","backupIdentity","__DEV__","console","warn","backupError","deleteItemAsync","Date","now","verifyIdentityIntegrity","isValidPrivateKey","isValidPublicKey","derivedPublicKey","derivePublicKey","getKeyPairObject","restoreIdentityFromBackup","backupPrivateKey","backupPublicKey","restored","keyFromPublic","shortenPublicKey","slice"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
@@ -63,6 +63,32 @@ async function sha256(message) {
63
63
  }
64
64
  }
65
65
  export class SignatureService {
66
+ /**
67
+ * Generate a random challenge string (for offline use)
68
+ * Uses expo-crypto in React Native, crypto.randomBytes in Node.js
69
+ */
70
+ static async generateChallenge() {
71
+ if (isReactNative() || !isNodeJS()) {
72
+ // Use expo-crypto for React Native (expo-random is deprecated)
73
+ const Crypto = await initExpoCrypto();
74
+ const randomBytes = await Crypto.getRandomBytesAsync(32);
75
+ return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
76
+ }
77
+
78
+ // Node.js fallback
79
+ try {
80
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval
81
+ const getCrypto = new Function('return require("crypto")');
82
+ const crypto = getCrypto();
83
+ return crypto.randomBytes(32).toString('hex');
84
+ } catch (error) {
85
+ // Fallback to expo-crypto if Node crypto fails
86
+ const Crypto = await initExpoCrypto();
87
+ const randomBytes = await Crypto.getRandomBytesAsync(32);
88
+ return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
89
+ }
90
+ }
91
+
66
92
  /**
67
93
  * Hash a message using SHA-256
68
94
  */
@@ -1 +1 @@
1
- {"version":3,"names":["ec","EC","KeyManager","ExpoCrypto","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoCrypto","sha256","message","Crypto","digestStringAsync","CryptoDigestAlgorithm","SHA256","getCrypto","Function","crypto","createHash","update","digest","error","SignatureService","hashMessage","sign","keyPair","getKeyPairObject","Error","messageHash","signature","toDER","signWithKey","privateKey","keyFromPrivate","verify","publicKey","key","keyFromPublic","verifySync","createSignedMessage","getPublicKey","timestamp","Date","now","messageWithTimestamp","verifySignedMessage","signedMessage","maxAgeMs","signChallenge","challenge","verifyChallengeResponse","originalChallenge","response","createRegistrationSignature","signRequestData","data","sortedKeys","Object","keys","sort","canonicalParts","map","JSON","stringify","canonicalString","join"],"sourceRoot":"../../../src","sources":["crypto/signatureService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ec","EC","KeyManager","ExpoCrypto","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoCrypto","sha256","message","Crypto","digestStringAsync","CryptoDigestAlgorithm","SHA256","getCrypto","Function","crypto","createHash","update","digest","error","SignatureService","generateChallenge","randomBytes","getRandomBytesAsync","Array","from","map","b","toString","padStart","join","hashMessage","sign","keyPair","getKeyPairObject","Error","messageHash","signature","toDER","signWithKey","privateKey","keyFromPrivate","verify","publicKey","key","keyFromPublic","verifySync","createSignedMessage","getPublicKey","timestamp","Date","now","messageWithTimestamp","verifySignedMessage","signedMessage","maxAgeMs","signChallenge","challenge","verifyChallengeResponse","originalChallenge","response","createRegistrationSignature","signRequestData","data","sortedKeys","Object","keys","sort","canonicalParts","JSON","stringify","canonicalString"],"sourceRoot":"../../../src","sources":["crypto/signatureService.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["KeyManager","SignatureService","RecoveryPhraseService","OxyServices","OxyAuthenticationError","OxyAuthenticationTimeoutError","OXY_CLOUD_URL","oxyClient","OxyContextProvider","useOxy","default","OxyProvider","DeviceManager","SUPPORTED_LANGUAGES","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","setOxyFileUrlInstance","OxySignInButton","OxyLogo","FollowButton","ErrorCodes","createApiError","handleHttpError","validateRequiredFields","retryWithBackoff","logger","LogLevel","LogContext","logAuth","logApi","logSession","logUser","logDevice","logPayment","logPerformance"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,mBAAmB;;AAE1B;AACA,SACEA,UAAU,EACVC,gBAAgB,EAChBC,qBAAqB,QAChB,UAAU;;AAEjB;AACA,SAASC,WAAW,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,QAAQ;AAC3F,SAASC,aAAa,EAAEC,SAAS,QAAQ,QAAQ;AAQjD;AACA,SACEC,kBAAkB;AAAE;AACpBC,MAAM,QACD,yBAAyB;;AAEhC;AACA,SAASC,OAAO,IAAIC,WAAW,QAAQ,6BAA6B;;AAEpE;AACA,SAASC,aAAa,QAAQ,uBAAuB;AAGrD;AACA,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,qBAAqB,EACrBC,qBAAqB,QAChB,uBAAuB;;AAG9B;;AA2DA;AACA,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,aAAa,EAAEC,SAAS,IAAIC,cAAc,EAAEC,QAAQ,EAAEC,iBAAiB,EAAEC,eAAe,EAAEC,cAAc,EAAEC,cAAc,EAAEC,iBAAiB,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,wBAAwB;AAC1N,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASV,SAAS,EAAEW,mBAAmB,QAAQ,sBAAsB;AACrE,SAASC,kBAAkB,EAAEC,qBAAqB,QAAQ,+BAA+B;;AAEzF;AACA,SAASC,eAAe,QAAQ,iCAAiC;AACjE,SAASC,OAAO,EAAEC,YAAY,QAAQ,MAAM;;AAE5C;AACA,cAAc,kBAAkB;AAChC,SACEC,UAAU,EACVC,cAAc,EACdC,eAAe,EACfC,sBAAsB,EACtBC,gBAAgB,QACX,oBAAoB;AAC3B,cAAc,yBAAyB;AACvC,SACEC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,OAAO,EACPC,MAAM,EACNC,UAAU,EACVC,OAAO,EACPC,SAAS,EACTC,UAAU,EACVC,cAAc,QACT,qBAAqB;AAC5B,cAAc,oBAAoB;AAClC,cAAc,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["KeyManager","SignatureService","RecoveryPhraseService","OxyServices","OxyAuthenticationError","OxyAuthenticationTimeoutError","OXY_CLOUD_URL","oxyClient","OxyContextProvider","useOxy","default","OxyProvider","DeviceManager","SUPPORTED_LANGUAGES","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","setOxyFileUrlInstance","OxySignInButton","OxyLogo","FollowButton","ErrorCodes","createApiError","handleHttpError","validateRequiredFields","retryWithBackoff","logger","LogLevel","LogContext","logAuth","logApi","logSession","logUser","logDevice","logPayment","logPerformance"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,mBAAmB;;AAE1B;AACA,SACEA,UAAU,EACVC,gBAAgB,EAChBC,qBAAqB,QAChB,UAAU;;AAEjB;AACA,SAASC,WAAW,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,QAAQ;AAC3F,SAASC,aAAa,EAAEC,SAAS,QAAQ,QAAQ;AAQjD;AACA,SACEC,kBAAkB;AAAE;AACpBC,MAAM,QACD,yBAAyB;;AAEhC;AACA,SAASC,OAAO,IAAIC,WAAW,QAAQ,6BAA6B;;AAEpE;AACA,SAASC,aAAa,QAAQ,uBAAuB;AAGrD;AACA,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,qBAAqB,EACrBC,qBAAqB,QAChB,uBAAuB;;AAG9B;;AA8DA;AACA,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,aAAa,EAAEC,SAAS,IAAIC,cAAc,EAAEC,QAAQ,EAAEC,iBAAiB,EAAEC,eAAe,EAAEC,cAAc,EAAEC,cAAc,EAAEC,iBAAiB,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,wBAAwB;AAC1N,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASV,SAAS,EAAEW,mBAAmB,QAAQ,sBAAsB;AACrE,SAASC,kBAAkB,EAAEC,qBAAqB,QAAQ,+BAA+B;;AAEzF;AACA,SAASC,eAAe,QAAQ,iCAAiC;AACjE,SAASC,OAAO,EAAEC,YAAY,QAAQ,MAAM;;AAE5C;AACA,cAAc,kBAAkB;AAChC,SACEC,UAAU,EACVC,cAAc,EACdC,eAAe,EACfC,sBAAsB,EACtBC,gBAAgB,QACX,oBAAoB;AAC3B,cAAc,yBAAyB;AACvC,SACEC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,OAAO,EACPC,MAAM,EACNC,UAAU,EACVC,OAAO,EACPC,SAAS,EACTC,UAAU,EACVC,cAAc,QACT,qBAAqB;AAC5B,cAAc,oBAAoB;AAClC,cAAc,mBAAmB","ignoreList":[]}
@@ -28,7 +28,7 @@ const GroupedSectionComponent = ({
28
28
  customContent: item.customContent,
29
29
  customIcon: item.customIcon
30
30
  })
31
- }, item.id))
31
+ }, `${item.id}-${index}`))
32
32
  });
33
33
  };
34
34
  GroupedSectionComponent.displayName = 'GroupedSection';
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","View","GroupedItem","jsx","_jsx","GroupedSectionComponent","items","style","width","children","map","item","index","marginBottom","length","icon","iconColor","title","subtitle","onPress","isFirst","isLast","showChevron","disabled","customContent","customIcon","id","displayName","GroupedSection"],"sourceRoot":"../../../../src","sources":["ui/components/GroupedSection.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAuB5C,MAAMC,uBAAuB,GAAGA,CAAC;EAAEC;AAA2B,CAAC,KAAK;EAChE,oBACIF,IAAA,CAACH,IAAI;IAACM,KAAK,EAAE;MAAEC,KAAK,EAAE;IAAO,CAAE;IAAAC,QAAA,EAC1BH,KAAK,CAACI,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,kBACnBR,IAAA,CAACH,IAAI;MAAeM,KAAK,EAAE;QAAEM,YAAY,EAAED,KAAK,GAAGN,KAAK,CAACQ,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG;MAAE,CAAE;MAAAL,QAAA,eAC1EL,IAAA,CAACF,WAAW;QACRa,IAAI,EAAEJ,IAAI,CAACI,IAAK;QAChBC,SAAS,EAAEL,IAAI,CAACK,SAAU;QAC1BC,KAAK,EAAEN,IAAI,CAACM,KAAM;QAClBC,QAAQ,EAAEP,IAAI,CAACO,QAAS;QACxBC,OAAO,EAAER,IAAI,CAACQ,OAAQ;QACtBC,OAAO,EAAER,KAAK,KAAK,CAAE;QACrBS,MAAM,EAAET,KAAK,KAAKN,KAAK,CAACQ,MAAM,GAAG,CAAE;QACnCQ,WAAW,EAAEX,IAAI,CAACW,WAAY;QAC9BC,QAAQ,EAAEZ,IAAI,CAACY,QAAS;QACxBC,aAAa,EAAEb,IAAI,CAACa,aAAc;QAClCC,UAAU,EAAEd,IAAI,CAACc;MAAW,CAC/B;IAAC,GAbKd,IAAI,CAACe,EAcV,CACT;EAAC,CACA,CAAC;AAEf,CAAC;AAEDrB,uBAAuB,CAACsB,WAAW,GAAG,gBAAgB;AAEtD,OAAO,MAAMC,cAAc,gBAAG5B,IAAI,CAACK,uBAAuB,CAAC;AAE3D,eAAeuB,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","View","GroupedItem","jsx","_jsx","GroupedSectionComponent","items","style","width","children","map","item","index","marginBottom","length","icon","iconColor","title","subtitle","onPress","isFirst","isLast","showChevron","disabled","customContent","customIcon","id","displayName","GroupedSection"],"sourceRoot":"../../../../src","sources":["ui/components/GroupedSection.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAuB5C,MAAMC,uBAAuB,GAAGA,CAAC;EAAEC;AAA2B,CAAC,KAAK;EAChE,oBACIF,IAAA,CAACH,IAAI;IAACM,KAAK,EAAE;MAAEC,KAAK,EAAE;IAAO,CAAE;IAAAC,QAAA,EAC1BH,KAAK,CAACI,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,kBACnBR,IAAA,CAACH,IAAI;MAA6BM,KAAK,EAAE;QAAEM,YAAY,EAAED,KAAK,GAAGN,KAAK,CAACQ,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG;MAAE,CAAE;MAAAL,QAAA,eACxFL,IAAA,CAACF,WAAW;QACRa,IAAI,EAAEJ,IAAI,CAACI,IAAK;QAChBC,SAAS,EAAEL,IAAI,CAACK,SAAU;QAC1BC,KAAK,EAAEN,IAAI,CAACM,KAAM;QAClBC,QAAQ,EAAEP,IAAI,CAACO,QAAS;QACxBC,OAAO,EAAER,IAAI,CAACQ,OAAQ;QACtBC,OAAO,EAAER,KAAK,KAAK,CAAE;QACrBS,MAAM,EAAET,KAAK,KAAKN,KAAK,CAACQ,MAAM,GAAG,CAAE;QACnCQ,WAAW,EAAEX,IAAI,CAACW,WAAY;QAC9BC,QAAQ,EAAEZ,IAAI,CAACY,QAAS;QACxBC,aAAa,EAAEb,IAAI,CAACa,aAAc;QAClCC,UAAU,EAAEd,IAAI,CAACc;MAAW,CAC/B;IAAC,GAbK,GAAGd,IAAI,CAACe,EAAE,IAAId,KAAK,EAcxB,CACT;EAAC,CACA,CAAC;AAEf,CAAC;AAEDP,uBAAuB,CAACsB,WAAW,GAAG,gBAAgB;AAEtD,OAAO,MAAMC,cAAc,gBAAG5B,IAAI,CAACK,uBAAuB,CAAC;AAE3D,eAAeuB,cAAc","ignoreList":[]}
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
2
 
3
- import { useEffect, useRef } from 'react';
3
+ import { useEffect, useRef, useState } from 'react';
4
4
  import { AppState } from 'react-native';
5
5
  import { GestureHandlerRootView } from 'react-native-gesture-handler';
6
6
  import { SafeAreaProvider } from 'react-native-safe-area-context';
7
7
  import { KeyboardProvider } from 'react-native-keyboard-controller';
8
8
  import { OxyContextProvider } from '../context/OxyContext';
9
- import { QueryClient, QueryClientProvider, focusManager } from '@tanstack/react-query';
9
+ import { QueryClientProvider, focusManager, onlineManager } from '@tanstack/react-query';
10
10
  import { setupFonts } from './FontLoader';
11
11
  import BottomSheetRouter from './BottomSheetRouter';
12
12
  import { Toaster } from '../../lib/sonner';
13
+ import { createQueryClient } from '../hooks/queryClient';
14
+ import { useStorage } from '../hooks/useStorage';
13
15
 
14
16
  // Initialize fonts automatically
15
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -28,31 +30,34 @@ const OxyProvider = ({
28
30
  onAuthStateChange,
29
31
  storageKeyPrefix,
30
32
  baseURL,
31
- queryClient
33
+ queryClient: providedQueryClient
32
34
  }) => {
33
35
  // contextOnly is retained for backwards compatibility while the UI-only
34
36
  // bottom sheet experience is removed. At the moment both modes behave the same.
35
37
  void contextOnly;
36
38
 
37
- // Initialize React Query Client (use provided client or create a default one once)
39
+ // Get storage for query persistence
40
+ const {
41
+ storage,
42
+ isReady: isStorageReady
43
+ } = useStorage();
44
+
45
+ // Initialize React Query Client with persistence
38
46
  const queryClientRef = useRef(null);
39
- if (!queryClientRef.current) {
40
- const defaultClient = new QueryClient({
41
- defaultOptions: {
42
- queries: {
43
- staleTime: 30_000,
44
- gcTime: 5 * 60_000,
45
- retry: 2,
46
- refetchOnReconnect: true,
47
- refetchOnWindowFocus: false
48
- },
49
- mutations: {
50
- retry: 1
51
- }
47
+ const [queryClient, setQueryClient] = useState(null);
48
+ useEffect(() => {
49
+ if (providedQueryClient) {
50
+ queryClientRef.current = providedQueryClient;
51
+ setQueryClient(providedQueryClient);
52
+ } else if (isStorageReady) {
53
+ // Create query client with persistence once storage is ready
54
+ if (!queryClientRef.current) {
55
+ const client = createQueryClient(storage);
56
+ queryClientRef.current = client;
57
+ setQueryClient(client);
52
58
  }
53
- });
54
- queryClientRef.current = queryClient ?? defaultClient;
55
- }
59
+ }
60
+ }, [providedQueryClient, isStorageReady, storage]);
56
61
 
57
62
  // Hook React Query focus manager into React Native AppState
58
63
  useEffect(() => {
@@ -64,10 +69,52 @@ const OxyProvider = ({
64
69
  };
65
70
  }, []);
66
71
 
72
+ // Setup network status monitoring for offline detection
73
+ useEffect(() => {
74
+ let cleanup;
75
+ const setupNetworkMonitoring = async () => {
76
+ try {
77
+ // For React Native, try to use NetInfo
78
+ if (typeof window === 'undefined' || typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
79
+ try {
80
+ const NetInfo = await import('@react-native-community/netinfo');
81
+ const state = await NetInfo.default.fetch();
82
+ onlineManager.setOnline(state.isConnected ?? true);
83
+ const unsubscribe = NetInfo.default.addEventListener(state => {
84
+ onlineManager.setOnline(state.isConnected ?? true);
85
+ });
86
+ cleanup = () => unsubscribe();
87
+ } catch {
88
+ // NetInfo not available, default to online
89
+ onlineManager.setOnline(true);
90
+ }
91
+ } else {
92
+ // For web, use navigator.onLine
93
+ onlineManager.setOnline(navigator.onLine);
94
+ const handleOnline = () => onlineManager.setOnline(true);
95
+ const handleOffline = () => onlineManager.setOnline(false);
96
+ window.addEventListener('online', handleOnline);
97
+ window.addEventListener('offline', handleOffline);
98
+ cleanup = () => {
99
+ window.removeEventListener('online', handleOnline);
100
+ window.removeEventListener('offline', handleOffline);
101
+ };
102
+ }
103
+ } catch (error) {
104
+ // Default to online if detection fails
105
+ onlineManager.setOnline(true);
106
+ }
107
+ };
108
+ setupNetworkMonitoring();
109
+ return () => {
110
+ cleanup?.();
111
+ };
112
+ }, []);
113
+
67
114
  // Ensure we have a valid QueryClient
68
- const client = queryClientRef.current;
69
- if (!client) {
70
- throw new Error('QueryClient initialization failed');
115
+ if (!queryClient) {
116
+ // Return loading state or fallback
117
+ return null;
71
118
  }
72
119
  return /*#__PURE__*/_jsx(SafeAreaProvider, {
73
120
  children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
@@ -75,8 +122,8 @@ const OxyProvider = ({
75
122
  flex: 1
76
123
  },
77
124
  children: /*#__PURE__*/_jsx(KeyboardProvider, {
78
- children: /*#__PURE__*/_jsx(QueryClientProvider, {
79
- client: client,
125
+ children: queryClient && /*#__PURE__*/_jsx(QueryClientProvider, {
126
+ client: queryClient,
80
127
  children: /*#__PURE__*/_jsxs(OxyContextProvider, {
81
128
  oxyServices: oxyServices,
82
129
  baseURL: baseURL,
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","AppState","GestureHandlerRootView","SafeAreaProvider","KeyboardProvider","OxyContextProvider","QueryClient","QueryClientProvider","focusManager","setupFonts","BottomSheetRouter","Toaster","jsx","_jsx","jsxs","_jsxs","OxyProvider","oxyServices","children","contextOnly","onAuthStateChange","storageKeyPrefix","baseURL","queryClient","queryClientRef","current","defaultClient","defaultOptions","queries","staleTime","gcTime","retry","refetchOnReconnect","refetchOnWindowFocus","mutations","subscription","addEventListener","state","setFocused","remove","client","Error","style","flex"],"sourceRoot":"../../../../src","sources":["ui/components/OxyProvider.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAiB,OAAO;AAClD,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,gBAAgB,QAAQ,kCAAkC;AAEnE,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,SAASC,WAAW,EAAEC,mBAAmB,EAAEC,YAAY,QAAQ,uBAAuB;AACtF,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,SAASC,OAAO,QAAQ,kBAAkB;;AAE1C;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AACAN,UAAU,CAAC,CAAC;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA,MAAMO,WAAiC,GAAGA,CAAC;EACvCC,WAAW;EACXC,QAAQ;EACRC,WAAW,GAAG,KAAK;EACnBC,iBAAiB;EACjBC,gBAAgB;EAChBC,OAAO;EACPC;AACJ,CAAC,KAAK;EACF;EACA;EACA,KAAKJ,WAAW;;EAEhB;EACA,MAAMK,cAAc,GAAGxB,MAAM,CAAqB,IAAI,CAAC;EACvD,IAAI,CAACwB,cAAc,CAACC,OAAO,EAAE;IACzB,MAAMC,aAAa,GAAG,IAAIpB,WAAW,CAAC;MAClCqB,cAAc,EAAE;QACZC,OAAO,EAAE;UACLC,SAAS,EAAE,MAAM;UACjBC,MAAM,EAAE,CAAC,GAAG,MAAM;UAClBC,KAAK,EAAE,CAAC;UACRC,kBAAkB,EAAE,IAAI;UACxBC,oBAAoB,EAAE;QAC1B,CAAC;QACDC,SAAS,EAAE;UACPH,KAAK,EAAE;QACX;MACJ;IACJ,CAAC,CAAC;IACFP,cAAc,CAACC,OAAO,GAAGF,WAAW,IAAIG,aAAa;EACzD;;EAEA;EACA3B,SAAS,CAAC,MAAM;IACZ,MAAMoC,YAAY,GAAGlC,QAAQ,CAACmC,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;MAChE7B,YAAY,CAAC8B,UAAU,CAACD,KAAK,KAAK,QAAQ,CAAC;IAC/C,CAAC,CAAC;IACF,OAAO,MAAM;MACTF,YAAY,CAACI,MAAM,CAAC,CAAC;IACzB,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAMC,MAAM,GAAGhB,cAAc,CAACC,OAAO;EACrC,IAAI,CAACe,MAAM,EAAE;IACT,MAAM,IAAIC,KAAK,CAAC,mCAAmC,CAAC;EACxD;EAEA,oBACI5B,IAAA,CAACV,gBAAgB;IAAAe,QAAA,eACbL,IAAA,CAACX,sBAAsB;MAACwC,KAAK,EAAE;QAAEC,IAAI,EAAE;MAAE,CAAE;MAAAzB,QAAA,eACvCL,IAAA,CAACT,gBAAgB;QAAAc,QAAA,eACbL,IAAA,CAACN,mBAAmB;UAACiC,MAAM,EAAEA,MAAO;UAAAtB,QAAA,eAChCH,KAAA,CAACV,kBAAkB;YACfY,WAAW,EAAEA,WAAmB;YAChCK,OAAO,EAAEA,OAAQ;YACjBD,gBAAgB,EAAEA,gBAAiB;YACnCD,iBAAiB,EAAEA,iBAAyB;YAAAF,QAAA,GAE3CA,QAAQ,eACTL,IAAA,CAACH,iBAAiB,IAAE,CAAC,eACrBG,IAAA,CAACF,OAAO,IAAE,CAAC;UAAA,CACK;QAAC,CACJ;MAAC,CACR;IAAC,CACC;EAAC,CACX,CAAC;AAE3B,CAAC;AAED,eAAeK,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useState","AppState","GestureHandlerRootView","SafeAreaProvider","KeyboardProvider","OxyContextProvider","QueryClientProvider","focusManager","onlineManager","setupFonts","BottomSheetRouter","Toaster","createQueryClient","useStorage","jsx","_jsx","jsxs","_jsxs","OxyProvider","oxyServices","children","contextOnly","onAuthStateChange","storageKeyPrefix","baseURL","queryClient","providedQueryClient","storage","isReady","isStorageReady","queryClientRef","setQueryClient","current","client","subscription","addEventListener","state","setFocused","remove","cleanup","setupNetworkMonitoring","window","navigator","product","NetInfo","default","fetch","setOnline","isConnected","unsubscribe","onLine","handleOnline","handleOffline","removeEventListener","error","style","flex"],"sourceRoot":"../../../../src","sources":["ui/components/OxyProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -24,7 +24,7 @@ export const EditDisplayNameModal = ({
24
24
  const themeStyles = useThemeStyles(theme || 'light', colorScheme);
25
25
  const colors = themeStyles.colors;
26
26
  const {
27
- updateField,
27
+ saveProfile,
28
28
  isSaving
29
29
  } = useProfileEditing();
30
30
  const [displayName, setDisplayName] = useState(initialDisplayName);
@@ -35,9 +35,6 @@ export const EditDisplayNameModal = ({
35
35
  setLastName(initialLastName);
36
36
  }
37
37
  }, [visible, initialDisplayName, initialLastName]);
38
- const {
39
- saveProfile
40
- } = useProfileEditing();
41
38
  const handleSave = async () => {
42
39
  const updates = {
43
40
  displayName,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","View","Text","TextInput","TouchableOpacity","StyleSheet","Modal","Platform","Ionicons","useThemeStyles","useColorScheme","useI18n","fontFamilies","useProfileEditing","jsx","_jsx","jsxs","_jsxs","EditDisplayNameModal","visible","onClose","initialDisplayName","initialLastName","theme","onSave","t","colorScheme","themeStyles","colors","updateField","isSaving","displayName","setDisplayName","lastName","setLastName","saveProfile","handleSave","updates","success","animationType","transparent","onRequestClose","children","style","styles","modalOverlay","modalContent","backgroundColor","background","modalHeader","onPress","closeButton","name","size","color","text","modalTitle","disabled","saveButton","opacity","saveButtonText","tint","modalBody","inputGroup","label","input","card","borderColor","border","value","onChangeText","placeholder","placeholderTextColor","secondaryText","autoFocus","selectionColor","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","OS","maxHeight","flexDirection","alignItems","paddingHorizontal","paddingBottom","borderBottomWidth","hairlineWidth","borderBottomColor","width","height","fontSize","fontWeight","fontFamily","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","useState","useEffect","View","Text","TextInput","TouchableOpacity","StyleSheet","Modal","Platform","Ionicons","useThemeStyles","useColorScheme","useI18n","fontFamilies","useProfileEditing","jsx","_jsx","jsxs","_jsxs","EditDisplayNameModal","visible","onClose","initialDisplayName","initialLastName","theme","onSave","t","colorScheme","themeStyles","colors","saveProfile","isSaving","displayName","setDisplayName","lastName","setLastName","handleSave","updates","success","animationType","transparent","onRequestClose","children","style","styles","modalOverlay","modalContent","backgroundColor","background","modalHeader","onPress","closeButton","name","size","color","text","modalTitle","disabled","saveButton","opacity","saveButtonText","tint","modalBody","inputGroup","label","input","card","borderColor","border","value","onChangeText","placeholder","placeholderTextColor","secondaryText","autoFocus","selectionColor","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","OS","maxHeight","flexDirection","alignItems","paddingHorizontal","paddingBottom","borderBottomWidth","hairlineWidth","borderBottomColor","width","height","fontSize","fontWeight","fontFamily","phuduSemiBold","textAlign","paddingVertical","padding","gap","borderWidth","borderRadius","minHeight"],"sourceRoot":"../../../../../src","sources":["ui/components/profile/EditDisplayNameModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,9 @@ import { useDeviceManagement } from '../hooks/useDeviceManagement';
14
14
  import { getStorageKeys } from '../utils/storageHelpers';
15
15
  import { isInvalidSessionError } from '../utils/errorHandlers';
16
16
  import { showBottomSheet as globalShowBottomSheet } from '../navigation/bottomSheetManager';
17
+ import { useQueryClient } from '@tanstack/react-query';
18
+ import { clearQueryCache } from '../hooks/queryClient';
19
+ import { useAccountStore } from '../stores/accountStore';
17
20
  import { jsx as _jsx } from "react/jsx-runtime";
18
21
  const OxyContext = /*#__PURE__*/createContext(null);
19
22
  let cachedUseFollowHook = null;
@@ -97,11 +100,61 @@ export const OxyProvider = ({
97
100
  }, []);
98
101
  const storageKeys = useMemo(() => getStorageKeys(storageKeyPrefix), [storageKeyPrefix]);
99
102
  const {
100
- storage
103
+ storage,
104
+ isReady: isStorageReady
101
105
  } = useStorage({
102
106
  onError,
103
107
  logger
104
108
  });
109
+
110
+ // Identity integrity check and auto-restore on startup
111
+ useEffect(() => {
112
+ if (!storage || !isStorageReady) return;
113
+ const checkAndRestoreIdentity = async () => {
114
+ try {
115
+ const {
116
+ KeyManager
117
+ } = await import('../../crypto/index.js');
118
+ // Check if identity exists and verify integrity
119
+ const hasIdentity = await KeyManager.hasIdentity();
120
+ if (hasIdentity) {
121
+ const isValid = await KeyManager.verifyIdentityIntegrity();
122
+ if (!isValid) {
123
+ // Try to restore from backup
124
+ const restored = await KeyManager.restoreIdentityFromBackup();
125
+ if (restored) {
126
+ if (__DEV__) {
127
+ logger('Identity restored from backup successfully');
128
+ }
129
+ } else {
130
+ if (__DEV__) {
131
+ logger('Identity integrity check failed - user may need to restore from recovery phrase');
132
+ }
133
+ }
134
+ } else {
135
+ // Identity is valid - ensure backup is up to date
136
+ await KeyManager.backupIdentity();
137
+ }
138
+ } else {
139
+ // No identity - try to restore from backup
140
+ const restored = await KeyManager.restoreIdentityFromBackup();
141
+ if (restored && __DEV__) {
142
+ logger('Identity restored from backup on startup');
143
+ }
144
+ }
145
+ } catch (error) {
146
+ if (__DEV__) {
147
+ logger('Error during identity integrity check', error);
148
+ }
149
+ // Don't block app startup - user can recover with recovery phrase
150
+ }
151
+ };
152
+ checkAndRestoreIdentity();
153
+ }, [storage, isStorageReady, logger]);
154
+
155
+ // Offline queuing is now handled by TanStack Query mutations
156
+ // No need for custom offline queue
157
+
105
158
  const {
106
159
  currentLanguage,
107
160
  metadata: currentLanguageMetadata,
@@ -115,6 +168,7 @@ export const OxyProvider = ({
115
168
  onError,
116
169
  logger
117
170
  });
171
+ const queryClient = useQueryClient();
118
172
  const {
119
173
  sessions,
120
174
  activeSessionId,
@@ -138,7 +192,8 @@ export const OxyProvider = ({
138
192
  error: message
139
193
  }),
140
194
  logger,
141
- setTokenReady
195
+ setTokenReady,
196
+ queryClient
142
197
  });
143
198
  const {
144
199
  createIdentity,
@@ -149,7 +204,7 @@ export const OxyProvider = ({
149
204
  hasIdentity,
150
205
  getPublicKey,
151
206
  isIdentitySynced,
152
- syncIdentity
207
+ syncIdentity: syncIdentityBase
153
208
  } = useAuthOperations({
154
209
  oxyServices,
155
210
  storage,
@@ -171,6 +226,119 @@ export const OxyProvider = ({
171
226
  setSyncing,
172
227
  logger
173
228
  });
229
+
230
+ // syncIdentity - TanStack Query handles offline mutations automatically
231
+ const syncIdentity = useCallback(async () => {
232
+ return await syncIdentityBase();
233
+ }, [syncIdentityBase]);
234
+
235
+ // Clear all account data when identity is lost (for accounts app)
236
+ // In accounts app, identity = account, so losing identity means losing everything
237
+ const clearAllAccountData = useCallback(async () => {
238
+ // Clear TanStack Query cache (in-memory)
239
+ queryClient.clear();
240
+
241
+ // Clear persisted query cache
242
+ if (storage) {
243
+ try {
244
+ await clearQueryCache(storage);
245
+ } catch (error) {
246
+ if (logger) {
247
+ logger('Failed to clear persisted query cache', error);
248
+ }
249
+ }
250
+ }
251
+
252
+ // Clear session state (sessions, activeSessionId, storage)
253
+ await clearSessionState();
254
+
255
+ // Clear identity sync state from storage
256
+ if (storage) {
257
+ try {
258
+ await storage.removeItem('oxy_identity_synced');
259
+ } catch (error) {
260
+ if (logger) {
261
+ logger('Failed to clear identity sync state', error);
262
+ }
263
+ }
264
+ }
265
+
266
+ // Reset auth store identity sync state
267
+ useAuthStore.getState().setIdentitySynced(false);
268
+ useAuthStore.getState().setSyncing(false);
269
+
270
+ // Reset account store
271
+ useAccountStore.getState().reset();
272
+
273
+ // Clear HTTP service cache
274
+ oxyServices.clearCache();
275
+ }, [queryClient, storage, clearSessionState, logger, oxyServices]);
276
+
277
+ // Delete identity and clear all account data
278
+ // In accounts app, deleting identity means losing the account completely
279
+ const deleteIdentityAndClearAccount = useCallback(async (skipBackup = false, force = false, userConfirmed = false) => {
280
+ // First, clear all account data
281
+ await clearAllAccountData();
282
+
283
+ // Then delete the identity keys
284
+ const {
285
+ KeyManager
286
+ } = await import('../../crypto/keyManager.js');
287
+ await KeyManager.deleteIdentity(skipBackup, force, userConfirmed);
288
+ }, [clearAllAccountData]);
289
+
290
+ // Network reconnect sync - TanStack Query automatically retries mutations on reconnect
291
+ // We only need to sync identity if it's not synced
292
+ useEffect(() => {
293
+ if (!storage) return;
294
+ let wasOffline = false;
295
+ let checkInterval = null;
296
+ const checkNetworkAndSync = async () => {
297
+ try {
298
+ // Try a lightweight health check to see if we're online
299
+ await oxyServices.healthCheck().catch(() => {
300
+ wasOffline = true;
301
+ return;
302
+ });
303
+
304
+ // If we were offline and now we're online, sync identity if needed
305
+ if (wasOffline) {
306
+ if (__DEV__ && logger) {
307
+ logger('Network reconnected, checking identity sync...');
308
+ }
309
+
310
+ // Sync identity first (if not synced)
311
+ try {
312
+ const isSynced = await storage.getItem('oxy_identity_synced');
313
+ if (isSynced === 'false') {
314
+ await syncIdentity();
315
+ }
316
+ } catch (syncError) {
317
+ if (__DEV__ && logger) {
318
+ logger('Error syncing identity on reconnect', syncError);
319
+ }
320
+ }
321
+
322
+ // TanStack Query will automatically retry pending mutations
323
+ wasOffline = false;
324
+ }
325
+ } catch (error) {
326
+ // Network check failed - we're offline
327
+ wasOffline = true;
328
+ }
329
+ };
330
+
331
+ // Check immediately
332
+ checkNetworkAndSync();
333
+
334
+ // Check periodically (every 10 seconds when app is active)
335
+ checkInterval = setInterval(checkNetworkAndSync, 10000);
336
+ return () => {
337
+ if (checkInterval) {
338
+ clearInterval(checkInterval);
339
+ }
340
+ };
341
+ }, [oxyServices, storage, syncIdentity, logger]);
174
342
  const {
175
343
  getDeviceSessions,
176
344
  logoutAllDeviceSessions,
@@ -287,6 +455,7 @@ export const OxyProvider = ({
287
455
  isAuthenticated,
288
456
  isLoading,
289
457
  isTokenReady: tokenReady,
458
+ isStorageReady,
290
459
  error,
291
460
  currentLanguage,
292
461
  currentLanguageMetadata,
@@ -299,6 +468,7 @@ export const OxyProvider = ({
299
468
  getPublicKey,
300
469
  isIdentitySynced,
301
470
  syncIdentity,
471
+ deleteIdentityAndClearAccount,
302
472
  identitySyncState: {
303
473
  isSynced: isIdentitySyncedStore ?? true,
304
474
  isSyncing: isSyncing ?? false
@@ -312,10 +482,12 @@ export const OxyProvider = ({
312
482
  getDeviceSessions,
313
483
  logoutAllDeviceSessions,
314
484
  updateDeviceName,
485
+ clearSessionState,
486
+ clearAllAccountData,
315
487
  oxyServices,
316
488
  useFollow: useFollowHook,
317
489
  showBottomSheet: showBottomSheetForContext
318
- }), [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]);
490
+ }), [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]);
319
491
  return /*#__PURE__*/_jsx(OxyContext.Provider, {
320
492
  value: contextValue,
321
493
  children: children