@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
@@ -17,10 +17,10 @@
17
17
  *
18
18
  * 1. {@link createInSessionRefreshHandler} — an `AuthRefreshHandler` installed
19
19
  * on the owner client. It re-mints a fresh access token WITHOUT a page
20
- * reload by composing the SAME silent-restore primitives cold boot uses
21
- * ({@link mintSessionViaPerApexIframe}, {@link selectActiveRefreshAccount})
22
- * not a copy. The linked client (`createLinkedClient`) inherits the fix for
23
- * free: its refresh delegates back to the owner's `refreshAccessToken`.
20
+ * reload by composing the SAME silent-restore primitive cold boot uses
21
+ * ({@link mintSessionViaPerApexIframe}) not a copy. The linked client
22
+ * (`createLinkedClient`) inherits the fix for free: its refresh delegates
23
+ * back to the owner's `refreshAccessToken`.
24
24
  *
25
25
  * 2. {@link startTokenRefreshScheduler} — a proactive scheduler that refreshes
26
26
  * ~{@link TOKEN_REFRESH_LEAD_MS} before expiry (and on web tab-focus / native
@@ -31,13 +31,20 @@
31
31
  * (single in-flight `tokenRefreshPromise` + cooldown) — this module does not
32
32
  * reimplement them, so the timer / foreground / per-request triggers collapse to
33
33
  * one network attempt (no refresh storm).
34
+ *
35
+ * NOTE (session-sync cutover, Task 5): the web arm chain used to fall through
36
+ * to a same-apex `oxy_rt` refresh-cookie arm (`refreshAllSessions` +
37
+ * `selectActiveRefreshAccount`). That arm is DELETED — the device account set
38
+ * is now server-authoritative via `SessionClient` (`@oxyhq/core`), which
39
+ * `OxyContext` bootstraps/reprojects independently of in-session token
40
+ * refresh. `selectActiveRefreshAccount` had no other caller and was deleted
41
+ * with it.
34
42
  */
35
43
 
36
44
  import { logger as loggerUtil } from '@oxyhq/core';
37
45
  import { AppState } from 'react-native';
38
46
  import { isWebBrowser } from "../hooks/useWebSSO.js";
39
- import { readActiveAuthuser } from "../utils/activeAuthuser.js";
40
- import { mintSessionViaPerApexIframe, selectActiveRefreshAccount } from "./silentSessionRestore.js";
47
+ import { mintSessionViaPerApexIframe } from "./silentSessionRestore.js";
41
48
 
42
49
  /**
43
50
  * Per-arm fail-fast budget (ms) for the web first-party `/auth/silent` iframe
@@ -49,14 +56,6 @@ import { mintSessionViaPerApexIframe, selectActiveRefreshAccount } from "./silen
49
56
  */
50
57
  const SILENT_IFRAME_REFRESH_TIMEOUT = 4000;
51
58
 
52
- /**
53
- * Per-arm fail-fast budget (ms) for the same-apex refresh-cookie arm
54
- * (`refreshAllSessions`). On a cross-apex RP the `Domain=oxy.so` cookie never
55
- * reaches `api.<apex>`, so this returns `{accounts:[]}` quickly; the bound only
56
- * matters if that endpoint stalls.
57
- */
58
- const COOKIE_REFRESH_TIMEOUT = 4000;
59
-
60
59
  /**
61
60
  * Lead time (ms) before access-token expiry at which the proactive scheduler
62
61
  * refreshes. Mirrors `HttpService`'s per-request `TOKEN_REFRESH_LEAD_SECONDS`
@@ -87,22 +86,19 @@ export const TOKEN_REFRESH_LEAD_MS = 60_000;
87
86
  * sign-in) so a genuinely dead session reconciles to logged-out rather than
88
87
  * staying a zombie.
89
88
  *
90
- * WEB, in order:
91
- * 1. Per-apex `/auth/silent` iframe — {@link mintSessionViaPerApexIframe}
92
- * (shared verbatim with cold boot). The durable cross-apex path; also
93
- * covers `*.oxy.so` (the per-apex host IS the central host there).
94
- * 2. FedCM silent re-auth (Chrome) `silentSignInWithFedCM`.
95
- * 3. Same-apex refresh cookie `refreshAllSessions` + the shared
96
- * {@link selectActiveRefreshAccount}; plant the active account's rotated
97
- * token. On a cross-apex RP it returns `{accounts:[]}` (clean no-op).
98
- * Unlike the cold-boot cookie restore this does NOT rebuild multi-session
99
- * state — an in-session refresh only needs a fresh bearer.
89
+ * WEB: Per-apex `/auth/silent` iframe — {@link mintSessionViaPerApexIframe}
90
+ * (shared verbatim with cold boot). The durable cross-apex path; also
91
+ * covers `*.oxy.so` (the per-apex host IS the central host there). There
92
+ * is no FedCM arm FedCM was removed from the client sign-in/refresh path
93
+ * entirely (Chrome-only; see `CrossDomainAuth`'s doc comment in
94
+ * `@oxyhq/core` for the production sign-in loop that motivated the
95
+ * removal).
100
96
  *
101
97
  * NO RECURSION: no arm issues a request through the authed client's
102
- * `refreshAccessToken` path. The iframe/FedCM transports are postMessage /
103
- * credential APIs; the follow-up `/session/user` fetch inside `silentSignIn`
98
+ * `refreshAccessToken` path. The iframe transport is postMessage-based; the
99
+ * follow-up `/session/user` fetch inside `silentSignIn`
104
100
  * runs against the just-planted FULL-TTL token (≫ the preflight lead), so it
105
- * never re-enters the refresh path; `refreshAllSessions` uses a raw `fetch`.
101
+ * never re-enters the refresh path.
106
102
  */
107
103
  export function createInSessionRefreshHandler(oxyServices) {
108
104
  const runArm = async (label, reason, arm) => {
@@ -119,22 +115,7 @@ export function createInSessionRefreshHandler(oxyServices) {
119
115
  return null;
120
116
  }
121
117
  };
122
- const webArms = [['silent-iframe', async () => (await mintSessionViaPerApexIframe(oxyServices, SILENT_IFRAME_REFRESH_TIMEOUT)) ? oxyServices.getAccessToken() : null], ['fedcm-silent', async () => {
123
- if (oxyServices.isFedCMSupported?.() !== true) {
124
- return null;
125
- }
126
- return (await oxyServices.silentSignInWithFedCM?.()) ? oxyServices.getAccessToken() : null;
127
- }], ['refresh-cookie', async () => {
128
- const snapshot = await oxyServices.refreshAllSessions({
129
- timeout: COOKIE_REFRESH_TIMEOUT
130
- });
131
- if (snapshot.accounts.length === 0) {
132
- return null;
133
- }
134
- const active = selectActiveRefreshAccount(snapshot.accounts, readActiveAuthuser());
135
- oxyServices.httpService.setTokens(active.accessToken);
136
- return oxyServices.getAccessToken();
137
- }]];
118
+ const webArms = [['silent-iframe', async () => (await mintSessionViaPerApexIframe(oxyServices, SILENT_IFRAME_REFRESH_TIMEOUT)) ? oxyServices.getAccessToken() : null]];
138
119
  return async reason => {
139
120
  if (!isWebBrowser()) {
140
121
  return runArm('native-shared-key', reason, async () => (await oxyServices.signInWithSharedIdentity?.()) ? oxyServices.getAccessToken() : null);
@@ -1 +1 @@
1
- {"version":3,"names":["logger","loggerUtil","AppState","isWebBrowser","readActiveAuthuser","mintSessionViaPerApexIframe","selectActiveRefreshAccount","SILENT_IFRAME_REFRESH_TIMEOUT","COOKIE_REFRESH_TIMEOUT","TOKEN_REFRESH_LEAD_MS","createInSessionRefreshHandler","oxyServices","runArm","label","reason","arm","error","__DEV__","debug","component","method","webArms","getAccessToken","isFedCMSupported","silentSignInWithFedCM","snapshot","refreshAllSessions","timeout","accounts","length","active","httpService","setTokens","accessToken","signInWithSharedIdentity","token","startTokenRefreshScheduler","disposed","timer","clearTimer","clearTimeout","runRefresh","refresh","refreshAccessToken","catch","finally","schedule","expSeconds","getAccessTokenExpiry","fireInMs","Date","now","setTimeout","Math","max","onForeground","remainingMs","unsubscribeTokens","onTokensChanged","removeForeground","document","handler","visibilityState","addEventListener","removeEventListener","subscription","state","remove","dispose"],"sourceRoot":"../../../../src","sources":["ui/context/inSessionTokenRefresh.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["logger","loggerUtil","AppState","isWebBrowser","mintSessionViaPerApexIframe","SILENT_IFRAME_REFRESH_TIMEOUT","TOKEN_REFRESH_LEAD_MS","createInSessionRefreshHandler","oxyServices","runArm","label","reason","arm","error","__DEV__","debug","component","method","webArms","getAccessToken","signInWithSharedIdentity","token","startTokenRefreshScheduler","disposed","timer","clearTimer","clearTimeout","runRefresh","refresh","httpService","refreshAccessToken","catch","finally","schedule","expSeconds","getAccessTokenExpiry","fireInMs","Date","now","setTimeout","Math","max","onForeground","remainingMs","unsubscribeTokens","onTokensChanged","removeForeground","document","handler","visibilityState","addEventListener","removeEventListener","subscription","state","remove","dispose"],"sourceRoot":"../../../../src","sources":["ui/context/inSessionTokenRefresh.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA,SAASA,MAAM,IAAIC,UAAU,QAAQ,aAAa;AAClD,SAASC,QAAQ,QAA6B,cAAc;AAC5D,SAASC,YAAY,QAAQ,uBAAoB;AACjD,SAASC,2BAA2B,QAAQ,2BAAwB;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,6BAA6B,GAAG,IAAI;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAG,MAAM;;AAE3C;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,6BAA6BA,CAACC,WAAwB,EAAsB;EAC1F,MAAMC,MAAM,GAAG,MAAAA,CAAOC,KAAa,EAAEC,MAAyB,EAAEC,GAAe,KAA6B;IAC1G,IAAI;MACF,OAAO,MAAMA,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,IAAIC,OAAO,EAAE;QACXb,UAAU,CAACc,KAAK,CACd,2BAA2BL,KAAK,4BAA4B,EAC5D;UAAEM,SAAS,EAAE,uBAAuB;UAAEC,MAAM,EAAE,oBAAoB;UAAEN;QAAO,CAAC,EAC5EE,KACF,CAAC;MACH;MACA,OAAO,IAAI;IACb;EACF,CAAC;EAED,MAAMK,OAAoC,GAAG,CAC3C,CAAC,eAAe,EAAE,YAChB,CAAC,MAAMd,2BAA2B,CAACI,WAAW,EAAEH,6BAA6B,CAAC,IAC1EG,WAAW,CAACW,cAAc,CAAC,CAAC,GAC5B,IAAI,CACT,CACF;EAED,OAAO,MAAOR,MAAyB,IAA6B;IAClE,IAA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","ignoreList":[]}
@@ -1,16 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * Silent, no-reload session-restore PRIMITIVES — the single shared
4
+ * Silent, no-reload session-restore PRIMITIVE — the single shared
5
5
  * implementation used by BOTH cold boot (`OxyContext.restoreSessionsFromStorage`)
6
6
  * and in-session token refresh (`createInSessionRefreshHandler`). Neither caller
7
- * re-implements these; they compose them. Keeping one home avoids the two paths
7
+ * re-implements it; they compose it. Keeping one home avoids the two paths
8
8
  * drifting on "how do we mint a first-party token without a page reload".
9
9
  *
10
- * Each function is platform-agnostic at the type level and returns plain data;
11
- * the callers own the side effects that differ between them (cold boot COMMITS
12
- * the recovered session into provider state; refresh only reads the freshly
13
- * planted bearer).
10
+ * Platform-agnostic at the type level and returns plain data; the callers own
11
+ * the side effects that differ between them (cold boot COMMITS the recovered
12
+ * session into provider state; refresh only reads the freshly planted bearer).
13
+ *
14
+ * NOTE (session-sync cutover, Task 5): this file used to also export
15
+ * `selectActiveRefreshAccount`, which picked the active account out of a
16
+ * `refreshAllSessions` (`oxy_rt` refresh-cookie) snapshot. Deleted — its only
17
+ * caller was the in-session refresh handler's now-deleted `refresh-cookie`
18
+ * arm. The device account SET is server-authoritative via `SessionClient`
19
+ * (`@oxyhq/core`) now.
14
20
  */
15
21
 
16
22
  import { autoDetectAuthWebUrl } from '@oxyhq/core';
@@ -44,18 +50,4 @@ export async function mintSessionViaPerApexIframe(oxyServices, timeoutMs) {
44
50
  }
45
51
  return session;
46
52
  }
47
-
48
- /**
49
- * Pick the active account from a `refreshAllSessions` snapshot: the persisted
50
- * `authuser` slot when it still matches a returned account, otherwise the lowest
51
- * `authuser` (the server sorts ascending, so `[0]`). Callers guarantee a
52
- * non-empty list, so the result is always defined.
53
- *
54
- * Shared by cold-boot cookie restore and the in-session refresh cookie arm so
55
- * the active-slot selection can never diverge between them.
56
- */
57
- export function selectActiveRefreshAccount(accounts, persistedAuthuser) {
58
- const matched = persistedAuthuser !== null ? accounts.find(account => account.authuser === persistedAuthuser) : undefined;
59
- return matched ?? accounts[0];
60
- }
61
53
  //# sourceMappingURL=silentSessionRestore.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["autoDetectAuthWebUrl","mintSessionViaPerApexIframe","oxyServices","timeoutMs","perApexAuthUrl","session","silentSignIn","authWebUrlOverride","timeout","user","sessionId","selectActiveRefreshAccount","accounts","persistedAuthuser","matched","find","account","authuser","undefined"],"sourceRoot":"../../../../src","sources":["ui/context/silentSessionRestore.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,oBAAoB,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,2BAA2BA,CAC/CC,WAAwB,EACxBC,SAAiB,EACqB;EACtC,MAAMC,cAAc,GAAGJ,oBAAoB,CAAC,CAAC;EAC7C,IAAI,CAACI,cAAc,EAAE;IACnB,OAAO,IAAI;EACb;EACA,MAAMC,OAAO,GAAG,MAAMH,WAAW,CAACI,YAAY,GAAG;IAC/CC,kBAAkB,EAAEH,cAAc;IAClCI,OAAO,EAAEL;EACX,CAAC,CAAC;EACF,IAAI,CAACE,OAAO,EAAEI,IAAI,IAAI,CAACJ,OAAO,CAACK,SAAS,EAAE;IACxC,OAAO,IAAI;EACb;EACA,OAAOL,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,0BAA0BA,CACxCC,QAAa,EACbC,iBAAgC,EAC7B;EACH,MAAMC,OAAO,GACXD,iBAAiB,KAAK,IAAI,GACtBD,QAAQ,CAACG,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACC,QAAQ,KAAKJ,iBAAiB,CAAC,GAClEK,SAAS;EACf,OAAOJ,OAAO,IAAIF,QAAQ,CAAC,CAAC,CAAC;AAC/B","ignoreList":[]}
1
+ {"version":3,"names":["autoDetectAuthWebUrl","mintSessionViaPerApexIframe","oxyServices","timeoutMs","perApexAuthUrl","session","silentSignIn","authWebUrlOverride","timeout","user","sessionId"],"sourceRoot":"../../../../src","sources":["ui/context/silentSessionRestore.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,oBAAoB,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,2BAA2BA,CAC/CC,WAAwB,EACxBC,SAAiB,EACqB;EACtC,MAAMC,cAAc,GAAGJ,oBAAoB,CAAC,CAAC;EAC7C,IAAI,CAACI,cAAc,EAAE;IACnB,OAAO,IAAI;EACb;EACA,MAAMC,OAAO,GAAG,MAAMH,WAAW,CAACI,YAAY,GAAG;IAC/CC,kBAAkB,EAAEH,cAAc;IAClCI,OAAO,EAAEL;EACX,CAAC,CAAC;EACF,IAAI,CAACE,OAAO,EAAEI,IAAI,IAAI,CAACJ,OAAO,CAACK,SAAS,EAAE;IACxC,OAAO,IAAI;EACb;EACA,OAAOL,OAAO;AAChB","ignoreList":[]}
@@ -20,7 +20,7 @@
20
20
  * ```
21
21
  *
22
22
  * Cross-domain SSO:
23
- * - Web: Automatic via FedCM (Chrome 108+, Safari 16.4+)
23
+ * - Web: Automatic via the per-apex `/auth/silent` iframe + terminal `/sso` bounce (SDK cold boot)
24
24
  * - Native: Automatic via shared Keychain/Account Manager
25
25
  * - Manual sign-in: signIn() redirects to the IdP (web) or opens the auth sheet (native)
26
26
  */
@@ -70,8 +70,9 @@ export function useAuth() {
70
70
  }
71
71
  const isIdentityProvider = isWebBrowser() && window.location.hostname === idpHostname;
72
72
 
73
- // Web (not on IdP): use the tokenless redirect SSO flow. FedCM / silent SSO
74
- // already run on page load; an explicit click needs interactive auth.
73
+ // Web (not on IdP): use the tokenless redirect SSO flow. The silent
74
+ // cross-domain restore (per-apex `/auth/silent` iframe + `/sso` bounce)
75
+ // already ran on page load; an explicit click needs interactive auth.
75
76
  if (isWebBrowser() && !publicKey && !isIdentityProvider) {
76
77
  oxyServices.signInWithRedirect?.({
77
78
  redirectUri: window.location.href
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useOxy","isWebBrowser","useAuth","user","isAuthenticated","isLoading","isTokenReady","hasAccessToken","canUsePrivateApi","isPrivateApiPending","isAuthResolved","error","signIn","oxySignIn","logout","logoutAll","refreshSessions","oxyServices","hasIdentity","getPublicKey","showBottomSheet","openAvatarPicker","publicKey","authWebUrl","config","idpHostname","URL","hostname","isIdentityProvider","window","location","signInWithRedirect","redirectUri","href","Promise","undefined","hasExisting","existingKey","_","reject","Error","authBase","loginUrl","includes","signOut","signOutAll","refresh","isReady"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAuth.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useOxy","isWebBrowser","useAuth","user","isAuthenticated","isLoading","isTokenReady","hasAccessToken","canUsePrivateApi","isPrivateApiPending","isAuthResolved","error","signIn","oxySignIn","logout","logoutAll","refreshSessions","oxyServices","hasIdentity","getPublicKey","showBottomSheet","openAvatarPicker","publicKey","authWebUrl","config","idpHostname","URL","hostname","isIdentityProvider","window","location","signInWithRedirect","redirectUri","href","Promise","undefined","hasExisting","existingKey","_","reject","Error","authBase","loginUrl","includes","signOut","signOutAll","refresh","isReady"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAuth.ts"],"mappings":"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","ignoreList":[]}
@@ -145,7 +145,7 @@ function generateSessionToken() {
145
145
  * deep-link listener, and unmount cleanup) are the legitimate `useEffect` use
146
146
  * WITH cleanup. No effect here computes derived UI state.
147
147
  */
148
- export function useOxyAuthSession(oxyServices, clientId, switchSession, options = {}) {
148
+ export function useOxyAuthSession(oxyServices, clientId, commitSession, options = {}) {
149
149
  const {
150
150
  onSignedIn
151
151
  } = options;
@@ -193,21 +193,26 @@ export function useOxyAuthSession(oxyServices, clientId, switchSession, options
193
193
  // Without that exchange the SDK has no bearer token — the session is
194
194
  // authorized server-side but the app never becomes authenticated and the UI
195
195
  // sits "Waiting for authorization..." forever. Once `claimSessionByToken`
196
- // plants the tokens in the HttpService, the rest of the session wiring flows
197
- // through the normal `switchSession` path. Shared with both containers via
196
+ // plants the tokens in the HttpService, the claimed session is committed via
197
+ // `commitSession` (`useOxy().handleWebSession`) the SAME path a fresh
198
+ // password sign-in or a silent cross-domain restore uses to register the
199
+ // account into the device's server-authoritative session set. It is NOT yet a
200
+ // member of that set, so
201
+ // `switchSession` (an account-SWITCH between accounts already on the
202
+ // device) is the wrong primitive here. Shared with both containers via
198
203
  // `completeDeviceFlowSignIn` so the two paths cannot drift.
199
204
  const handleAuthSuccess = useCallback(async (sessionId, sessionToken) => {
200
205
  if (isProcessingRef.current) return;
201
206
  isProcessingRef.current = true;
202
207
  try {
203
- if (!switchSession) {
204
- throw new Error('Session management unavailable');
208
+ if (!commitSession) {
209
+ throw new Error('Session commit unavailable');
205
210
  }
206
211
  const user = await completeDeviceFlowSignIn({
207
212
  oxyServices,
208
213
  sessionId,
209
214
  sessionToken,
210
- switchSession
215
+ commitSession
211
216
  });
212
217
  onSignedInRef.current?.(user);
213
218
  } catch (err) {
@@ -215,7 +220,7 @@ export function useOxyAuthSession(oxyServices, clientId, switchSession, options
215
220
  setError('Authorization successful but failed to complete sign in. Please try again.');
216
221
  isProcessingRef.current = false;
217
222
  }
218
- }, [oxyServices, switchSession]);
223
+ }, [oxyServices, commitSession]);
219
224
 
220
225
  // Start polling for authorization.
221
226
  //
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useCallback","useRef","Linking","Platform","io","createDebugLogger","completeDeviceFlowSignIn","debug","OXY_ACCOUNTS_WEB_URL","OXY_AUTH_WEB_URL","AUTH_SESSION_EXPIRY_MS","POLLING_INTERVAL_MS","resolveAuthWebBaseUrl","baseURL","authWebUrl","url","URL","port","origin","hostname","startsWith","slice","resolveAuthRedirectUri","authRedirectUri","initialUrl","getInitialURL","parsed","search","hash","toString","getRedirectParams","sessionId","searchParams","get","undefined","error","generateSessionToken","bytes","Uint8Array","crypto","getRandomValues","Array","from","b","padStart","join","useOxyAuthSession","oxyServices","clientId","switchSession","options","onSignedIn","authSession","setAuthSession","isLoading","setIsLoading","setError","isWaiting","setIsWaiting","authorizeCode","setAuthorizeCode","qrPayload","setQrPayload","socketRef","pollingIntervalRef","isProcessingRef","linkingHandledRef","onSignedInRef","current","cleanup","disconnect","clearInterval","handleAuthSuccess","sessionToken","Error","user","err","startPolling","setInterval","response","makeRequest","cache","authorized","status","log","connectSocket","getBaseURL","socket","transports","reconnection","reconnectionAttempts","reconnectionDelay","on","emit","payload","message","generateAuthSession","expiresAt","Date","now","createResponse","openAuthApproval","authBaseUrl","config","webUrl","set","OS","width","height","screenWidth","window","screen","screenHeight","left","top","open","redirectUri","openURL","openSameDeviceApproval","retry","handleAuthRedirect","params","flowSessionToken","subscription","addEventListener","then","catch","remove","qrData"],"sourceRoot":"../../../../src","sources":["ui/hooks/useOxyAuthSession.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","useCallback","useRef","Linking","Platform","io","createDebugLogger","completeDeviceFlowSignIn","debug","OXY_ACCOUNTS_WEB_URL","OXY_AUTH_WEB_URL","AUTH_SESSION_EXPIRY_MS","POLLING_INTERVAL_MS","resolveAuthWebBaseUrl","baseURL","authWebUrl","url","URL","port","origin","hostname","startsWith","slice","resolveAuthRedirectUri","authRedirectUri","initialUrl","getInitialURL","parsed","search","hash","toString","getRedirectParams","sessionId","searchParams","get","undefined","error","generateSessionToken","bytes","Uint8Array","crypto","getRandomValues","Array","from","b","padStart","join","useOxyAuthSession","oxyServices","clientId","commitSession","options","onSignedIn","authSession","setAuthSession","isLoading","setIsLoading","setError","isWaiting","setIsWaiting","authorizeCode","setAuthorizeCode","qrPayload","setQrPayload","socketRef","pollingIntervalRef","isProcessingRef","linkingHandledRef","onSignedInRef","current","cleanup","disconnect","clearInterval","handleAuthSuccess","sessionToken","Error","user","err","startPolling","setInterval","response","makeRequest","cache","authorized","status","log","connectSocket","getBaseURL","socket","transports","reconnection","reconnectionAttempts","reconnectionDelay","on","emit","payload","message","generateAuthSession","expiresAt","Date","now","createResponse","openAuthApproval","authBaseUrl","config","webUrl","set","OS","width","height","screenWidth","window","screen","screenHeight","left","top","open","redirectUri","openURL","openSameDeviceApproval","retry","handleAuthRedirect","params","flowSessionToken","subscription","addEventListener","then","catch","remove","qrData"],"sourceRoot":"../../../../src","sources":["ui/hooks/useOxyAuthSession.ts"],"mappings":"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","ignoreList":[]}
@@ -3,12 +3,11 @@
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { isDev } from '@oxyhq/core';
5
5
  import { mergeSessions, normalizeAndSortSessions, sessionsArraysEqual } from '@oxyhq/core';
6
- import { fetchSessionsWithFallback, validateSessionBatch } from "../utils/sessionHelpers.js";
6
+ import { fetchSessionsWithFallback } from "../utils/sessionHelpers.js";
7
7
  import { getStorageKeys } from "../utils/storageHelpers.js";
8
8
  import { handleAuthError, isInvalidSessionError } from "../utils/errorHandlers.js";
9
9
  import { clearQueryCache } from "./queryClient.js";
10
10
  import { isWebBrowser } from "./useWebSSO.js";
11
- import { writeActiveAuthuser } from "../utils/activeAuthuser.js";
12
11
  const DEFAULT_SAVE_ERROR_MESSAGE = 'Failed to save session data';
13
12
  const CLEAR_STORAGE_ERROR = 'Failed to clear storage';
14
13
 
@@ -165,59 +164,17 @@ export const useSessionManagement = ({
165
164
  removalTimerIdsRef.current.forEach(clearTimeout);
166
165
  };
167
166
  }, []);
168
- const findReplacementSession = useCallback(async sessionIds => {
169
- if (!sessionIds.length) {
170
- return null;
171
- }
172
- const validationResults = await validateSessionBatch(oxyServices, sessionIds, {
173
- maxConcurrency: 3
174
- });
175
- const validSession = validationResults.find(result => result.valid);
176
- if (!validSession) {
177
- return null;
178
- }
179
- const validation = await oxyServices.validateSession(validSession.sessionId, {
180
- useHeaderValidation: true
181
- });
182
- if (!validation?.valid || !validation.user) {
183
- return null;
184
- }
185
- const user = validation.user;
186
- await activateSession(validSession.sessionId, user);
187
- return user;
188
- }, [activateSession, oxyServices]);
189
167
  const switchSession = useCallback(async sessionId => {
190
168
  try {
191
- // Web multi-account: when the target session was sourced from
192
- // `refreshAllSessions` it carries its `authuser` slot index. We
193
- // proactively plant that slot's access token via the httpOnly
194
- // refresh cookie BEFORE validating, so the bearer-protected
195
- // validate/getCurrentUser calls have the correct in-memory token
196
- // after a cold reload or account switch in another tab. The native
197
- // path arrives here only after a bearer has been planted by
169
+ // On web, the bearer must already be in memory (planted by
170
+ // `claimSessionByToken`, a cold-boot silent-restore step, or a prior
171
+ // `SessionClient` sync) before validating there is no client-side
172
+ // `oxy_rt` refresh-cookie slot to fall back on; the device account SET
173
+ // is server-authoritative via `SessionClient` now. The native path
174
+ // arrives here only after a bearer has been planted by
198
175
  // `claimSessionByToken` or secure shared-session restore.
199
- if (isWebBrowser()) {
200
- const targetSession = sessionsRef.current.find(s => s.sessionId === sessionId);
201
- const targetAuthuser = targetSession?.authuser;
202
- if (typeof targetAuthuser === 'number') {
203
- const refreshed = await oxyServices.refreshTokenViaCookie({
204
- authuser: targetAuthuser
205
- });
206
- if (refreshed === null) {
207
- // Slot's refresh cookie is missing / expired / reused. Fall
208
- // through to the invalid-session branch below by throwing the
209
- // canonical invalid-session error.
210
- throw new Error('Session is invalid or expired');
211
- }
212
- // Plant the slot's fresh access token; subsequent bearer calls
213
- // (`validateSession`, `getCurrentUser`) will use it. The server
214
- // also rotated the cookie at this point.
215
- oxyServices.httpService.setTokens(refreshed.accessToken);
216
- writeActiveAuthuser(targetAuthuser);
217
- }
218
- if (!oxyServices.getAccessToken()) {
219
- throw new Error('Session is invalid or expired');
220
- }
176
+ if (isWebBrowser() && !oxyServices.getAccessToken()) {
177
+ throw new Error('Session is invalid or expired');
221
178
  }
222
179
  const validation = await oxyServices.validateSession(sessionId, {
223
180
  useHeaderValidation: true
@@ -247,16 +204,12 @@ export const useSessionManagement = ({
247
204
  } catch (error) {
248
205
  const invalidSession = isInvalidSessionError(error);
249
206
  if (invalidSession) {
207
+ // Server authority (`SessionClient` bootstrap/sync) reconciles which
208
+ // account is actually active — just drop the invalid session from
209
+ // the local view rather than guessing at a replacement.
250
210
  updateSessions(sessionsRef.current.filter(session => session.sessionId !== sessionId), {
251
211
  merge: false
252
212
  });
253
- if (sessionId === activeSessionIdRef.current) {
254
- const otherSessionIds = sessionsRef.current.filter(session => session.sessionId !== sessionId && !removedSessionsRef.current.has(session.sessionId)).map(session => session.sessionId);
255
- const replacementUser = await findReplacementSession(otherSessionIds);
256
- if (replacementUser) {
257
- return replacementUser;
258
- }
259
- }
260
213
  }
261
214
  handleAuthError(error, {
262
215
  defaultMessage: 'Failed to switch session',
@@ -267,7 +220,7 @@ export const useSessionManagement = ({
267
220
  });
268
221
  throw error instanceof Error ? error : new Error('Failed to switch session');
269
222
  }
270
- }, [activateSession, findReplacementSession, logger, onError, oxyServices, setAuthError, updateSessions]);
223
+ }, [activateSession, logger, onError, oxyServices, setAuthError, updateSessions]);
271
224
  const refreshSessions = useCallback(async activeUserId => {
272
225
  // Capture the active session id once so the async closure below uses a
273
226
  // narrowed, non-null local instead of re-reading the ref (which the
@@ -294,11 +247,10 @@ export const useSessionManagement = ({
294
247
  });
295
248
  } catch (error) {
296
249
  if (isInvalidSessionError(error)) {
297
- const otherSessions = sessionsRef.current.filter(session => session.sessionId !== activeSessionId && !removedSessionsRef.current.has(session.sessionId)).map(session => session.sessionId);
298
- const replacementUser = await findReplacementSession(otherSessions);
299
- if (!replacementUser) {
300
- await clearSessionState();
301
- }
250
+ // Server authority (`SessionClient` bootstrap/sync) reconciles
251
+ // which account is actually active — just clear local state
252
+ // rather than guessing at a replacement session.
253
+ await clearSessionState();
302
254
  return;
303
255
  }
304
256
  handleAuthError(error, {
@@ -315,7 +267,7 @@ export const useSessionManagement = ({
315
267
  })();
316
268
  refreshInFlightRef.current = refreshPromise;
317
269
  await refreshPromise;
318
- }, [clearSessionState, findReplacementSession, logger, onError, oxyServices, setAuthError, updateSessions]);
270
+ }, [clearSessionState, logger, onError, oxyServices, setAuthError, updateSessions]);
319
271
  const isRefreshInFlight = Boolean(refreshInFlightRef.current);
320
272
  return {
321
273
  sessions,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","isDev","mergeSessions","normalizeAndSortSessions","sessionsArraysEqual","fetchSessionsWithFallback","validateSessionBatch","getStorageKeys","handleAuthError","isInvalidSessionError","clearQueryCache","isWebBrowser","writeActiveAuthuser","DEFAULT_SAVE_ERROR_MESSAGE","CLEAR_STORAGE_ERROR","useSessionManagement","oxyServices","storage","storageKeyPrefix","loginSuccess","logoutStore","applyLanguagePreference","onAuthStateChange","onError","setAuthError","logger","setTokenReady","queryClient","sessions","setSessions","activeSessionId","setActiveSessionId","sessionsRef","current","activeSessionIdRef","refreshInFlightRef","removedSessionsRef","Set","lastRefreshRef","storageKeys","saveSessionIds","sessionIds","uniqueIds","Array","from","setItem","JSON","stringify","error","console","warn","updateSessions","incoming","options","prevSessions","processed","merge","map","session","sessionId","preserveSessionIds","saveActiveSessionId","defaultMessage","code","removeActiveSessionId","removeItem","clearSessionStorage","clearSessionState","clearTokens","clear","activateSession","user","removalTimerIdsRef","trackRemovedSession","add","timerId","setTimeout","delete","forEach","clearTimeout","findReplacementSession","length","validationResults","maxConcurrency","validSession","find","result","valid","validation","validateSession","useHeaderValidation","switchSession","targetSession","s","targetAuthuser","authuser","refreshed","refreshTokenViaCookie","Error","httpService","setTokens","accessToken","getAccessToken","deviceSessions","fallbackUserId","id","invalidSession","filter","otherSessionIds","has","replacementUser","refreshSessions","activeUserId","now","Date","refreshPromise","otherSessions","isRefreshInFlight","Boolean"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSessionManagement.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","isDev","mergeSessions","normalizeAndSortSessions","sessionsArraysEqual","fetchSessionsWithFallback","getStorageKeys","handleAuthError","isInvalidSessionError","clearQueryCache","isWebBrowser","DEFAULT_SAVE_ERROR_MESSAGE","CLEAR_STORAGE_ERROR","useSessionManagement","oxyServices","storage","storageKeyPrefix","loginSuccess","logoutStore","applyLanguagePreference","onAuthStateChange","onError","setAuthError","logger","setTokenReady","queryClient","sessions","setSessions","activeSessionId","setActiveSessionId","sessionsRef","current","activeSessionIdRef","refreshInFlightRef","removedSessionsRef","Set","lastRefreshRef","storageKeys","saveSessionIds","sessionIds","uniqueIds","Array","from","setItem","JSON","stringify","error","console","warn","updateSessions","incoming","options","prevSessions","processed","merge","map","session","sessionId","preserveSessionIds","saveActiveSessionId","defaultMessage","code","removeActiveSessionId","removeItem","clearSessionStorage","clearSessionState","clearTokens","clear","activateSession","user","removalTimerIdsRef","trackRemovedSession","add","timerId","setTimeout","delete","forEach","clearTimeout","switchSession","getAccessToken","Error","validation","validateSession","useHeaderValidation","valid","deviceSessions","fallbackUserId","id","invalidSession","filter","refreshSessions","activeUserId","now","Date","refreshPromise","isRefreshInFlight","Boolean"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSessionManagement.ts"],"mappings":"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","ignoreList":[]}