@oxy.so/services 4.0.6 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/assets/assets/signIn/slide-1.jpg +0 -0
  3. package/lib/commonjs/assets/assets/signIn/slide-1.jpg.d.ts +3 -0
  4. package/lib/commonjs/assets/assets/signIn/slide-2.jpg +0 -0
  5. package/lib/commonjs/assets/assets/signIn/slide-2.jpg.d.ts +3 -0
  6. package/lib/commonjs/assets/assets/signIn/slide-3.jpg +0 -0
  7. package/lib/commonjs/assets/assets/signIn/slide-3.jpg.d.ts +3 -0
  8. package/lib/commonjs/assets/assets/signIn/slide-4.jpg +0 -0
  9. package/lib/commonjs/assets/assets/signIn/slide-4.jpg.d.ts +3 -0
  10. package/lib/commonjs/assets/signIn/slide-1.jpg +0 -0
  11. package/lib/commonjs/assets/signIn/slide-2.jpg +0 -0
  12. package/lib/commonjs/assets/signIn/slide-3.jpg +0 -0
  13. package/lib/commonjs/assets/signIn/slide-4.jpg +0 -0
  14. package/lib/commonjs/index.js +45 -8
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/ui/components/FollowButton.js +26 -1
  17. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  18. package/lib/commonjs/ui/components/FollowTargetButton.js +6 -1
  19. package/lib/commonjs/ui/components/FollowTargetButton.js.map +1 -1
  20. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +11 -58
  21. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
  22. package/lib/commonjs/ui/components/OxyAuthChooser.js +36 -44
  23. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  24. package/lib/commonjs/ui/components/OxyProvider.js +0 -2
  25. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  26. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
  27. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +29 -8
  28. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  29. package/lib/commonjs/ui/components/authChooser/primitives.js +7 -52
  30. package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -1
  31. package/lib/commonjs/ui/components/authChooser/signInFailureMessage.js +1 -7
  32. package/lib/commonjs/ui/components/authChooser/signInFailureMessage.js.map +1 -1
  33. package/lib/commonjs/ui/components/authChooser/styles.js +0 -31
  34. package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -1
  35. package/lib/commonjs/ui/components/authChooser/types.js +2 -2
  36. package/lib/commonjs/ui/components/followButtonAccessibility.js +72 -0
  37. package/lib/commonjs/ui/components/followButtonAccessibility.js.map +1 -0
  38. package/lib/commonjs/ui/components/oauthNavigation.js +1 -1
  39. package/lib/commonjs/ui/components/signIn/InlineCommonsQr.js +161 -0
  40. package/lib/commonjs/ui/components/signIn/InlineCommonsQr.js.map +1 -0
  41. package/lib/commonjs/ui/components/signIn/OxyAccountPicker.js +111 -0
  42. package/lib/commonjs/ui/components/signIn/OxyAccountPicker.js.map +1 -0
  43. package/lib/commonjs/ui/components/signIn/OxyAuthScreen.js +160 -0
  44. package/lib/commonjs/ui/components/signIn/OxyAuthScreen.js.map +1 -0
  45. package/lib/commonjs/ui/components/signIn/OxySignInPanel.js +371 -0
  46. package/lib/commonjs/ui/components/signIn/OxySignInPanel.js.map +1 -0
  47. package/lib/commonjs/ui/components/signIn/OxySignUpPanel.js +78 -0
  48. package/lib/commonjs/ui/components/signIn/OxySignUpPanel.js.map +1 -0
  49. package/lib/commonjs/ui/components/signIn/artwork.js +21 -0
  50. package/lib/commonjs/ui/components/signIn/artwork.js.map +1 -0
  51. package/lib/commonjs/ui/components/signIn/passkeyError.js +46 -0
  52. package/lib/commonjs/ui/components/signIn/passkeyError.js.map +1 -0
  53. package/lib/commonjs/ui/components/signIn/signInMethods.js +46 -0
  54. package/lib/commonjs/ui/components/signIn/signInMethods.js.map +1 -0
  55. package/lib/commonjs/ui/context/OxyContext.js +16 -16
  56. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  57. package/lib/commonjs/ui/context/commitSessionFlow.js +0 -43
  58. package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
  59. package/lib/commonjs/ui/hooks/accountDialogSnapshot.js +15 -1
  60. package/lib/commonjs/ui/hooks/accountDialogSnapshot.js.map +1 -1
  61. package/lib/commonjs/ui/hooks/useDeviceSwitcher.js +1 -3
  62. package/lib/commonjs/ui/hooks/useDeviceSwitcher.js.map +1 -1
  63. package/lib/commonjs/ui/oauth/browserAuthTransport.js +11 -4
  64. package/lib/commonjs/ui/oauth/browserAuthTransport.js.map +1 -1
  65. package/lib/commonjs/ui/oauth/oauthHandshake.js +3 -0
  66. package/lib/commonjs/ui/oauth/oauthHandshake.js.map +1 -1
  67. package/lib/commonjs/ui/oauth/oauthPopup.js +2 -3
  68. package/lib/commonjs/ui/oauth/oauthPopup.js.map +1 -1
  69. package/lib/commonjs/ui/screens/ManageAccountScreen.js +2 -3
  70. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  71. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +1 -1
  72. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  73. package/lib/commonjs/ui/session/authStore.js +0 -21
  74. package/lib/commonjs/ui/session/authStore.js.map +1 -1
  75. package/lib/commonjs/ui/utils/accountDeletionHandoff.js +1 -1
  76. package/lib/commonjs/ui/utils/accountDeletionHandoff.js.map +1 -1
  77. package/lib/module/assets/assets/signIn/slide-1.jpg +0 -0
  78. package/lib/module/assets/assets/signIn/slide-1.jpg.d.ts +3 -0
  79. package/lib/module/assets/assets/signIn/slide-2.jpg +0 -0
  80. package/lib/module/assets/assets/signIn/slide-2.jpg.d.ts +3 -0
  81. package/lib/module/assets/assets/signIn/slide-3.jpg +0 -0
  82. package/lib/module/assets/assets/signIn/slide-3.jpg.d.ts +3 -0
  83. package/lib/module/assets/assets/signIn/slide-4.jpg +0 -0
  84. package/lib/module/assets/assets/signIn/slide-4.jpg.d.ts +3 -0
  85. package/lib/module/assets/signIn/slide-1.jpg +0 -0
  86. package/lib/module/assets/signIn/slide-2.jpg +0 -0
  87. package/lib/module/assets/signIn/slide-3.jpg +0 -0
  88. package/lib/module/assets/signIn/slide-4.jpg +0 -0
  89. package/lib/module/index.js +7 -6
  90. package/lib/module/index.js.map +1 -1
  91. package/lib/module/ui/components/FollowButton.js +26 -1
  92. package/lib/module/ui/components/FollowButton.js.map +1 -1
  93. package/lib/module/ui/components/FollowTargetButton.js +6 -1
  94. package/lib/module/ui/components/FollowTargetButton.js.map +1 -1
  95. package/lib/module/ui/components/OxyAccountDialogScreen.js +14 -59
  96. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
  97. package/lib/module/ui/components/OxyAuthChooser.js +37 -45
  98. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  99. package/lib/module/ui/components/OxyProvider.js +0 -2
  100. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  101. package/lib/module/ui/components/ProfileButton.js.map +1 -1
  102. package/lib/module/ui/components/authChooser/AccountsMenuView.js +21 -2
  103. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  104. package/lib/module/ui/components/authChooser/primitives.js +1 -44
  105. package/lib/module/ui/components/authChooser/primitives.js.map +1 -1
  106. package/lib/module/ui/components/authChooser/signInFailureMessage.js +1 -7
  107. package/lib/module/ui/components/authChooser/signInFailureMessage.js.map +1 -1
  108. package/lib/module/ui/components/authChooser/styles.js +0 -31
  109. package/lib/module/ui/components/authChooser/styles.js.map +1 -1
  110. package/lib/module/ui/components/authChooser/types.js +2 -2
  111. package/lib/module/ui/components/followButtonAccessibility.js +66 -0
  112. package/lib/module/ui/components/followButtonAccessibility.js.map +1 -0
  113. package/lib/module/ui/components/oauthNavigation.js +1 -1
  114. package/lib/module/ui/components/signIn/InlineCommonsQr.js +157 -0
  115. package/lib/module/ui/components/signIn/InlineCommonsQr.js.map +1 -0
  116. package/lib/module/ui/components/signIn/OxyAccountPicker.js +106 -0
  117. package/lib/module/ui/components/signIn/OxyAccountPicker.js.map +1 -0
  118. package/lib/module/ui/components/signIn/OxyAuthScreen.js +151 -0
  119. package/lib/module/ui/components/signIn/OxyAuthScreen.js.map +1 -0
  120. package/lib/module/ui/components/signIn/OxySignInPanel.js +366 -0
  121. package/lib/module/ui/components/signIn/OxySignInPanel.js.map +1 -0
  122. package/lib/module/ui/components/signIn/OxySignUpPanel.js +75 -0
  123. package/lib/module/ui/components/signIn/OxySignUpPanel.js.map +1 -0
  124. package/lib/module/ui/components/signIn/artwork.js +16 -0
  125. package/lib/module/ui/components/signIn/artwork.js.map +1 -0
  126. package/lib/module/ui/components/signIn/passkeyError.js +40 -0
  127. package/lib/module/ui/components/signIn/passkeyError.js.map +1 -0
  128. package/lib/module/ui/components/signIn/signInMethods.js +42 -0
  129. package/lib/module/ui/components/signIn/signInMethods.js.map +1 -0
  130. package/lib/module/ui/context/OxyContext.js +17 -17
  131. package/lib/module/ui/context/OxyContext.js.map +1 -1
  132. package/lib/module/ui/context/commitSessionFlow.js +0 -42
  133. package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
  134. package/lib/module/ui/hooks/accountDialogSnapshot.js +14 -1
  135. package/lib/module/ui/hooks/accountDialogSnapshot.js.map +1 -1
  136. package/lib/module/ui/hooks/useDeviceSwitcher.js +3 -5
  137. package/lib/module/ui/hooks/useDeviceSwitcher.js.map +1 -1
  138. package/lib/module/ui/oauth/browserAuthTransport.js +11 -4
  139. package/lib/module/ui/oauth/browserAuthTransport.js.map +1 -1
  140. package/lib/module/ui/oauth/oauthHandshake.js +3 -0
  141. package/lib/module/ui/oauth/oauthHandshake.js.map +1 -1
  142. package/lib/module/ui/oauth/oauthPopup.js +2 -3
  143. package/lib/module/ui/oauth/oauthPopup.js.map +1 -1
  144. package/lib/module/ui/screens/ManageAccountScreen.js +3 -4
  145. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  146. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +1 -1
  147. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  148. package/lib/module/ui/session/authStore.js +1 -22
  149. package/lib/module/ui/session/authStore.js.map +1 -1
  150. package/lib/module/ui/utils/accountDeletionHandoff.js +2 -2
  151. package/lib/module/ui/utils/accountDeletionHandoff.js.map +1 -1
  152. package/lib/typescript/assets/signIn/slide-1.jpg.d.ts +3 -0
  153. package/lib/typescript/assets/signIn/slide-2.jpg.d.ts +3 -0
  154. package/lib/typescript/assets/signIn/slide-3.jpg.d.ts +3 -0
  155. package/lib/typescript/assets/signIn/slide-4.jpg.d.ts +3 -0
  156. package/lib/typescript/commonjs/index.d.ts +8 -2
  157. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts +6 -0
  159. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/ui/components/FollowTargetButton.d.ts.map +1 -1
  161. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +5 -12
  163. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +1 -1
  166. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
  167. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
  168. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +0 -19
  169. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -1
  170. package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts +1 -5
  171. package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts +0 -31
  173. package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +3 -3
  175. package/lib/typescript/commonjs/ui/components/followButtonAccessibility.d.ts +48 -0
  176. package/lib/typescript/commonjs/ui/components/followButtonAccessibility.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts +1 -1
  178. package/lib/typescript/commonjs/ui/components/signIn/InlineCommonsQr.d.ts +20 -0
  179. package/lib/typescript/commonjs/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -0
  180. package/lib/typescript/commonjs/ui/components/signIn/OxyAccountPicker.d.ts +34 -0
  181. package/lib/typescript/commonjs/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthScreen.d.ts +43 -0
  183. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthScreen.d.ts.map +1 -0
  184. package/lib/typescript/commonjs/ui/components/signIn/OxySignInPanel.d.ts +43 -0
  185. package/lib/typescript/commonjs/ui/components/signIn/OxySignInPanel.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/ui/components/signIn/OxySignUpPanel.d.ts +17 -0
  187. package/lib/typescript/commonjs/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -0
  188. package/lib/typescript/commonjs/ui/components/signIn/artwork.d.ts +8 -0
  189. package/lib/typescript/commonjs/ui/components/signIn/artwork.d.ts.map +1 -0
  190. package/lib/typescript/commonjs/ui/components/signIn/passkeyError.d.ts +16 -0
  191. package/lib/typescript/commonjs/ui/components/signIn/passkeyError.d.ts.map +1 -0
  192. package/lib/typescript/commonjs/ui/components/signIn/signInMethods.d.ts +39 -0
  193. package/lib/typescript/commonjs/ui/components/signIn/signInMethods.d.ts.map +1 -0
  194. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  195. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts +0 -40
  196. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
  197. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +8 -9
  198. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  199. package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts +7 -1
  200. package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
  201. package/lib/typescript/commonjs/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
  202. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts +9 -0
  203. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts.map +1 -1
  204. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts +3 -0
  205. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts +2 -3
  207. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  209. package/lib/typescript/commonjs/ui/session/authStore.d.ts +0 -30
  210. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/ui/types/navigation.d.ts +0 -26
  212. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  213. package/lib/typescript/module/index.d.ts +8 -2
  214. package/lib/typescript/module/index.d.ts.map +1 -1
  215. package/lib/typescript/module/ui/components/FollowButton.d.ts +6 -0
  216. package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
  217. package/lib/typescript/module/ui/components/FollowTargetButton.d.ts.map +1 -1
  218. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  219. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +5 -12
  220. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  221. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  222. package/lib/typescript/module/ui/components/ProfileButton.d.ts +1 -1
  223. package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
  224. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
  225. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +0 -19
  226. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -1
  227. package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts +1 -5
  228. package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -1
  229. package/lib/typescript/module/ui/components/authChooser/styles.d.ts +0 -31
  230. package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -1
  231. package/lib/typescript/module/ui/components/authChooser/types.d.ts +3 -3
  232. package/lib/typescript/module/ui/components/followButtonAccessibility.d.ts +48 -0
  233. package/lib/typescript/module/ui/components/followButtonAccessibility.d.ts.map +1 -0
  234. package/lib/typescript/module/ui/components/oauthNavigation.d.ts +1 -1
  235. package/lib/typescript/module/ui/components/signIn/InlineCommonsQr.d.ts +20 -0
  236. package/lib/typescript/module/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -0
  237. package/lib/typescript/module/ui/components/signIn/OxyAccountPicker.d.ts +34 -0
  238. package/lib/typescript/module/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -0
  239. package/lib/typescript/module/ui/components/signIn/OxyAuthScreen.d.ts +43 -0
  240. package/lib/typescript/module/ui/components/signIn/OxyAuthScreen.d.ts.map +1 -0
  241. package/lib/typescript/module/ui/components/signIn/OxySignInPanel.d.ts +43 -0
  242. package/lib/typescript/module/ui/components/signIn/OxySignInPanel.d.ts.map +1 -0
  243. package/lib/typescript/module/ui/components/signIn/OxySignUpPanel.d.ts +17 -0
  244. package/lib/typescript/module/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -0
  245. package/lib/typescript/module/ui/components/signIn/artwork.d.ts +8 -0
  246. package/lib/typescript/module/ui/components/signIn/artwork.d.ts.map +1 -0
  247. package/lib/typescript/module/ui/components/signIn/passkeyError.d.ts +16 -0
  248. package/lib/typescript/module/ui/components/signIn/passkeyError.d.ts.map +1 -0
  249. package/lib/typescript/module/ui/components/signIn/signInMethods.d.ts +39 -0
  250. package/lib/typescript/module/ui/components/signIn/signInMethods.d.ts.map +1 -0
  251. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  252. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts +0 -40
  253. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
  254. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +8 -9
  255. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  256. package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts +7 -1
  257. package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
  258. package/lib/typescript/module/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
  259. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts +9 -0
  260. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts.map +1 -1
  261. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts +3 -0
  262. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts.map +1 -1
  263. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts +2 -3
  264. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts.map +1 -1
  265. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  266. package/lib/typescript/module/ui/session/authStore.d.ts +0 -30
  267. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
  268. package/lib/typescript/module/ui/types/navigation.d.ts +0 -26
  269. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  270. package/package.json +6 -9
  271. package/src/assets/signIn/slide-1.jpg +0 -0
  272. package/src/assets/signIn/slide-1.jpg.d.ts +3 -0
  273. package/src/assets/signIn/slide-2.jpg +0 -0
  274. package/src/assets/signIn/slide-2.jpg.d.ts +3 -0
  275. package/src/assets/signIn/slide-3.jpg +0 -0
  276. package/src/assets/signIn/slide-3.jpg.d.ts +3 -0
  277. package/src/assets/signIn/slide-4.jpg +0 -0
  278. package/src/assets/signIn/slide-4.jpg.d.ts +3 -0
  279. package/src/index.ts +16 -7
  280. package/src/ui/components/FollowButton.tsx +25 -0
  281. package/src/ui/components/FollowTargetButton.tsx +4 -0
  282. package/src/ui/components/OxyAccountDialogScreen.tsx +11 -72
  283. package/src/ui/components/OxyAuthChooser.tsx +37 -53
  284. package/src/ui/components/OxyProvider.tsx +0 -2
  285. package/src/ui/components/ProfileButton.tsx +1 -4
  286. package/src/ui/components/__tests__/followButtonAccessibility.test.tsx +191 -0
  287. package/src/ui/components/authChooser/AccountsMenuView.tsx +28 -1
  288. package/src/ui/components/authChooser/primitives.tsx +1 -39
  289. package/src/ui/components/authChooser/signInFailureMessage.ts +1 -7
  290. package/src/ui/components/authChooser/styles.ts +0 -31
  291. package/src/ui/components/authChooser/types.ts +3 -3
  292. package/src/ui/components/followButtonAccessibility.ts +83 -0
  293. package/src/ui/components/oauthNavigation.ts +1 -1
  294. package/src/ui/components/signIn/InlineCommonsQr.tsx +135 -0
  295. package/src/ui/components/signIn/OxyAccountPicker.tsx +129 -0
  296. package/src/ui/components/signIn/OxyAuthScreen.tsx +123 -0
  297. package/src/ui/components/signIn/OxySignInPanel.tsx +392 -0
  298. package/src/ui/components/signIn/OxySignUpPanel.tsx +86 -0
  299. package/src/ui/components/signIn/artwork.ts +13 -0
  300. package/src/ui/components/signIn/passkeyError.ts +44 -0
  301. package/src/ui/components/signIn/signInMethods.ts +51 -0
  302. package/src/ui/context/OxyContext.tsx +21 -18
  303. package/src/ui/context/__tests__/commitSessionFlow.test.ts +0 -89
  304. package/src/ui/context/commitSessionFlow.ts +0 -61
  305. package/src/ui/context/oxyContextTypes.ts +9 -9
  306. package/src/ui/hooks/accountDialogSnapshot.ts +20 -1
  307. package/src/ui/hooks/useDeviceSwitcher.ts +3 -11
  308. package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +21 -0
  309. package/src/ui/oauth/browserAuthTransport.ts +14 -4
  310. package/src/ui/oauth/oauthHandshake.ts +4 -1
  311. package/src/ui/oauth/oauthPopup.ts +2 -3
  312. package/src/ui/screens/ManageAccountScreen.tsx +3 -4
  313. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +1 -1
  314. package/src/ui/session/authStore.ts +0 -37
  315. package/src/ui/types/navigation.ts +0 -26
  316. package/src/ui/utils/accountDeletionHandoff.ts +2 -2
  317. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +0 -132
  318. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +0 -1
  319. package/lib/commonjs/ui/components/authChooser/SignUpView.js +0 -77
  320. package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +0 -1
  321. package/lib/commonjs/ui/components/passkeyHubPopup.js +0 -33
  322. package/lib/commonjs/ui/components/passkeyHubPopup.js.map +0 -1
  323. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js +0 -48
  324. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js.map +0 -1
  325. package/lib/module/ui/components/authChooser/SignInEntryView.js +0 -127
  326. package/lib/module/ui/components/authChooser/SignInEntryView.js.map +0 -1
  327. package/lib/module/ui/components/authChooser/SignUpView.js +0 -73
  328. package/lib/module/ui/components/authChooser/SignUpView.js.map +0 -1
  329. package/lib/module/ui/components/passkeyHubPopup.js +0 -29
  330. package/lib/module/ui/components/passkeyHubPopup.js.map +0 -1
  331. package/lib/module/ui/oauth/legacyRedirectLanes.js +0 -44
  332. package/lib/module/ui/oauth/legacyRedirectLanes.js.map +0 -1
  333. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +0 -39
  334. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +0 -1
  335. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts +0 -31
  336. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts.map +0 -1
  337. package/lib/typescript/commonjs/ui/components/passkeyHubPopup.d.ts +0 -23
  338. package/lib/typescript/commonjs/ui/components/passkeyHubPopup.d.ts.map +0 -1
  339. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts +0 -40
  340. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts.map +0 -1
  341. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +0 -39
  342. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +0 -1
  343. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts +0 -31
  344. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts.map +0 -1
  345. package/lib/typescript/module/ui/components/passkeyHubPopup.d.ts +0 -23
  346. package/lib/typescript/module/ui/components/passkeyHubPopup.d.ts.map +0 -1
  347. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts +0 -40
  348. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts.map +0 -1
  349. package/src/ui/components/authChooser/SignInEntryView.tsx +0 -157
  350. package/src/ui/components/authChooser/SignUpView.tsx +0 -76
  351. package/src/ui/components/passkeyHubPopup.ts +0 -28
  352. package/src/ui/oauth/legacyRedirectLanes.ts +0 -43
@@ -9,7 +9,7 @@
9
9
  * identical, which is what lets both lanes converge on one completion path.
10
10
  */
11
11
 
12
- import { buildOAuthAuthorizeUrl, generateOAuthState, generatePkcePair } from '@oxy.so/core';
12
+ import { buildOAuthAuthorizeUrl, generateOAuthState, generatePkcePair, type OxyAuthScreen } from '@oxy.so/core';
13
13
  import type { OAuthHandshake } from './types';
14
14
 
15
15
  /** Inputs for {@link prepareAuthorizeRequest}. */
@@ -28,6 +28,8 @@ export interface PrepareAuthorizeRequestParams {
28
28
  * not a guarantee — an IdP with no opener still redirects.
29
29
  */
30
30
  responseMode?: 'web_message';
31
+ /** The IdP screen a person with no session there lands on. */
32
+ screen?: OxyAuthScreen;
31
33
  }
32
34
 
33
35
  /** A ready-to-use authorize request plus the secrets that finish it. */
@@ -64,6 +66,7 @@ export async function prepareAuthorizeRequest(
64
66
  state,
65
67
  codeChallenge: pkce.codeChallenge,
66
68
  ...(params.responseMode ? { responseMode: params.responseMode } : {}),
69
+ ...(params.screen ? { screen: params.screen } : {}),
67
70
  });
68
71
 
69
72
  return {
@@ -11,10 +11,9 @@
11
11
  * is still being handled. Anything awaited first (resolving the application,
12
12
  * generating PKCE) loses it and the popup is silently blocked. So the window
13
13
  * is opened EMPTY up front and navigated once the authorize URL exists —
14
- * the same shape as `passkeyHubPopup.ts`.
14
+ * a plain function a test can substitute.
15
15
  * - **No close event.** A cross-origin popup fires nothing when the user
16
- * dismisses it; polling `closed` is the only mechanism (as in core's
17
- * `AccountDialogController.watchPopup`).
16
+ * dismisses it; polling `closed` is the only mechanism.
18
17
  * - **No cross-origin reads.** The popup's URL, title, and document are all
19
18
  * opaque. The authorization result arrives ONLY as a `postMessage`.
20
19
  */
@@ -14,7 +14,7 @@ import { useTheme } from '@oxy.so/bloom/theme';
14
14
  import { Text } from '@oxy.so/bloom/typography';
15
15
  import { SettingsListGroup, SettingsListItem } from '@oxy.so/bloom/settings-list';
16
16
  import {
17
- IDENTITY_WEB_ORIGIN,
17
+ AUTH_WEB_ORIGIN,
18
18
  getAccountDisplayName,
19
19
  getAccountFallbackHandle,
20
20
  getNormalizedUserHandle,
@@ -324,10 +324,9 @@ const ManageAccountScreen: React.FC<BaseScreenProps> = ({
324
324
  return;
325
325
  }
326
326
  // Web: deleting an account is signed with its identity key, which only
327
- // the identity origin can unseal — the deletion happens there, never on
328
- // this page.
327
+ // auth.oxy.so can unseal — the deletion happens there, never on this page.
329
328
  if (isWebBrowser()) {
330
- await Linking.openURL(`${IDENTITY_WEB_ORIGIN}/`).catch(() => {
329
+ await Linking.openURL(`${AUTH_WEB_ORIGIN}/identity`).catch(() => {
331
330
  toast.error(t('accountSwitcher.linkOpenFailed'));
332
331
  });
333
332
  return;
@@ -115,7 +115,7 @@ const TrustLeaderboardScreen: React.FC<BaseScreenProps> = ({ navigate }) => {
115
115
  </TouchableOpacity>
116
116
  );
117
117
  },
118
- [oxyServices, currentUserId, handleEntryPress, locale],
118
+ [oxyServices, currentUserId, handleEntryPress, locale, t],
119
119
  );
120
120
 
121
121
  const keyExtractor = useCallback(
@@ -7,7 +7,6 @@
7
7
  * store shape + logic (`createWebAuthStateStore` / `createNativeAuthStateStore` /
8
8
  * `createMemoryAuthStateStore`); this module only selects the seam:
9
9
  *
10
- * - `storage: 'ephemeral'` → `createMemoryAuthStateStore()`, on EVERY platform.
11
10
  * - web → `createWebAuthStateStore()` (localStorage, in-memory fallback).
12
11
  * - native → `createNativeAuthStateStore(secureKV)` for the SESSION blob over
13
12
  * the shared `createNativeSecureKeyValueStorage()` adapter
@@ -23,7 +22,6 @@
23
22
  import {
24
23
  createWebAuthStateStore,
25
24
  createNativeAuthStateStore,
26
- createMemoryAuthStateStore,
27
25
  createSharedMirroringAuthStateStore,
28
26
  type AuthStateStore,
29
27
  type SessionMode,
@@ -46,20 +44,6 @@ export interface PlatformAuthStateStoreOptions {
46
44
  * a decision a storage seam gets to make.
47
45
  */
48
46
  sessionMode?: SessionMode;
49
- /**
50
- * Whether this origin/app may persist a durable device credential AT ALL.
51
- *
52
- * `'ephemeral'` stores nothing durable and mirrors nothing: the session lives
53
- * in memory for the lifetime of the page and is gone on reload. Its one caller
54
- * is `auth.oxy.so` with the browser hub enabled (issue #937 Phase 5, ADR 0003),
55
- * where the durable credential for the browser profile is the server-side
56
- * DeviceSession behind the `__Host-oxy-device` handle.
57
- *
58
- * See `OxyProviderProps.deviceCredentialStorage` for why the answer to "let the
59
- * hub be authoritative" is to stop persisting the other credential rather than
60
- * to consult it second.
61
- */
62
- storage?: 'persistent' | 'ephemeral';
63
47
  }
64
48
 
65
49
  /**
@@ -68,31 +52,10 @@ export interface PlatformAuthStateStoreOptions {
68
52
  * Native persists the SESSION blob (`deviceId` + `deviceSecret` + cached access
69
53
  * token) per-app in SecureStore; the SDK re-mints the access token from the
70
54
  * device credential on the next cold boot.
71
- *
72
- * ## The ephemeral check is FIRST, and the order is load-bearing
73
- *
74
- * It short-circuits above the `isReactNative()` branch so an ephemeral caller can
75
- * never reach the native path — and therefore can never reach the shared-slot
76
- * mirroring wrapper. Checked after that branch instead, an origin that has
77
- * declined to persist a credential would publish one into the device-wide slot
78
- * every sibling app adopts on cold boot: it would keep nothing itself while
79
- * deciding which session five other apps boot into.
80
- *
81
- * That is unreachable today because the only ephemeral caller is a web origin, so
82
- * `isReactNative()` is false there anyway. Unreachable today is exactly the kind
83
- * of guarantee that stops holding when someone adds the second caller, so it is
84
- * structural here rather than incidental, and
85
- * `__tests__/session/authStoreEphemeral.test.ts` holds the ordering directly.
86
55
  */
87
56
  export function createPlatformAuthStateStore(
88
57
  options: PlatformAuthStateStoreOptions = {},
89
58
  ): AuthStateStore {
90
- // FIRST, above every platform branch — see the docblock for why the ordering
91
- // is the guarantee and not a coincidence.
92
- if (options.storage === 'ephemeral') {
93
- return createMemoryAuthStateStore();
94
- }
95
-
96
59
  if (!isReactNative()) {
97
60
  return createWebAuthStateStore();
98
61
  }
@@ -146,32 +146,6 @@ export interface OxyProviderProps {
146
146
  * @default false
147
147
  */
148
148
  backgroundSession?: boolean;
149
- /**
150
- * Whether this origin/app may persist the durable device credential
151
- * (`deviceId` + `deviceSecret`) at all.
152
- *
153
- * `'persistent'` (the default, and every app's behaviour) stores it — web
154
- * localStorage per origin, SecureStore per app on native — so the SDK can
155
- * re-mint an access token on the next cold boot.
156
- *
157
- * `'ephemeral'` stores NOTHING durable: the session lives in memory for the
158
- * lifetime of the page and is gone on reload. It exists for ONE caller,
159
- * `auth.oxy.so` with the browser hub enabled (issue #937 Phase 5, ADR 0003),
160
- * where the durable credential for the browser profile is the server-side
161
- * DeviceSession behind the `__Host-oxy-device` handle. Two durable
162
- * credentials for one origin is the dual authority that phase exists to
163
- * remove — revoking the hub while a localStorage secret still mints would
164
- * make a sign-out look like it worked — so the way to let the hub be
165
- * authoritative is to stop persisting the other one, not to consult it
166
- * second.
167
- *
168
- * Do NOT reach for this to make an app "more private". A relying-party
169
- * origin set to `'ephemeral'` simply signs the user out on every reload,
170
- * because nothing else on that origin remembers the device.
171
- *
172
- * @default 'persistent'
173
- */
174
- deviceCredentialStorage?: 'persistent' | 'ephemeral';
175
149
  /**
176
150
  * Wires the app's OWN i18n library to Oxy's resolved language, so the
177
151
  * account (or, signed out, the device/guest locale) drives the app's
@@ -1,6 +1,6 @@
1
1
  import { surfaces } from '@oxy.so/bloom/surfaces';
2
2
  import { toast } from '@oxy.so/bloom/toast';
3
- import { IDENTITY_WEB_ORIGIN, logger } from '@oxy.so/core';
3
+ import { AUTH_WEB_ORIGIN, logger } from '@oxy.so/core';
4
4
 
5
5
  /**
6
6
  * Commons' own delete-account screen (`app/(tabs)/(settings)/delete-account.tsx`
@@ -100,7 +100,7 @@ export async function runAccountDeletionHandoff(
100
100
  return 'handled';
101
101
  }
102
102
 
103
- const site = IDENTITY_WEB_ORIGIN.replace(/^https?:\/\//, '');
103
+ const site = `${AUTH_WEB_ORIGIN.replace(/^https?:\/\//, '')}/identity`;
104
104
  await surfaces.confirm({
105
105
  title: text('deleteAccount.handoff.elsewhereTitle', 'Delete your account where your identity is'),
106
106
  description: text(
@@ -1,132 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _reactNative = require("react-native");
8
- var _button = require("@oxy.so/bloom/button");
9
- var _typography = require("@oxy.so/bloom/typography");
10
- var _core = require("@oxy.so/core");
11
- var _TroubleDisclosure = _interopRequireDefault(require("./TroubleDisclosure.js"));
12
- var _primitives = require("./primitives.js");
13
- var _styles = require("./styles.js");
14
- var _jsxRuntime = require("react/jsx-runtime");
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- /**
17
- * The sign-in ENTRY (`signin` / `add` views) — ONE primary action.
18
- *
19
- * Web: "Continue" opens the identity origin (`id.oxy.so`) in a popup, where the
20
- * person signs in — or creates an account — with a passkey, and the account's
21
- * self-custody identity is created or unsealed (one identity, two carriers). No
22
- * philosophy up front: fingerprint, face or device PIN, and they are in. An
23
- * account that lives on another device is one subordinate link away (Commons
24
- * QR). Nothing auto-starts: a browser only opens a popup from a user gesture.
25
- *
26
- * Native: "Continue with Oxy" — the Commons flow (shared keychain, else the
27
- * request Oxy routes to the person's Commons identity).
28
- *
29
- * Existing accounts still render ABOVE the CTA: "continue as one of these" is a
30
- * choice of WHO, not of HOW.
31
- *
32
- * Signed in (the "Add another account" entry), a row is an account to switch
33
- * to, and the current one carries its check. Signed out, nothing here is
34
- * current: the device may still list an identity it holds (Commons' shared
35
- * one), but THIS app has no session, so each row reads "Continue as @handle"
36
- * and choosing it signs in (OxyHQ/oxy#1375 items 20 and 21).
37
- */
38
-
39
- const SignInEntryView = ({
40
- snapshot,
41
- principals,
42
- theme,
43
- t,
44
- handlers,
45
- onContinueWithOxy,
46
- alternatives
47
- }) => {
48
- const web = alternatives.passkeyAvailable;
49
-
50
- // Web keeps Commons one link away; native keeps its QR/Commons alternatives
51
- // behind the disclosure, as before.
52
- const troubleActions = web ? [{
53
- key: 'get-commons-link',
54
- label: t('accountSwitcher.getCommons'),
55
- onPress: alternatives.onGetCommons
56
- }] : [{
57
- key: 'scan-qr-link',
58
- label: t('accountSwitcher.scanQr'),
59
- onPress: alternatives.onShowQr
60
- }, {
61
- key: 'get-commons-link',
62
- label: t('accountSwitcher.getCommons'),
63
- onPress: alternatives.onGetCommons
64
- }];
65
-
66
- // Whose route this is only needs naming when the list holds more than one
67
- // person, or somebody with more than one account — the same rule the account
68
- // menu's group headers follow.
69
- const namesTheOperator = (0, _core.showsPrincipalHeaders)(principals);
70
- const rows = principals.flatMap(principal => principal.contexts.map(context => ({
71
- context,
72
- operatedBy: namesTheOperator && context.isDelegated ? t('accountSwitcher.context.operatedBy', {
73
- name: principal.displayName
74
- }) : null
75
- })));
76
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
77
- style: _styles.authChooserStyles.signInBlock,
78
- children: [rows.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
79
- style: _styles.authChooserStyles.rows,
80
- children: [rows.map(({
81
- context,
82
- operatedBy
83
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.AccountRow, {
84
- context: context,
85
- operatedBy: operatedBy,
86
- continueAsLabel: snapshot.hasSession ? null : t('signin.chooser.continueAs', {
87
- name: context.handle ? `@${context.handle}` : context.displayName
88
- }),
89
- theme: theme,
90
- activating: snapshot.activatingContextId === context.contextId,
91
- disabled: snapshot.activatingContextId !== null,
92
- onPress: () => handlers.onActivate(context.contextId)
93
- }, context.contextId)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.Dividerish, {
94
- theme: theme,
95
- label: t('signin.or')
96
- })]
97
- }) : null, web ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
98
- style: [_styles.authChooserStyles.mutedText, {
99
- color: theme.colors.textSecondary
100
- }],
101
- children: t('accountSwitcher.passkeyHint')
102
- }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
103
- appearance: "solid",
104
- tone: "accent"
105
- // `lg` (44dp): the surface's ONE primary action is a full-width CTA, and
106
- // the default `md` (36dp) is under the touch-target minimum on Android.
107
- ,
108
- size: "lg",
109
- onPress: web ? alternatives.onSignInWithPasskey : onContinueWithOxy,
110
- style: _styles.authChooserStyles.primaryButton,
111
- testID: "continue-with-oxy",
112
- children: web ? t('accountSwitcher.continueWithPasskey') : t('accountSwitcher.continueWithOxy')
113
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SubtleLink, {
114
- label: t('signin.createAccountLink'),
115
- theme: theme,
116
- onPress: alternatives.onCreateAccount,
117
- testID: "create-account-link"
118
- }), web ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SubtleLink, {
119
- label: t('accountSwitcher.otherDeviceCommons'),
120
- theme: theme,
121
- onPress: alternatives.onShowQr,
122
- testID: "scan-qr-link"
123
- }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_TroubleDisclosure.default, {
124
- actions: troubleActions,
125
- revealed: false,
126
- theme: theme,
127
- t: t
128
- })]
129
- });
130
- };
131
- var _default = exports.default = SignInEntryView;
132
- //# sourceMappingURL=SignInEntryView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","_button","_typography","_core","_TroubleDisclosure","_interopRequireDefault","_primitives","_styles","_jsxRuntime","e","__esModule","default","SignInEntryView","snapshot","principals","theme","t","handlers","onContinueWithOxy","alternatives","web","passkeyAvailable","troubleActions","key","label","onPress","onGetCommons","onShowQr","namesTheOperator","showsPrincipalHeaders","rows","flatMap","principal","contexts","map","context","operatedBy","isDelegated","name","displayName","jsxs","View","style","styles","signInBlock","children","length","jsx","AccountRow","continueAsLabel","hasSession","handle","activating","activatingContextId","contextId","disabled","onActivate","Dividerish","Text","mutedText","color","colors","textSecondary","Button","appearance","tone","size","onSignInWithPasskey","primaryButton","testID","SubtleLink","onCreateAccount","actions","revealed","_default","exports"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/SignInEntryView.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _reactNative = require("react-native");
8
- var _button = require("@oxy.so/bloom/button");
9
- var _typography = require("@oxy.so/bloom/typography");
10
- var _primitives = require("./primitives.js");
11
- var _styles = require("./styles.js");
12
- var _jsxRuntime = require("react/jsx-runtime");
13
- /**
14
- * Account creation (`signup` view).
15
- *
16
- * Web: the account AND its self-custody identity are created at the identity
17
- * origin (`id.oxy.so`), in the same window a passkey sign-in uses — never on
18
- * this page, whatever its origin (one identity, two carriers). The sign-in
19
- * entry's "create an account" link opens that window directly; this view is
20
- * what `openAccountDialog('signup')` lands on, and offers the same one action.
21
- *
22
- * Native: Commons owns identity creation. Deep-link straight in when Commons is
23
- * installed, else lead with the "Get Commons" acquisition CTA.
24
- */
25
-
26
- const SignUpView = ({
27
- snapshot,
28
- theme,
29
- t,
30
- passkeyMode,
31
- onOpenHub,
32
- onCreateIdentityInCommons,
33
- onGetCommons,
34
- onBackToSignIn
35
- }) => {
36
- if (passkeyMode === 'none') {
37
- const commonsInstalled = snapshot.commonsAvailability === 'available';
38
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
39
- style: _styles.authChooserStyles.centeredBlock,
40
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
41
- appearance: "solid",
42
- tone: "accent",
43
- size: "lg",
44
- onPress: commonsInstalled ? onCreateIdentityInCommons : onGetCommons,
45
- style: _styles.authChooserStyles.primaryButton,
46
- children: commonsInstalled ? t('signup.createInCommons') : t('accountSwitcher.getCommons')
47
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SubtleLink, {
48
- label: t('signup.backToSignInLink'),
49
- theme: theme,
50
- onPress: onBackToSignIn
51
- })]
52
- });
53
- }
54
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
55
- style: _styles.authChooserStyles.centeredBlock,
56
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
57
- style: [_styles.authChooserStyles.mutedText, {
58
- color: theme.colors.textSecondary
59
- }],
60
- children: t('accountSwitcher.passkeyHint')
61
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
62
- appearance: "solid",
63
- tone: "accent",
64
- size: "lg",
65
- onPress: onOpenHub,
66
- style: _styles.authChooserStyles.primaryButton,
67
- testID: "signup-open-identity",
68
- children: t('signup.createAccount')
69
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SubtleLink, {
70
- label: t('signup.backToSignInLink'),
71
- theme: theme,
72
- onPress: onBackToSignIn
73
- })]
74
- });
75
- };
76
- var _default = exports.default = SignUpView;
77
- //# sourceMappingURL=SignUpView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","_button","_typography","_primitives","_styles","_jsxRuntime","SignUpView","snapshot","theme","t","passkeyMode","onOpenHub","onCreateIdentityInCommons","onGetCommons","onBackToSignIn","commonsInstalled","commonsAvailability","jsxs","View","style","styles","centeredBlock","children","jsx","Button","appearance","tone","size","onPress","primaryButton","SubtleLink","label","Text","mutedText","color","colors","textSecondary","testID","_default","exports","default"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/SignUpView.tsx"],"mappings":";;;;;;AAcA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAAuD,IAAAK,WAAA,GAAAL,OAAA;AAnBvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAyBA,MAAMM,UAAqC,GAAGA,CAAC;EAC7CC,QAAQ;EACRC,KAAK;EACLC,CAAC;EACDC,WAAW;EACXC,SAAS;EACTC,yBAAyB;EACzBC,YAAY;EACZC;AACF,CAAC,KAAK;EACJ,IAAIJ,WAAW,KAAK,MAAM,EAAE;IAC1B,MAAMK,gBAAgB,GAAGR,QAAQ,CAACS,mBAAmB,KAAK,WAAW;IACrE,oBACE,IAAAX,WAAA,CAAAY,IAAA,EAAClB,YAAA,CAAAmB,IAAI;MAACC,KAAK,EAAEC,yBAAM,CAACC,aAAc;MAAAC,QAAA,gBAChC,IAAAjB,WAAA,CAAAkB,GAAA,EAACtB,OAAA,CAAAuB,MAAM;QACLC,UAAU,EAAC,OAAO;QAACC,IAAI,EAAC,QAAQ;QAACC,IAAI,EAAC,IAAI;QAC1CC,OAAO,EAAEb,gBAAgB,GAAGH,yBAAyB,GAAGC,YAAa;QACrEM,KAAK,EAAEC,yBAAM,CAACS,aAAc;QAAAP,QAAA,EAE3BP,gBAAgB,GAAGN,CAAC,CAAC,wBAAwB,CAAC,GAAGA,CAAC,CAAC,4BAA4B;MAAC,CAC3E,CAAC,eACT,IAAAJ,WAAA,CAAAkB,GAAA,EAACpB,WAAA,CAAA2B,UAAU;QAACC,KAAK,EAAEtB,CAAC,CAAC,yBAAyB,CAAE;QAACD,KAAK,EAAEA,KAAM;QAACoB,OAAO,EAAEd;MAAe,CAAE,CAAC;IAAA,CACtF,CAAC;EAEX;EAEA,oBACE,IAAAT,WAAA,CAAAY,IAAA,EAAClB,YAAA,CAAAmB,IAAI;IAACC,KAAK,EAAEC,yBAAM,CAACC,aAAc;IAAAC,QAAA,gBAChC,IAAAjB,WAAA,CAAAkB,GAAA,EAACrB,WAAA,CAAA8B,IAAI;MAACb,KAAK,EAAE,CAACC,yBAAM,CAACa,SAAS,EAAE;QAAEC,KAAK,EAAE1B,KAAK,CAAC2B,MAAM,CAACC;MAAc,CAAC,CAAE;MAAAd,QAAA,EACpEb,CAAC,CAAC,6BAA6B;IAAC,CAC7B,CAAC,eACP,IAAAJ,WAAA,CAAAkB,GAAA,EAACtB,OAAA,CAAAuB,MAAM;MAACC,UAAU,EAAC,OAAO;MAACC,IAAI,EAAC,QAAQ;MAACC,IAAI,EAAC,IAAI;MAACC,OAAO,EAAEjB,SAAU;MAACQ,KAAK,EAAEC,yBAAM,CAACS,aAAc;MAACQ,MAAM,EAAC,sBAAsB;MAAAf,QAAA,EAC9Hb,CAAC,CAAC,sBAAsB;IAAC,CACpB,CAAC,eACT,IAAAJ,WAAA,CAAAkB,GAAA,EAACpB,WAAA,CAAA2B,UAAU;MAACC,KAAK,EAAEtB,CAAC,CAAC,yBAAyB,CAAE;MAACD,KAAK,EAAEA,KAAM;MAACoB,OAAO,EAAEd;IAAe,CAAE,CAAC;EAAA,CACtF,CAAC;AAEX,CAAC;AAAC,IAAAwB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEalC,UAAU","ignoreList":[]}
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.openPasskeyHubPopup = openPasskeyHubPopup;
7
- /**
8
- * Popup opener for the cross-origin passkey hub (b2).
9
- *
10
- * On a non-Oxy web origin (e.g. mention.earth) a WebAuthn ceremony can't run
11
- * locally — the credential's RP ID is bound to `oxy.so`. Instead,
12
- * `AccountDialogController.startPasskeyHubSignIn` opens a popup at the
13
- * auth.oxy.so passkey hub, where the SAME ceremony IS a first-party operation.
14
- *
15
- * Kept in its own module (mirroring `oauthNavigation.ts`'s
16
- * `redirectToAuthorize`) so `window.open` sits behind a plain function the
17
- * controller wiring in `OxyContext` can inject without touching `window`
18
- * itself, and so a test can substitute a fake opener.
19
- */
20
-
21
- /**
22
- * Open a new, EMPTY popup window. Must be called SYNCHRONOUSLY from within a
23
- * user-gesture handler (before any `await`) — opening it after an async call
24
- * loses the gesture attribution and the browser silently blocks it. Returns
25
- * `null` when blocked, or when there is no DOM `window` (native/SSR — the
26
- * hub-popup flow does not apply there).
27
- */
28
- function openPasskeyHubPopup() {
29
- const win = globalThis.window;
30
- if (!win) return null;
31
- return win.open('', '_blank', 'width=420,height=640');
32
- }
33
- //# sourceMappingURL=passkeyHubPopup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["openPasskeyHubPopup","win","globalThis","window","open"],"sourceRoot":"../../../../src","sources":["ui/components/passkeyHubPopup.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,mBAAmBA,CAAA,EAA6B;EAC5D,MAAMC,GAAG,GAAIC,UAAU,CAAyBC,MAAM;EACtD,IAAI,CAACF,GAAG,EAAE,OAAO,IAAI;EACrB,OAAOA,GAAG,CAACG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,sBAAsB,CAAC;AACzD","ignoreList":[]}
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.allowsAutomaticIdpRedirect = allowsAutomaticIdpRedirect;
7
- /**
8
- * The legacy, redirect-mode-only lanes that navigate the RP's TOP-LEVEL window
9
- * to the IdP without a user gesture.
10
- *
11
- * `webAuthMode: 'popup'` exists to guarantee exactly one thing: the relying
12
- * party never leaves its route. Two mechanics in this SDK break that guarantee,
13
- * because each replaces the whole document on its own initiative:
14
- *
15
- * 1. **Cold-boot silent restore** — a full-page `prompt=none` authorize bounce
16
- * to `auth.oxy.so` when the device-secret mint finds no local session
17
- * (`maybeStartSilentOAuthRestore`, called from `runProviderColdBoot`).
18
- * 2. **Post-sign-in hub sync** — a full-page hop to `auth.oxy.so/sync` that
19
- * plants this device's credential on the IdP hub so OTHER origins can later
20
- * run lane 1 (`syncHubAfterSignIn`, called from the `commitSession` funnel).
21
- *
22
- * Both belong to the redirect transport and are kept only for the migration
23
- * window (issue #691, "Cold boot and cross-domain behavior"). In popup mode a
24
- * domain with no local credential simply resolves SIGNED OUT, and the user's
25
- * next explicit "Continue with Oxy" opens the popup — from a real user gesture,
26
- * never automatically.
27
- *
28
- * NOT covered here, and correctly enabled in BOTH modes: navigations the user
29
- * asked for. When the browser blocks the popup, `startWebOAuthSignIn` still
30
- * falls back to a full-page redirect rather than dead-ending the sign-in, and
31
- * `tryCompleteOAuthReturn` still consumes a `?code=` that is already on the URL.
32
- *
33
- * PHASE 7b: once the pilot flips the default transport to `'popup'`, this
34
- * predicate and BOTH lanes above are deleted outright. Grepping this symbol
35
- * finds every site that has to go.
36
- */
37
-
38
- /**
39
- * Whether a provider running `webAuthMode` may perform an SDK-initiated,
40
- * non-gesture, full-page navigation to the IdP.
41
- *
42
- * `true` only for `'redirect'` — still the default and the compatibility path,
43
- * whose behaviour must stay byte-for-byte unchanged.
44
- */
45
- function allowsAutomaticIdpRedirect(webAuthMode) {
46
- return webAuthMode === 'redirect';
47
- }
48
- //# sourceMappingURL=legacyRedirectLanes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["allowsAutomaticIdpRedirect","webAuthMode"],"sourceRoot":"../../../../src","sources":["ui/oauth/legacyRedirectLanes.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,0BAA0BA,CAACC,WAAwB,EAAW;EAC5E,OAAOA,WAAW,KAAK,UAAU;AACnC","ignoreList":[]}
@@ -1,127 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * The sign-in ENTRY (`signin` / `add` views) — ONE primary action.
5
- *
6
- * Web: "Continue" opens the identity origin (`id.oxy.so`) in a popup, where the
7
- * person signs in — or creates an account — with a passkey, and the account's
8
- * self-custody identity is created or unsealed (one identity, two carriers). No
9
- * philosophy up front: fingerprint, face or device PIN, and they are in. An
10
- * account that lives on another device is one subordinate link away (Commons
11
- * QR). Nothing auto-starts: a browser only opens a popup from a user gesture.
12
- *
13
- * Native: "Continue with Oxy" — the Commons flow (shared keychain, else the
14
- * request Oxy routes to the person's Commons identity).
15
- *
16
- * Existing accounts still render ABOVE the CTA: "continue as one of these" is a
17
- * choice of WHO, not of HOW.
18
- *
19
- * Signed in (the "Add another account" entry), a row is an account to switch
20
- * to, and the current one carries its check. Signed out, nothing here is
21
- * current: the device may still list an identity it holds (Commons' shared
22
- * one), but THIS app has no session, so each row reads "Continue as @handle"
23
- * and choosing it signs in (OxyHQ/oxy#1375 items 20 and 21).
24
- */
25
-
26
- import { View } from 'react-native';
27
- import { Button } from '@oxy.so/bloom/button';
28
- import { Text } from '@oxy.so/bloom/typography';
29
- import { showsPrincipalHeaders } from '@oxy.so/core';
30
- import TroubleDisclosure from "./TroubleDisclosure.js";
31
- import { AccountRow, Dividerish, SubtleLink } from "./primitives.js";
32
- import { authChooserStyles as styles } from "./styles.js";
33
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
34
- const SignInEntryView = ({
35
- snapshot,
36
- principals,
37
- theme,
38
- t,
39
- handlers,
40
- onContinueWithOxy,
41
- alternatives
42
- }) => {
43
- const web = alternatives.passkeyAvailable;
44
-
45
- // Web keeps Commons one link away; native keeps its QR/Commons alternatives
46
- // behind the disclosure, as before.
47
- const troubleActions = web ? [{
48
- key: 'get-commons-link',
49
- label: t('accountSwitcher.getCommons'),
50
- onPress: alternatives.onGetCommons
51
- }] : [{
52
- key: 'scan-qr-link',
53
- label: t('accountSwitcher.scanQr'),
54
- onPress: alternatives.onShowQr
55
- }, {
56
- key: 'get-commons-link',
57
- label: t('accountSwitcher.getCommons'),
58
- onPress: alternatives.onGetCommons
59
- }];
60
-
61
- // Whose route this is only needs naming when the list holds more than one
62
- // person, or somebody with more than one account — the same rule the account
63
- // menu's group headers follow.
64
- const namesTheOperator = showsPrincipalHeaders(principals);
65
- const rows = principals.flatMap(principal => principal.contexts.map(context => ({
66
- context,
67
- operatedBy: namesTheOperator && context.isDelegated ? t('accountSwitcher.context.operatedBy', {
68
- name: principal.displayName
69
- }) : null
70
- })));
71
- return /*#__PURE__*/_jsxs(View, {
72
- style: styles.signInBlock,
73
- children: [rows.length > 0 ? /*#__PURE__*/_jsxs(View, {
74
- style: styles.rows,
75
- children: [rows.map(({
76
- context,
77
- operatedBy
78
- }) => /*#__PURE__*/_jsx(AccountRow, {
79
- context: context,
80
- operatedBy: operatedBy,
81
- continueAsLabel: snapshot.hasSession ? null : t('signin.chooser.continueAs', {
82
- name: context.handle ? `@${context.handle}` : context.displayName
83
- }),
84
- theme: theme,
85
- activating: snapshot.activatingContextId === context.contextId,
86
- disabled: snapshot.activatingContextId !== null,
87
- onPress: () => handlers.onActivate(context.contextId)
88
- }, context.contextId)), /*#__PURE__*/_jsx(Dividerish, {
89
- theme: theme,
90
- label: t('signin.or')
91
- })]
92
- }) : null, web ? /*#__PURE__*/_jsx(Text, {
93
- style: [styles.mutedText, {
94
- color: theme.colors.textSecondary
95
- }],
96
- children: t('accountSwitcher.passkeyHint')
97
- }) : null, /*#__PURE__*/_jsx(Button, {
98
- appearance: "solid",
99
- tone: "accent"
100
- // `lg` (44dp): the surface's ONE primary action is a full-width CTA, and
101
- // the default `md` (36dp) is under the touch-target minimum on Android.
102
- ,
103
- size: "lg",
104
- onPress: web ? alternatives.onSignInWithPasskey : onContinueWithOxy,
105
- style: styles.primaryButton,
106
- testID: "continue-with-oxy",
107
- children: web ? t('accountSwitcher.continueWithPasskey') : t('accountSwitcher.continueWithOxy')
108
- }), /*#__PURE__*/_jsx(SubtleLink, {
109
- label: t('signin.createAccountLink'),
110
- theme: theme,
111
- onPress: alternatives.onCreateAccount,
112
- testID: "create-account-link"
113
- }), web ? /*#__PURE__*/_jsx(SubtleLink, {
114
- label: t('accountSwitcher.otherDeviceCommons'),
115
- theme: theme,
116
- onPress: alternatives.onShowQr,
117
- testID: "scan-qr-link"
118
- }) : null, /*#__PURE__*/_jsx(TroubleDisclosure, {
119
- actions: troubleActions,
120
- revealed: false,
121
- theme: theme,
122
- t: t
123
- })]
124
- });
125
- };
126
- export default SignInEntryView;
127
- //# sourceMappingURL=SignInEntryView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["View","Button","Text","showsPrincipalHeaders","TroubleDisclosure","AccountRow","Dividerish","SubtleLink","authChooserStyles","styles","jsx","_jsx","jsxs","_jsxs","SignInEntryView","snapshot","principals","theme","t","handlers","onContinueWithOxy","alternatives","web","passkeyAvailable","troubleActions","key","label","onPress","onGetCommons","onShowQr","namesTheOperator","rows","flatMap","principal","contexts","map","context","operatedBy","isDelegated","name","displayName","style","signInBlock","children","length","continueAsLabel","hasSession","handle","activating","activatingContextId","contextId","disabled","onActivate","mutedText","color","colors","textSecondary","appearance","tone","size","onSignInWithPasskey","primaryButton","testID","onCreateAccount","actions","revealed"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/SignInEntryView.tsx"],"mappings":"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","ignoreList":[]}