@oxyhq/services 28.0.0 → 29.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/NOTICE +10 -9
  2. package/README.md +65 -2
  3. package/android/src/main/java/so/oxy/devicesession/OxyDeviceSessionModule.kt +178 -0
  4. package/android/src/main/java/so/oxy/devicesession/OxyDeviceSessionProvider.kt +99 -0
  5. package/android/src/main/java/so/oxy/devicesession/OxyDeviceSessionStore.kt +115 -0
  6. package/expo-module.config.json +1 -0
  7. package/lib/commonjs/index.js +60 -16
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/ui/boot/runProviderColdBoot.js +7 -0
  10. package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
  11. package/lib/commonjs/ui/client.js +12 -7
  12. package/lib/commonjs/ui/client.js.map +1 -1
  13. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +10 -27
  14. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
  15. package/lib/commonjs/ui/components/OxyAuthChooser.js +132 -44
  16. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  17. package/lib/commonjs/ui/components/OxyProvider.js +4 -2
  18. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  19. package/lib/commonjs/ui/components/SurfaceScreen.js +31 -3
  20. package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -1
  21. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +209 -84
  22. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  23. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +25 -7
  24. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -1
  25. package/lib/commonjs/ui/components/authChooser/primitives.js +35 -22
  26. package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -1
  27. package/lib/commonjs/ui/components/authChooser/types.js +11 -0
  28. package/lib/commonjs/ui/components/authChooser/types.js.map +1 -1
  29. package/lib/commonjs/ui/context/OxyContext.js +257 -306
  30. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  31. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +27 -37
  32. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  33. package/lib/commonjs/ui/context/oxyContextHelpers.js +0 -29
  34. package/lib/commonjs/ui/context/oxyContextHelpers.js.map +1 -1
  35. package/lib/commonjs/ui/context/useOxyAccountGraph.js +6 -17
  36. package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
  37. package/lib/commonjs/ui/hooks/accountDialogSnapshot.js +42 -0
  38. package/lib/commonjs/ui/hooks/accountDialogSnapshot.js.map +1 -0
  39. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +0 -19
  40. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  41. package/lib/commonjs/ui/hooks/useDeviceSwitcher.js +57 -0
  42. package/lib/commonjs/ui/hooks/useDeviceSwitcher.js.map +1 -0
  43. package/lib/commonjs/ui/hooks/useI18n.js +22 -3
  44. package/lib/commonjs/ui/hooks/useI18n.js.map +1 -1
  45. package/lib/commonjs/ui/hooks/useSessionManagement.js +46 -153
  46. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  47. package/lib/commonjs/ui/index.js +12 -7
  48. package/lib/commonjs/ui/index.js.map +1 -1
  49. package/lib/commonjs/ui/navigation/routes.js +85 -73
  50. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  51. package/lib/commonjs/ui/navigation/surfaces.js +8 -7
  52. package/lib/commonjs/ui/navigation/surfaces.js.map +1 -1
  53. package/lib/commonjs/ui/runtime/createOxyRuntime.js +433 -0
  54. package/lib/commonjs/ui/runtime/createOxyRuntime.js.map +1 -0
  55. package/lib/commonjs/ui/runtime/index.js +63 -0
  56. package/lib/commonjs/ui/runtime/index.js.map +1 -0
  57. package/lib/commonjs/ui/runtime/runtimeContext.js +83 -0
  58. package/lib/commonjs/ui/runtime/runtimeContext.js.map +1 -0
  59. package/lib/commonjs/ui/runtime/types.js +6 -0
  60. package/lib/commonjs/ui/runtime/types.js.map +1 -0
  61. package/lib/commonjs/ui/runtime/useRuntimeSnapshot.js +57 -0
  62. package/lib/commonjs/ui/runtime/useRuntimeSnapshot.js.map +1 -0
  63. package/lib/commonjs/ui/server.js +1 -2
  64. package/lib/commonjs/ui/server.js.map +1 -1
  65. package/lib/commonjs/ui/session/authStore.js +45 -9
  66. package/lib/commonjs/ui/session/authStore.js.map +1 -1
  67. package/lib/commonjs/ui/session/sharedDeviceCredentialStore.js +306 -0
  68. package/lib/commonjs/ui/session/sharedDeviceCredentialStore.js.map +1 -0
  69. package/lib/commonjs/ui/stores/authStore.js +154 -55
  70. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  71. package/lib/commonjs/ui/utils/avatarUtils.js +2 -36
  72. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  73. package/lib/module/index.js +16 -8
  74. package/lib/module/index.js.map +1 -1
  75. package/lib/module/ui/boot/runProviderColdBoot.js +7 -0
  76. package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
  77. package/lib/module/ui/client.js +1 -2
  78. package/lib/module/ui/client.js.map +1 -1
  79. package/lib/module/ui/components/OxyAccountDialogScreen.js +10 -27
  80. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
  81. package/lib/module/ui/components/OxyAuthChooser.js +134 -44
  82. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  83. package/lib/module/ui/components/OxyProvider.js +5 -3
  84. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  85. package/lib/module/ui/components/SurfaceScreen.js +33 -5
  86. package/lib/module/ui/components/SurfaceScreen.js.map +1 -1
  87. package/lib/module/ui/components/authChooser/AccountsMenuView.js +210 -85
  88. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  89. package/lib/module/ui/components/authChooser/SignInEntryView.js +25 -7
  90. package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -1
  91. package/lib/module/ui/components/authChooser/primitives.js +35 -22
  92. package/lib/module/ui/components/authChooser/primitives.js.map +1 -1
  93. package/lib/module/ui/components/authChooser/types.js +11 -0
  94. package/lib/module/ui/components/authChooser/types.js.map +1 -1
  95. package/lib/module/ui/context/OxyContext.js +251 -303
  96. package/lib/module/ui/context/OxyContext.js.map +1 -1
  97. package/lib/module/ui/context/hooks/useAuthOperations.js +27 -37
  98. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  99. package/lib/module/ui/context/oxyContextHelpers.js +0 -28
  100. package/lib/module/ui/context/oxyContextHelpers.js.map +1 -1
  101. package/lib/module/ui/context/useOxyAccountGraph.js +6 -17
  102. package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
  103. package/lib/module/ui/hooks/accountDialogSnapshot.js +38 -0
  104. package/lib/module/ui/hooks/accountDialogSnapshot.js.map +1 -0
  105. package/lib/module/ui/hooks/mutations/useAccountMutations.js +0 -19
  106. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  107. package/lib/module/ui/hooks/useDeviceSwitcher.js +53 -0
  108. package/lib/module/ui/hooks/useDeviceSwitcher.js.map +1 -0
  109. package/lib/module/ui/hooks/useI18n.js +24 -4
  110. package/lib/module/ui/hooks/useI18n.js.map +1 -1
  111. package/lib/module/ui/hooks/useSessionManagement.js +47 -155
  112. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  113. package/lib/module/ui/index.js +1 -2
  114. package/lib/module/ui/index.js.map +1 -1
  115. package/lib/module/ui/navigation/routes.js +84 -72
  116. package/lib/module/ui/navigation/routes.js.map +1 -1
  117. package/lib/module/ui/navigation/surfaces.js +6 -6
  118. package/lib/module/ui/navigation/surfaces.js.map +1 -1
  119. package/lib/module/ui/runtime/createOxyRuntime.js +430 -0
  120. package/lib/module/ui/runtime/createOxyRuntime.js.map +1 -0
  121. package/lib/module/ui/runtime/index.js +15 -0
  122. package/lib/module/ui/runtime/index.js.map +1 -0
  123. package/lib/module/ui/runtime/runtimeContext.js +75 -0
  124. package/lib/module/ui/runtime/runtimeContext.js.map +1 -0
  125. package/lib/module/ui/runtime/types.js +4 -0
  126. package/lib/module/ui/runtime/types.js.map +1 -0
  127. package/lib/module/ui/runtime/useRuntimeSnapshot.js +52 -0
  128. package/lib/module/ui/runtime/useRuntimeSnapshot.js.map +1 -0
  129. package/lib/module/ui/server.js +0 -1
  130. package/lib/module/ui/server.js.map +1 -1
  131. package/lib/module/ui/session/authStore.js +46 -11
  132. package/lib/module/ui/session/authStore.js.map +1 -1
  133. package/lib/module/ui/session/sharedDeviceCredentialStore.js +302 -0
  134. package/lib/module/ui/session/sharedDeviceCredentialStore.js.map +1 -0
  135. package/lib/module/ui/stores/authStore.js +154 -55
  136. package/lib/module/ui/stores/authStore.js.map +1 -1
  137. package/lib/module/ui/utils/avatarUtils.js +2 -35
  138. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  139. package/lib/typescript/commonjs/index.d.ts +5 -3
  140. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  141. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/ui/client.d.ts +1 -2
  143. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  146. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  147. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +11 -4
  149. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +3 -1
  151. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +18 -6
  153. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +33 -1
  155. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -1
  156. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +35 -4
  157. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +8 -12
  159. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/ui/context/oxyContextHelpers.d.ts +0 -2
  161. package/lib/typescript/commonjs/ui/context/oxyContextHelpers.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +9 -1
  163. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +1 -3
  165. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts +15 -0
  167. package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts.map +1 -0
  168. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/ui/hooks/useDeviceSwitcher.d.ts +49 -0
  170. package/lib/typescript/commonjs/ui/hooks/useDeviceSwitcher.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/ui/hooks/useI18n.d.ts +13 -0
  172. package/lib/typescript/commonjs/ui/hooks/useI18n.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts +23 -18
  174. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/ui/index.d.ts +1 -2
  176. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +15 -1
  178. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts +144 -0
  181. package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/ui/runtime/index.d.ts +16 -0
  183. package/lib/typescript/commonjs/ui/runtime/index.d.ts.map +1 -0
  184. package/lib/typescript/commonjs/ui/runtime/runtimeContext.d.ts +43 -0
  185. package/lib/typescript/commonjs/ui/runtime/runtimeContext.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/ui/runtime/types.d.ts +89 -0
  187. package/lib/typescript/commonjs/ui/runtime/types.d.ts.map +1 -0
  188. package/lib/typescript/commonjs/ui/runtime/useRuntimeSnapshot.d.ts +23 -0
  189. package/lib/typescript/commonjs/ui/runtime/useRuntimeSnapshot.d.ts.map +1 -0
  190. package/lib/typescript/commonjs/ui/server.d.ts +0 -1
  191. package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
  192. package/lib/typescript/commonjs/ui/session/authStore.d.ts +60 -9
  193. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
  194. package/lib/typescript/commonjs/ui/session/sharedDeviceCredentialStore.d.ts +32 -0
  195. package/lib/typescript/commonjs/ui/session/sharedDeviceCredentialStore.d.ts.map +1 -0
  196. package/lib/typescript/commonjs/ui/stores/authStore.d.ts +49 -5
  197. package/lib/typescript/commonjs/ui/stores/authStore.d.ts.map +1 -1
  198. package/lib/typescript/commonjs/ui/types/navigation.d.ts +26 -0
  199. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  200. package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts +2 -10
  201. package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts.map +1 -1
  202. package/lib/typescript/module/index.d.ts +5 -3
  203. package/lib/typescript/module/index.d.ts.map +1 -1
  204. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  205. package/lib/typescript/module/ui/client.d.ts +1 -2
  206. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  207. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  208. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  209. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  210. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -1
  211. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +11 -4
  212. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
  213. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +3 -1
  214. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +1 -1
  215. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +18 -6
  216. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -1
  217. package/lib/typescript/module/ui/components/authChooser/types.d.ts +33 -1
  218. package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -1
  219. package/lib/typescript/module/ui/context/OxyContext.d.ts +35 -4
  220. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  221. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +8 -12
  222. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  223. package/lib/typescript/module/ui/context/oxyContextHelpers.d.ts +0 -2
  224. package/lib/typescript/module/ui/context/oxyContextHelpers.d.ts.map +1 -1
  225. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +9 -1
  226. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  227. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +1 -3
  228. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  229. package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts +15 -0
  230. package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts.map +1 -0
  231. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  232. package/lib/typescript/module/ui/hooks/useDeviceSwitcher.d.ts +49 -0
  233. package/lib/typescript/module/ui/hooks/useDeviceSwitcher.d.ts.map +1 -0
  234. package/lib/typescript/module/ui/hooks/useI18n.d.ts +13 -0
  235. package/lib/typescript/module/ui/hooks/useI18n.d.ts.map +1 -1
  236. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts +23 -18
  237. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
  238. package/lib/typescript/module/ui/index.d.ts +1 -2
  239. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  240. package/lib/typescript/module/ui/navigation/routes.d.ts +15 -1
  241. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  242. package/lib/typescript/module/ui/navigation/surfaces.d.ts.map +1 -1
  243. package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts +144 -0
  244. package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts.map +1 -0
  245. package/lib/typescript/module/ui/runtime/index.d.ts +16 -0
  246. package/lib/typescript/module/ui/runtime/index.d.ts.map +1 -0
  247. package/lib/typescript/module/ui/runtime/runtimeContext.d.ts +43 -0
  248. package/lib/typescript/module/ui/runtime/runtimeContext.d.ts.map +1 -0
  249. package/lib/typescript/module/ui/runtime/types.d.ts +89 -0
  250. package/lib/typescript/module/ui/runtime/types.d.ts.map +1 -0
  251. package/lib/typescript/module/ui/runtime/useRuntimeSnapshot.d.ts +23 -0
  252. package/lib/typescript/module/ui/runtime/useRuntimeSnapshot.d.ts.map +1 -0
  253. package/lib/typescript/module/ui/server.d.ts +0 -1
  254. package/lib/typescript/module/ui/server.d.ts.map +1 -1
  255. package/lib/typescript/module/ui/session/authStore.d.ts +60 -9
  256. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
  257. package/lib/typescript/module/ui/session/sharedDeviceCredentialStore.d.ts +32 -0
  258. package/lib/typescript/module/ui/session/sharedDeviceCredentialStore.d.ts.map +1 -0
  259. package/lib/typescript/module/ui/stores/authStore.d.ts +49 -5
  260. package/lib/typescript/module/ui/stores/authStore.d.ts.map +1 -1
  261. package/lib/typescript/module/ui/types/navigation.d.ts +26 -0
  262. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  263. package/lib/typescript/module/ui/utils/avatarUtils.d.ts +2 -10
  264. package/lib/typescript/module/ui/utils/avatarUtils.d.ts.map +1 -1
  265. package/package.json +6 -7
  266. package/plugins/withSharedDeviceSessionProvider.js +102 -0
  267. package/plugins/withSharedDeviceSessionReader.js +57 -0
  268. package/src/__tests__/esmSourcePurity.test.ts +61 -0
  269. package/src/index.ts +31 -9
  270. package/src/ui/boot/runProviderColdBoot.ts +7 -0
  271. package/src/ui/client.ts +1 -2
  272. package/src/ui/components/OxyAccountDialogScreen.tsx +10 -29
  273. package/src/ui/components/OxyAuthChooser.tsx +149 -50
  274. package/src/ui/components/OxyProvider.tsx +7 -5
  275. package/src/ui/components/SurfaceScreen.tsx +28 -4
  276. package/src/ui/components/authChooser/AccountsMenuView.tsx +246 -96
  277. package/src/ui/components/authChooser/SignInEntryView.tsx +31 -8
  278. package/src/ui/components/authChooser/primitives.tsx +37 -23
  279. package/src/ui/components/authChooser/types.ts +34 -1
  280. package/src/ui/context/OxyContext.tsx +269 -324
  281. package/src/ui/context/hooks/useAuthOperations.ts +32 -35
  282. package/src/ui/context/oxyContextHelpers.ts +0 -30
  283. package/src/ui/context/oxyContextTypes.ts +9 -1
  284. package/src/ui/context/useOxyAccountGraph.ts +5 -19
  285. package/src/ui/hooks/accountDialogSnapshot.ts +37 -0
  286. package/src/ui/hooks/mutations/useAccountMutations.ts +0 -19
  287. package/src/ui/hooks/queries/__tests__/userCache.test.ts +12 -1
  288. package/src/ui/hooks/useDeviceSwitcher.ts +110 -0
  289. package/src/ui/hooks/useI18n.ts +23 -3
  290. package/src/ui/hooks/useSessionManagement.ts +62 -211
  291. package/src/ui/index.ts +1 -2
  292. package/src/ui/navigation/routes.ts +85 -75
  293. package/src/ui/navigation/surfaces.ts +6 -9
  294. package/src/ui/runtime/createOxyRuntime.ts +623 -0
  295. package/src/ui/runtime/index.ts +34 -0
  296. package/src/ui/runtime/runtimeContext.tsx +111 -0
  297. package/src/ui/runtime/types.ts +110 -0
  298. package/src/ui/runtime/useRuntimeSnapshot.ts +52 -0
  299. package/src/ui/server.ts +0 -1
  300. package/src/ui/session/__tests__/authStore.test.ts +90 -0
  301. package/src/ui/session/__tests__/sharedDeviceCredentialStore.test.ts +289 -0
  302. package/src/ui/session/authStore.ts +78 -9
  303. package/src/ui/session/sharedDeviceCredentialStore.ts +318 -0
  304. package/src/ui/stores/authStore.ts +171 -43
  305. package/src/ui/types/navigation.ts +26 -0
  306. package/src/ui/utils/avatarUtils.ts +2 -37
  307. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +0 -64
  308. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +0 -1
  309. package/lib/commonjs/ui/stores/accountStore.js +0 -221
  310. package/lib/commonjs/ui/stores/accountStore.js.map +0 -1
  311. package/lib/module/ui/hooks/useSwitchableAccounts.js +0 -60
  312. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +0 -1
  313. package/lib/module/ui/stores/accountStore.js +0 -213
  314. package/lib/module/ui/stores/accountStore.js.map +0 -1
  315. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +0 -23
  316. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +0 -1
  317. package/lib/typescript/commonjs/ui/stores/accountStore.d.ts +0 -27
  318. package/lib/typescript/commonjs/ui/stores/accountStore.d.ts.map +0 -1
  319. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +0 -23
  320. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +0 -1
  321. package/lib/typescript/module/ui/stores/accountStore.d.ts +0 -27
  322. package/lib/typescript/module/ui/stores/accountStore.d.ts.map +0 -1
  323. package/src/ui/hooks/useSwitchableAccounts.ts +0 -75
  324. package/src/ui/stores/accountStore.ts +0 -264
@@ -10,8 +10,8 @@ import { useState } from 'react';
10
10
  import { Pressable, View } from 'react-native-css/components';
11
11
  import MaterialCommunityIcons from '@expo/vector-icons/MaterialCommunityIcons';
12
12
  import { Avatar } from '@oxyhq/bloom/avatar';
13
- import { Text } from '@oxyhq/bloom/typography';
14
13
  import { BloomColorScope } from '@oxyhq/bloom/theme';
14
+ import { Text } from '@oxyhq/bloom/typography';
15
15
  import { authChooserStyles as styles } from "./styles.js";
16
16
  import { resolveAccentHex, toPreset } from "./types.js";
17
17
 
@@ -91,42 +91,55 @@ export const Dividerish = ({
91
91
  });
92
92
 
93
93
  /**
94
- * An account row on the sign-in entry — "continue as one of these" rather than a
95
- * choice of authentication METHOD, which is why it stays above the primary CTA
96
- * instead of behind the trouble disclosure.
94
+ * A `principal acting as account` row on the sign-in entry — "continue as one of
95
+ * these" rather than a choice of authentication METHOD, which is why it stays
96
+ * above the primary CTA instead of behind the trouble disclosure.
97
+ *
98
+ * Pressing it activates the PAIR. The secondary line is the account's `@handle`:
99
+ * the device directory carries a handle and no email, deliberately — it is the
100
+ * minimum that renders a row for every person on the device, and this surface is
101
+ * reached while signed out, where fetching anyone's profile is not an option.
102
+ *
103
+ * The accent comes from the row's OWN account (`context.color`, straight off the
104
+ * directory), not from the theme and not from whoever is signed in. This surface
105
+ * is where a device holding two people is most visible, and it is reached while
106
+ * signed out — so there is no "current user" whose colour could stand in.
97
107
  */
98
108
  export const AccountRow = ({
99
- account,
109
+ context,
110
+ operatedBy,
100
111
  theme,
101
- switching,
112
+ activating,
102
113
  disabled,
103
114
  onPress
104
115
  }) => {
105
- const accent = resolveAccentHex(account.color, theme.colors.primary);
116
+ const accent = resolveAccentHex(context.color, theme.colors.primary);
117
+ const rowDisabled = disabled || !context.canActivate;
118
+ const secondary = operatedBy ?? (context.handle ? `@${context.handle}` : null);
106
119
  return /*#__PURE__*/_jsx(BloomColorScope, {
107
- colorPreset: toPreset(account.color),
120
+ colorPreset: toPreset(context.color),
108
121
  asChild: true,
109
122
  children: /*#__PURE__*/_jsxs(Pressable, {
110
123
  style: [styles.accountRow, {
111
- borderColor: account.isCurrent ? accent : theme.colors.border,
124
+ borderColor: context.isActive ? accent : theme.colors.border,
112
125
  backgroundColor: theme.colors.card
113
- }, disabled && !switching ? styles.rowDisabled : null],
126
+ }, rowDisabled && !activating ? styles.rowDisabled : null],
114
127
  onPress: onPress,
115
- disabled: disabled,
128
+ disabled: rowDisabled,
116
129
  accessibilityRole: "button",
117
130
  accessibilityState: {
118
- selected: account.isCurrent,
119
- disabled
131
+ selected: context.isActive,
132
+ disabled: rowDisabled
120
133
  },
121
- accessibilityLabel: account.displayName,
134
+ accessibilityLabel: context.displayName,
122
135
  children: [/*#__PURE__*/_jsx(View, {
123
136
  style: [styles.avatarRing, {
124
- borderColor: account.isCurrent ? accent : 'transparent'
137
+ borderColor: context.isActive ? accent : 'transparent'
125
138
  }],
126
139
  children: /*#__PURE__*/_jsx(Avatar, {
127
- source: account.avatarUrl ?? undefined,
140
+ source: context.avatarUrl ?? undefined,
128
141
  variant: "thumb",
129
- name: account.displayName,
142
+ name: context.displayName,
130
143
  size: ROW_AVATAR_SIZE
131
144
  })
132
145
  }), /*#__PURE__*/_jsxs(View, {
@@ -136,19 +149,19 @@ export const AccountRow = ({
136
149
  color: theme.colors.text
137
150
  }],
138
151
  numberOfLines: 1,
139
- children: account.displayName
140
- }), account.email ? /*#__PURE__*/_jsx(Text, {
152
+ children: context.displayName
153
+ }), secondary ? /*#__PURE__*/_jsx(Text, {
141
154
  style: [styles.rowHandle, {
142
155
  color: theme.colors.textSecondary
143
156
  }],
144
157
  numberOfLines: 1,
145
- children: account.email
158
+ children: secondary
146
159
  }) : null]
147
- }), switching ? /*#__PURE__*/_jsx(MaterialCommunityIcons, {
160
+ }), activating ? /*#__PURE__*/_jsx(MaterialCommunityIcons, {
148
161
  name: "loading",
149
162
  size: 20,
150
163
  color: accent
151
- }) : account.isCurrent ? /*#__PURE__*/_jsx(MaterialCommunityIcons, {
164
+ }) : context.isActive ? /*#__PURE__*/_jsx(MaterialCommunityIcons, {
152
165
  name: "check-circle",
153
166
  size: 20,
154
167
  color: accent
@@ -1 +1 @@
1
- {"version":3,"names":["useState","Pressable","View","MaterialCommunityIcons","Avatar","Text","BloomColorScope","authChooserStyles","styles","resolveAccentHex","toPreset","jsx","_jsx","jsxs","_jsxs","ROW_AVATAR_SIZE","HoverPressable","baseClassName","hoverClassName","rest","hovered","setHovered","className","onHoverIn","onHoverOut","SubtleLink","label","theme","onPress","disabled","testID","accessibilityRole","accessibilityLabel","style","footerLink","children","linkText","color","colors","textSecondary","Dividerish","dividerRow","dividerLine","backgroundColor","border","dividerText","AccountRow","account","switching","accent","primary","colorPreset","asChild","accountRow","borderColor","isCurrent","card","rowDisabled","accessibilityState","selected","displayName","avatarRing","source","avatarUrl","undefined","variant","name","size","rowMeta","rowName","text","numberOfLines","email","rowHandle"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/primitives.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","Pressable","View","MaterialCommunityIcons","Avatar","BloomColorScope","Text","authChooserStyles","styles","resolveAccentHex","toPreset","jsx","_jsx","jsxs","_jsxs","ROW_AVATAR_SIZE","HoverPressable","baseClassName","hoverClassName","rest","hovered","setHovered","className","onHoverIn","onHoverOut","SubtleLink","label","theme","onPress","disabled","testID","accessibilityRole","accessibilityLabel","style","footerLink","children","linkText","color","colors","textSecondary","Dividerish","dividerRow","dividerLine","backgroundColor","border","dividerText","AccountRow","context","operatedBy","activating","accent","primary","rowDisabled","canActivate","secondary","handle","colorPreset","asChild","accountRow","borderColor","isActive","card","accessibilityState","selected","displayName","avatarRing","source","avatarUrl","undefined","variant","name","size","rowMeta","rowName","text","numberOfLines","rowHandle"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/primitives.tsx"],"mappings":"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","ignoreList":[]}
@@ -24,6 +24,17 @@ import { APP_COLOR_NAMES, APP_COLOR_PRESETS } from '@oxyhq/bloom/theme';
24
24
 
25
25
  /** The account-row actions the container wires for the switcher + menu views. */
26
26
 
27
+ /**
28
+ * The account menu's HERO block — the current account, rendered large.
29
+ *
30
+ * Built by the container from `useOxy().user`, not from a directory row, and
31
+ * that asymmetry is deliberate rather than an oversight: the directory carries
32
+ * the minimum that renders a row (name, handle, avatar) for EVERY person on the
33
+ * device, while the account this client is actually signed in as is the one it
34
+ * legitimately holds a full profile for — so the hero keeps its real email and
35
+ * its own accent colour, and the rows below it do not pretend to.
36
+ */
37
+
27
38
  /** Used/total storage bytes for the "Oxy storage" block, or `null` when unknown. */
28
39
 
29
40
  /** The account-menu row actions the container wires (deep-links / sheets / sign-out). */
@@ -1 +1 @@
1
- {"version":3,"names":["APP_COLOR_NAMES","APP_COLOR_PRESETS","resolveAccentHex","color","fallback","preset","toPreset","hex","undefined","includes"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/types.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,eAAe,EAAEC,iBAAiB,QAA0C,oBAAoB;;AAMzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;;AAcA;;AAMA;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAAoB,EAAEC,QAAgB,EAAU;EAC/E,MAAMC,MAAM,GAAGC,QAAQ,CAACH,KAAK,CAAC;EAC9B,OAAOE,MAAM,GAAGJ,iBAAiB,CAACI,MAAM,CAAC,CAACE,GAAG,GAAGH,QAAQ;AAC1D;;AAEA;AACA,OAAO,SAASE,QAAQA,CAACH,KAAoB,EAA4B;EACvE,IAAI,CAACA,KAAK,EAAE,OAAOK,SAAS;EAC5B,OAAQR,eAAe,CAAuBS,QAAQ,CAACN,KAAK,CAAC,GACxDA,KAAK,GACNK,SAAS;AACf","ignoreList":[]}
1
+ {"version":3,"names":["APP_COLOR_NAMES","APP_COLOR_PRESETS","resolveAccentHex","color","fallback","preset","toPreset","hex","undefined","includes"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/types.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,eAAe,EAAEC,iBAAiB,QAA0C,oBAAoB;;AAMzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;;AA4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;;AAMA;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAAoB,EAAEC,QAAgB,EAAU;EAC/E,MAAMC,MAAM,GAAGC,QAAQ,CAACH,KAAK,CAAC;EAC9B,OAAOE,MAAM,GAAGJ,iBAAiB,CAACI,MAAM,CAAC,CAACE,GAAG,GAAGH,QAAQ;AAC1D;;AAEA;AACA,OAAO,SAASE,QAAQA,CAACH,KAAoB,EAA4B;EACvE,IAAI,CAACA,KAAK,EAAE,OAAOK,SAAS;EAC5B,OAAQR,eAAe,CAAuBS,QAAQ,CAACN,KAAK,CAAC,GACxDA,KAAK,GACNK,SAAS;AACf","ignoreList":[]}