@oxyhq/services 13.2.0 → 14.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 (260) hide show
  1. package/lib/commonjs/index.js +11 -17
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/components/AccountMenu.js +103 -65
  4. package/lib/commonjs/ui/components/AccountMenu.js.map +1 -1
  5. package/lib/commonjs/ui/components/AccountSwitcher.js +84 -126
  6. package/lib/commonjs/ui/components/AccountSwitcher.js.map +1 -1
  7. package/lib/commonjs/ui/components/ProfileButton.js +81 -22
  8. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
  9. package/lib/commonjs/ui/components/ProfileMenu.js +244 -142
  10. package/lib/commonjs/ui/components/ProfileMenu.js.map +1 -1
  11. package/lib/commonjs/ui/components/SignInModal.js +4 -4
  12. package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
  13. package/lib/commonjs/ui/context/OxyContext.js +506 -466
  14. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  15. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +59 -57
  16. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  17. package/lib/commonjs/ui/context/inSessionTokenRefresh.js +23 -42
  18. package/lib/commonjs/ui/context/inSessionTokenRefresh.js.map +1 -1
  19. package/lib/commonjs/ui/context/silentSessionRestore.js +12 -21
  20. package/lib/commonjs/ui/context/silentSessionRestore.js.map +1 -1
  21. package/lib/commonjs/ui/hooks/useAuth.js +4 -3
  22. package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
  23. package/lib/commonjs/ui/hooks/useOxyAuthSession.js +12 -7
  24. package/lib/commonjs/ui/hooks/useOxyAuthSession.js.map +1 -1
  25. package/lib/commonjs/ui/hooks/useSessionManagement.js +17 -65
  26. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  27. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +288 -0
  28. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -0
  29. package/lib/commonjs/ui/hooks/useWebSSO.js +12 -191
  30. package/lib/commonjs/ui/hooks/useWebSSO.js.map +1 -1
  31. package/lib/commonjs/ui/index.js.map +1 -1
  32. package/lib/commonjs/ui/screens/OxyAuthScreen.js +2 -2
  33. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  34. package/lib/commonjs/ui/session/createSessionClient.js +28 -0
  35. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -0
  36. package/lib/commonjs/ui/session/index.js +52 -0
  37. package/lib/commonjs/ui/session/index.js.map +1 -0
  38. package/lib/commonjs/ui/session/projectSessionState.js +86 -0
  39. package/lib/commonjs/ui/session/projectSessionState.js.map +1 -0
  40. package/lib/commonjs/ui/session/sessionClientHost.js +30 -0
  41. package/lib/commonjs/ui/session/sessionClientHost.js.map +1 -0
  42. package/lib/commonjs/ui/session/tokenTransport.js +77 -0
  43. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -0
  44. package/lib/commonjs/ui/utils/activeAuthuser.js +35 -79
  45. package/lib/commonjs/ui/utils/activeAuthuser.js.map +1 -1
  46. package/lib/commonjs/ui/utils/sessionHelpers.js +1 -51
  47. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  48. package/lib/commonjs/utils/deviceFlowSignIn.js +70 -15
  49. package/lib/commonjs/utils/deviceFlowSignIn.js.map +1 -1
  50. package/lib/module/index.js +5 -5
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/ui/components/AccountMenu.js +103 -65
  53. package/lib/module/ui/components/AccountMenu.js.map +1 -1
  54. package/lib/module/ui/components/AccountSwitcher.js +85 -127
  55. package/lib/module/ui/components/AccountSwitcher.js.map +1 -1
  56. package/lib/module/ui/components/ProfileButton.js +82 -23
  57. package/lib/module/ui/components/ProfileButton.js.map +1 -1
  58. package/lib/module/ui/components/ProfileMenu.js +247 -145
  59. package/lib/module/ui/components/ProfileMenu.js.map +1 -1
  60. package/lib/module/ui/components/SignInModal.js +4 -4
  61. package/lib/module/ui/components/SignInModal.js.map +1 -1
  62. package/lib/module/ui/context/OxyContext.js +510 -470
  63. package/lib/module/ui/context/OxyContext.js.map +1 -1
  64. package/lib/module/ui/context/hooks/useAuthOperations.js +61 -60
  65. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  66. package/lib/module/ui/context/inSessionTokenRefresh.js +24 -43
  67. package/lib/module/ui/context/inSessionTokenRefresh.js.map +1 -1
  68. package/lib/module/ui/context/silentSessionRestore.js +12 -20
  69. package/lib/module/ui/context/silentSessionRestore.js.map +1 -1
  70. package/lib/module/ui/hooks/useAuth.js +4 -3
  71. package/lib/module/ui/hooks/useAuth.js.map +1 -1
  72. package/lib/module/ui/hooks/useOxyAuthSession.js +12 -7
  73. package/lib/module/ui/hooks/useOxyAuthSession.js.map +1 -1
  74. package/lib/module/ui/hooks/useSessionManagement.js +18 -66
  75. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  76. package/lib/module/ui/hooks/useSwitchableAccounts.js +283 -0
  77. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -0
  78. package/lib/module/ui/hooks/useWebSSO.js +13 -192
  79. package/lib/module/ui/hooks/useWebSSO.js.map +1 -1
  80. package/lib/module/ui/index.js +0 -1
  81. package/lib/module/ui/index.js.map +1 -1
  82. package/lib/module/ui/screens/OxyAuthScreen.js +2 -2
  83. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  84. package/lib/module/ui/session/createSessionClient.js +25 -0
  85. package/lib/module/ui/session/createSessionClient.js.map +1 -0
  86. package/lib/module/ui/session/index.js +17 -0
  87. package/lib/module/ui/session/index.js.map +1 -0
  88. package/lib/module/ui/session/projectSessionState.js +79 -0
  89. package/lib/module/ui/session/projectSessionState.js.map +1 -0
  90. package/lib/module/ui/session/sessionClientHost.js +26 -0
  91. package/lib/module/ui/session/sessionClientHost.js.map +1 -0
  92. package/lib/module/ui/session/tokenTransport.js +74 -0
  93. package/lib/module/ui/session/tokenTransport.js.map +1 -0
  94. package/lib/module/ui/utils/activeAuthuser.js +34 -76
  95. package/lib/module/ui/utils/activeAuthuser.js.map +1 -1
  96. package/lib/module/ui/utils/sessionHelpers.js +0 -49
  97. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  98. package/lib/module/utils/deviceFlowSignIn.js +71 -16
  99. package/lib/module/utils/deviceFlowSignIn.js.map +1 -1
  100. package/lib/typescript/commonjs/index.d.ts +2 -3
  101. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts +4 -2
  103. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts +7 -8
  105. package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +11 -1
  107. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +12 -9
  109. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +16 -13
  111. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +27 -3
  113. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/ui/context/inSessionTokenRefresh.d.ts +22 -17
  115. package/lib/typescript/commonjs/ui/context/inSessionTokenRefresh.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/ui/context/silentSessionRestore.d.ts +12 -18
  117. package/lib/typescript/commonjs/ui/context/silentSessionRestore.d.ts.map +1 -1
  118. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +1 -0
  119. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  120. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts +1 -1
  121. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts +2 -2
  123. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
  124. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +162 -0
  126. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -0
  127. package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts +13 -52
  128. package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +15 -0
  131. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/ui/session/index.d.ts +15 -0
  133. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/ui/session/projectSessionState.d.ts +45 -0
  135. package/lib/typescript/commonjs/ui/session/projectSessionState.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/ui/session/sessionClientHost.d.ts +14 -0
  137. package/lib/typescript/commonjs/ui/session/sessionClientHost.d.ts.map +1 -0
  138. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +24 -0
  139. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -0
  140. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts +21 -29
  141. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts +0 -19
  143. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts +51 -19
  145. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts.map +1 -1
  146. package/lib/typescript/module/index.d.ts +2 -3
  147. package/lib/typescript/module/index.d.ts.map +1 -1
  148. package/lib/typescript/module/ui/components/AccountMenu.d.ts +4 -2
  149. package/lib/typescript/module/ui/components/AccountMenu.d.ts.map +1 -1
  150. package/lib/typescript/module/ui/components/AccountSwitcher.d.ts +7 -8
  151. package/lib/typescript/module/ui/components/AccountSwitcher.d.ts.map +1 -1
  152. package/lib/typescript/module/ui/components/ProfileButton.d.ts +11 -1
  153. package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
  154. package/lib/typescript/module/ui/components/ProfileMenu.d.ts +12 -9
  155. package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +1 -1
  156. package/lib/typescript/module/ui/context/OxyContext.d.ts +16 -13
  157. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  158. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +27 -3
  159. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  160. package/lib/typescript/module/ui/context/inSessionTokenRefresh.d.ts +22 -17
  161. package/lib/typescript/module/ui/context/inSessionTokenRefresh.d.ts.map +1 -1
  162. package/lib/typescript/module/ui/context/silentSessionRestore.d.ts +12 -18
  163. package/lib/typescript/module/ui/context/silentSessionRestore.d.ts.map +1 -1
  164. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +1 -0
  165. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  166. package/lib/typescript/module/ui/hooks/useAuth.d.ts +1 -1
  167. package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
  168. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts +2 -2
  169. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
  170. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
  171. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +162 -0
  172. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -0
  173. package/lib/typescript/module/ui/hooks/useWebSSO.d.ts +13 -52
  174. package/lib/typescript/module/ui/hooks/useWebSSO.d.ts.map +1 -1
  175. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  176. package/lib/typescript/module/ui/session/createSessionClient.d.ts +15 -0
  177. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -0
  178. package/lib/typescript/module/ui/session/index.d.ts +15 -0
  179. package/lib/typescript/module/ui/session/index.d.ts.map +1 -0
  180. package/lib/typescript/module/ui/session/projectSessionState.d.ts +45 -0
  181. package/lib/typescript/module/ui/session/projectSessionState.d.ts.map +1 -0
  182. package/lib/typescript/module/ui/session/sessionClientHost.d.ts +14 -0
  183. package/lib/typescript/module/ui/session/sessionClientHost.d.ts.map +1 -0
  184. package/lib/typescript/module/ui/session/tokenTransport.d.ts +24 -0
  185. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -0
  186. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts +21 -29
  187. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts.map +1 -1
  188. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts +0 -19
  189. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts.map +1 -1
  190. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts +51 -19
  191. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts.map +1 -1
  192. package/package.json +4 -4
  193. package/src/index.ts +9 -9
  194. package/src/ui/components/AccountMenu.tsx +117 -70
  195. package/src/ui/components/AccountSwitcher.tsx +88 -134
  196. package/src/ui/components/ProfileButton.tsx +95 -17
  197. package/src/ui/components/ProfileMenu.tsx +263 -155
  198. package/src/ui/components/SignInModal.tsx +5 -5
  199. package/src/ui/context/OxyContext.tsx +560 -475
  200. package/src/ui/context/hooks/useAuthOperations.ts +72 -63
  201. package/src/ui/context/inSessionTokenRefresh.ts +23 -42
  202. package/src/ui/context/silentSessionRestore.ts +12 -26
  203. package/src/ui/hooks/useAuth.ts +4 -3
  204. package/src/ui/hooks/useOxyAuthSession.ts +13 -8
  205. package/src/ui/hooks/useSessionManagement.ts +16 -87
  206. package/src/ui/hooks/useSwitchableAccounts.ts +397 -0
  207. package/src/ui/hooks/useWebSSO.ts +13 -227
  208. package/src/ui/index.ts +0 -1
  209. package/src/ui/screens/OxyAuthScreen.tsx +2 -2
  210. package/src/ui/session/__tests__/createSessionClient.test.ts +41 -0
  211. package/src/ui/session/__tests__/projectSessionState.test.ts +114 -0
  212. package/src/ui/session/__tests__/sessionClientHost.test.ts +43 -0
  213. package/src/ui/session/__tests__/tokenTransport.test.ts +142 -0
  214. package/src/ui/session/createSessionClient.ts +21 -0
  215. package/src/ui/session/index.ts +19 -0
  216. package/src/ui/session/projectSessionState.ts +85 -0
  217. package/src/ui/session/sessionClientHost.ts +27 -0
  218. package/src/ui/session/tokenTransport.ts +76 -0
  219. package/src/ui/utils/activeAuthuser.ts +34 -76
  220. package/src/ui/utils/sessionHelpers.ts +0 -66
  221. package/src/utils/__tests__/deviceFlowSignIn.test.ts +243 -34
  222. package/src/utils/deviceFlowSignIn.ts +98 -21
  223. package/lib/commonjs/ui/components/accountMenuRows.js +0 -33
  224. package/lib/commonjs/ui/components/accountMenuRows.js.map +0 -1
  225. package/lib/commonjs/ui/hooks/useDeviceAccounts.js +0 -280
  226. package/lib/commonjs/ui/hooks/useDeviceAccounts.js.map +0 -1
  227. package/lib/commonjs/ui/hooks/useSessionSocket.js +0 -203
  228. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +0 -1
  229. package/lib/commonjs/utils/silentGuardKey.js +0 -54
  230. package/lib/commonjs/utils/silentGuardKey.js.map +0 -1
  231. package/lib/module/ui/components/accountMenuRows.js +0 -29
  232. package/lib/module/ui/components/accountMenuRows.js.map +0 -1
  233. package/lib/module/ui/hooks/useDeviceAccounts.js +0 -276
  234. package/lib/module/ui/hooks/useDeviceAccounts.js.map +0 -1
  235. package/lib/module/ui/hooks/useSessionSocket.js +0 -199
  236. package/lib/module/ui/hooks/useSessionSocket.js.map +0 -1
  237. package/lib/module/utils/silentGuardKey.js +0 -49
  238. package/lib/module/utils/silentGuardKey.js.map +0 -1
  239. package/lib/typescript/commonjs/ui/components/accountMenuRows.d.ts +0 -34
  240. package/lib/typescript/commonjs/ui/components/accountMenuRows.d.ts.map +0 -1
  241. package/lib/typescript/commonjs/ui/hooks/useDeviceAccounts.d.ts +0 -133
  242. package/lib/typescript/commonjs/ui/hooks/useDeviceAccounts.d.ts.map +0 -1
  243. package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts +0 -14
  244. package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts.map +0 -1
  245. package/lib/typescript/commonjs/utils/silentGuardKey.d.ts +0 -31
  246. package/lib/typescript/commonjs/utils/silentGuardKey.d.ts.map +0 -1
  247. package/lib/typescript/module/ui/components/accountMenuRows.d.ts +0 -34
  248. package/lib/typescript/module/ui/components/accountMenuRows.d.ts.map +0 -1
  249. package/lib/typescript/module/ui/hooks/useDeviceAccounts.d.ts +0 -133
  250. package/lib/typescript/module/ui/hooks/useDeviceAccounts.d.ts.map +0 -1
  251. package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts +0 -14
  252. package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts.map +0 -1
  253. package/lib/typescript/module/utils/silentGuardKey.d.ts +0 -31
  254. package/lib/typescript/module/utils/silentGuardKey.d.ts.map +0 -1
  255. package/src/ui/components/accountMenuRows.ts +0 -48
  256. package/src/ui/hooks/useDeviceAccounts.ts +0 -344
  257. package/src/ui/hooks/useSessionSocket.ts +0 -233
  258. package/src/ui/utils/__tests__/activeAuthuser.test.ts +0 -75
  259. package/src/utils/__tests__/silentGuardKey.test.ts +0 -82
  260. package/src/utils/silentGuardKey.ts +0 -46
@@ -6,12 +6,11 @@ import { Ionicons } from '@expo/vector-icons';
6
6
  import { toast, useDialogControl, Dialog } from '@oxyhq/bloom';
7
7
  import { Divider } from '@oxyhq/bloom/divider';
8
8
  import { useTheme } from '@oxyhq/bloom/theme';
9
- import { getAccountDisplayName, isDev, logger as loggerUtil } from '@oxyhq/core';
9
+ import { isDev, logger as loggerUtil } from '@oxyhq/core';
10
10
  import Avatar from "./Avatar.js";
11
11
  import { useOxy } from "../context/OxyContext.js";
12
12
  import { useI18n } from "../hooks/useI18n.js";
13
- import { buildAccountRows } from "./accountMenuRows.js";
14
- import { useDeviceAccounts } from "../hooks/useDeviceAccounts.js";
13
+ import { useSwitchableAccounts } from "../hooks/useSwitchableAccounts.js";
15
14
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
16
15
  const isWeb = Platform.OS === 'web';
17
16
  const PANEL_WIDTH = 380;
@@ -23,8 +22,8 @@ const PANEL_WIDTH = 380;
23
22
  */
24
23
 
25
24
  /**
26
- * Group flat account nodes into a 2-level tree (org → direct children). A node
27
- * whose parent is not in the set is treated as a root; any deeper node not
25
+ * Group flat account rows into a 2-level tree (org → direct children). A row
26
+ * whose parent is not in the set is treated as a root; any deeper row not
28
27
  * captured under a root is promoted to its own root row so nothing is hidden.
29
28
  */
30
29
  function toTree(nodes) {
@@ -65,14 +64,14 @@ function toTree(nodes) {
65
64
  /**
66
65
  * The presentational, chrome-agnostic body of the unified account switcher.
67
66
  *
68
- * Two levels, relationship-aware:
69
- * - Section A accounts signed in on THIS device (independent sign-ins). Tap
70
- * to switch session; per-row sign-out; "Add another account".
71
- * - Section Bthe account GRAPH under the active sign-in: "Your accounts"
67
+ * Two levels, relationship-aware, both sourced from the single
68
+ * {@link useSwitchableAccounts} hook and switched through the SINGLE
69
+ * `switchToAccount(accountId)` path:
70
+ * - Section Aaccounts signed in on THIS device (`onDevice` rows). Tap to
71
+ * switch; per-row sign-out; "Add another account".
72
+ * - Section B — the account GRAPH not yet signed in here: "Your accounts"
72
73
  * (self / owned) and "Shared with you" (member). 2-level tree (org →
73
- * children), role badge, search, one-tap to act-as.
74
- *
75
- * Reads everything from `useOxy()` / `useDeviceAccounts()`.
74
+ * children), role badge, search, one-tap to switch.
76
75
  */
77
76
  export const AccountSwitcherView = ({
78
77
  onClose,
@@ -83,27 +82,20 @@ export const AccountSwitcherView = ({
83
82
  onBeforeSessionChange
84
83
  }) => {
85
84
  const {
86
- activeSessionId,
87
- switchSession,
88
85
  switchToAccount,
89
86
  removeSession,
90
87
  logout,
91
- logoutAll,
92
- accounts,
93
- user,
94
- oxyServices
88
+ logoutAll
95
89
  } = useOxy();
96
90
  const {
97
- t,
98
- locale
91
+ t
99
92
  } = useI18n();
100
93
  const {
101
94
  colors
102
95
  } = useTheme();
103
96
  const {
104
- accounts: deviceAccounts
105
- } = useDeviceAccounts();
106
- const [busySessionId, setBusySessionId] = useState(null);
97
+ accounts
98
+ } = useSwitchableAccounts();
107
99
  const [switchingAccountId, setSwitchingAccountId] = useState(null);
108
100
  const [removingSessionId, setRemovingSessionId] = useState(null);
109
101
  const [signingOut, setSigningOut] = useState(false);
@@ -111,51 +103,47 @@ export const AccountSwitcherView = ({
111
103
  const [query, setQuery] = useState('');
112
104
  const signOutDialog = useDialogControl();
113
105
  const signOutAllDialog = useDialogControl();
106
+
107
+ // Section A — accounts signed in on THIS device, current one first.
114
108
  const deviceRows = useMemo(() => {
115
- const built = buildAccountRows({
116
- accounts: deviceAccounts
117
- });
118
- const current = built.filter(row => row.isActive);
119
- const others = built.filter(row => !row.isActive);
109
+ const onDevice = accounts.filter(account => account.onDevice);
110
+ const current = onDevice.filter(account => account.isCurrent);
111
+ const others = onDevice.filter(account => !account.isCurrent);
120
112
  return [...current, ...others];
121
- }, [deviceAccounts]);
122
- const isSwitching = busySessionId !== null || switchingAccountId !== null;
123
- const actionDisabled = isSwitching || signingOut || signingOutAll;
124
-
125
- // Account ids that are already signed in as REAL device sessions. After a
126
- // `switchToAccount` the target becomes a device session (and the personal
127
- // account always is one), so it would otherwise appear BOTH as a device row
128
- // (Section A) and a graph row (Section B). We dedupe by hiding such accounts
129
- // from the graph — they show in Section A, where the active one is flagged
130
- // current.
131
- const deviceUserIds = useMemo(() => new Set(deviceAccounts.map(account => account.user.id).filter(id => Boolean(id))), [deviceAccounts]);
113
+ }, [accounts]);
132
114
 
133
- // --- Account graph (Section B) ---
134
- // The switchable graph minus accounts that are already device sessions
135
- // (deduped into Section A). This is the set Section B renders and searches.
136
- const graphAccounts = useMemo(() => accounts.filter(node => !deviceUserIds.has(node.accountId)), [accounts, deviceUserIds]);
115
+ // Section B — linked graph accounts NOT already signed in on this device.
116
+ // (An account switched into becomes a device session, so it moves to Section
117
+ // A automatically the unified hook already deduped it there.)
118
+ const graphAccounts = useMemo(() => accounts.filter(account => !account.onDevice), [accounts]);
119
+ const isSwitching = switchingAccountId !== null;
120
+ const actionDisabled = isSwitching || signingOut || signingOutAll;
137
121
  const filtered = useMemo(() => {
138
122
  const q = query.trim().toLowerCase();
139
123
  if (!q) return graphAccounts;
140
- return graphAccounts.filter(node => {
141
- const name = getAccountDisplayName(node.account, locale).toLowerCase();
142
- const username = (node.account?.username ?? '').toLowerCase();
124
+ return graphAccounts.filter(account => {
125
+ const name = account.displayName.toLowerCase();
126
+ const username = (account.user?.username ?? '').toLowerCase();
143
127
  return name.includes(q) || username.includes(q);
144
128
  });
145
- }, [graphAccounts, query, locale]);
146
- const yourAccounts = useMemo(() => toTree(filtered.filter(node => node.relationship !== 'member')), [filtered]);
147
- const sharedAccounts = useMemo(() => toTree(filtered.filter(node => node.relationship === 'member')), [filtered]);
148
- const handleSwitchDevice = useCallback(async sessionId => {
149
- if (busySessionId) return;
150
- // Tapping the already-active sign-in just closes it IS the current account.
151
- if (sessionId === activeSessionId) {
129
+ }, [graphAccounts, query]);
130
+ const yourAccounts = useMemo(() => toTree(filtered.filter(account => account.relationship !== 'member')), [filtered]);
131
+ const sharedAccounts = useMemo(() => toTree(filtered.filter(account => account.relationship === 'member')), [filtered]);
132
+
133
+ // The ONE uniform switch path. Device rows AND graph rows both switch by
134
+ // account id: `switchToAccount` reuses an existing device session (no mint)
135
+ // and mints a real session only on the FIRST entry into a graph account.
136
+ const handleSwitch = useCallback(async account => {
137
+ if (switchingAccountId) return;
138
+ // Tapping the already-active account just closes — it IS the current one.
139
+ if (account.isCurrent) {
152
140
  onClose();
153
141
  return;
154
142
  }
155
- setBusySessionId(sessionId);
143
+ setSwitchingAccountId(account.accountId);
156
144
  try {
157
145
  await onBeforeSessionChange?.();
158
- await switchSession(sessionId);
146
+ await switchToAccount(account.accountId);
159
147
  toast.success(t('accountSwitcher.toasts.switchSuccess') || 'Switched account');
160
148
  onClose();
161
149
  } catch (error) {
@@ -166,11 +154,11 @@ export const AccountSwitcherView = ({
166
154
  }
167
155
  toast.error(t('accountSwitcher.toasts.switchFailed') || 'Failed to switch account');
168
156
  } finally {
169
- setBusySessionId(null);
157
+ setSwitchingAccountId(null);
170
158
  }
171
- }, [activeSessionId, busySessionId, switchSession, t, onClose, onBeforeSessionChange]);
159
+ }, [switchingAccountId, switchToAccount, t, onClose, onBeforeSessionChange]);
172
160
  const handleRemoveDevice = useCallback(async sessionId => {
173
- if (sessionId === activeSessionId || removingSessionId) return;
161
+ if (removingSessionId) return;
174
162
  setRemovingSessionId(sessionId);
175
163
  try {
176
164
  await removeSession(sessionId);
@@ -183,7 +171,7 @@ export const AccountSwitcherView = ({
183
171
  } finally {
184
172
  setRemovingSessionId(null);
185
173
  }
186
- }, [activeSessionId, removingSessionId, removeSession, t]);
174
+ }, [removingSessionId, removeSession, t]);
187
175
  const performSignOut = useCallback(async () => {
188
176
  if (signingOut) return;
189
177
  setSigningOut(true);
@@ -218,53 +206,23 @@ export const AccountSwitcherView = ({
218
206
  setSigningOutAll(false);
219
207
  }
220
208
  }, [signingOutAll, logoutAll, t, onClose, onBeforeSessionChange]);
221
- const handleSelectAccount = useCallback(async node => {
222
- if (switchingAccountId) return;
223
- // Already the active account → just close (it would also be deduped from
224
- // the graph, but guard defensively).
225
- if (node.accountId === user?.id) {
226
- onClose();
227
- return;
228
- }
229
- setSwitchingAccountId(node.accountId);
230
- try {
231
- await onBeforeSessionChange?.();
232
- // Switching INTO a graph account is a REAL session switch — the whole
233
- // app becomes that account (no delegation header).
234
- await switchToAccount(node.accountId);
235
- toast.success(t('accountSwitcher.toasts.switchSuccess') || 'Switched account');
236
- onClose();
237
- } catch (error) {
238
- if (!isDev()) {
239
- loggerUtil.warn('Switch account failed', {
240
- component: 'AccountSwitcher'
241
- }, error);
242
- }
243
- toast.error(t('accountSwitcher.toasts.switchFailed') || 'Failed to switch account');
244
- } finally {
245
- setSwitchingAccountId(null);
246
- }
247
- }, [switchingAccountId, user?.id, switchToAccount, t, onClose, onBeforeSessionChange]);
248
- const renderAccountNode = useCallback((node, isChild) => {
249
- const displayName = getAccountDisplayName(node.account, locale);
250
- const username = node.account?.username ? `@${node.account.username}` : null;
251
- // Current account = the active session's user. After a real-session
252
- // switch `user` IS this account (such accounts are normally deduped out of
253
- // the graph, but the check stays correct/defensive if one lingers).
254
- const active = node.accountId === user?.id;
255
- const isNodeSwitching = switchingAccountId === node.accountId;
256
- const role = node.callerMembership?.role;
257
- const avatarUri = node.account?.avatar ? oxyServices.getFileDownloadUrl(node.account.avatar, 'thumb') : undefined;
258
- const permissions = node.callerMembership?.permissions ?? [];
259
- const canManage = node.relationship !== 'member' || permissions.includes('account:update') || permissions.includes('members:read');
260
- const showSettings = node.relationship !== 'self' && !!onOpenAccountSettings && canManage;
209
+ const renderAccountNode = useCallback((account, isChild) => {
210
+ const displayName = account.displayName;
211
+ const secondary = account.email;
212
+ const active = account.isCurrent;
213
+ const isNodeSwitching = switchingAccountId === account.accountId;
214
+ const role = account.callerMembership?.role;
215
+ const avatarUri = account.avatarUrl;
216
+ const permissions = account.callerMembership?.permissions ?? [];
217
+ const canManage = account.relationship !== 'member' || permissions.includes('account:update') || permissions.includes('members:read');
218
+ const showSettings = account.relationship !== 'self' && !!onOpenAccountSettings && canManage;
261
219
  return /*#__PURE__*/_jsxs(TouchableOpacity, {
262
220
  accessibilityRole: "menuitem",
263
221
  accessibilityLabel: displayName,
264
222
  accessibilityState: {
265
223
  selected: active
266
224
  },
267
- onPress: () => handleSelectAccount(node),
225
+ onPress: () => handleSwitch(account),
268
226
  disabled: isSwitching,
269
227
  activeOpacity: 0.6,
270
228
  style: [styles.accountRow, isChild && styles.childRow, active && {
@@ -295,17 +253,17 @@ export const AccountSwitcherView = ({
295
253
  children: t(`accounts.roles.${role}.label`) || role
296
254
  })
297
255
  }) : null]
298
- }), username ? /*#__PURE__*/_jsx(Text, {
256
+ }), secondary ? /*#__PURE__*/_jsx(Text, {
299
257
  style: [styles.accountEmail, {
300
258
  color: colors.textSecondary
301
259
  }],
302
260
  numberOfLines: 1,
303
- children: username
261
+ children: secondary
304
262
  }) : null]
305
263
  }), showSettings ? /*#__PURE__*/_jsx(TouchableOpacity, {
306
264
  accessibilityRole: "button",
307
265
  accessibilityLabel: t('accounts.settings.title') || 'Account settings',
308
- onPress: () => onOpenAccountSettings?.(node.accountId),
266
+ onPress: () => onOpenAccountSettings?.(account.accountId),
309
267
  hitSlop: {
310
268
  top: 8,
311
269
  bottom: 8,
@@ -326,8 +284,8 @@ export const AccountSwitcherView = ({
326
284
  size: 20,
327
285
  color: colors.primary
328
286
  }) : null]
329
- }, `node-${node.accountId}`);
330
- }, [user?.id, switchingAccountId, isSwitching, colors, handleSelectAccount, locale, onOpenAccountSettings, oxyServices, t]);
287
+ }, `node-${account.accountId}`);
288
+ }, [switchingAccountId, isSwitching, colors, handleSwitch, onOpenAccountSettings, t]);
331
289
  const renderTree = useCallback(entries => entries.map(entry => /*#__PURE__*/_jsxs(View, {
332
290
  children: [renderAccountNode(entry.root, false), entry.children.map(child => renderAccountNode(child, true))]
333
291
  }, `tree-${entry.root.accountId}`)), [renderAccountNode]);
@@ -341,42 +299,43 @@ export const AccountSwitcherView = ({
341
299
  color: colors.textSecondary
342
300
  }],
343
301
  children: t('accountSwitcher.sections.thisDevice') || 'On this device'
344
- }), deviceRows.map(row => {
345
- const isBusy = busySessionId === row.sessionId;
346
- const isRemoving = removingSessionId === row.sessionId;
302
+ }), deviceRows.map(account => {
303
+ const sessionId = account.sessionId;
304
+ const isBusy = switchingAccountId === account.accountId;
305
+ const isRemoving = sessionId ? removingSessionId === sessionId : false;
347
306
  // The active device session IS the current account — there is no
348
- // separate acting-as concept; switching makes `user` that account.
349
- const isCurrentAccount = row.isActive;
307
+ // separate acting-as concept; switching makes it the whole app.
308
+ const isCurrentAccount = account.isCurrent;
350
309
  return /*#__PURE__*/_jsxs(TouchableOpacity, {
351
310
  accessibilityRole: "menuitem",
352
- accessibilityLabel: row.displayName,
311
+ accessibilityLabel: account.displayName,
353
312
  accessibilityState: {
354
313
  selected: isCurrentAccount
355
314
  },
356
- onPress: () => handleSwitchDevice(row.sessionId),
315
+ onPress: () => handleSwitch(account),
357
316
  disabled: isCurrentAccount || isBusy || isSwitching,
358
317
  activeOpacity: 0.6,
359
318
  style: [styles.accountRow, isCurrentAccount && {
360
319
  backgroundColor: colors.primarySubtle
361
- }, isSwitching && !row.isActive && styles.rowDisabled],
320
+ }, isSwitching && !isCurrentAccount && styles.rowDisabled],
362
321
  children: [/*#__PURE__*/_jsx(Avatar, {
363
- uri: row.avatarUri,
364
- name: row.displayName,
365
- size: row.isActive ? 40 : 32
322
+ uri: account.avatarUrl,
323
+ name: account.displayName,
324
+ size: isCurrentAccount ? 40 : 32
366
325
  }), /*#__PURE__*/_jsxs(View, {
367
326
  style: styles.accountInfo,
368
327
  children: [/*#__PURE__*/_jsx(Text, {
369
328
  style: [styles.accountName, {
370
329
  color: colors.text
371
- }, row.isActive && styles.accountNameActive],
330
+ }, isCurrentAccount && styles.accountNameActive],
372
331
  numberOfLines: 1,
373
- children: row.displayName
374
- }), row.secondary ? /*#__PURE__*/_jsx(Text, {
332
+ children: account.displayName
333
+ }), account.email ? /*#__PURE__*/_jsx(Text, {
375
334
  style: [styles.accountEmail, {
376
335
  color: colors.textSecondary
377
336
  }],
378
337
  numberOfLines: 1,
379
- children: row.secondary
338
+ children: account.email
380
339
  }) : null]
381
340
  }), isBusy ? /*#__PURE__*/_jsx(ActivityIndicator, {
382
341
  color: colors.primary,
@@ -388,12 +347,12 @@ export const AccountSwitcherView = ({
388
347
  }) : isRemoving ? /*#__PURE__*/_jsx(ActivityIndicator, {
389
348
  color: colors.textSecondary,
390
349
  size: "small"
391
- }) : /*#__PURE__*/_jsx(TouchableOpacity, {
350
+ }) : sessionId ? /*#__PURE__*/_jsx(TouchableOpacity, {
392
351
  accessibilityRole: "button",
393
352
  accessibilityLabel: t('accountMenu.signOutAccount', {
394
- name: row.displayName
395
- }) || `Sign out ${row.displayName}`,
396
- onPress: () => handleRemoveDevice(row.sessionId),
353
+ name: account.displayName
354
+ }) || `Sign out ${account.displayName}`,
355
+ onPress: () => handleRemoveDevice(sessionId),
397
356
  disabled: isSwitching || removingSessionId !== null,
398
357
  hitSlop: {
399
358
  top: 8,
@@ -407,8 +366,8 @@ export const AccountSwitcherView = ({
407
366
  size: 18,
408
367
  color: colors.textSecondary
409
368
  })
410
- })]
411
- }, `device-${row.sessionId}`);
369
+ }) : null]
370
+ }, `device-${account.accountId}`);
412
371
  }), isSwitching ? /*#__PURE__*/_jsxs(View, {
413
372
  style: styles.switchingRow,
414
373
  children: [/*#__PURE__*/_jsx(ActivityIndicator, {
@@ -592,7 +551,6 @@ export const AccountSwitcherView = ({
592
551
  /**
593
552
  * Unified account switcher presented as a popover (web) / bottom-sheet style
594
553
  * modal (native). The canonical entry point opened by {@link AccountMenuButton}.
595
- * Supersedes `AccountMenu` (which remains exported as the device-only switcher).
596
554
  */
597
555
  const AccountSwitcher = ({
598
556
  open,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","View","Text","TextInput","TouchableOpacity","StyleSheet","ScrollView","Modal","Pressable","Platform","ActivityIndicator","Ionicons","toast","useDialogControl","Dialog","Divider","useTheme","getAccountDisplayName","isDev","logger","loggerUtil","Avatar","useOxy","useI18n","buildAccountRows","useDeviceAccounts","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","isWeb","OS","PANEL_WIDTH","toTree","nodes","byId","Map","map","node","accountId","childrenOf","parentAccountId","has","arr","get","push","set","rendered","Set","result","isRoot","children","root","add","child","AccountSwitcherView","onClose","onAddAccount","onNavigateManage","onCreateAccount","onOpenAccountSettings","onBeforeSessionChange","activeSessionId","switchSession","switchToAccount","removeSession","logout","logoutAll","accounts","user","oxyServices","t","locale","colors","deviceAccounts","busySessionId","setBusySessionId","switchingAccountId","setSwitchingAccountId","removingSessionId","setRemovingSessionId","signingOut","setSigningOut","signingOutAll","setSigningOutAll","query","setQuery","signOutDialog","signOutAllDialog","deviceRows","built","current","filter","row","isActive","others","isSwitching","actionDisabled","deviceUserIds","account","id","Boolean","graphAccounts","filtered","q","trim","toLowerCase","name","username","includes","yourAccounts","relationship","sharedAccounts","handleSwitchDevice","sessionId","success","error","warn","component","handleRemoveDevice","performSignOut","performSignOutAll","handleSelectAccount","renderAccountNode","isChild","displayName","active","isNodeSwitching","role","callerMembership","avatarUri","avatar","getFileDownloadUrl","undefined","permissions","canManage","showSettings","accessibilityRole","accessibilityLabel","accessibilityState","selected","onPress","disabled","activeOpacity","style","styles","accountRow","childRow","backgroundColor","primarySubtle","rowDisabled","uri","size","accountInfo","nameRow","accountName","color","text","numberOfLines","roleBadge","card","roleBadgeText","textSecondary","accountEmail","hitSlop","top","bottom","left","right","settingsButton","primary","renderTree","entries","entry","scroll","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","keyboardShouldPersistTaps","sectionLabel","isBusy","isRemoving","isCurrentAccount","accountNameActive","secondary","switchingRow","switchingText","actionRow","icon","actionText","length","border","spacing","searchBox","borderColor","value","onChangeText","placeholder","placeholderTextColor","searchInput","autoCapitalize","autoCorrect","open","control","title","description","actions","label","AccountSwitcher","anchor","containerRef","document","onKey","event","key","stopPropagation","addEventListener","removeEventListener","anchorStyle","panelStyles","panelBase","panelWeb","background","panelNative","visible","transparent","animationType","onRequestClose","webOverlay","nativeOverlay","ref","create","flex","position","justifyContent","borderRadius","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","height","elevation","overflow","maxHeight","borderWidth","marginHorizontal","borderTopLeftRadius","borderTopRightRadius","paddingBottom","flexGrow","paddingVertical","fontSize","fontWeight","textTransform","letterSpacing","paddingHorizontal","paddingTop","flexDirection","alignItems","gap","paddingLeft","opacity","minWidth","flexShrink","marginTop","marginVertical","padding"],"sourceRoot":"../../../../src","sources":["ui/components/AccountSwitcher.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","View","Text","TextInput","TouchableOpacity","StyleSheet","ScrollView","Modal","Pressable","Platform","ActivityIndicator","Ionicons","toast","useDialogControl","Dialog","Divider","useTheme","isDev","logger","loggerUtil","Avatar","useOxy","useI18n","useSwitchableAccounts","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","isWeb","OS","PANEL_WIDTH","toTree","nodes","byId","Map","map","node","accountId","childrenOf","parentAccountId","has","arr","get","push","set","rendered","Set","result","isRoot","children","root","add","child","AccountSwitcherView","onClose","onAddAccount","onNavigateManage","onCreateAccount","onOpenAccountSettings","onBeforeSessionChange","switchToAccount","removeSession","logout","logoutAll","t","colors","accounts","switchingAccountId","setSwitchingAccountId","removingSessionId","setRemovingSessionId","signingOut","setSigningOut","signingOutAll","setSigningOutAll","query","setQuery","signOutDialog","signOutAllDialog","deviceRows","onDevice","filter","account","current","isCurrent","others","graphAccounts","isSwitching","actionDisabled","filtered","q","trim","toLowerCase","name","displayName","username","user","includes","yourAccounts","relationship","sharedAccounts","handleSwitch","success","error","warn","component","handleRemoveDevice","sessionId","performSignOut","performSignOutAll","renderAccountNode","isChild","secondary","email","active","isNodeSwitching","role","callerMembership","avatarUri","avatarUrl","permissions","canManage","showSettings","accessibilityRole","accessibilityLabel","accessibilityState","selected","onPress","disabled","activeOpacity","style","styles","accountRow","childRow","backgroundColor","primarySubtle","rowDisabled","uri","size","accountInfo","nameRow","accountName","color","text","numberOfLines","roleBadge","card","roleBadgeText","textSecondary","accountEmail","hitSlop","top","bottom","left","right","settingsButton","primary","renderTree","entries","entry","scroll","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","keyboardShouldPersistTaps","sectionLabel","isBusy","isRemoving","isCurrentAccount","accountNameActive","switchingRow","switchingText","actionRow","icon","actionText","length","border","spacing","searchBox","borderColor","value","onChangeText","placeholder","placeholderTextColor","searchInput","autoCapitalize","autoCorrect","open","control","title","description","actions","label","AccountSwitcher","anchor","containerRef","document","undefined","onKey","event","key","stopPropagation","addEventListener","removeEventListener","anchorStyle","panelStyles","panelBase","panelWeb","background","panelNative","visible","transparent","animationType","onRequestClose","webOverlay","nativeOverlay","ref","create","flex","position","justifyContent","borderRadius","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","height","elevation","overflow","maxHeight","borderWidth","marginHorizontal","borderTopLeftRadius","borderTopRightRadius","paddingBottom","flexGrow","paddingVertical","fontSize","fontWeight","textTransform","letterSpacing","paddingHorizontal","paddingTop","flexDirection","alignItems","gap","paddingLeft","opacity","minWidth","flexShrink","marginTop","marginVertical","padding"],"sourceRoot":"../../../../src","sources":["ui/components/AccountSwitcher.tsx"],"mappings":"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","ignoreList":[]}