@oxyhq/services 5.17.16 → 5.17.18

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 (403) hide show
  1. package/README.md +32 -38
  2. package/lib/commonjs/core/CrossDomainAuth.js +277 -0
  3. package/lib/commonjs/core/CrossDomainAuth.js.map +1 -0
  4. package/lib/commonjs/core/HttpService.js +82 -15
  5. package/lib/commonjs/core/HttpService.js.map +1 -1
  6. package/lib/commonjs/core/OxyServices.base.js +11 -3
  7. package/lib/commonjs/core/OxyServices.base.js.map +1 -1
  8. package/lib/commonjs/core/OxyServices.js +4 -1
  9. package/lib/commonjs/core/OxyServices.js.map +1 -1
  10. package/lib/commonjs/core/index.js +30 -0
  11. package/lib/commonjs/core/index.js.map +1 -1
  12. package/lib/commonjs/core/mixins/OxyServices.assets.js +16 -3
  13. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
  14. package/lib/commonjs/core/mixins/OxyServices.auth.js +73 -32
  15. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
  16. package/lib/commonjs/core/mixins/OxyServices.fedcm.js +289 -0
  17. package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -0
  18. package/lib/commonjs/core/mixins/OxyServices.popup.js +352 -0
  19. package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -0
  20. package/lib/commonjs/core/mixins/OxyServices.redirect.js +378 -0
  21. package/lib/commonjs/core/mixins/OxyServices.redirect.js.map +1 -0
  22. package/lib/commonjs/core/mixins/OxyServices.user.js +35 -24
  23. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
  24. package/lib/commonjs/core/mixins/index.js +27 -15
  25. package/lib/commonjs/core/mixins/index.js.map +1 -1
  26. package/lib/commonjs/crypto/index.js +30 -0
  27. package/lib/commonjs/crypto/index.js.map +1 -1
  28. package/lib/commonjs/crypto/keyManager.js +902 -0
  29. package/lib/commonjs/crypto/keyManager.js.map +1 -0
  30. package/lib/commonjs/crypto/polyfill.js +14 -5
  31. package/lib/commonjs/crypto/polyfill.js.map +1 -1
  32. package/lib/commonjs/crypto/recoveryPhrase.js +152 -0
  33. package/lib/commonjs/crypto/recoveryPhrase.js.map +1 -0
  34. package/lib/commonjs/crypto/signatureService.js +289 -0
  35. package/lib/commonjs/crypto/signatureService.js.map +1 -0
  36. package/lib/commonjs/i18n/locales/en-US.json +1 -1
  37. package/lib/commonjs/index.js +40 -26
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/models/interfaces.js +0 -15
  40. package/lib/commonjs/models/interfaces.js.map +1 -1
  41. package/lib/commonjs/ui/components/BottomSheetRouter.js +9 -1
  42. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  43. package/lib/commonjs/ui/components/Icon.js.map +1 -1
  44. package/lib/commonjs/ui/components/IconButton/utils.js.map +1 -1
  45. package/lib/commonjs/ui/components/OxyProvider.js +41 -11
  46. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  47. package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -1
  48. package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -1
  49. package/lib/commonjs/ui/components/TouchableRipple/utils.js.map +1 -1
  50. package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -1
  51. package/lib/commonjs/ui/context/OxyContext.js +110 -192
  52. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  53. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +150 -19
  54. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  55. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +279 -0
  56. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -0
  57. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +78 -64
  58. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  59. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +38 -51
  60. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  61. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +3 -3
  62. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  63. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +18 -12
  64. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  65. package/lib/commonjs/ui/hooks/useProfileEditing.js +3 -5
  66. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  67. package/lib/commonjs/ui/hooks/useSessionManagement.js +4 -8
  68. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  69. package/lib/commonjs/ui/hooks/useSessionSocket.js +162 -315
  70. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  71. package/lib/commonjs/ui/hooks/useStorage.js +24 -58
  72. package/lib/commonjs/ui/hooks/useStorage.js.map +1 -1
  73. package/lib/commonjs/ui/index.js +50 -21
  74. package/lib/commonjs/ui/index.js.map +1 -1
  75. package/lib/commonjs/ui/navigation/routes.js +5 -1
  76. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  77. package/lib/commonjs/ui/screens/AccountCenterScreen.js +2 -2
  78. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  79. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  80. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +29 -24
  81. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  82. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -3
  83. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  84. package/lib/commonjs/ui/screens/OxyAuthScreen.js +134 -66
  85. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  86. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -13
  87. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  88. package/lib/commonjs/ui/stores/accountStore.js +2 -4
  89. package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
  90. package/lib/commonjs/ui/stores/authStore.js +45 -32
  91. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  92. package/lib/commonjs/ui/styles/spacing.js +54 -2
  93. package/lib/commonjs/ui/styles/spacing.js.map +1 -1
  94. package/lib/commonjs/ui/utils/avatarUtils.js +37 -41
  95. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  96. package/lib/commonjs/ui/utils/storageHelpers.js.map +1 -1
  97. package/lib/commonjs/utils/errorUtils.js +13 -0
  98. package/lib/commonjs/utils/errorUtils.js.map +1 -1
  99. package/lib/commonjs/utils/validationUtils.js +15 -1
  100. package/lib/commonjs/utils/validationUtils.js.map +1 -1
  101. package/lib/module/core/CrossDomainAuth.js +271 -0
  102. package/lib/module/core/CrossDomainAuth.js.map +1 -0
  103. package/lib/module/core/HttpService.js +82 -15
  104. package/lib/module/core/HttpService.js.map +1 -1
  105. package/lib/module/core/OxyServices.base.js +11 -4
  106. package/lib/module/core/OxyServices.base.js.map +1 -1
  107. package/lib/module/core/OxyServices.js +4 -1
  108. package/lib/module/core/OxyServices.js.map +1 -1
  109. package/lib/module/core/index.js +6 -1
  110. package/lib/module/core/index.js.map +1 -1
  111. package/lib/module/core/mixins/OxyServices.assets.js +16 -3
  112. package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
  113. package/lib/module/core/mixins/OxyServices.auth.js +73 -32
  114. package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
  115. package/lib/module/core/mixins/OxyServices.fedcm.js +286 -0
  116. package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -0
  117. package/lib/module/core/mixins/OxyServices.popup.js +349 -0
  118. package/lib/module/core/mixins/OxyServices.popup.js.map +1 -0
  119. package/lib/module/core/mixins/OxyServices.redirect.js +375 -0
  120. package/lib/module/core/mixins/OxyServices.redirect.js.map +1 -0
  121. package/lib/module/core/mixins/OxyServices.user.js +35 -24
  122. package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
  123. package/lib/module/core/mixins/index.js +15 -3
  124. package/lib/module/core/mixins/index.js.map +1 -1
  125. package/lib/module/crypto/index.js +8 -4
  126. package/lib/module/crypto/index.js.map +1 -1
  127. package/lib/module/crypto/keyManager.js +899 -0
  128. package/lib/module/crypto/keyManager.js.map +1 -0
  129. package/lib/module/crypto/polyfill.js +6 -5
  130. package/lib/module/crypto/polyfill.js.map +1 -1
  131. package/lib/module/crypto/recoveryPhrase.js +147 -0
  132. package/lib/module/crypto/recoveryPhrase.js.map +1 -0
  133. package/lib/module/crypto/signatureService.js +286 -0
  134. package/lib/module/crypto/signatureService.js.map +1 -0
  135. package/lib/module/i18n/locales/en-US.json +1 -1
  136. package/lib/module/index.js +6 -9
  137. package/lib/module/index.js.map +1 -1
  138. package/lib/module/models/interfaces.js +0 -15
  139. package/lib/module/models/interfaces.js.map +1 -1
  140. package/lib/module/ui/components/BottomSheetRouter.js +6 -2
  141. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  142. package/lib/module/ui/components/Icon.js.map +1 -1
  143. package/lib/module/ui/components/IconButton/utils.js.map +1 -1
  144. package/lib/module/ui/components/OxyProvider.js +41 -11
  145. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  146. package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -1
  147. package/lib/module/ui/components/TextField/helpers.js.map +1 -1
  148. package/lib/module/ui/components/TouchableRipple/utils.js.map +1 -1
  149. package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -1
  150. package/lib/module/ui/context/OxyContext.js +112 -184
  151. package/lib/module/ui/context/OxyContext.js.map +1 -1
  152. package/lib/module/ui/context/hooks/useAuthOperations.js +150 -19
  153. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  154. package/lib/module/ui/context/hooks/useSessionManagement.js +274 -0
  155. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -0
  156. package/lib/module/ui/hooks/mutations/useAccountMutations.js +79 -64
  157. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  158. package/lib/module/ui/hooks/queries/useAccountQueries.js +31 -44
  159. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  160. package/lib/module/ui/hooks/queries/useSecurityQueries.js +1 -1
  161. package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  162. package/lib/module/ui/hooks/queries/useServicesQueries.js +13 -7
  163. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  164. package/lib/module/ui/hooks/useProfileEditing.js +3 -5
  165. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  166. package/lib/module/ui/hooks/useSessionManagement.js +4 -8
  167. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  168. package/lib/module/ui/hooks/useSessionSocket.js +162 -315
  169. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  170. package/lib/module/ui/hooks/useStorage.js +25 -59
  171. package/lib/module/ui/hooks/useStorage.js.map +1 -1
  172. package/lib/module/ui/index.js +15 -10
  173. package/lib/module/ui/index.js.map +1 -1
  174. package/lib/module/ui/navigation/routes.js +5 -1
  175. package/lib/module/ui/navigation/routes.js.map +1 -1
  176. package/lib/module/ui/screens/AccountCenterScreen.js +2 -2
  177. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  178. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  179. package/lib/module/ui/screens/AccountSettingsScreen.js +29 -24
  180. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  181. package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -3
  182. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  183. package/lib/module/ui/screens/OxyAuthScreen.js +135 -68
  184. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  185. package/lib/module/ui/screens/PrivacySettingsScreen.js +6 -13
  186. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  187. package/lib/module/ui/stores/accountStore.js +2 -4
  188. package/lib/module/ui/stores/accountStore.js.map +1 -1
  189. package/lib/module/ui/stores/authStore.js +45 -32
  190. package/lib/module/ui/stores/authStore.js.map +1 -1
  191. package/lib/module/ui/styles/spacing.js +6 -2
  192. package/lib/module/ui/styles/spacing.js.map +1 -1
  193. package/lib/module/ui/utils/avatarUtils.js +37 -40
  194. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  195. package/lib/module/ui/utils/storageHelpers.js.map +1 -1
  196. package/lib/module/utils/errorUtils.js +7 -0
  197. package/lib/module/utils/errorUtils.js.map +1 -1
  198. package/lib/module/utils/validationUtils.js +13 -0
  199. package/lib/module/utils/validationUtils.js.map +1 -1
  200. package/lib/typescript/core/CrossDomainAuth.d.ts +161 -0
  201. package/lib/typescript/core/CrossDomainAuth.d.ts.map +1 -0
  202. package/lib/typescript/core/HttpService.d.ts +1 -1
  203. package/lib/typescript/core/HttpService.d.ts.map +1 -1
  204. package/lib/typescript/core/OxyServices.base.d.ts +0 -6
  205. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
  206. package/lib/typescript/core/OxyServices.d.ts +5 -36
  207. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  208. package/lib/typescript/core/index.d.ts +4 -0
  209. package/lib/typescript/core/index.d.ts.map +1 -1
  210. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
  211. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
  212. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +40 -20
  213. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
  214. package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
  215. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
  216. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts +195 -0
  217. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts.map +1 -0
  218. package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
  219. package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
  220. package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
  221. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
  222. package/lib/typescript/core/mixins/OxyServices.popup.d.ts +206 -0
  223. package/lib/typescript/core/mixins/OxyServices.popup.d.ts.map +1 -0
  224. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
  225. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts +246 -0
  226. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts.map +1 -0
  227. package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
  228. package/lib/typescript/core/mixins/OxyServices.user.d.ts +6 -4
  229. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  230. package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
  231. package/lib/typescript/core/mixins/index.d.ts +220 -8
  232. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  233. package/lib/typescript/crypto/index.d.ts +6 -3
  234. package/lib/typescript/crypto/index.d.ts.map +1 -1
  235. package/lib/typescript/crypto/keyManager.d.ts +190 -0
  236. package/lib/typescript/crypto/keyManager.d.ts.map +1 -0
  237. package/lib/typescript/crypto/polyfill.d.ts +4 -3
  238. package/lib/typescript/crypto/polyfill.d.ts.map +1 -1
  239. package/lib/typescript/crypto/recoveryPhrase.d.ts +59 -0
  240. package/lib/typescript/crypto/recoveryPhrase.d.ts.map +1 -0
  241. package/lib/typescript/crypto/signatureService.d.ts +87 -0
  242. package/lib/typescript/crypto/signatureService.d.ts.map +1 -0
  243. package/lib/typescript/index.d.ts +5 -6
  244. package/lib/typescript/index.d.ts.map +1 -1
  245. package/lib/typescript/models/interfaces.d.ts +2 -14
  246. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  247. package/lib/typescript/models/session.d.ts +0 -9
  248. package/lib/typescript/models/session.d.ts.map +1 -1
  249. package/lib/typescript/types/bip39.d.ts +32 -0
  250. package/lib/typescript/ui/components/BottomSheetRouter.d.ts +5 -0
  251. package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -1
  252. package/lib/typescript/ui/components/IconButton/utils.d.ts +1 -1
  253. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  254. package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +2 -2
  255. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts +1 -1
  256. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts.map +1 -1
  257. package/lib/typescript/ui/components/TextField/helpers.d.ts +8 -8
  258. package/lib/typescript/ui/components/TextField/types.d.ts +1 -0
  259. package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -1
  260. package/lib/typescript/ui/components/types.d.ts +4 -0
  261. package/lib/typescript/ui/components/types.d.ts.map +1 -1
  262. package/lib/typescript/ui/context/OxyContext.d.ts +57 -3
  263. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  264. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +10 -3
  265. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  266. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +41 -0
  267. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -0
  268. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  269. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  270. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  271. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
  272. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
  273. package/lib/typescript/ui/hooks/useSessionSocket.d.ts +1 -2
  274. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
  275. package/lib/typescript/ui/hooks/useStorage.d.ts +3 -9
  276. package/lib/typescript/ui/hooks/useStorage.d.ts.map +1 -1
  277. package/lib/typescript/ui/index.d.ts +6 -2
  278. package/lib/typescript/ui/index.d.ts.map +1 -1
  279. package/lib/typescript/ui/navigation/routes.d.ts +1 -1
  280. package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
  281. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  282. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +1 -1
  283. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  284. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  285. package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
  286. package/lib/typescript/ui/stores/authStore.d.ts +8 -7
  287. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  288. package/lib/typescript/ui/styles/spacing.d.ts +5 -0
  289. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -1
  290. package/lib/typescript/ui/types/navigation.d.ts +2 -1
  291. package/lib/typescript/ui/types/navigation.d.ts.map +1 -1
  292. package/lib/typescript/ui/utils/avatarUtils.d.ts +2 -13
  293. package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
  294. package/lib/typescript/ui/utils/storageHelpers.d.ts +0 -3
  295. package/lib/typescript/ui/utils/storageHelpers.d.ts.map +1 -1
  296. package/lib/typescript/utils/errorUtils.d.ts +6 -0
  297. package/lib/typescript/utils/errorUtils.d.ts.map +1 -1
  298. package/lib/typescript/utils/validationUtils.d.ts +8 -0
  299. package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
  300. package/package.json +8 -7
  301. package/src/core/CrossDomainAuth.ts +307 -0
  302. package/src/core/HttpService.ts +99 -16
  303. package/src/core/OxyServices.base.ts +20 -3
  304. package/src/core/OxyServices.ts +7 -3
  305. package/src/core/index.ts +9 -1
  306. package/src/core/mixins/OxyServices.assets.ts +14 -3
  307. package/src/core/mixins/OxyServices.auth.ts +105 -36
  308. package/src/core/mixins/OxyServices.fedcm.ts +315 -0
  309. package/src/core/mixins/OxyServices.popup.ts +402 -0
  310. package/src/core/mixins/OxyServices.redirect.ts +397 -0
  311. package/src/core/mixins/OxyServices.user.ts +39 -24
  312. package/src/core/mixins/index.ts +19 -3
  313. package/src/crypto/index.ts +16 -5
  314. package/src/crypto/keyManager.ts +966 -0
  315. package/src/crypto/polyfill.ts +6 -5
  316. package/src/crypto/recoveryPhrase.ts +166 -0
  317. package/src/crypto/signatureService.ts +323 -0
  318. package/src/i18n/locales/en-US.json +1 -1
  319. package/src/index.ts +19 -15
  320. package/src/models/interfaces.ts +4 -16
  321. package/src/models/session.ts +2 -11
  322. package/src/types/bip39.d.ts +32 -0
  323. package/src/ui/components/BottomSheetRouter.tsx +6 -1
  324. package/src/ui/components/Icon.tsx +1 -1
  325. package/src/ui/components/IconButton/utils.ts +1 -1
  326. package/src/ui/components/OxyProvider.tsx +44 -12
  327. package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
  328. package/src/ui/components/TextField/Adornment/utils.ts +2 -2
  329. package/src/ui/components/TextField/helpers.tsx +10 -10
  330. package/src/ui/components/TextField/types.tsx +1 -1
  331. package/src/ui/components/TouchableRipple/utils.ts +2 -2
  332. package/src/ui/components/Typography/AnimatedText.tsx +2 -2
  333. package/src/ui/components/types.tsx +6 -0
  334. package/src/ui/context/OxyContext.tsx +173 -185
  335. package/src/ui/context/hooks/useAuthOperations.ts +177 -36
  336. package/src/ui/context/hooks/useSessionManagement.ts +399 -0
  337. package/src/ui/hooks/mutations/useAccountMutations.ts +82 -65
  338. package/src/ui/hooks/queries/useAccountQueries.ts +29 -35
  339. package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
  340. package/src/ui/hooks/queries/useServicesQueries.ts +14 -6
  341. package/src/ui/hooks/useProfileEditing.ts +3 -3
  342. package/src/ui/hooks/useSessionManagement.ts +5 -10
  343. package/src/ui/hooks/useSessionSocket.ts +46 -175
  344. package/src/ui/hooks/useStorage.ts +24 -76
  345. package/src/ui/index.ts +22 -13
  346. package/src/ui/navigation/routes.ts +6 -2
  347. package/src/ui/screens/AccountCenterScreen.tsx +2 -2
  348. package/src/ui/screens/AccountOverviewScreen.tsx +1 -1
  349. package/src/ui/screens/AccountSettingsScreen.tsx +34 -37
  350. package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
  351. package/src/ui/screens/OxyAuthScreen.tsx +138 -64
  352. package/src/ui/screens/PrivacySettingsScreen.tsx +6 -12
  353. package/src/ui/stores/accountStore.ts +1 -11
  354. package/src/ui/stores/authStore.ts +43 -44
  355. package/src/ui/styles/spacing.ts +15 -2
  356. package/src/ui/types/navigation.ts +2 -2
  357. package/src/ui/utils/avatarUtils.ts +39 -46
  358. package/src/ui/utils/storageHelpers.ts +0 -4
  359. package/src/utils/__tests__/validationUtils.test.ts +16 -1
  360. package/src/utils/errorUtils.ts +8 -1
  361. package/src/utils/validationUtils.ts +12 -0
  362. package/lib/commonjs/core/services/SessionService.js +0 -163
  363. package/lib/commonjs/core/services/SessionService.js.map +0 -1
  364. package/lib/commonjs/core/services/TokenService.js +0 -220
  365. package/lib/commonjs/core/services/TokenService.js.map +0 -1
  366. package/lib/commonjs/crypto/types.js +0 -2
  367. package/lib/commonjs/crypto/types.js.map +0 -1
  368. package/lib/commonjs/ui/context/OxyContextBase.js +0 -21
  369. package/lib/commonjs/ui/context/OxyContextBase.js.map +0 -1
  370. package/lib/commonjs/ui/context/hooks/useStorage.js +0 -79
  371. package/lib/commonjs/ui/context/hooks/useStorage.js.map +0 -1
  372. package/lib/commonjs/ui/hooks/useAvatarPicker.js +0 -56
  373. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +0 -1
  374. package/lib/module/core/services/SessionService.js +0 -159
  375. package/lib/module/core/services/SessionService.js.map +0 -1
  376. package/lib/module/core/services/TokenService.js +0 -217
  377. package/lib/module/core/services/TokenService.js.map +0 -1
  378. package/lib/module/crypto/types.js +0 -2
  379. package/lib/module/crypto/types.js.map +0 -1
  380. package/lib/module/ui/context/OxyContextBase.js +0 -16
  381. package/lib/module/ui/context/OxyContextBase.js.map +0 -1
  382. package/lib/module/ui/context/hooks/useStorage.js +0 -74
  383. package/lib/module/ui/context/hooks/useStorage.js.map +0 -1
  384. package/lib/module/ui/hooks/useAvatarPicker.js +0 -50
  385. package/lib/module/ui/hooks/useAvatarPicker.js.map +0 -1
  386. package/lib/typescript/core/services/SessionService.d.ts +0 -78
  387. package/lib/typescript/core/services/SessionService.d.ts.map +0 -1
  388. package/lib/typescript/core/services/TokenService.d.ts +0 -72
  389. package/lib/typescript/core/services/TokenService.d.ts.map +0 -1
  390. package/lib/typescript/crypto/types.d.ts +0 -22
  391. package/lib/typescript/crypto/types.d.ts.map +0 -1
  392. package/lib/typescript/ui/context/OxyContextBase.d.ts +0 -63
  393. package/lib/typescript/ui/context/OxyContextBase.d.ts.map +0 -1
  394. package/lib/typescript/ui/context/hooks/useStorage.d.ts +0 -22
  395. package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +0 -1
  396. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +0 -19
  397. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +0 -1
  398. package/src/core/services/SessionService.ts +0 -173
  399. package/src/core/services/TokenService.ts +0 -237
  400. package/src/crypto/types.ts +0 -23
  401. package/src/ui/context/OxyContextBase.tsx +0 -78
  402. package/src/ui/context/hooks/useStorage.ts +0 -104
  403. package/src/ui/hooks/useAvatarPicker.ts +0 -61
@@ -0,0 +1,375 @@
1
+ "use strict";
2
+
3
+ import { OxyAuthenticationError } from '../OxyServices.errors';
4
+ /**
5
+ * Redirect-based Cross-Domain Authentication Mixin
6
+ *
7
+ * Implements traditional OAuth2 redirect flow as a fallback when popup or
8
+ * FedCM are not available or fail (e.g., mobile browsers, popup blockers).
9
+ *
10
+ * Flow:
11
+ * 1. Save current URL
12
+ * 2. Redirect to auth.oxy.so/login
13
+ * 3. User signs in
14
+ * 4. Redirect back with token in URL
15
+ * 5. Extract token, restore session, clean URL
16
+ *
17
+ * Features:
18
+ * - Works on all browsers (including old mobile browsers)
19
+ * - Automatic URL cleanup after auth
20
+ * - State preservation option
21
+ * - CSRF protection via state parameter
22
+ *
23
+ * Trade-offs:
24
+ * - Loses JavaScript app state (full page navigation)
25
+ * - Visible redirect (user sees navigation)
26
+ * - Slower perceived performance
27
+ */
28
+ export function OxyServicesRedirectAuthMixin(Base) {
29
+ return class extends Base {
30
+ constructor(...args) {
31
+ super(...args);
32
+ }
33
+ static AUTH_URL = 'https://auth.oxy.so';
34
+ static TOKEN_STORAGE_KEY = 'oxy_access_token';
35
+ static SESSION_STORAGE_KEY = 'oxy_session_id';
36
+ static STATE_STORAGE_KEY = 'oxy_auth_state';
37
+ static PRE_AUTH_URL_KEY = 'oxy_pre_auth_url';
38
+ static NONCE_STORAGE_KEY = 'oxy_auth_nonce';
39
+
40
+ /**
41
+ * Sign in using full page redirect
42
+ *
43
+ * Redirects the user to auth.oxy.so for authentication. After successful
44
+ * sign-in, the user will be redirected back to the current page (or custom
45
+ * redirect URI) with authentication tokens in the URL.
46
+ *
47
+ * Call handleAuthCallback() on app startup to complete the flow.
48
+ *
49
+ * @param options - Redirect configuration options
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // Initiate sign-in
54
+ * const handleSignIn = () => {
55
+ * oxyServices.signInWithRedirect();
56
+ * };
57
+ *
58
+ * // Handle callback on app startup
59
+ * useEffect(() => {
60
+ * const session = oxyServices.handleAuthCallback();
61
+ * if (session) {
62
+ * setUser(session.user);
63
+ * }
64
+ * }, []);
65
+ * ```
66
+ */
67
+ signInWithRedirect(options = {}) {
68
+ if (typeof window === 'undefined') {
69
+ throw new OxyAuthenticationError('Redirect authentication requires browser environment');
70
+ }
71
+ const redirectUri = options.redirectUri || window.location.href;
72
+ const mode = options.mode || 'login';
73
+ const state = this.generateState();
74
+ const nonce = this.generateNonce();
75
+
76
+ // Store state for CSRF protection
77
+ this.storeAuthState(state, nonce);
78
+
79
+ // Save current URL to restore after auth (optional)
80
+ if (options.preserveUrl !== false) {
81
+ this.savePreAuthUrl(window.location.href);
82
+ }
83
+ const authUrl = this.buildAuthUrl({
84
+ mode,
85
+ redirectUri,
86
+ state,
87
+ nonce,
88
+ clientId: window.location.origin
89
+ });
90
+
91
+ // Perform redirect
92
+ window.location.href = authUrl;
93
+ }
94
+
95
+ /**
96
+ * Sign up using full page redirect
97
+ *
98
+ * Same as signInWithRedirect but opens the signup page by default.
99
+ */
100
+ signUpWithRedirect(options = {}) {
101
+ this.signInWithRedirect({
102
+ ...options,
103
+ mode: 'signup'
104
+ });
105
+ }
106
+
107
+ /**
108
+ * Handle authentication callback
109
+ *
110
+ * Call this on app startup to check if the current page load is a
111
+ * redirect back from the authentication server. If it is, this method
112
+ * will extract the tokens, store them, and clean up the URL.
113
+ *
114
+ * @returns Session data if this is a callback, null otherwise
115
+ * @throws {OxyAuthenticationError} If state validation fails (CSRF attack)
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * // In your app's root component or startup logic
120
+ * useEffect(() => {
121
+ * try {
122
+ * const session = oxyServices.handleAuthCallback();
123
+ * if (session) {
124
+ * console.log('Logged in:', session.user);
125
+ * setUser(session.user);
126
+ * } else {
127
+ * // Not a callback, check for existing session
128
+ * const restored = oxyServices.restoreSession();
129
+ * if (!restored) {
130
+ * // No session, show login button
131
+ * }
132
+ * }
133
+ * } catch (error) {
134
+ * console.error('Auth callback failed:', error);
135
+ * }
136
+ * }, []);
137
+ * ```
138
+ */
139
+ handleAuthCallback() {
140
+ if (typeof window === 'undefined') {
141
+ return null;
142
+ }
143
+ const url = new URL(window.location.href);
144
+ const accessToken = url.searchParams.get('access_token');
145
+ const sessionId = url.searchParams.get('session_id');
146
+ const expiresAt = url.searchParams.get('expires_at');
147
+ const state = url.searchParams.get('state');
148
+ const error = url.searchParams.get('error');
149
+ const errorDescription = url.searchParams.get('error_description');
150
+
151
+ // Check if this is an error callback
152
+ if (error) {
153
+ this.clearAuthState();
154
+ throw new OxyAuthenticationError(errorDescription || error);
155
+ }
156
+
157
+ // Check if this is an auth callback
158
+ if (!accessToken || !sessionId) {
159
+ return null; // Not a callback
160
+ }
161
+
162
+ // Verify state to prevent CSRF attacks
163
+ const savedState = this.getStoredState();
164
+ if (!savedState || state !== savedState) {
165
+ this.clearAuthState();
166
+ throw new OxyAuthenticationError('Invalid state parameter. Possible CSRF attack.');
167
+ }
168
+
169
+ // Store tokens
170
+ this.storeTokens(accessToken, sessionId);
171
+ this.httpService.setTokens(accessToken);
172
+
173
+ // Build session response (minimal - we'll fetch full user data separately)
174
+ const session = {
175
+ sessionId,
176
+ deviceId: '',
177
+ // Not available in redirect flow
178
+ expiresAt: expiresAt || new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
179
+ user: {} // Will be fetched separately
180
+ };
181
+
182
+ // Clean up URL (remove auth parameters)
183
+ this.cleanAuthCallbackUrl(url);
184
+
185
+ // Clean up storage
186
+ this.clearAuthState();
187
+ return session;
188
+ }
189
+
190
+ /**
191
+ * Restore session from storage
192
+ *
193
+ * Attempts to restore a previously authenticated session from localStorage.
194
+ * Call this on app startup if handleAuthCallback() returns null.
195
+ *
196
+ * @returns True if session was restored, false otherwise
197
+ *
198
+ * @example
199
+ * ```typescript
200
+ * useEffect(() => {
201
+ * const session = oxyServices.handleAuthCallback();
202
+ * if (!session) {
203
+ * const restored = oxyServices.restoreSession();
204
+ * if (!restored) {
205
+ * // No session, user needs to sign in
206
+ * setShowLogin(true);
207
+ * }
208
+ * }
209
+ * }, []);
210
+ * ```
211
+ */
212
+ restoreSession() {
213
+ if (typeof window === 'undefined') {
214
+ return false;
215
+ }
216
+ const token = localStorage.getItem(this.constructor.TOKEN_STORAGE_KEY);
217
+ const sessionId = localStorage.getItem(this.constructor.SESSION_STORAGE_KEY);
218
+ if (token && sessionId) {
219
+ this.httpService.setTokens(token);
220
+ return true;
221
+ }
222
+ return false;
223
+ }
224
+
225
+ /**
226
+ * Clear stored session
227
+ *
228
+ * Removes all authentication data from storage. Call this on logout.
229
+ */
230
+ clearStoredSession() {
231
+ if (typeof window === 'undefined') {
232
+ return;
233
+ }
234
+ localStorage.removeItem(this.constructor.TOKEN_STORAGE_KEY);
235
+ localStorage.removeItem(this.constructor.SESSION_STORAGE_KEY);
236
+ this.httpService.clearTokens();
237
+ }
238
+
239
+ /**
240
+ * Get stored session ID
241
+ */
242
+ getStoredSessionId() {
243
+ if (typeof window === 'undefined') {
244
+ return null;
245
+ }
246
+ return localStorage.getItem(this.constructor.SESSION_STORAGE_KEY);
247
+ }
248
+
249
+ /**
250
+ * Build authentication URL with query parameters
251
+ *
252
+ * @private
253
+ */
254
+ buildAuthUrl(params) {
255
+ const url = new URL(`${this.constructor.AUTH_URL}/${params.mode}`);
256
+ url.searchParams.set('redirect_uri', params.redirectUri);
257
+ url.searchParams.set('state', params.state);
258
+ url.searchParams.set('nonce', params.nonce);
259
+ url.searchParams.set('client_id', params.clientId);
260
+ url.searchParams.set('response_type', 'token');
261
+ return url.toString();
262
+ }
263
+
264
+ /**
265
+ * Store tokens in localStorage
266
+ *
267
+ * @private
268
+ */
269
+ storeTokens(accessToken, sessionId) {
270
+ if (typeof window === 'undefined') {
271
+ return;
272
+ }
273
+ localStorage.setItem(this.constructor.TOKEN_STORAGE_KEY, accessToken);
274
+ localStorage.setItem(this.constructor.SESSION_STORAGE_KEY, sessionId);
275
+ }
276
+
277
+ /**
278
+ * Generate cryptographically secure state for CSRF protection
279
+ *
280
+ * @private
281
+ */
282
+ generateState() {
283
+ if (typeof window !== 'undefined' && window.crypto && window.crypto.randomUUID) {
284
+ return window.crypto.randomUUID();
285
+ }
286
+ return `${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
287
+ }
288
+
289
+ /**
290
+ * Generate nonce for replay attack prevention
291
+ *
292
+ * @private
293
+ */
294
+ generateNonce() {
295
+ if (typeof window !== 'undefined' && window.crypto && window.crypto.randomUUID) {
296
+ return window.crypto.randomUUID();
297
+ }
298
+ return `${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
299
+ }
300
+
301
+ /**
302
+ * Store auth state in session storage
303
+ *
304
+ * @private
305
+ */
306
+ storeAuthState(state, nonce) {
307
+ if (typeof window === 'undefined') {
308
+ return;
309
+ }
310
+ sessionStorage.setItem(this.constructor.STATE_STORAGE_KEY, state);
311
+ sessionStorage.setItem(this.constructor.NONCE_STORAGE_KEY, nonce);
312
+ }
313
+
314
+ /**
315
+ * Get stored state
316
+ *
317
+ * @private
318
+ */
319
+ getStoredState() {
320
+ if (typeof window === 'undefined') {
321
+ return null;
322
+ }
323
+ return sessionStorage.getItem(this.constructor.STATE_STORAGE_KEY);
324
+ }
325
+
326
+ /**
327
+ * Clear auth state from storage
328
+ *
329
+ * @private
330
+ */
331
+ clearAuthState() {
332
+ if (typeof window === 'undefined') {
333
+ return;
334
+ }
335
+ sessionStorage.removeItem(this.constructor.STATE_STORAGE_KEY);
336
+ sessionStorage.removeItem(this.constructor.NONCE_STORAGE_KEY);
337
+ sessionStorage.removeItem(this.constructor.PRE_AUTH_URL_KEY);
338
+ }
339
+
340
+ /**
341
+ * Save pre-authentication URL to restore later
342
+ *
343
+ * @private
344
+ */
345
+ savePreAuthUrl(url) {
346
+ if (typeof window === 'undefined') {
347
+ return;
348
+ }
349
+ sessionStorage.setItem(this.constructor.PRE_AUTH_URL_KEY, url);
350
+ }
351
+
352
+ /**
353
+ * Clean authentication parameters from URL
354
+ *
355
+ * @private
356
+ */
357
+ cleanAuthCallbackUrl(url) {
358
+ // Remove auth parameters
359
+ url.searchParams.delete('access_token');
360
+ url.searchParams.delete('session_id');
361
+ url.searchParams.delete('expires_at');
362
+ url.searchParams.delete('state');
363
+ url.searchParams.delete('nonce');
364
+ url.searchParams.delete('error');
365
+ url.searchParams.delete('error_description');
366
+
367
+ // Update URL without reloading page
368
+ window.history.replaceState({}, '', url.toString());
369
+ }
370
+ };
371
+ }
372
+
373
+ // Export the mixin function as both named and default
374
+ export { OxyServicesRedirectAuthMixin as RedirectAuthMixin };
375
+ //# sourceMappingURL=OxyServices.redirect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OxyAuthenticationError","OxyServicesRedirectAuthMixin","Base","constructor","args","AUTH_URL","TOKEN_STORAGE_KEY","SESSION_STORAGE_KEY","STATE_STORAGE_KEY","PRE_AUTH_URL_KEY","NONCE_STORAGE_KEY","signInWithRedirect","options","window","redirectUri","location","href","mode","state","generateState","nonce","generateNonce","storeAuthState","preserveUrl","savePreAuthUrl","authUrl","buildAuthUrl","clientId","origin","signUpWithRedirect","handleAuthCallback","url","URL","accessToken","searchParams","get","sessionId","expiresAt","error","errorDescription","clearAuthState","savedState","getStoredState","storeTokens","httpService","setTokens","session","deviceId","Date","now","toISOString","user","cleanAuthCallbackUrl","restoreSession","token","localStorage","getItem","clearStoredSession","removeItem","clearTokens","getStoredSessionId","params","set","toString","setItem","crypto","randomUUID","Math","random","substring","sessionStorage","delete","history","replaceState","RedirectAuthMixin"],"sourceRoot":"../../../../src","sources":["core/mixins/OxyServices.redirect.ts"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,8 @@ export function OxyServicesUserMixin(Base) {
16
16
  async getProfileByUsername(username) {
17
17
  try {
18
18
  return await this.makeRequest('GET', `/api/profiles/username/${username}`, undefined, {
19
- cache: false // Never cache profiles
19
+ cache: true,
20
+ cacheTTL: 5 * 60 * 1000 // 5 minutes cache for profiles
20
21
  });
21
22
  } catch (error) {
22
23
  throw this.handleError(error);
@@ -35,7 +36,8 @@ export function OxyServicesUserMixin(Base) {
35
36
  const searchParams = buildSearchParams(params);
36
37
  const paramsObj = Object.fromEntries(searchParams.entries());
37
38
  const response = await this.makeRequest('GET', '/api/profiles/search', paramsObj, {
38
- cache: false // Never cache profiles
39
+ cache: true,
40
+ cacheTTL: 2 * 60 * 1000 // 2 minutes cache
39
41
  });
40
42
 
41
43
  // New API shape: { data: User[], pagination: {...} }
@@ -82,7 +84,7 @@ export function OxyServicesUserMixin(Base) {
82
84
  async getProfileRecommendations() {
83
85
  return this.withAuthRetry(async () => {
84
86
  return await this.makeRequest('GET', '/api/profiles/recommendations', undefined, {
85
- cache: false
87
+ cache: true
86
88
  });
87
89
  }, 'getProfileRecommendations');
88
90
  }
@@ -93,7 +95,8 @@ export function OxyServicesUserMixin(Base) {
93
95
  async getUserById(userId) {
94
96
  try {
95
97
  return await this.makeRequest('GET', `/api/users/${userId}`, undefined, {
96
- cache: false // Never cache profiles
98
+ cache: true,
99
+ cacheTTL: 5 * 60 * 1000 // 5 minutes cache
97
100
  });
98
101
  } catch (error) {
99
102
  throw this.handleError(error);
@@ -102,18 +105,19 @@ export function OxyServicesUserMixin(Base) {
102
105
 
103
106
  /**
104
107
  * Get current user
105
- * Services never caches profile - always fetch fresh from backend
106
108
  */
107
109
  async getCurrentUser() {
108
110
  return this.withAuthRetry(async () => {
109
111
  return await this.makeRequest('GET', '/api/users/me', undefined, {
110
- cache: false // Services never caches profile - only tokens
112
+ cache: true,
113
+ cacheTTL: 1 * 60 * 1000 // 1 minute cache for current user
111
114
  });
112
115
  }, 'getCurrentUser');
113
116
  }
114
117
 
115
118
  /**
116
119
  * Update user profile
120
+ * TanStack Query handles offline queuing automatically
117
121
  */
118
122
  async updateProfile(updates) {
119
123
  try {
@@ -121,24 +125,33 @@ export function OxyServicesUserMixin(Base) {
121
125
  cache: false
122
126
  });
123
127
  } catch (error) {
128
+ const errorAny = error;
129
+ const errorMessage = error instanceof Error ? error.message : String(error);
130
+ const status = errorAny?.status || errorAny?.response?.status;
131
+
132
+ // Check if it's an authentication error (401)
133
+ const isAuthError = status === 401 || errorMessage.includes('Authentication required') || errorMessage.includes('Invalid or missing authorization header');
134
+
135
+ // If authentication error and we don't have a token, this might be an offline session
136
+ // The caller should handle syncing the session before retrying
137
+ if (isAuthError && !this.hasValidToken()) {
138
+ // Re-throw with a specific message so the caller knows to sync
139
+ throw new Error('AUTH_REQUIRED_OFFLINE_SESSION: Session needs to be synced to get a token');
140
+ }
124
141
  throw this.handleError(error);
125
142
  }
126
143
  }
127
144
 
128
145
  /**
129
146
  * Get privacy settings for a user
130
- * @param userId - The user ID (MongoDB ObjectId, defaults to current user)
147
+ * @param userId - The user ID (defaults to current user)
131
148
  */
132
149
  async getPrivacySettings(userId) {
133
150
  try {
134
- // Use getCurrentUserId() which returns MongoDB ObjectId from JWT token
135
- // Never use getCurrentUser().id as it may be set to publicKey
136
- const id = userId || this.getCurrentUserId();
137
- if (!id) {
138
- throw new Error('User ID is required');
139
- }
151
+ const id = userId || (await this.getCurrentUser()).id;
140
152
  return await this.makeRequest('GET', `/api/privacy/${id}/privacy`, undefined, {
141
- cache: false
153
+ cache: true,
154
+ cacheTTL: 2 * 60 * 1000 // 2 minutes cache
142
155
  });
143
156
  } catch (error) {
144
157
  throw this.handleError(error);
@@ -148,16 +161,11 @@ export function OxyServicesUserMixin(Base) {
148
161
  /**
149
162
  * Update privacy settings
150
163
  * @param settings - Partial privacy settings object
151
- * @param userId - The user ID (MongoDB ObjectId, defaults to current user)
164
+ * @param userId - The user ID (defaults to current user)
152
165
  */
153
166
  async updatePrivacySettings(settings, userId) {
154
167
  try {
155
- // Use getCurrentUserId() which returns MongoDB ObjectId from JWT token
156
- // Never use getCurrentUser().id as it may be set to publicKey
157
- const id = userId || this.getCurrentUserId();
158
- if (!id) {
159
- throw new Error('User ID is required');
160
- }
168
+ const id = userId || (await this.getCurrentUser()).id;
161
169
  return await this.makeRequest('PATCH', `/api/privacy/${id}/privacy`, settings, {
162
170
  cache: false
163
171
  });
@@ -252,7 +260,8 @@ export function OxyServicesUserMixin(Base) {
252
260
  async getFollowStatus(userId) {
253
261
  try {
254
262
  return await this.makeRequest('GET', `/api/users/${userId}/follow-status`, undefined, {
255
- cache: false
263
+ cache: true,
264
+ cacheTTL: 1 * 60 * 1000 // 1 minute cache
256
265
  });
257
266
  } catch (error) {
258
267
  throw this.handleError(error);
@@ -266,7 +275,8 @@ export function OxyServicesUserMixin(Base) {
266
275
  try {
267
276
  const params = buildPaginationParams(pagination || {});
268
277
  const response = await this.makeRequest('GET', `/api/users/${userId}/followers`, params, {
269
- cache: false
278
+ cache: true,
279
+ cacheTTL: 2 * 60 * 1000 // 2 minutes cache
270
280
  });
271
281
  return {
272
282
  followers: response.data || [],
@@ -285,7 +295,8 @@ export function OxyServicesUserMixin(Base) {
285
295
  try {
286
296
  const params = buildPaginationParams(pagination || {});
287
297
  const response = await this.makeRequest('GET', `/api/users/${userId}/following`, params, {
288
- cache: false
298
+ cache: true,
299
+ cacheTTL: 2 * 60 * 1000 // 2 minutes cache
289
300
  });
290
301
  return {
291
302
  following: response.data || [],
@@ -1 +1 @@
1
- {"version":3,"names":["buildSearchParams","buildPaginationParams","OxyServicesUserMixin","Base","constructor","args","getProfileByUsername","username","makeRequest","undefined","cache","error","handleError","searchProfiles","query","pagination","params","searchParams","paramsObj","Object","fromEntries","entries","response","isSearchProfilesResponse","payload","Array","isArray","data","typedResponse","paginationInfo","total","length","limit","offset","hasMore","fallbackLimit","fallbackPagination","Error","getProfileRecommendations","withAuthRetry","getUserById","userId","getCurrentUser","updateProfile","updates","getPrivacySettings","id","getCurrentUserId","updatePrivacySettings","settings","requestAccountVerification","reason","evidence","downloadAccountData","format","result","getClient","request","method","url","deleteAccount","password","confirmText","followUser","unfollowUser","getFollowStatus","getUserFollowers","followers","getUserFollowing","following","getNotifications","getUnreadCount","res","count","createNotification","markNotificationAsRead","notificationId","markAllNotificationsAsRead","deleteNotification"],"sourceRoot":"../../../../src","sources":["core/mixins/OxyServices.user.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["buildSearchParams","buildPaginationParams","OxyServicesUserMixin","Base","constructor","args","getProfileByUsername","username","makeRequest","undefined","cache","cacheTTL","error","handleError","searchProfiles","query","pagination","params","searchParams","paramsObj","Object","fromEntries","entries","response","isSearchProfilesResponse","payload","Array","isArray","data","typedResponse","paginationInfo","total","length","limit","offset","hasMore","fallbackLimit","fallbackPagination","Error","getProfileRecommendations","withAuthRetry","getUserById","userId","getCurrentUser","updateProfile","updates","errorAny","errorMessage","message","String","status","isAuthError","includes","hasValidToken","getPrivacySettings","id","updatePrivacySettings","settings","requestAccountVerification","reason","evidence","downloadAccountData","format","result","getClient","request","method","url","deleteAccount","password","confirmText","followUser","unfollowUser","getFollowStatus","getUserFollowers","followers","getUserFollowing","following","getNotifications","getUnreadCount","res","count","createNotification","markNotificationAsRead","notificationId","markAllNotificationsAsRead","deleteNotification"],"sourceRoot":"../../../../src","sources":["core/mixins/OxyServices.user.ts"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,9 @@
9
9
 
10
10
  import { OxyServicesBase } from '../OxyServices.base';
11
11
  import { OxyServicesAuthMixin } from './OxyServices.auth';
12
+ import { OxyServicesFedCMMixin } from './OxyServices.fedcm';
13
+ import { OxyServicesPopupAuthMixin } from './OxyServices.popup';
14
+ import { OxyServicesRedirectAuthMixin } from './OxyServices.redirect';
12
15
  import { OxyServicesUserMixin } from './OxyServices.user';
13
16
  import { OxyServicesPrivacyMixin } from './OxyServices.privacy';
14
17
  import { OxyServicesLanguageMixin } from './OxyServices.language';
@@ -24,13 +27,22 @@ import { OxyServicesUtilityMixin } from './OxyServices.utility';
24
27
 
25
28
  /**
26
29
  * Composes all OxyServices mixins in the correct order
27
- *
30
+ *
28
31
  * Order matters for mixins - dependencies should be applied first.
29
32
  * This function ensures consistent composition across the codebase.
30
- *
33
+ *
34
+ * New cross-domain auth mixins added:
35
+ * - FedCM: Modern browser-native identity federation (Google-style)
36
+ * - Popup: OAuth2-style popup authentication
37
+ * - Redirect: Traditional redirect-based authentication
38
+ *
31
39
  * @returns The fully composed OxyServices class with all mixins applied
32
40
  */
33
41
  export function composeOxyServices() {
34
- return OxyServicesUtilityMixin(OxyServicesSecurityMixin(OxyServicesDevicesMixin(OxyServicesAnalyticsMixin(OxyServicesLocationMixin(OxyServicesDeveloperMixin(OxyServicesAssetsMixin(OxyServicesKarmaMixin(OxyServicesPaymentMixin(OxyServicesLanguageMixin(OxyServicesPrivacyMixin(OxyServicesUserMixin(OxyServicesAuthMixin(OxyServicesBase)))))))))))));
42
+ return OxyServicesUtilityMixin(OxyServicesSecurityMixin(OxyServicesDevicesMixin(OxyServicesAnalyticsMixin(OxyServicesLocationMixin(OxyServicesDeveloperMixin(OxyServicesAssetsMixin(OxyServicesKarmaMixin(OxyServicesPaymentMixin(OxyServicesLanguageMixin(OxyServicesPrivacyMixin(OxyServicesUserMixin(
43
+ // Cross-domain authentication mixins (web-only)
44
+ OxyServicesRedirectAuthMixin(OxyServicesPopupAuthMixin(OxyServicesFedCMMixin(
45
+ // Base authentication mixin
46
+ OxyServicesAuthMixin(OxyServicesBase))))))))))))))));
35
47
  }
36
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["OxyServicesBase","OxyServicesAuthMixin","OxyServicesUserMixin","OxyServicesPrivacyMixin","OxyServicesLanguageMixin","OxyServicesPaymentMixin","OxyServicesKarmaMixin","OxyServicesAssetsMixin","OxyServicesDeveloperMixin","OxyServicesLocationMixin","OxyServicesAnalyticsMixin","OxyServicesDevicesMixin","OxyServicesSecurityMixin","OxyServicesUtilityMixin","composeOxyServices"],"sourceRoot":"../../../../src","sources":["core/mixins/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,eAAe,QAAQ,qBAAqB;AACrD,SAASC,oBAAoB,QAAQ,oBAAoB;AACzD,SAASC,oBAAoB,QAAQ,oBAAoB;AACzD,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,qBAAqB,QAAQ,qBAAqB;AAC3D,SAASC,sBAAsB,QAAQ,sBAAsB;AAC7D,SAASC,yBAAyB,QAAQ,yBAAyB;AACnE,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,yBAAyB,QAAQ,yBAAyB;AACnE,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,uBAAuB,QAAQ,uBAAuB;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAOD,uBAAuB,CAC5BD,wBAAwB,CACtBD,uBAAuB,CACrBD,yBAAyB,CACvBD,wBAAwB,CACtBD,yBAAyB,CACvBD,sBAAsB,CACpBD,qBAAqB,CACnBD,uBAAuB,CACrBD,wBAAwB,CACtBD,uBAAuB,CACrBD,oBAAoB,CAClBD,oBAAoB,CAACD,eAAe,CACtC,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["OxyServicesBase","OxyServicesAuthMixin","OxyServicesFedCMMixin","OxyServicesPopupAuthMixin","OxyServicesRedirectAuthMixin","OxyServicesUserMixin","OxyServicesPrivacyMixin","OxyServicesLanguageMixin","OxyServicesPaymentMixin","OxyServicesKarmaMixin","OxyServicesAssetsMixin","OxyServicesDeveloperMixin","OxyServicesLocationMixin","OxyServicesAnalyticsMixin","OxyServicesDevicesMixin","OxyServicesSecurityMixin","OxyServicesUtilityMixin","composeOxyServices"],"sourceRoot":"../../../../src","sources":["core/mixins/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,eAAe,QAAQ,qBAAqB;AACrD,SAASC,oBAAoB,QAAQ,oBAAoB;AACzD,SAASC,qBAAqB,QAAQ,qBAAqB;AAC3D,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,4BAA4B,QAAQ,wBAAwB;AACrE,SAASC,oBAAoB,QAAQ,oBAAoB;AACzD,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,qBAAqB,QAAQ,qBAAqB;AAC3D,SAASC,sBAAsB,QAAQ,sBAAsB;AAC7D,SAASC,yBAAyB,QAAQ,yBAAyB;AACnE,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,yBAAyB,QAAQ,yBAAyB;AACnE,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,uBAAuB,QAAQ,uBAAuB;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAOD,uBAAuB,CAC5BD,wBAAwB,CACtBD,uBAAuB,CACrBD,yBAAyB,CACvBD,wBAAwB,CACtBD,yBAAyB,CACvBD,sBAAsB,CACpBD,qBAAqB,CACnBD,uBAAuB,CACrBD,wBAAwB,CACtBD,uBAAuB,CACrBD,oBAAoB;EAClB;EACAD,4BAA4B,CAC1BD,yBAAyB,CACvBD,qBAAqB;EACnB;EACAD,oBAAoB,CAACD,eAAe,CACtC,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CAAC;AACH","ignoreList":[]}
@@ -3,12 +3,16 @@
3
3
  /**
4
4
  * Oxy Crypto Module
5
5
  *
6
- * Provides type definitions and polyfills for crypto operations.
7
- * Identity management (KeyManager, SignatureService) belongs ONLY in the Accounts app.
6
+ * Provides cryptographic identity management for the Oxy ecosystem.
7
+ * Handles key generation, secure storage, digital signatures, and recovery phrases.
8
8
  */
9
9
 
10
- // Import polyfills first - this ensures Buffer is available for crypto libraries
10
+ // Import polyfills first - this ensures Buffer is available for bip39 and other libraries
11
11
  import './polyfill';
12
+ export { KeyManager } from './keyManager';
13
+ export { SignatureService } from './signatureService';
14
+ export { RecoveryPhraseService } from './recoveryPhrase';
12
15
 
13
- // Only export types - actual identity operations are in Accounts app
16
+ // Re-export for convenience
17
+ export { KeyManager as default } from './keyManager';
14
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["crypto/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,YAAY;;AAEnB","ignoreList":[]}
1
+ {"version":3,"names":["KeyManager","SignatureService","RecoveryPhraseService","default"],"sourceRoot":"../../../src","sources":["crypto/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,YAAY;AAEnB,SAASA,UAAU,QAAsB,cAAc;AACvD,SACEC,gBAAgB,QAGX,oBAAoB;AAC3B,SACEC,qBAAqB,QAEhB,kBAAkB;;AAEzB;AACA,SAASF,UAAU,IAAIG,OAAO,QAAQ,cAAc","ignoreList":[]}