@oxyhq/services 22.12.4 → 22.13.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 (446) hide show
  1. package/README.md +16 -46
  2. package/lib/commonjs/index.js +18 -12
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/ui/boot/runProviderColdBoot.js +51 -9
  5. package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
  6. package/lib/commonjs/ui/client.js +0 -13
  7. package/lib/commonjs/ui/client.js.map +1 -1
  8. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +27 -4
  9. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
  10. package/lib/commonjs/ui/components/OxyAuthChooser.js +72 -1123
  11. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  12. package/lib/commonjs/ui/components/OxyConsentScreen.js +50 -12
  13. package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
  14. package/lib/commonjs/ui/components/OxyProvider.js +4 -4
  15. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  16. package/lib/commonjs/ui/components/OxySignInButton.js +74 -40
  17. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  18. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +527 -0
  19. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  20. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +90 -0
  21. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -0
  22. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +144 -0
  23. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -0
  24. package/lib/commonjs/ui/components/authChooser/SignUpView.js +188 -0
  25. package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +1 -0
  26. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +63 -0
  27. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  28. package/lib/commonjs/ui/components/authChooser/primitives.js +169 -0
  29. package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -0
  30. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +149 -0
  31. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -0
  32. package/lib/commonjs/ui/components/authChooser/signInProgress.js +54 -0
  33. package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -0
  34. package/lib/commonjs/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  35. package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -0
  36. package/lib/commonjs/ui/components/authChooser/types.js +59 -0
  37. package/lib/commonjs/ui/components/authChooser/types.js.map +1 -0
  38. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js +50 -0
  39. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  40. package/lib/commonjs/ui/context/OxyContext.js +205 -30
  41. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  42. package/lib/commonjs/ui/context/commitSessionFlow.js +46 -0
  43. package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
  44. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +15 -2
  45. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  46. package/lib/commonjs/ui/context/useOxyAccountGraph.js +13 -5
  47. package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
  48. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +6 -1
  49. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
  50. package/lib/commonjs/ui/index.js +0 -13
  51. package/lib/commonjs/ui/index.js.map +1 -1
  52. package/lib/commonjs/ui/oauth/browserAuthTransport.js +170 -0
  53. package/lib/commonjs/ui/oauth/browserAuthTransport.js.map +1 -0
  54. package/lib/commonjs/ui/oauth/completeOAuthCode.js +78 -0
  55. package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -0
  56. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js +48 -0
  57. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js.map +1 -0
  58. package/lib/commonjs/ui/oauth/oauthHandshake.js +53 -0
  59. package/lib/commonjs/ui/oauth/oauthHandshake.js.map +1 -0
  60. package/lib/commonjs/ui/oauth/oauthPopup.js +276 -0
  61. package/lib/commonjs/ui/oauth/oauthPopup.js.map +1 -0
  62. package/lib/commonjs/ui/oauth/oauthPopupMessages.js +141 -0
  63. package/lib/commonjs/ui/oauth/oauthPopupMessages.js.map +1 -0
  64. package/lib/commonjs/ui/oauth/types.js +2 -0
  65. package/lib/commonjs/ui/oauth/types.js.map +1 -0
  66. package/lib/commonjs/ui/server.js +2 -5
  67. package/lib/commonjs/ui/server.js.map +1 -1
  68. package/lib/commonjs/ui/session/authStore.js +6 -75
  69. package/lib/commonjs/ui/session/authStore.js.map +1 -1
  70. package/lib/commonjs/ui/session/createSessionClient.js +11 -3
  71. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  72. package/lib/commonjs/ui/session/identityBinding.js +95 -0
  73. package/lib/commonjs/ui/session/identityBinding.js.map +1 -0
  74. package/lib/commonjs/ui/session/index.js +13 -0
  75. package/lib/commonjs/ui/session/index.js.map +1 -1
  76. package/lib/commonjs/ui/session/nativeSecureStorage.js +90 -0
  77. package/lib/commonjs/ui/session/nativeSecureStorage.js.map +1 -0
  78. package/lib/commonjs/ui/session/tokenTransport.js +11 -1
  79. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  80. package/lib/commonjs/ui/utils/crossOriginRestore.js +5 -4
  81. package/lib/commonjs/ui/utils/crossOriginRestore.js.map +1 -1
  82. package/lib/commonjs/ui/utils/deliveryPlatform.js +58 -0
  83. package/lib/commonjs/ui/utils/deliveryPlatform.js.map +1 -0
  84. package/lib/commonjs/ui/utils/oauthReturn.js +72 -46
  85. package/lib/commonjs/ui/utils/oauthReturn.js.map +1 -1
  86. package/lib/module/index.js +9 -4
  87. package/lib/module/index.js.map +1 -1
  88. package/lib/module/ui/boot/runProviderColdBoot.js +51 -9
  89. package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
  90. package/lib/module/ui/client.js +0 -1
  91. package/lib/module/ui/client.js.map +1 -1
  92. package/lib/module/ui/components/OxyAccountDialogScreen.js +27 -4
  93. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
  94. package/lib/module/ui/components/OxyAuthChooser.js +76 -1128
  95. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  96. package/lib/module/ui/components/OxyConsentScreen.js +50 -12
  97. package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
  98. package/lib/module/ui/components/OxyProvider.js +4 -4
  99. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  100. package/lib/module/ui/components/OxySignInButton.js +76 -42
  101. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  102. package/lib/module/ui/components/authChooser/AccountsMenuView.js +523 -0
  103. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  104. package/lib/module/ui/components/authChooser/SignInEntryView.js +85 -0
  105. package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -0
  106. package/lib/module/ui/components/authChooser/SignInRequestView.js +139 -0
  107. package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -0
  108. package/lib/module/ui/components/authChooser/SignUpView.js +184 -0
  109. package/lib/module/ui/components/authChooser/SignUpView.js.map +1 -0
  110. package/lib/module/ui/components/authChooser/TroubleDisclosure.js +59 -0
  111. package/lib/module/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  112. package/lib/module/ui/components/authChooser/primitives.js +163 -0
  113. package/lib/module/ui/components/authChooser/primitives.js.map +1 -0
  114. package/lib/module/ui/components/authChooser/requestSurfaces.js +139 -0
  115. package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -0
  116. package/lib/module/ui/components/authChooser/signInProgress.js +50 -0
  117. package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -0
  118. package/lib/module/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  119. package/lib/module/ui/components/authChooser/styles.js.map +1 -0
  120. package/lib/module/ui/components/authChooser/types.js +55 -0
  121. package/lib/module/ui/components/authChooser/types.js.map +1 -0
  122. package/lib/module/ui/components/authChooser/useUsernameAvailability.js +46 -0
  123. package/lib/module/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  124. package/lib/module/ui/context/OxyContext.js +208 -33
  125. package/lib/module/ui/context/OxyContext.js.map +1 -1
  126. package/lib/module/ui/context/commitSessionFlow.js +45 -0
  127. package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
  128. package/lib/module/ui/context/hooks/useAuthOperations.js +15 -2
  129. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  130. package/lib/module/ui/context/useOxyAccountGraph.js +13 -5
  131. package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
  132. package/lib/module/ui/hooks/useSwitchableAccounts.js +6 -1
  133. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
  134. package/lib/module/ui/index.js +0 -1
  135. package/lib/module/ui/index.js.map +1 -1
  136. package/lib/module/ui/oauth/browserAuthTransport.js +167 -0
  137. package/lib/module/ui/oauth/browserAuthTransport.js.map +1 -0
  138. package/lib/module/ui/oauth/completeOAuthCode.js +75 -0
  139. package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -0
  140. package/lib/module/ui/oauth/legacyRedirectLanes.js +44 -0
  141. package/lib/module/ui/oauth/legacyRedirectLanes.js.map +1 -0
  142. package/lib/module/ui/oauth/oauthHandshake.js +50 -0
  143. package/lib/module/ui/oauth/oauthHandshake.js.map +1 -0
  144. package/lib/module/ui/oauth/oauthPopup.js +268 -0
  145. package/lib/module/ui/oauth/oauthPopup.js.map +1 -0
  146. package/lib/module/ui/oauth/oauthPopupMessages.js +135 -0
  147. package/lib/module/ui/oauth/oauthPopupMessages.js.map +1 -0
  148. package/lib/module/ui/oauth/types.js +2 -0
  149. package/lib/module/ui/oauth/types.js.map +1 -0
  150. package/lib/module/ui/server.js +0 -2
  151. package/lib/module/ui/server.js.map +1 -1
  152. package/lib/module/ui/session/authStore.js +5 -75
  153. package/lib/module/ui/session/authStore.js.map +1 -1
  154. package/lib/module/ui/session/createSessionClient.js +11 -3
  155. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  156. package/lib/module/ui/session/identityBinding.js +89 -0
  157. package/lib/module/ui/session/identityBinding.js.map +1 -0
  158. package/lib/module/ui/session/index.js +5 -2
  159. package/lib/module/ui/session/index.js.map +1 -1
  160. package/lib/module/ui/session/nativeSecureStorage.js +88 -0
  161. package/lib/module/ui/session/nativeSecureStorage.js.map +1 -0
  162. package/lib/module/ui/session/tokenTransport.js +11 -1
  163. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  164. package/lib/module/ui/utils/crossOriginRestore.js +6 -5
  165. package/lib/module/ui/utils/crossOriginRestore.js.map +1 -1
  166. package/lib/module/ui/utils/deliveryPlatform.js +55 -0
  167. package/lib/module/ui/utils/deliveryPlatform.js.map +1 -0
  168. package/lib/module/ui/utils/oauthReturn.js +73 -47
  169. package/lib/module/ui/utils/oauthReturn.js.map +1 -1
  170. package/lib/typescript/commonjs/index.d.ts +4 -1
  171. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +34 -2
  173. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/ui/client.d.ts +0 -1
  175. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +21 -29
  178. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +17 -12
  182. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  184. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  186. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  188. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts +34 -0
  190. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
  192. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +55 -0
  194. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +54 -0
  196. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts +26 -0
  198. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  199. package/lib/typescript/{module/ui/components/oxyAuthChooserStyles.d.ts → commonjs/ui/components/authChooser/styles.d.ts} +19 -1
  200. package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +85 -0
  202. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -0
  203. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  204. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  205. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts +40 -0
  207. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +11 -2
  209. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  210. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +44 -1
  211. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +7 -1
  213. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/ui/index.d.ts +0 -1
  216. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts +56 -0
  218. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts +49 -0
  220. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  221. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  222. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  223. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts +50 -0
  224. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts +83 -0
  226. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts.map +1 -0
  227. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts +67 -0
  228. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  229. package/lib/typescript/commonjs/ui/oauth/types.d.ts +176 -0
  230. package/lib/typescript/commonjs/ui/oauth/types.d.ts.map +1 -0
  231. package/lib/typescript/commonjs/ui/server.d.ts +0 -2
  232. package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/ui/session/authStore.d.ts +3 -7
  234. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +8 -1
  236. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts +66 -0
  238. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -0
  239. package/lib/typescript/commonjs/ui/session/index.d.ts +6 -2
  240. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts +25 -0
  242. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts.map +1 -0
  243. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +8 -1
  244. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  245. package/lib/typescript/commonjs/ui/types/navigation.d.ts +44 -0
  246. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/ui/utils/crossOriginRestore.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts +33 -0
  249. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts.map +1 -0
  250. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts +30 -16
  251. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts.map +1 -1
  252. package/lib/typescript/module/index.d.ts +4 -1
  253. package/lib/typescript/module/index.d.ts.map +1 -1
  254. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +34 -2
  255. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  256. package/lib/typescript/module/ui/client.d.ts +0 -1
  257. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  258. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  259. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +21 -29
  260. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  261. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -1
  262. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  263. package/lib/typescript/module/ui/components/OxySignInButton.d.ts +17 -12
  264. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  265. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  266. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  267. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  268. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  269. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  270. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  271. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts +34 -0
  272. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  273. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
  274. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  275. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +55 -0
  276. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -0
  277. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +54 -0
  278. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  279. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts +26 -0
  280. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  281. package/lib/typescript/{commonjs/ui/components/oxyAuthChooserStyles.d.ts → module/ui/components/authChooser/styles.d.ts} +19 -1
  282. package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -0
  283. package/lib/typescript/module/ui/components/authChooser/types.d.ts +85 -0
  284. package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -0
  285. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  286. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  287. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  288. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts +40 -0
  289. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
  290. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +11 -2
  291. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  292. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +44 -1
  293. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  294. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +7 -1
  295. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  296. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  297. package/lib/typescript/module/ui/index.d.ts +0 -1
  298. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  299. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts +56 -0
  300. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  301. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts +49 -0
  302. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  303. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  304. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  305. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts +50 -0
  306. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts.map +1 -0
  307. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts +83 -0
  308. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts.map +1 -0
  309. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts +67 -0
  310. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  311. package/lib/typescript/module/ui/oauth/types.d.ts +176 -0
  312. package/lib/typescript/module/ui/oauth/types.d.ts.map +1 -0
  313. package/lib/typescript/module/ui/server.d.ts +0 -2
  314. package/lib/typescript/module/ui/server.d.ts.map +1 -1
  315. package/lib/typescript/module/ui/session/authStore.d.ts +3 -7
  316. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
  317. package/lib/typescript/module/ui/session/createSessionClient.d.ts +8 -1
  318. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  319. package/lib/typescript/module/ui/session/identityBinding.d.ts +66 -0
  320. package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -0
  321. package/lib/typescript/module/ui/session/index.d.ts +6 -2
  322. package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
  323. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts +25 -0
  324. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts.map +1 -0
  325. package/lib/typescript/module/ui/session/tokenTransport.d.ts +8 -1
  326. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  327. package/lib/typescript/module/ui/types/navigation.d.ts +44 -0
  328. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  329. package/lib/typescript/module/ui/utils/crossOriginRestore.d.ts.map +1 -1
  330. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts +33 -0
  331. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts.map +1 -0
  332. package/lib/typescript/module/ui/utils/oauthReturn.d.ts +30 -16
  333. package/lib/typescript/module/ui/utils/oauthReturn.d.ts.map +1 -1
  334. package/package.json +6 -8
  335. package/src/index.ts +19 -5
  336. package/src/ui/boot/__tests__/coldBootWebAuthMode.test.ts +281 -0
  337. package/src/ui/boot/runProviderColdBoot.ts +83 -13
  338. package/src/ui/client.ts +0 -1
  339. package/src/ui/components/OxyAccountDialogScreen.tsx +33 -4
  340. package/src/ui/components/OxyAuthChooser.tsx +100 -1230
  341. package/src/ui/components/OxyConsentScreen.tsx +56 -13
  342. package/src/ui/components/OxyProvider.tsx +4 -4
  343. package/src/ui/components/OxySignInButton.tsx +119 -78
  344. package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +27 -0
  345. package/src/ui/components/authChooser/AccountsMenuView.tsx +569 -0
  346. package/src/ui/components/authChooser/SignInEntryView.tsx +115 -0
  347. package/src/ui/components/authChooser/SignInRequestView.tsx +163 -0
  348. package/src/ui/components/authChooser/SignUpView.tsx +174 -0
  349. package/src/ui/components/authChooser/TroubleDisclosure.tsx +81 -0
  350. package/src/ui/components/authChooser/primitives.tsx +144 -0
  351. package/src/ui/components/authChooser/requestSurfaces.tsx +116 -0
  352. package/src/ui/components/authChooser/signInProgress.ts +54 -0
  353. package/src/ui/components/{oxyAuthChooserStyles.ts → authChooser/styles.ts} +18 -0
  354. package/src/ui/components/authChooser/types.ts +101 -0
  355. package/src/ui/components/authChooser/useUsernameAvailability.ts +60 -0
  356. package/src/ui/context/OxyContext.tsx +226 -24
  357. package/src/ui/context/__tests__/commitSessionFlow.test.ts +102 -0
  358. package/src/ui/context/commitSessionFlow.ts +64 -0
  359. package/src/ui/context/hooks/useAuthOperations.ts +26 -1
  360. package/src/ui/context/oxyContextTypes.ts +45 -1
  361. package/src/ui/context/useOxyAccountGraph.ts +19 -5
  362. package/src/ui/hooks/useSwitchableAccounts.ts +12 -1
  363. package/src/ui/index.ts +0 -1
  364. package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +335 -0
  365. package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +142 -0
  366. package/src/ui/oauth/__tests__/oauthPopup.test.ts +352 -0
  367. package/src/ui/oauth/__tests__/oauthPopupMessages.test.ts +189 -0
  368. package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +174 -0
  369. package/src/ui/oauth/browserAuthTransport.ts +193 -0
  370. package/src/ui/oauth/completeOAuthCode.ts +93 -0
  371. package/src/ui/oauth/legacyRedirectLanes.ts +43 -0
  372. package/src/ui/oauth/oauthHandshake.ts +74 -0
  373. package/src/ui/oauth/oauthPopup.ts +277 -0
  374. package/src/ui/oauth/oauthPopupMessages.ts +136 -0
  375. package/src/ui/oauth/types.ts +150 -0
  376. package/src/ui/server.ts +0 -2
  377. package/src/ui/session/__tests__/createSessionClient.test.ts +26 -0
  378. package/src/ui/session/__tests__/tokenTransport.test.ts +34 -0
  379. package/src/ui/session/authStore.ts +5 -89
  380. package/src/ui/session/createSessionClient.ts +15 -2
  381. package/src/ui/session/identityBinding.ts +116 -0
  382. package/src/ui/session/index.ts +6 -2
  383. package/src/ui/session/nativeSecureStorage.ts +98 -0
  384. package/src/ui/session/tokenTransport.ts +14 -1
  385. package/src/ui/types/navigation.ts +44 -1
  386. package/src/ui/utils/__tests__/crossOriginRestore.test.ts +17 -0
  387. package/src/ui/utils/crossOriginRestore.ts +9 -13
  388. package/src/ui/utils/deliveryPlatform.ts +65 -0
  389. package/src/ui/utils/oauthReturn.ts +79 -65
  390. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  391. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  392. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  393. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  394. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  395. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  396. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  397. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  398. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  399. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  400. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  401. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  402. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  403. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  404. package/lib/commonjs/ui/components/FontLoader.js +0 -35
  405. package/lib/commonjs/ui/components/FontLoader.js.map +0 -1
  406. package/lib/commonjs/ui/components/FontLoader.native.js +0 -88
  407. package/lib/commonjs/ui/components/FontLoader.native.js.map +0 -1
  408. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +0 -1
  409. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  410. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  411. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  412. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  413. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  414. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  415. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  416. package/lib/module/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  417. package/lib/module/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  418. package/lib/module/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  419. package/lib/module/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  420. package/lib/module/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  421. package/lib/module/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  422. package/lib/module/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  423. package/lib/module/ui/components/FontLoader.js +0 -29
  424. package/lib/module/ui/components/FontLoader.js.map +0 -1
  425. package/lib/module/ui/components/FontLoader.native.js +0 -83
  426. package/lib/module/ui/components/FontLoader.native.js.map +0 -1
  427. package/lib/module/ui/components/oxyAuthChooserStyles.js.map +0 -1
  428. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +0 -24
  429. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +0 -1
  430. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts +0 -13
  431. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts.map +0 -1
  432. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  433. package/lib/typescript/module/ui/components/FontLoader.d.ts +0 -24
  434. package/lib/typescript/module/ui/components/FontLoader.d.ts.map +0 -1
  435. package/lib/typescript/module/ui/components/FontLoader.native.d.ts +0 -13
  436. package/lib/typescript/module/ui/components/FontLoader.native.d.ts.map +0 -1
  437. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  438. package/src/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  439. package/src/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  440. package/src/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  441. package/src/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  442. package/src/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  443. package/src/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  444. package/src/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  445. package/src/ui/components/FontLoader.native.tsx +0 -88
  446. package/src/ui/components/FontLoader.tsx +0 -27
@@ -4,12 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.consumeHubSyncFailure = consumeHubSyncFailure;
7
+ exports.replaceUrlAfterOAuthReturn = replaceUrlAfterOAuthReturn;
7
8
  exports.tryCompleteOAuthReturn = tryCompleteOAuthReturn;
8
9
  var _core = require("@oxyhq/core");
10
+ var _completeOAuthCode = require("../oauth/completeOAuthCode.js");
9
11
  var _isWebBrowser = require("./isWebBrowser.js");
10
12
  /**
11
- * When the RP lands with `?code=` after password sign-in at auth.oxy.so, exchange
12
- * the code for a device-first session before cold boot runs.
13
+ * When the RP lands with `?code=` after signing in at auth.oxy.so, exchange the
14
+ * code for a device-first session before cold boot runs.
15
+ *
16
+ * This is the REDIRECT transport's return leg. It owns only what is specific to
17
+ * a full-page round trip — reading the code off the URL, recovering the
18
+ * handshake `sessionStorage` carried across the navigation, and cleaning both up
19
+ * afterwards — and delegates state validation, the PKCE exchange, and the
20
+ * session commit to `completeOAuthCode`, the same function the popup transport
21
+ * runs.
13
22
  */
14
23
  async function tryCompleteOAuthReturn(opts) {
15
24
  if (!(0, _isWebBrowser.isWebBrowser)()) return false;
@@ -20,6 +29,7 @@ async function tryCompleteOAuthReturn(opts) {
20
29
  const oauthError = params.get('error');
21
30
  if (oauthError) {
22
31
  stripOAuthParamsFromUrl();
32
+ (0, _core.clearOAuthHandshake)();
23
33
  return false;
24
34
  }
25
35
  if (!code) return false;
@@ -29,46 +39,69 @@ async function tryCompleteOAuthReturn(opts) {
29
39
  component: 'oauthReturn'
30
40
  });
31
41
  stripOAuthParamsFromUrl();
32
- return false;
33
- }
34
- const returnedState = params.get('state');
35
- const handshake = (0, _core.readOAuthHandshake)();
36
- if (!handshake || !returnedState || handshake.state !== returnedState) {
37
- _core.logger.warn('OAuth return ignored: missing or mismatched handshake', {
38
- component: 'oauthReturn'
39
- });
40
42
  (0, _core.clearOAuthHandshake)();
41
- stripOAuthParamsFromUrl();
42
43
  return false;
43
44
  }
44
- const redirectUri = (0, _core.normalizeOAuthRedirectUri)(opts.authRedirectUri ?? location.origin);
45
+ const handshake = (0, _core.readOAuthHandshake)();
46
+ const redirectUri = (0, _core.canonicalizeOAuthRedirectUri)(handshake?.redirectUri ?? opts.authRedirectUri ?? location.origin);
47
+ const result = await (0, _completeOAuthCode.completeOAuthCode)({
48
+ oxyServices: opts.oxyServices,
49
+ clientId,
50
+ code,
51
+ returnedState: params.get('state'),
52
+ handshake,
53
+ redirectUri,
54
+ commitSession: opts.commitSession,
55
+ // Strip the params before the commit so a stale `?code=` cannot re-enter the
56
+ // exchange loop, and read the return path FIRST — clearOAuthHandshake drops
57
+ // it along with the PKCE keys.
58
+ cleanup: () => {
59
+ stripOAuthParamsFromUrl();
60
+ (0, _core.clearOAuthHandshake)();
61
+ }
62
+ });
63
+ return result.ok;
64
+ }
65
+
66
+ /**
67
+ * Rewrite the address bar after an authorize round trip, and tell the router.
68
+ *
69
+ * Prefers the page the visit started on (see `persistOAuthReturnPath`) over the
70
+ * bare origin the IdP redirected to, falling back to `fallbackUrl` when nothing
71
+ * was recorded.
72
+ *
73
+ * The `popstate` dispatch is the load-bearing part. `history.replaceState`
74
+ * fires no event, and cold boot runs *inside* the mounted app — by the time
75
+ * this executes, a history-based router (React Router, Vue Router, …) has
76
+ * already read `location` and rendered the route for `/`. Without a
77
+ * notification the address bar would show the restored deep link while the page
78
+ * still displayed the home page. `popstate` is the event the History API
79
+ * defines for exactly this, and it is what those routers subscribe to.
80
+ *
81
+ * Only dispatched when the URL actually changed, so the common no-op case does
82
+ * not push a spurious event at every listener on the page.
83
+ */
84
+ function replaceUrlAfterOAuthReturn(fallbackUrl) {
85
+ const location = globalThis.location;
86
+ const history = globalThis.history;
87
+ if (!location || !history?.replaceState) return;
88
+ const current = `${location.pathname}${location.search}${location.hash}`;
89
+ const target = (0, _core.consumeOAuthReturnPath)() ?? fallbackUrl;
90
+ history.replaceState(history.state, '', target);
91
+ if (target === current) return;
92
+ const dispatch = globalThis.dispatchEvent;
93
+ if (typeof dispatch !== 'function') return;
45
94
  try {
46
- const result = await opts.oxyServices.exchangeOAuthCode({
47
- code,
48
- clientId,
49
- redirectUri,
50
- codeVerifier: handshake.codeVerifier
51
- });
52
- // Strip OAuth params before commit so a stale `?code=` cannot re-enter the exchange loop.
53
- (0, _core.clearOAuthHandshake)();
54
- stripOAuthParamsFromUrl();
55
- await opts.commitSession({
56
- sessionId: result.sessionId,
57
- accessToken: result.accessToken,
58
- deviceId: result.deviceId,
59
- deviceSecret: result.deviceSecret,
60
- userId: result.user.id,
61
- expiresAt: result.expiresAt,
62
- user: result.user
63
- });
64
- return true;
95
+ // `PopStateEvent` is web-only; plain `Event` is a good enough carrier for
96
+ // any host that lacks it (routers read `location`, not `event.state`).
97
+ const event = typeof PopStateEvent === 'function' ? new PopStateEvent('popstate', {
98
+ state: history.state
99
+ }) : new Event('popstate');
100
+ dispatch.call(globalThis, event);
65
101
  } catch (error) {
66
- _core.logger.warn('OAuth return exchange failed', {
102
+ _core.logger.warn('Could not notify router of restored URL', {
67
103
  component: 'oauthReturn'
68
104
  }, error);
69
- (0, _core.clearOAuthHandshake)();
70
- stripOAuthParamsFromUrl();
71
- return false;
72
105
  }
73
106
  }
74
107
  function stripOAuthParamsFromUrl() {
@@ -81,11 +114,7 @@ function stripOAuthParamsFromUrl() {
81
114
  url.searchParams.delete('error');
82
115
  url.searchParams.delete('error_description');
83
116
  url.searchParams.delete('hub_sync');
84
- // The authorize round trip lands on the registered apex origin, so restore
85
- // the page the visit started on. Applies to the success path too: signing in
86
- // from a deep link should return you to that link, not to the home page.
87
- const returnPath = (0, _core.consumeOAuthReturnPath)();
88
- history.replaceState(history.state, '', returnPath ?? `${url.pathname}${url.search}${url.hash}`);
117
+ replaceUrlAfterOAuthReturn(`${url.pathname}${url.search}${url.hash}`);
89
118
  }
90
119
 
91
120
  /**
@@ -96,18 +125,15 @@ function stripOAuthParamsFromUrl() {
96
125
  function consumeHubSyncFailure() {
97
126
  if (!(0, _isWebBrowser.isWebBrowser)()) return false;
98
127
  const location = globalThis.location;
99
- const history = globalThis.history;
100
128
  if (!location) return false;
101
129
  const params = new URLSearchParams(location.search);
102
130
  if (params.get('hub_sync') !== 'failed') return false;
103
131
  _core.logger.warn('Hub sync failed — IdP device session may be out of sync', {
104
132
  component: 'hubSync'
105
133
  });
106
- if (history?.replaceState) {
107
- const url = new URL(location.href);
108
- url.searchParams.delete('hub_sync');
109
- history.replaceState(history.state, '', `${url.pathname}${url.search}${url.hash}`);
110
- }
134
+ const url = new URL(location.href);
135
+ url.searchParams.delete('hub_sync');
136
+ replaceUrlAfterOAuthReturn(`${url.pathname}${url.search}${url.hash}`);
111
137
  return true;
112
138
  }
113
139
  //# sourceMappingURL=oauthReturn.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_isWebBrowser","tryCompleteOAuthReturn","opts","isWebBrowser","location","globalThis","params","URLSearchParams","search","code","get","oauthError","stripOAuthParamsFromUrl","clientId","logger","warn","component","returnedState","handshake","readOAuthHandshake","state","clearOAuthHandshake","redirectUri","normalizeOAuthRedirectUri","authRedirectUri","origin","result","oxyServices","exchangeOAuthCode","codeVerifier","commitSession","sessionId","accessToken","deviceId","deviceSecret","userId","user","id","expiresAt","error","history","replaceState","url","URL","href","searchParams","delete","returnPath","consumeOAuthReturnPath","pathname","hash","consumeHubSyncFailure"],"sourceRoot":"../../../../src","sources":["ui/utils/oauthReturn.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_completeOAuthCode","_isWebBrowser","tryCompleteOAuthReturn","opts","isWebBrowser","location","globalThis","params","URLSearchParams","search","code","get","oauthError","stripOAuthParamsFromUrl","clearOAuthHandshake","clientId","logger","warn","component","handshake","readOAuthHandshake","redirectUri","canonicalizeOAuthRedirectUri","authRedirectUri","origin","result","completeOAuthCode","oxyServices","returnedState","commitSession","cleanup","ok","replaceUrlAfterOAuthReturn","fallbackUrl","history","replaceState","current","pathname","hash","target","consumeOAuthReturnPath","state","dispatch","dispatchEvent","event","PopStateEvent","Event","call","error","url","URL","href","searchParams","delete","consumeHubSyncFailure"],"sourceRoot":"../../../../src","sources":["ui/utils/oauthReturn.ts"],"mappings":"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","ignoreList":[]}
@@ -36,10 +36,10 @@ setPlatformOS(Platform.OS);
36
36
  export { default as OxyProvider } from "./ui/components/OxyProvider.js";
37
37
  export { useOxy } from "./ui/context/OxyContext.js";
38
38
  export { useAuth } from "./ui/hooks/useAuth.js";
39
- // ---------------------------------------------------------------------------
40
- // Font loading
41
- // ---------------------------------------------------------------------------
42
- export { FontLoader, setupFonts } from './ui/components/FontLoader';
39
+ // Thrown by `switchToAccount` / `switchSession` while `OxyProvider` runs with
40
+ // `sessionMode="identity"` — an identity-bound app authenticates as the owner of
41
+ // the local identity key and cannot switch accounts.
42
+ export { IdentityBoundSessionError } from "./ui/session/identityBinding.js";
43
43
 
44
44
  // ---------------------------------------------------------------------------
45
45
  // Zustand stores
@@ -107,6 +107,11 @@ export { useFileFiltering } from "./ui/hooks/useFileFiltering.js";
107
107
  // ---------------------------------------------------------------------------
108
108
  export { OXY_OAUTH_STATE_STORAGE_KEY, OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY } from '@oxyhq/core';
109
109
  export { default as OxySignInButton } from "./ui/components/OxySignInButton.js";
110
+ // Web OAuth transport (popup / redirect). RPs that ship their own sign-in
111
+ // button call `useOxy().startWebOAuthSignIn(...)`; only the popup opener is
112
+ // exported, because it MUST run synchronously inside the press handler to keep
113
+ // the browser's user-gesture attribution.
114
+ export { openOAuthPopup } from "./ui/oauth/oauthPopup.js";
110
115
  export { OxyAuthPrompt } from "./ui/components/OxyAuthPrompt.js";
111
116
  export { OxyOAuthCallback } from "./ui/components/OxyOAuthCallback.js";
112
117
  export { OxyConsentScreen } from "./ui/components/OxyConsentScreen.js";
@@ -1 +1 @@
1
- {"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","FontLoader","setupFonts","useAuthStore","useAccountStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useSeedFollowStatuses","useStorage","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useConnectedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useAuthMethods","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeConnectedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","invalidateAuthMethodsQueries","upsertCachedUser","upsertCachedUsers","useMutationStatus","useOnlineStatus","useOxyEvent","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","OXY_OAUTH_STATE_STORAGE_KEY","OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY","OxySignInButton","OxyAuthPrompt","OxyOAuthCallback","OxyConsentScreen","RequireOxyAuth","FollowButton","OxyPayButton","LogoIcon","LogoText","ProfileButton","OxyAuthChooser","useSwitchableAccounts","ProfileScreen","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","CreateAccountScreen","AccountMembersScreen","AccountSettingsScreen","showBottomSheet","closeBottomSheet","useSurfaceHeader","SurfaceHeaderAction","openAccountDialog","closeAccountDialog","subscribeToAccountDialog"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","IdentityBoundSessionError","useAuthStore","useAccountStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useSeedFollowStatuses","useStorage","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useConnectedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useAuthMethods","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeConnectedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","invalidateAuthMethodsQueries","upsertCachedUser","upsertCachedUsers","useMutationStatus","useOnlineStatus","useOxyEvent","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","OXY_OAUTH_STATE_STORAGE_KEY","OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY","OxySignInButton","openOAuthPopup","OxyAuthPrompt","OxyOAuthCallback","OxyConsentScreen","RequireOxyAuth","FollowButton","OxyPayButton","LogoIcon","LogoText","ProfileButton","OxyAuthChooser","useSwitchableAccounts","ProfileScreen","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","CreateAccountScreen","AccountMembersScreen","AccountSettingsScreen","showBottomSheet","closeBottomSheet","useSurfaceHeader","SurfaceHeaderAction","openAccountDialog","closeAccountDialog","subscribeToAccountDialog"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ import { loadPersistedDeviceCredential } from "../utils/deviceCredential.js";
5
5
  import { consumeSilentOAuthError, isSilentRestoreEligibleOrigin, maybeStartSilentOAuthRestore } from "../utils/crossOriginRestore.js";
6
6
  import { tryCompleteOAuthReturn, consumeHubSyncFailure } from "../utils/oauthReturn.js";
7
7
  import { isWebBrowser } from "../utils/isWebBrowser.js";
8
+ import { allowsAutomaticIdpRedirect } from "../oauth/legacyRedirectLanes.js";
8
9
  /** How long the cold boot waits for the post-boot SessionClient handoff (ms). */
9
10
  export const SESSION_HANDOFF_DEADLINE_MS = 6000;
10
11
 
@@ -62,8 +63,18 @@ async function detectOfflineHint() {
62
63
  *
63
64
  * Ordered pipeline:
64
65
  * 1. Complete OAuth authorization-code return (web)
65
- * 2. `runSessionColdBoot` — device-secret mint (+ native shared-key)
66
+ * 2. `runSessionColdBoot` — device-secret mint (+ native shared-key, or the
67
+ * primary-identity-key lane in `sessionMode: 'identity'`)
66
68
  * 3. Silent OAuth for all web apps when mint finds no session
69
+ *
70
+ * Steps 1 and 3 are ACCOUNT-MODE ONLY: both commit whichever account the IdP
71
+ * resolves, which for an identity-bound client is somebody else's account by
72
+ * construction. In `'identity'` mode the boot is exactly step 2.
73
+ *
74
+ * Step 3 is additionally REDIRECT-MODE ONLY: it navigates the top-level window
75
+ * with no user gesture behind it, which `webAuthMode: 'popup'` exists to
76
+ * eliminate. In popup mode the boot is steps 1 and 2, and a domain with no local
77
+ * credential simply resolves signed out. See `allowsAutomaticIdpRedirect`.
67
78
  */
68
79
  export async function runProviderColdBoot(opts) {
69
80
  const {
@@ -72,17 +83,34 @@ export async function runProviderColdBoot(opts) {
72
83
  clientId,
73
84
  authRedirectUri,
74
85
  authorizeBaseUrl,
86
+ sessionMode = 'account',
87
+ identity,
88
+ webAuthMode = 'redirect',
75
89
  sessionClient,
76
90
  syncDeviceCredentialToHost,
77
91
  commitSession,
78
92
  markAuthResolved,
79
93
  setTokenReady
80
94
  } = opts;
95
+ const identityBound = sessionMode === 'identity';
81
96
  setTokenReady(false);
82
97
  try {
98
+ // MODE-INDEPENDENT URL cleanup, deliberately so: both consume query params a
99
+ // PREVIOUS redirect-mode session left in the address bar (`?error=login_required`
100
+ // from a silent authorize, `?hub_sync=failed` from the hub) and restore the
101
+ // page the visit started on. Flipping an app to popup mode must not strand
102
+ // those params, so neither is gated on `webAuthMode`. Neither starts a
103
+ // navigation — they only rewrite the URL via `history.replaceState`.
83
104
  consumeSilentOAuthError();
84
105
  consumeHubSyncFailure();
85
- const oauthCompleted = await tryCompleteOAuthReturn({
106
+
107
+ // The redirect transport's RETURN leg — also NOT gated on `webAuthMode`. A
108
+ // popup-mode app legitimately lands here with `?code=` whenever the browser
109
+ // blocked the popup and `startWebOAuthSignIn` fell back to a full-page
110
+ // redirect (`popup-blocked` / `popup-navigation-failed`), and an app that
111
+ // switched modes mid-flight must not be stranded with a dead `?code=`
112
+ // either. It consumes a code already on the URL; it never starts one.
113
+ const oauthCompleted = identityBound ? false : await tryCompleteOAuthReturn({
86
114
  oxyServices,
87
115
  clientId,
88
116
  authRedirectUri,
@@ -109,6 +137,8 @@ export async function runProviderColdBoot(opts) {
109
137
  isWeb: isWebBrowser(),
110
138
  isNative: !isWebBrowser()
111
139
  },
140
+ sessionMode,
141
+ identity,
112
142
  overallDeadlineMs: COLD_BOOT_OVERALL_DEADLINE_MS,
113
143
  isOffline: () => offline,
114
144
  onStepDeadline: stepId => {
@@ -163,14 +193,26 @@ export async function runProviderColdBoot(opts) {
163
193
  }
164
194
  });
165
195
 
166
- // Silent cross-origin OAuth restore (web cross-app SSO). Gate it the SAME
167
- // way the hub-sync WRITE side (`syncHubAfterSignIn`) gates: official web
168
- // origins only, never the IdP hub itself, and — unlike the write side —
169
- // never a loopback / local-dev origin (which must not be bounced to a hosted
170
- // IdP on cold boot). The authorize endpoint is env-configurable so a
171
- // local/staging app targets its own IdP instead of production.
196
+ // Silent cross-origin OAuth restore (web cross-app SSO): a full-page
197
+ // `prompt=none` bounce to the IdP when the mint found no local session.
198
+ //
199
+ // TRANSPORT gate (`allowsAutomaticIdpRedirect`): `webAuthMode: 'popup'`
200
+ // FORBIDS this lane. It navigates the top-level window with no user gesture
201
+ // behind it, which is precisely what popup mode exists to eliminate — a
202
+ // popup-mode domain without a local credential resolves signed out right
203
+ // here and waits for the user's next explicit "Continue with Oxy" (issue
204
+ // #691, "Cold boot and cross-domain behavior"). `'redirect'` — still the
205
+ // default and the compatibility path — reaches this lane unchanged, and this
206
+ // whole block disappears with the transport in phase 7b.
207
+ //
208
+ // ORIGIN gate: same as the hub-sync WRITE side (`syncHubAfterSignIn`) —
209
+ // official web origins only, never the IdP hub itself, and — unlike the
210
+ // write side — never a loopback / local-dev origin (which must not be
211
+ // bounced to a hosted IdP on cold boot). The authorize endpoint is
212
+ // env-configurable so a local/staging app targets its own IdP instead of
213
+ // production.
172
214
  const webOrigin = isWebBrowser() ? globalThis.location?.origin : undefined;
173
- if (clientId && outcome.kind !== 'session' && webOrigin && isSilentRestoreEligibleOrigin(webOrigin)) {
215
+ if (!identityBound && allowsAutomaticIdpRedirect(webAuthMode) && clientId && outcome.kind !== 'session' && webOrigin && isSilentRestoreEligibleOrigin(webOrigin)) {
174
216
  const redirected = await maybeStartSilentOAuthRestore({
175
217
  oxyServices,
176
218
  clientId,
@@ -1 +1 @@
1
- {"version":3,"names":["logger","loggerUtil","runSessionColdBoot","loadPersistedDeviceCredential","consumeSilentOAuthError","isSilentRestoreEligibleOrigin","maybeStartSilentOAuthRestore","tryCompleteOAuthReturn","consumeHubSyncFailure","isWebBrowser","SESSION_HANDOFF_DEADLINE_MS","COLD_BOOT_OVERALL_DEADLINE_MS","OFFLINE_PROBE_TIMEOUT_MS","detectOfflineHint","online","globalThis","navigator","onLine","NetInfo","state","Promise","race","default","fetch","resolve","setTimeout","isConnected","runProviderColdBoot","opts","oxyServices","authStore","clientId","authRedirectUri","authorizeBaseUrl","sessionClient","syncDeviceCredentialToHost","commitSession","markAuthResolved","setTokenReady","oauthCompleted","input","activate","hubSync","offline","outcome","oxy","store","platform","isWeb","isNative","overallDeadlineMs","isOffline","onStepDeadline","stepId","warn","component","method","onSession","session","handoff","sessionId","accessToken","userId","handoffDeadlineId","finally","undefined","clearTimeout","onSignedOut","cred","start","socketError","__DEV__","debug","onStepError","id","error","webOrigin","location","origin","kind","redirected","redirectUri","Error","String"],"sourceRoot":"../../../../src","sources":["ui/boot/runProviderColdBoot.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["logger","loggerUtil","runSessionColdBoot","loadPersistedDeviceCredential","consumeSilentOAuthError","isSilentRestoreEligibleOrigin","maybeStartSilentOAuthRestore","tryCompleteOAuthReturn","consumeHubSyncFailure","isWebBrowser","allowsAutomaticIdpRedirect","SESSION_HANDOFF_DEADLINE_MS","COLD_BOOT_OVERALL_DEADLINE_MS","OFFLINE_PROBE_TIMEOUT_MS","detectOfflineHint","online","globalThis","navigator","onLine","NetInfo","state","Promise","race","default","fetch","resolve","setTimeout","isConnected","runProviderColdBoot","opts","oxyServices","authStore","clientId","authRedirectUri","authorizeBaseUrl","sessionMode","identity","webAuthMode","sessionClient","syncDeviceCredentialToHost","commitSession","markAuthResolved","setTokenReady","identityBound","oauthCompleted","input","activate","hubSync","offline","outcome","oxy","store","platform","isWeb","isNative","overallDeadlineMs","isOffline","onStepDeadline","stepId","warn","component","method","onSession","session","handoff","sessionId","accessToken","userId","handoffDeadlineId","finally","undefined","clearTimeout","onSignedOut","cred","start","socketError","__DEV__","debug","onStepError","id","error","webOrigin","location","origin","kind","redirected","redirectUri","Error","String"],"sourceRoot":"../../../../src","sources":["ui/boot/runProviderColdBoot.ts"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,6 @@ export { LogoIcon } from "./components/logo/LogoIcon.js";
18
18
  export { LogoText } from "./components/logo/LogoText.js";
19
19
  export { default as FollowButton } from "./components/FollowButton.js";
20
20
  export { default as OxyPayButton } from "./components/OxyPayButton.js";
21
- export { FontLoader, setupFonts } from './components/FontLoader';
22
21
 
23
22
  // Context
24
23
  export { useOxy } from "./context/OxyContext.js";
@@ -1 +1 @@
1
- {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyAuthPrompt","LogoIcon","LogoText","FollowButton","OxyPayButton","FontLoader","setupFonts","useOxy","useAuth","useFollow","useStorage","ProfileScreen","ManageAccountScreen","useAuthStore","useAccountStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage"],"sourceRoot":"../../../src","sources":["ui/client.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASF,OAAO,IAAIG,aAAa,QAAQ,+BAA4B;AAErE,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASL,OAAO,IAAIM,YAAY,QAAQ,8BAA2B;AACnE,SAASN,OAAO,IAAIO,YAAY,QAAQ,8BAA2B;AACnE,SAASC,UAAU,EAAEC,UAAU,QAAQ,yBAAyB;;AAEhE;AACA,SAASC,MAAM,QAAQ,yBAAsB;;AAE7C;AACA,SAASC,OAAO,QAAQ,oBAAiB;AAEzC,SAASC,SAAS,QAAQ,sBAAmB;AAC7C,SAASC,UAAU,QAAQ,uBAAoB;AAG/C;AACA,SAASb,OAAO,IAAIc,aAAa,QAAQ,4BAAyB;AAClE,SAASd,OAAO,IAAIe,mBAAmB,QAAQ,kCAA+B;;AAE9E;AACA,SAASC,YAAY,QAAQ,uBAAoB;AACjD,SAASC,eAAe,QAAQ,0BAAuB;;AAEvD;AACA,SACIC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QAChB,0BAAuB","ignoreList":[]}
1
+ {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyAuthPrompt","LogoIcon","LogoText","FollowButton","OxyPayButton","useOxy","useAuth","useFollow","useStorage","ProfileScreen","ManageAccountScreen","useAuthStore","useAccountStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage"],"sourceRoot":"../../../src","sources":["ui/client.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASF,OAAO,IAAIG,aAAa,QAAQ,+BAA4B;AAErE,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASL,OAAO,IAAIM,YAAY,QAAQ,8BAA2B;AACnE,SAASN,OAAO,IAAIO,YAAY,QAAQ,8BAA2B;;AAEnE;AACA,SAASC,MAAM,QAAQ,yBAAsB;;AAE7C;AACA,SAASC,OAAO,QAAQ,oBAAiB;AAEzC,SAASC,SAAS,QAAQ,sBAAmB;AAC7C,SAASC,UAAU,QAAQ,uBAAoB;AAG/C;AACA,SAASX,OAAO,IAAIY,aAAa,QAAQ,4BAAyB;AAClE,SAASZ,OAAO,IAAIa,mBAAmB,QAAQ,kCAA+B;;AAE9E;AACA,SAASC,YAAY,QAAQ,uBAAoB;AACjD,SAASC,eAAe,QAAQ,0BAAuB;;AAEvD;AACA,SACIC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QAChB,0BAAuB","ignoreList":[]}
@@ -75,7 +75,19 @@ const OxyAccountDialogScreen = ({
75
75
  view
76
76
  } = snapshot;
77
77
  const showBack = view === 'qr' || view === 'signup' || view === 'add' && snapshot.accounts.length > 0;
78
- const goToAccounts = useCallback(() => controller?.setView('accounts'), [controller]);
78
+ const goToAccounts = useCallback(() => {
79
+ if (!controller) return;
80
+ const {
81
+ view: currentView,
82
+ signIn
83
+ } = controller.getSnapshot();
84
+ // Backing out of an active request must withdraw it — otherwise the
85
+ // authorizeCode stays approvable until expiry (issue #691 phase 5).
86
+ if ((currentView === 'qr' || currentView === 'add') && (signIn.phase === 'starting' || signIn.phase === 'waiting')) {
87
+ controller.cancelSignIn();
88
+ }
89
+ controller.setView('accounts');
90
+ }, [controller]);
79
91
  // An ENTRY view (accounts / signin — no in-dialog back of its own) that is
80
92
  // MORPHED into a host surface (ManageAccount → switcher) has a frame beneath it,
81
93
  // so its back CLOSES the dialog and reshapes back to the host — routed through
@@ -112,10 +124,16 @@ const OxyAccountDialogScreen = ({
112
124
 
113
125
  function headerCopy(view, accountCount, t) {
114
126
  switch (view) {
127
+ // The ACTIVE REQUEST. Its header is deliberately route-AGNOSTIC: Oxy picks
128
+ // the delivery route (QR here, a push to the user's phone, or opening
129
+ // Commons on this device — issue #691), so naming one of them in the bar
130
+ // would contradict the other two. The route-specific status line lives in
131
+ // the body, derived from `signIn.progress`, and is the only thing that
132
+ // describes HOW the request is travelling.
115
133
  case 'qr':
116
134
  return {
117
- title: t('accountSwitcher.scanTitle') || 'Sign in with Oxy',
118
- subtitle: t('accountSwitcher.scanSubtitle') || 'Scan with Commons on your phone.'
135
+ title: t('accountSwitcher.signInWithOxy') || 'Sign in with Oxy',
136
+ subtitle: null
119
137
  };
120
138
  case 'signup':
121
139
  return {
@@ -144,7 +162,12 @@ const EMPTY_SNAPSHOT = {
144
162
  authorizeCode: null,
145
163
  qrPayload: null,
146
164
  expiresAt: null,
147
- error: null
165
+ error: null,
166
+ route: null,
167
+ routeFailed: false,
168
+ pushSentAt: null,
169
+ openedAt: null,
170
+ progress: 'idle'
148
171
  },
149
172
  commonsAvailability: 'unknown'
150
173
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useSyncExternalStore","StyleSheet","View","useOxy","useI18n","useSurfaceHeader","LogoText","OxyAuthChooser","jsx","_jsx","NAV_LOGO","height","OxyAccountDialogScreen","canGoBack","accountDialogController","controller","closeAccountDialog","t","subscribe","listener","undefined","getSnapshot","EMPTY_SNAPSHOT","snapshot","view","showBack","accounts","length","goToAccounts","setView","backsToHost","copy","headerCopy","titleContent","title","subtitle","onBack","style","styles","bodyContent","children","onComplete","accountCount","activeAccountId","loading","error","switchingAccountId","signIn","phase","authorizeCode","qrPayload","expiresAt","commonsAvailability","SCREEN_MARGIN","create","paddingTop","paddingBottom","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["ui/components/OxyAccountDialogScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useSyncExternalStore","StyleSheet","View","useOxy","useI18n","useSurfaceHeader","LogoText","OxyAuthChooser","jsx","_jsx","NAV_LOGO","height","OxyAccountDialogScreen","canGoBack","accountDialogController","controller","closeAccountDialog","t","subscribe","listener","undefined","getSnapshot","EMPTY_SNAPSHOT","snapshot","view","showBack","accounts","length","goToAccounts","currentView","signIn","phase","cancelSignIn","setView","backsToHost","copy","headerCopy","titleContent","title","subtitle","onBack","style","styles","bodyContent","children","onComplete","accountCount","activeAccountId","loading","error","switchingAccountId","authorizeCode","qrPayload","expiresAt","route","routeFailed","pushSentAt","openedAt","progress","commonsAvailability","SCREEN_MARGIN","create","paddingTop","paddingBottom","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["ui/components/OxyAccountDialogScreen.tsx"],"mappings":"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","ignoreList":[]}