@oxyhq/services 22.12.5 → 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 +3 -2
  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 +33 -49
  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 +4 -3
  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 +35 -50
  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 +11 -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 +11 -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 +7 -6
  388. package/src/ui/utils/deliveryPlatform.ts +65 -0
  389. package/src/ui/utils/oauthReturn.ts +38 -62
  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
package/README.md CHANGED
@@ -120,50 +120,31 @@ function UserProfile() {
120
120
 
121
121
  `OxyProvider` handles iOS, Android, and Expo web. Always use `OxyProvider` in Expo apps.
122
122
 
123
- ## Typography - Inter Font
123
+ ## Typography
124
124
 
125
- **Inter is the default font for all Oxy ecosystem apps.** This package includes the Inter font family and provides automatic font loading for both web and native platforms.
126
-
127
- ### Automatic Loading
128
-
129
- **If you are using `OxyProvider`, fonts are loaded automatically.** No additional setup needed:
125
+ Typography is owned entirely by `@oxyhq/bloom`. `BloomThemeProvider` ships the
126
+ Inter, BlomusModernus and Geist Mono families — variable `.ttf` files loaded via
127
+ `expo-font` on native, `@font-face` rules injected as data URLs on web — and
128
+ applies the default family to every `<Text>`. This package bundles no fonts and
129
+ loads none, so it adds no font weight to consumer app binaries.
130
130
 
131
131
  ```typescript
132
+ import { BloomThemeProvider } from '@oxyhq/bloom/theme';
132
133
  import { OxyProvider } from '@oxyhq/services';
133
134
 
134
135
  function App() {
135
136
  return (
136
- <OxyProvider baseURL="https://api.oxy.so">
137
- <YourAppContent />
138
- </OxyProvider>
137
+ <BloomThemeProvider>
138
+ <OxyProvider baseURL="https://api.oxy.so">
139
+ <YourAppContent />
140
+ </OxyProvider>
141
+ </BloomThemeProvider>
139
142
  );
140
143
  }
141
144
  ```
142
145
 
143
- ### Using Font Constants
144
-
145
- ```typescript
146
- import { fontFamilies, fontStyles } from '@oxyhq/services';
147
-
148
- const styles = StyleSheet.create({
149
- title: {
150
- ...fontStyles.titleLarge, // Pre-defined style (54px, Bold)
151
- color: '#000000',
152
- },
153
- customText: {
154
- fontFamily: fontFamilies.interSemiBold, // Cross-platform font family
155
- fontSize: 18,
156
- },
157
- });
158
- ```
159
-
160
- ### Available Exports
161
-
162
- - **`setupFonts()`** - Function to manually load fonts (called automatically by OxyProvider)
163
- - **`fontFamilies`** - Object with all Inter weight variants (inter, interLight, interMedium, interSemiBold, interBold, interExtraBold, interBlack)
164
- - **`fontStyles`** - Pre-defined text styles (titleLarge, titleMedium, titleSmall, buttonText)
165
-
166
- See [FONTS.md](./FONTS.md) for the complete typography guide, including detailed usage examples, all available font weights, platform-specific handling, best practices, and migration guide.
146
+ Style text with Bloom's NativeWind font classes (`font-sans`, `font-mono`, …)
147
+ rather than raw `fontFamily` strings.
167
148
 
168
149
  ## Usage Patterns
169
150
 
@@ -448,7 +429,7 @@ Oxy supports **public/private key cryptography** (ECDSA secp256k1) as the primar
448
429
  ### How it works (device-first)
449
430
 
450
431
  - **Cold boot is silent.** On mount, `OxyProvider` restores the ambient device session — the server-side `DeviceSession` records which accounts are signed in on this device and which one is active. No redirects, no browser identity APIs, no UI. See [device sessions](../../docs/auth/device-session.md).
451
- - **Interactive sign-in is a dialog.** `useAuth().signIn()` or `useOxy().openAccountDialog('signin')` opens the unified account dialog (Bloom Dialog — bottom sheet on phones, centered on desktop): account switcher, Sign in with Oxy via the Oxy app (QR on web, deep link / shared keychain on native), and a collapsed password form.
432
+ - **Interactive sign-in is a dialog.** `useAuth().signIn()` or `useOxy().openAccountDialog('signin')` opens the unified account dialog (Bloom Dialog — bottom sheet on phones, centered on desktop): existing device accounts above ONE primary "Continue with Oxy" action (issue #691, Phase 5) — Oxy automatically picks how the request reaches your Commons identity (same-device deep link known-install push QR); there is no password option in this dialog. Scan-QR, passkey-on-this-device, and "Get Commons" sit behind a collapsed "Having trouble?" disclosure.
452
433
  - **Cross-app sync.** Adding, switching, or signing out an account bumps the device-session revision and is pushed over the `session_state` socket event to every Oxy app on the device.
453
434
 
454
435
  ```tsx
@@ -461,17 +442,6 @@ function SignInCTA() {
461
442
  }
462
443
  ```
463
444
 
464
- ### Password Authentication
465
-
466
- Oxy also supports password sign-in (email/username + password) — shown collapsed inside the account dialog, or callable directly:
467
-
468
- ```typescript
469
- import { oxyClient } from '@oxyhq/core';
470
-
471
- const session = await oxyClient.signUp('username', 'email@example.com', 'password');
472
- const session2 = await oxyClient.signIn('username-or-email', 'password');
473
- ```
474
-
475
445
  ### Cross-App Authentication (Sign in with Oxy)
476
446
 
477
447
  `OxySignInButton` resolves your registered Application (`GET /auth/oauth/client/:clientId`) and picks the right flow:
@@ -485,7 +455,7 @@ function LoginScreen() {
485
455
  ```
486
456
 
487
457
  - **Official Oxy apps** (`isOfficial` / first-party types): opens the in-app account dialog.
488
- - **Third-party apps** (`type: 'third_party'`): starts the standard OAuth 2.0 Authorization Code + PKCE redirect to `auth.oxy.so` (the SDK generates `state` + PKCE via `@oxyhq/core`). Pass `oauthRedirectUri`; on native handle `onOAuthResult` to complete the token exchange.
458
+ - **Third-party apps** (`type: 'third_party'`): starts the standard OAuth 2.0 Authorization Code + PKCE flow against `auth.oxy.so` (the SDK generates `state` + PKCE via `@oxyhq/core`). On web the transport is `OxyProvider` prop `webAuthMode: 'popup' | 'redirect'` (default `'redirect'`; issue #691 Phase 2) — `'popup'` opens a small window and relays the result via `postMessage` without navigating your app's tab, falling back to a redirect if the browser blocks it. Pass `oauthRedirectUri`; on native handle `onOAuthResult` to complete the token exchange.
489
459
 
490
460
  See the [integration guide](../../docs/auth/integration-guide.md) for Console registration, OAuth endpoints, and backend verification, and [AUTHENTICATION.md](../../docs/AUTHENTICATION.md) for the full model.
491
461
 
@@ -33,10 +33,10 @@ Object.defineProperty(exports, "FollowButton", {
33
33
  return _FollowButton.default;
34
34
  }
35
35
  });
36
- Object.defineProperty(exports, "FontLoader", {
36
+ Object.defineProperty(exports, "IdentityBoundSessionError", {
37
37
  enumerable: true,
38
38
  get: function () {
39
- return _FontLoader.FontLoader;
39
+ return _identityBinding.IdentityBoundSessionError;
40
40
  }
41
41
  });
42
42
  Object.defineProperty(exports, "LogoIcon", {
@@ -267,22 +267,22 @@ Object.defineProperty(exports, "openAccountDialog", {
267
267
  return _accountDialogManager.openAccountDialog;
268
268
  }
269
269
  });
270
- Object.defineProperty(exports, "queryKeys", {
270
+ Object.defineProperty(exports, "openOAuthPopup", {
271
271
  enumerable: true,
272
272
  get: function () {
273
- return _queryKeys.queryKeys;
273
+ return _oauthPopup.openOAuthPopup;
274
274
  }
275
275
  });
276
- Object.defineProperty(exports, "setOxyAssetInstance", {
276
+ Object.defineProperty(exports, "queryKeys", {
277
277
  enumerable: true,
278
278
  get: function () {
279
- return _useAssets.setOxyAssetInstance;
279
+ return _queryKeys.queryKeys;
280
280
  }
281
281
  });
282
- Object.defineProperty(exports, "setupFonts", {
282
+ Object.defineProperty(exports, "setOxyAssetInstance", {
283
283
  enumerable: true,
284
284
  get: function () {
285
- return _FontLoader.setupFonts;
285
+ return _useAssets.setOxyAssetInstance;
286
286
  }
287
287
  });
288
288
  Object.defineProperty(exports, "showBottomSheet", {
@@ -680,7 +680,7 @@ var _reactNative = require("react-native");
680
680
  var _OxyProvider = _interopRequireDefault(require("./ui/components/OxyProvider.js"));
681
681
  var _OxyContext = require("./ui/context/OxyContext.js");
682
682
  var _useAuth = require("./ui/hooks/useAuth.js");
683
- var _FontLoader = require("./ui/components/FontLoader");
683
+ var _identityBinding = require("./ui/session/identityBinding.js");
684
684
  var _authStore = require("./ui/stores/authStore.js");
685
685
  var _accountStore = require("./ui/stores/accountStore.js");
686
686
  var _assetStore = require("./ui/stores/assetStore.js");
@@ -705,6 +705,7 @@ var _useOxyEvent = require("./ui/hooks/useOxyEvent.js");
705
705
  var _errorHandlers = require("./ui/utils/errorHandlers.js");
706
706
  var _useFileFiltering = require("./ui/hooks/useFileFiltering.js");
707
707
  var _OxySignInButton = _interopRequireDefault(require("./ui/components/OxySignInButton.js"));
708
+ var _oauthPopup = require("./ui/oauth/oauthPopup.js");
708
709
  var _OxyAuthPrompt = require("./ui/components/OxyAuthPrompt.js");
709
710
  var _OxyOAuthCallback = require("./ui/components/OxyOAuthCallback.js");
710
711
  var _OxyConsentScreen = require("./ui/components/OxyConsentScreen.js");
@@ -761,9 +762,9 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
761
762
  // Provider + auth context
762
763
  // ---------------------------------------------------------------------------
763
764
 
764
- // ---------------------------------------------------------------------------
765
- // Font loading
766
- // ---------------------------------------------------------------------------
765
+ // Thrown by `switchToAccount` / `switchSession` while `OxyProvider` runs with
766
+ // `sessionMode="identity"` — an identity-bound app authenticates as the owner of
767
+ // the local identity key and cannot switch accounts.
767
768
 
768
769
  // ---------------------------------------------------------------------------
769
770
  // Zustand stores
@@ -812,6 +813,11 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
812
813
  // UI components
813
814
  // ---------------------------------------------------------------------------
814
815
 
816
+ // Web OAuth transport (popup / redirect). RPs that ship their own sign-in
817
+ // button call `useOxy().startWebOAuthSignIn(...)`; only the popup opener is
818
+ // exported, because it MUST run synchronously inside the press handler to keep
819
+ // the browser's user-gesture attribution.
820
+
815
821
  // Optional signed-out gate primitive. Wrap any subtree (or the whole app via
816
822
  // `OxyProvider`'s `requireAuth` prop) to opt into a shared, readiness-safe wall.
817
823
  // `prompt`: `off` (render always) | `soft` (dismissible banner) | `hard` (block).
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","_FontLoader","_authStore","_accountStore","_assetStore","_useAssets","_useFileDownloadUrl","_useFollow","_useStorage","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_useAuthMethods","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_userCache","_useMutationStatus","_useOnlineStatus","_useOxyEvent","_errorHandlers","_useFileFiltering","_OxySignInButton","_OxyAuthPrompt","_OxyOAuthCallback","_OxyConsentScreen","_RequireOxyAuth","_FollowButton","_OxyPayButton","_LogoIcon","_LogoText","_ProfileButton","_OxyAuthChooser","_useSwitchableAccounts","_ProfileScreen","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_bottomSheetManager","_useSurfaceHeader","_SurfaceHeaderAction","_accountDialogManager","e","__esModule","default","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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D,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AApS9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAIA,IAAAG,mBAAa,EAACC,qBAAQ,CAACC,EAAgB,CAAC;;AAExC;AACA;AACA;;AAOA;AACA;AACA;;AAGA;AACA;AACA;;AAgBA;AACA;AACA;;AAOA;AACA;AACA;;AAgCA;;AAeA;AACA;AACA;;AA2BA;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAeA;AACA;AACA;AACA;AACA;;AAIA;;AAMA;AACA;AACA;;AASA;AACA;AACA;;AAIA;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAIA;;AAOA;;AAKA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","_identityBinding","_authStore","_accountStore","_assetStore","_useAssets","_useFileDownloadUrl","_useFollow","_useStorage","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_useAuthMethods","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_userCache","_useMutationStatus","_useOnlineStatus","_useOxyEvent","_errorHandlers","_useFileFiltering","_OxySignInButton","_oauthPopup","_OxyAuthPrompt","_OxyOAuthCallback","_OxyConsentScreen","_RequireOxyAuth","_FollowButton","_OxyPayButton","_LogoIcon","_LogoText","_ProfileButton","_OxyAuthChooser","_useSwitchableAccounts","_ProfileScreen","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_bottomSheetManager","_useSurfaceHeader","_SurfaceHeaderAction","_accountDialogManager","e","__esModule","default","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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GAAAtD,OAAA;AAI8C,SAAAG,uBAAAoD,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAlT9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAIA,IAAAG,mBAAa,EAACC,qBAAQ,CAACC,EAAgB,CAAC;;AAExC;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;;AAgBA;AACA;AACA;;AAOA;AACA;AACA;;AAgCA;;AAeA;AACA;AACA;;AA2BA;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAeA;AACA;AACA;AACA;AACA;;AAIA;;AAMA;AACA;AACA;;AASA;AACA;AACA;;AAIA;AACA;AACA;;AAQA;AACA;AACA;AACA;;AAsBA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAIA;;AAOA;;AAKA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AACA","ignoreList":[]}
@@ -10,6 +10,7 @@ var _deviceCredential = require("../utils/deviceCredential.js");
10
10
  var _crossOriginRestore = require("../utils/crossOriginRestore.js");
11
11
  var _oauthReturn = require("../utils/oauthReturn.js");
12
12
  var _isWebBrowser = require("../utils/isWebBrowser.js");
13
+ var _legacyRedirectLanes = require("../oauth/legacyRedirectLanes.js");
13
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
15
  /** How long the cold boot waits for the post-boot SessionClient handoff (ms). */
15
16
  const SESSION_HANDOFF_DEADLINE_MS = exports.SESSION_HANDOFF_DEADLINE_MS = 6000;
@@ -68,8 +69,18 @@ async function detectOfflineHint() {
68
69
  *
69
70
  * Ordered pipeline:
70
71
  * 1. Complete OAuth authorization-code return (web)
71
- * 2. `runSessionColdBoot` — device-secret mint (+ native shared-key)
72
+ * 2. `runSessionColdBoot` — device-secret mint (+ native shared-key, or the
73
+ * primary-identity-key lane in `sessionMode: 'identity'`)
72
74
  * 3. Silent OAuth for all web apps when mint finds no session
75
+ *
76
+ * Steps 1 and 3 are ACCOUNT-MODE ONLY: both commit whichever account the IdP
77
+ * resolves, which for an identity-bound client is somebody else's account by
78
+ * construction. In `'identity'` mode the boot is exactly step 2.
79
+ *
80
+ * Step 3 is additionally REDIRECT-MODE ONLY: it navigates the top-level window
81
+ * with no user gesture behind it, which `webAuthMode: 'popup'` exists to
82
+ * eliminate. In popup mode the boot is steps 1 and 2, and a domain with no local
83
+ * credential simply resolves signed out. See `allowsAutomaticIdpRedirect`.
73
84
  */
74
85
  async function runProviderColdBoot(opts) {
75
86
  const {
@@ -78,17 +89,34 @@ async function runProviderColdBoot(opts) {
78
89
  clientId,
79
90
  authRedirectUri,
80
91
  authorizeBaseUrl,
92
+ sessionMode = 'account',
93
+ identity,
94
+ webAuthMode = 'redirect',
81
95
  sessionClient,
82
96
  syncDeviceCredentialToHost,
83
97
  commitSession,
84
98
  markAuthResolved,
85
99
  setTokenReady
86
100
  } = opts;
101
+ const identityBound = sessionMode === 'identity';
87
102
  setTokenReady(false);
88
103
  try {
104
+ // MODE-INDEPENDENT URL cleanup, deliberately so: both consume query params a
105
+ // PREVIOUS redirect-mode session left in the address bar (`?error=login_required`
106
+ // from a silent authorize, `?hub_sync=failed` from the hub) and restore the
107
+ // page the visit started on. Flipping an app to popup mode must not strand
108
+ // those params, so neither is gated on `webAuthMode`. Neither starts a
109
+ // navigation — they only rewrite the URL via `history.replaceState`.
89
110
  (0, _crossOriginRestore.consumeSilentOAuthError)();
90
111
  (0, _oauthReturn.consumeHubSyncFailure)();
91
- const oauthCompleted = await (0, _oauthReturn.tryCompleteOAuthReturn)({
112
+
113
+ // The redirect transport's RETURN leg — also NOT gated on `webAuthMode`. A
114
+ // popup-mode app legitimately lands here with `?code=` whenever the browser
115
+ // blocked the popup and `startWebOAuthSignIn` fell back to a full-page
116
+ // redirect (`popup-blocked` / `popup-navigation-failed`), and an app that
117
+ // switched modes mid-flight must not be stranded with a dead `?code=`
118
+ // either. It consumes a code already on the URL; it never starts one.
119
+ const oauthCompleted = identityBound ? false : await (0, _oauthReturn.tryCompleteOAuthReturn)({
92
120
  oxyServices,
93
121
  clientId,
94
122
  authRedirectUri,
@@ -115,6 +143,8 @@ async function runProviderColdBoot(opts) {
115
143
  isWeb: (0, _isWebBrowser.isWebBrowser)(),
116
144
  isNative: !(0, _isWebBrowser.isWebBrowser)()
117
145
  },
146
+ sessionMode,
147
+ identity,
118
148
  overallDeadlineMs: COLD_BOOT_OVERALL_DEADLINE_MS,
119
149
  isOffline: () => offline,
120
150
  onStepDeadline: stepId => {
@@ -169,14 +199,26 @@ async function runProviderColdBoot(opts) {
169
199
  }
170
200
  });
171
201
 
172
- // Silent cross-origin OAuth restore (web cross-app SSO). Gate it the SAME
173
- // way the hub-sync WRITE side (`syncHubAfterSignIn`) gates: official web
174
- // origins only, never the IdP hub itself, and — unlike the write side —
175
- // never a loopback / local-dev origin (which must not be bounced to a hosted
176
- // IdP on cold boot). The authorize endpoint is env-configurable so a
177
- // local/staging app targets its own IdP instead of production.
202
+ // Silent cross-origin OAuth restore (web cross-app SSO): a full-page
203
+ // `prompt=none` bounce to the IdP when the mint found no local session.
204
+ //
205
+ // TRANSPORT gate (`allowsAutomaticIdpRedirect`): `webAuthMode: 'popup'`
206
+ // FORBIDS this lane. It navigates the top-level window with no user gesture
207
+ // behind it, which is precisely what popup mode exists to eliminate — a
208
+ // popup-mode domain without a local credential resolves signed out right
209
+ // here and waits for the user's next explicit "Continue with Oxy" (issue
210
+ // #691, "Cold boot and cross-domain behavior"). `'redirect'` — still the
211
+ // default and the compatibility path — reaches this lane unchanged, and this
212
+ // whole block disappears with the transport in phase 7b.
213
+ //
214
+ // ORIGIN gate: same as the hub-sync WRITE side (`syncHubAfterSignIn`) —
215
+ // official web origins only, never the IdP hub itself, and — unlike the
216
+ // write side — never a loopback / local-dev origin (which must not be
217
+ // bounced to a hosted IdP on cold boot). The authorize endpoint is
218
+ // env-configurable so a local/staging app targets its own IdP instead of
219
+ // production.
178
220
  const webOrigin = (0, _isWebBrowser.isWebBrowser)() ? globalThis.location?.origin : undefined;
179
- if (clientId && outcome.kind !== 'session' && webOrigin && (0, _crossOriginRestore.isSilentRestoreEligibleOrigin)(webOrigin)) {
221
+ if (!identityBound && (0, _legacyRedirectLanes.allowsAutomaticIdpRedirect)(webAuthMode) && clientId && outcome.kind !== 'session' && webOrigin && (0, _crossOriginRestore.isSilentRestoreEligibleOrigin)(webOrigin)) {
180
222
  const redirected = await (0, _crossOriginRestore.maybeStartSilentOAuthRestore)({
181
223
  oxyServices,
182
224
  clientId,
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_deviceCredential","_crossOriginRestore","_oauthReturn","_isWebBrowser","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SESSION_HANDOFF_DEADLINE_MS","exports","COLD_BOOT_OVERALL_DEADLINE_MS","OFFLINE_PROBE_TIMEOUT_MS","detectOfflineHint","isWebBrowser","online","globalThis","navigator","onLine","NetInfo","Promise","resolve","then","state","race","fetch","setTimeout","isConnected","runProviderColdBoot","opts","oxyServices","authStore","clientId","authRedirectUri","authorizeBaseUrl","sessionClient","syncDeviceCredentialToHost","commitSession","markAuthResolved","setTokenReady","consumeSilentOAuthError","consumeHubSyncFailure","oauthCompleted","tryCompleteOAuthReturn","input","activate","hubSync","offline","outcome","runSessionColdBoot","oxy","store","platform","isWeb","isNative","overallDeadlineMs","isOffline","onStepDeadline","stepId","loggerUtil","warn","component","method","onSession","session","handoff","sessionId","accessToken","userId","handoffDeadlineId","finally","undefined","clearTimeout","onSignedOut","cred","loadPersistedDeviceCredential","start","socketError","__DEV__","debug","onStepError","id","error","webOrigin","location","origin","kind","isSilentRestoreEligibleOrigin","redirected","maybeStartSilentOAuthRestore","redirectUri","Error","String"],"sourceRoot":"../../../../src","sources":["ui/boot/runProviderColdBoot.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_deviceCredential","_crossOriginRestore","_oauthReturn","_isWebBrowser","_legacyRedirectLanes","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SESSION_HANDOFF_DEADLINE_MS","exports","COLD_BOOT_OVERALL_DEADLINE_MS","OFFLINE_PROBE_TIMEOUT_MS","detectOfflineHint","isWebBrowser","online","globalThis","navigator","onLine","NetInfo","Promise","resolve","then","state","race","fetch","setTimeout","isConnected","runProviderColdBoot","opts","oxyServices","authStore","clientId","authRedirectUri","authorizeBaseUrl","sessionMode","identity","webAuthMode","sessionClient","syncDeviceCredentialToHost","commitSession","markAuthResolved","setTokenReady","identityBound","consumeSilentOAuthError","consumeHubSyncFailure","oauthCompleted","tryCompleteOAuthReturn","input","activate","hubSync","offline","outcome","runSessionColdBoot","oxy","store","platform","isWeb","isNative","overallDeadlineMs","isOffline","onStepDeadline","stepId","loggerUtil","warn","component","method","onSession","session","handoff","sessionId","accessToken","userId","handoffDeadlineId","finally","undefined","clearTimeout","onSignedOut","cred","loadPersistedDeviceCredential","start","socketError","__DEV__","debug","onStepError","id","error","webOrigin","location","origin","allowsAutomaticIdpRedirect","kind","isSilentRestoreEligibleOrigin","redirected","maybeStartSilentOAuthRestore","redirectUri","Error","String"],"sourceRoot":"../../../../src","sources":["ui/boot/runProviderColdBoot.ts"],"mappings":"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","ignoreList":[]}
@@ -9,12 +9,6 @@ Object.defineProperty(exports, "FollowButton", {
9
9
  return _FollowButton.default;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "FontLoader", {
13
- enumerable: true,
14
- get: function () {
15
- return _FontLoader.FontLoader;
16
- }
17
- });
18
12
  Object.defineProperty(exports, "LogoIcon", {
19
13
  enumerable: true,
20
14
  get: function () {
@@ -87,12 +81,6 @@ Object.defineProperty(exports, "isTimeoutOrNetworkError", {
87
81
  return _errorHandlers.isTimeoutOrNetworkError;
88
82
  }
89
83
  });
90
- Object.defineProperty(exports, "setupFonts", {
91
- enumerable: true,
92
- get: function () {
93
- return _FontLoader.setupFonts;
94
- }
95
- });
96
84
  Object.defineProperty(exports, "useAccountStore", {
97
85
  enumerable: true,
98
86
  get: function () {
@@ -136,7 +124,6 @@ var _LogoIcon = require("./components/logo/LogoIcon.js");
136
124
  var _LogoText = require("./components/logo/LogoText.js");
137
125
  var _FollowButton = _interopRequireDefault(require("./components/FollowButton.js"));
138
126
  var _OxyPayButton = _interopRequireDefault(require("./components/OxyPayButton.js"));
139
- var _FontLoader = require("./components/FontLoader");
140
127
  var _OxyContext = require("./context/OxyContext.js");
141
128
  var _useAuth = require("./hooks/useAuth.js");
142
129
  var _useFollow = require("./hooks/useFollow.js");
@@ -1 +1 @@
1
- {"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyAuthPrompt","_LogoIcon","_LogoText","_FollowButton","_OxyPayButton","_FontLoader","_OxyContext","_useAuth","_useFollow","_useStorage","_ProfileScreen","_ManageAccountScreen","_authStore","_accountStore","_errorHandlers","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/client.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAGA,IAAAQ,WAAA,GAAAR,OAAA;AAGA,IAAAS,QAAA,GAAAT,OAAA;AAEA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AAIA,IAAAY,cAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,oBAAA,GAAAd,sBAAA,CAAAC,OAAA;AAGA,IAAAc,UAAA,GAAAd,OAAA;AACA,IAAAe,aAAA,GAAAf,OAAA;AAGA,IAAAgB,cAAA,GAAAhB,OAAA;AAK+B,SAAAD,uBAAAkB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyAuthPrompt","_LogoIcon","_LogoText","_FollowButton","_OxyPayButton","_OxyContext","_useAuth","_useFollow","_useStorage","_ProfileScreen","_ManageAccountScreen","_authStore","_accountStore","_errorHandlers","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/client.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AAGA,IAAAO,WAAA,GAAAP,OAAA;AAGA,IAAAQ,QAAA,GAAAR,OAAA;AAEA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAIA,IAAAW,cAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,oBAAA,GAAAb,sBAAA,CAAAC,OAAA;AAGA,IAAAa,UAAA,GAAAb,OAAA;AACA,IAAAc,aAAA,GAAAd,OAAA;AAGA,IAAAe,cAAA,GAAAf,OAAA;AAK+B,SAAAD,uBAAAiB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -80,7 +80,19 @@ const OxyAccountDialogScreen = ({
80
80
  view
81
81
  } = snapshot;
82
82
  const showBack = view === 'qr' || view === 'signup' || view === 'add' && snapshot.accounts.length > 0;
83
- const goToAccounts = (0, _react.useCallback)(() => controller?.setView('accounts'), [controller]);
83
+ const goToAccounts = (0, _react.useCallback)(() => {
84
+ if (!controller) return;
85
+ const {
86
+ view: currentView,
87
+ signIn
88
+ } = controller.getSnapshot();
89
+ // Backing out of an active request must withdraw it — otherwise the
90
+ // authorizeCode stays approvable until expiry (issue #691 phase 5).
91
+ if ((currentView === 'qr' || currentView === 'add') && (signIn.phase === 'starting' || signIn.phase === 'waiting')) {
92
+ controller.cancelSignIn();
93
+ }
94
+ controller.setView('accounts');
95
+ }, [controller]);
84
96
  // An ENTRY view (accounts / signin — no in-dialog back of its own) that is
85
97
  // MORPHED into a host surface (ManageAccount → switcher) has a frame beneath it,
86
98
  // so its back CLOSES the dialog and reshapes back to the host — routed through
@@ -117,10 +129,16 @@ const OxyAccountDialogScreen = ({
117
129
 
118
130
  function headerCopy(view, accountCount, t) {
119
131
  switch (view) {
132
+ // The ACTIVE REQUEST. Its header is deliberately route-AGNOSTIC: Oxy picks
133
+ // the delivery route (QR here, a push to the user's phone, or opening
134
+ // Commons on this device — issue #691), so naming one of them in the bar
135
+ // would contradict the other two. The route-specific status line lives in
136
+ // the body, derived from `signIn.progress`, and is the only thing that
137
+ // describes HOW the request is travelling.
120
138
  case 'qr':
121
139
  return {
122
- title: t('accountSwitcher.scanTitle') || 'Sign in with Oxy',
123
- subtitle: t('accountSwitcher.scanSubtitle') || 'Scan with Commons on your phone.'
140
+ title: t('accountSwitcher.signInWithOxy') || 'Sign in with Oxy',
141
+ subtitle: null
124
142
  };
125
143
  case 'signup':
126
144
  return {
@@ -149,7 +167,12 @@ const EMPTY_SNAPSHOT = {
149
167
  authorizeCode: null,
150
168
  qrPayload: null,
151
169
  expiresAt: null,
152
- error: null
170
+ error: null,
171
+ route: null,
172
+ routeFailed: false,
173
+ pushSentAt: null,
174
+ openedAt: null,
175
+ progress: 'idle'
153
176
  },
154
177
  commonsAvailability: 'unknown'
155
178
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_OxyContext","_useI18n","_useSurfaceHeader","_LogoText","_interopRequireDefault","_OxyAuthChooser","_jsxRuntime","e","__esModule","default","NAV_LOGO","jsx","height","OxyAccountDialogScreen","canGoBack","accountDialogController","controller","closeAccountDialog","useOxy","t","useI18n","subscribe","useCallback","listener","undefined","getSnapshot","EMPTY_SNAPSHOT","snapshot","useSyncExternalStore","view","showBack","accounts","length","goToAccounts","setView","backsToHost","copy","headerCopy","useSurfaceHeader","titleContent","title","subtitle","onBack","View","style","styles","bodyContent","children","onComplete","accountCount","activeAccountId","loading","error","switchingAccountId","signIn","phase","authorizeCode","qrPayload","expiresAt","commonsAvailability","SCREEN_MARGIN","StyleSheet","create","paddingTop","paddingBottom","paddingHorizontal","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/components/OxyAccountDialogScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_OxyContext","_useI18n","_useSurfaceHeader","_LogoText","_interopRequireDefault","_OxyAuthChooser","_jsxRuntime","e","__esModule","default","NAV_LOGO","jsx","height","OxyAccountDialogScreen","canGoBack","accountDialogController","controller","closeAccountDialog","useOxy","t","useI18n","subscribe","useCallback","listener","undefined","getSnapshot","EMPTY_SNAPSHOT","snapshot","useSyncExternalStore","view","showBack","accounts","length","goToAccounts","currentView","signIn","phase","cancelSignIn","setView","backsToHost","copy","headerCopy","useSurfaceHeader","titleContent","title","subtitle","onBack","View","style","styles","bodyContent","children","onComplete","accountCount","activeAccountId","loading","error","switchingAccountId","authorizeCode","qrPayload","expiresAt","route","routeFailed","pushSentAt","openedAt","progress","commonsAvailability","SCREEN_MARGIN","StyleSheet","create","paddingTop","paddingBottom","paddingHorizontal","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/components/OxyAccountDialogScreen.tsx"],"mappings":"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","ignoreList":[]}