@oxy.so/services 6.2.0 → 8.1.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.
- package/README.md +80 -136
- package/lib/commonjs/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/icons/manifest.json +5 -21
- package/lib/commonjs/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/commonjs/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/commonjs/assets/fonts/icons/manifest.json +5 -21
- package/lib/commonjs/index.js +21 -15
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/boot/runProviderColdBoot.js +2 -1
- package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +2 -3
- package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAuthChooser.js +15 -32
- package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInRequestSurface.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileButton.js +1 -1
- package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +2 -2
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +6 -17
- package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +1 -1
- package/lib/commonjs/ui/components/authChooser/primitives.js +1 -102
- package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/styles.js +0 -33
- package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/types.js +0 -8
- package/lib/commonjs/ui/components/authChooser/types.js.map +1 -1
- package/lib/commonjs/ui/components/signIn/InlineCommonsQr.js +1 -1
- package/lib/commonjs/ui/components/signIn/OxyAccountPicker.js +153 -58
- package/lib/commonjs/ui/components/signIn/OxyAccountPicker.js.map +1 -1
- package/lib/commonjs/ui/components/signIn/OxyAuthenticatorPanel.js +325 -0
- package/lib/commonjs/ui/components/signIn/OxyAuthenticatorPanel.js.map +1 -0
- package/lib/commonjs/ui/components/signIn/OxyDeleteAccountPanel.js +52 -56
- package/lib/commonjs/ui/components/signIn/OxyDeleteAccountPanel.js.map +1 -1
- package/lib/commonjs/ui/components/signIn/OxyLinkCommonsPanel.js +48 -38
- package/lib/commonjs/ui/components/signIn/OxyLinkCommonsPanel.js.map +1 -1
- package/lib/commonjs/ui/components/signIn/OxyPasswordPanel.js +141 -0
- package/lib/commonjs/ui/components/signIn/OxyPasswordPanel.js.map +1 -0
- package/lib/commonjs/ui/components/signIn/OxySignInPanel.js +496 -201
- package/lib/commonjs/ui/components/signIn/OxySignInPanel.js.map +1 -1
- package/lib/commonjs/ui/components/signIn/OxySignUpPanel.js +211 -42
- package/lib/commonjs/ui/components/signIn/OxySignUpPanel.js.map +1 -1
- package/lib/commonjs/ui/components/signIn/ReauthStep.js +186 -0
- package/lib/commonjs/ui/components/signIn/ReauthStep.js.map +1 -0
- package/lib/commonjs/ui/components/signIn/accountFlowParts.js +103 -26
- package/lib/commonjs/ui/components/signIn/accountFlowParts.js.map +1 -1
- package/lib/commonjs/ui/components/signIn/signInFlowStore.js +50 -0
- package/lib/commonjs/ui/components/signIn/signInFlowStore.js.map +1 -0
- package/lib/commonjs/ui/components/signIn/signInMethods.js +11 -25
- package/lib/commonjs/ui/components/signIn/signInMethods.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +125 -119
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +11 -10
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/context/useOxyAccountGraph.js +4 -4
- package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +19 -9
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +4 -4
- package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js +23 -3
- package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +8 -8
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useAuthMethods.js +27 -15
- package/lib/commonjs/ui/hooks/queries/useAuthMethods.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useFileQueries.js +5 -2
- package/lib/commonjs/ui/hooks/queries/useFileQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js +8 -8
- package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +4 -3
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +6 -6
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAssets.js +36 -20
- package/lib/commonjs/ui/hooks/useAssets.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAvatarPicker.js +6 -4
- package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
- package/lib/commonjs/ui/hooks/useDeviceManagement.js +5 -5
- package/lib/commonjs/ui/hooks/useDeviceManagement.js.map +1 -1
- package/lib/commonjs/ui/hooks/useDeviceSwitcher.js +2 -2
- package/lib/commonjs/ui/hooks/useDeviceSwitcher.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFileDownloadUrl.js +1 -4
- package/lib/commonjs/ui/hooks/useFileDownloadUrl.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFollow.js +2 -2
- package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFollowTarget.js +5 -5
- package/lib/commonjs/ui/hooks/useFollowTarget.js.map +1 -1
- package/lib/commonjs/ui/hooks/useI18n.js +4 -1
- package/lib/commonjs/ui/hooks/useI18n.js.map +1 -1
- package/lib/commonjs/ui/hooks/useResolvedFileUrls.js +2 -2
- package/lib/commonjs/ui/hooks/useResolvedFileUrls.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js +3 -3
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/commonjs/ui/icons/subsetGlyphMaps.js +0 -16
- package/lib/commonjs/ui/icons/subsetGlyphMaps.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +6 -4
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/navigation/surfaceRegistry.js +1 -1
- package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -1
- package/lib/commonjs/ui/oauth/browserBridge.js +247 -0
- package/lib/commonjs/ui/oauth/browserBridge.js.map +1 -0
- package/lib/commonjs/ui/oauth/completeOAuthCode.js +1 -1
- package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -1
- package/lib/commonjs/ui/oauth/explicitOAuthConsent.js +1 -1
- package/lib/commonjs/ui/oauth/explicitOAuthConsent.js.map +1 -1
- package/lib/commonjs/ui/runtime/createOxyRuntime.js +9 -8
- package/lib/commonjs/ui/runtime/createOxyRuntime.js.map +1 -1
- package/lib/commonjs/ui/runtime/runtimeContext.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountMembersScreen.js +7 -7
- package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSecurityPanelScreen.js +35 -0
- package/lib/commonjs/ui/screens/AccountSecurityPanelScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +3 -3
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js +1 -1
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AppInfoScreen.js +5 -5
- package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AvatarCropScreen.js +3 -3
- package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ChangeAvatarScreen.js +1 -1
- package/lib/commonjs/ui/screens/ChangeAvatarScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CreateAccountScreen.js +1 -1
- package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/DeleteAccountScreen.js +19 -0
- package/lib/commonjs/ui/screens/DeleteAccountScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/DomainsScreen.js +217 -0
- package/lib/commonjs/ui/screens/DomainsScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/EditProfileScreen.js +1 -1
- package/lib/commonjs/ui/screens/EditProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +25 -11
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HelpSupportScreen.js +1 -17
- package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LinkCommonsScreen.js +14 -0
- package/lib/commonjs/ui/screens/LinkCommonsScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +57 -61
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +52 -62
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +5 -13
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SearchSettingsScreen.js +15 -24
- package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SignInAuthenticatorScreen.js +14 -0
- package/lib/commonjs/ui/screens/SignInAuthenticatorScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/SignInPasswordScreen.js +20 -0
- package/lib/commonjs/ui/screens/SignInPasswordScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/UserListScreen.js +3 -3
- package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +25 -17
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +2 -2
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +8 -14
- package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +11 -9
- package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
- package/lib/commonjs/ui/session/authStore.js +4 -4
- package/lib/commonjs/ui/session/authStore.js.map +1 -1
- package/lib/commonjs/ui/session/backgroundSession.js +5 -40
- package/lib/commonjs/ui/session/backgroundSession.js.map +1 -1
- package/lib/commonjs/ui/session/createSessionClient.js +3 -3
- package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
- package/lib/commonjs/ui/session/deviceCredentialTracker.js +42 -0
- package/lib/commonjs/ui/session/deviceCredentialTracker.js.map +1 -0
- package/lib/commonjs/ui/session/identityBinding.js +3 -3
- package/lib/commonjs/ui/session/identityBinding.js.map +1 -1
- package/lib/commonjs/ui/session/index.js +6 -6
- package/lib/commonjs/ui/session/index.js.map +1 -1
- package/lib/commonjs/ui/session/sharedDeviceCredentialStore.js +2 -2
- package/lib/commonjs/ui/session/sharedDeviceCredentialStore.js.map +1 -1
- package/lib/commonjs/ui/session/tokenTransport.js +3 -3
- package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
- package/lib/commonjs/ui/stores/assetStore.js +12 -0
- package/lib/commonjs/ui/stores/assetStore.js.map +1 -1
- package/lib/commonjs/ui/stores/followStore.js +6 -6
- package/lib/commonjs/ui/stores/followStore.js.map +1 -1
- package/lib/commonjs/ui/utils/accountDeletionHandoff.js +1 -4
- package/lib/commonjs/ui/utils/accountDeletionHandoff.js.map +1 -1
- package/lib/commonjs/ui/utils/avatarUtils.js +1 -1
- package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
- package/lib/commonjs/ui/utils/deviceCredential.js +11 -4
- package/lib/commonjs/ui/utils/deviceCredential.js.map +1 -1
- package/lib/commonjs/ui/utils/fileManagement.js +0 -10
- package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
- package/lib/commonjs/ui/utils/sessionHelpers.js +2 -2
- package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
- package/lib/module/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/module/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/module/assets/assets/fonts/icons/manifest.json +5 -21
- package/lib/module/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/module/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/module/assets/fonts/icons/manifest.json +5 -21
- package/lib/module/index.js +6 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/boot/runProviderColdBoot.js +2 -1
- package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
- package/lib/module/ui/components/OxyAccountDialogScreen.js +2 -3
- package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
- package/lib/module/ui/components/OxyAuthChooser.js +15 -32
- package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +1 -1
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/OxySignInRequestSurface.js.map +1 -1
- package/lib/module/ui/components/ProfileButton.js +1 -1
- package/lib/module/ui/components/ProfileButton.js.map +1 -1
- package/lib/module/ui/components/authChooser/AccountsMenuView.js +1 -1
- package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -1
- package/lib/module/ui/components/authChooser/SignInRequestView.js +6 -17
- package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -1
- package/lib/module/ui/components/authChooser/TroubleDisclosure.js +1 -1
- package/lib/module/ui/components/authChooser/primitives.js +2 -103
- package/lib/module/ui/components/authChooser/primitives.js.map +1 -1
- package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -1
- package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -1
- package/lib/module/ui/components/authChooser/styles.js +0 -33
- package/lib/module/ui/components/authChooser/styles.js.map +1 -1
- package/lib/module/ui/components/authChooser/types.js +0 -8
- package/lib/module/ui/components/authChooser/types.js.map +1 -1
- package/lib/module/ui/components/signIn/InlineCommonsQr.js +1 -1
- package/lib/module/ui/components/signIn/OxyAccountPicker.js +155 -58
- package/lib/module/ui/components/signIn/OxyAccountPicker.js.map +1 -1
- package/lib/module/ui/components/signIn/OxyAuthenticatorPanel.js +321 -0
- package/lib/module/ui/components/signIn/OxyAuthenticatorPanel.js.map +1 -0
- package/lib/module/ui/components/signIn/OxyDeleteAccountPanel.js +54 -58
- package/lib/module/ui/components/signIn/OxyDeleteAccountPanel.js.map +1 -1
- package/lib/module/ui/components/signIn/OxyLinkCommonsPanel.js +48 -38
- package/lib/module/ui/components/signIn/OxyLinkCommonsPanel.js.map +1 -1
- package/lib/module/ui/components/signIn/OxyPasswordPanel.js +136 -0
- package/lib/module/ui/components/signIn/OxyPasswordPanel.js.map +1 -0
- package/lib/module/ui/components/signIn/OxySignInPanel.js +496 -201
- package/lib/module/ui/components/signIn/OxySignInPanel.js.map +1 -1
- package/lib/module/ui/components/signIn/OxySignUpPanel.js +212 -43
- package/lib/module/ui/components/signIn/OxySignUpPanel.js.map +1 -1
- package/lib/module/ui/components/signIn/ReauthStep.js +181 -0
- package/lib/module/ui/components/signIn/ReauthStep.js.map +1 -0
- package/lib/module/ui/components/signIn/accountFlowParts.js +97 -26
- package/lib/module/ui/components/signIn/accountFlowParts.js.map +1 -1
- package/lib/module/ui/components/signIn/signInFlowStore.js +44 -0
- package/lib/module/ui/components/signIn/signInFlowStore.js.map +1 -0
- package/lib/module/ui/components/signIn/signInMethods.js +11 -25
- package/lib/module/ui/components/signIn/signInMethods.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +121 -115
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +7 -7
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/context/useOxyAccountGraph.js +4 -4
- package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
- package/lib/module/ui/hooks/mutations/mutationFactory.js +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +19 -9
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useServicesMutations.js +4 -4
- package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/queryKeys.js +23 -3
- package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +8 -8
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useAuthMethods.js +25 -14
- package/lib/module/ui/hooks/queries/useAuthMethods.js.map +1 -1
- package/lib/module/ui/hooks/queries/useFileQueries.js +5 -2
- package/lib/module/ui/hooks/queries/useFileQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/usePaymentQueries.js +8 -8
- package/lib/module/ui/hooks/queries/usePaymentQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js +4 -3
- package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useServicesQueries.js +6 -6
- package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/module/ui/hooks/useAssets.js +36 -20
- package/lib/module/ui/hooks/useAssets.js.map +1 -1
- package/lib/module/ui/hooks/useAvatarPicker.js +6 -4
- package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
- package/lib/module/ui/hooks/useDeviceManagement.js +4 -4
- package/lib/module/ui/hooks/useDeviceManagement.js.map +1 -1
- package/lib/module/ui/hooks/useDeviceSwitcher.js +2 -2
- package/lib/module/ui/hooks/useDeviceSwitcher.js.map +1 -1
- package/lib/module/ui/hooks/useFileDownloadUrl.js +1 -4
- package/lib/module/ui/hooks/useFileDownloadUrl.js.map +1 -1
- package/lib/module/ui/hooks/useFollow.js +2 -2
- package/lib/module/ui/hooks/useFollow.js.map +1 -1
- package/lib/module/ui/hooks/useFollowTarget.js +5 -5
- package/lib/module/ui/hooks/useFollowTarget.js.map +1 -1
- package/lib/module/ui/hooks/useI18n.js +6 -3
- package/lib/module/ui/hooks/useI18n.js.map +1 -1
- package/lib/module/ui/hooks/useResolvedFileUrls.js +2 -2
- package/lib/module/ui/hooks/useResolvedFileUrls.js.map +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js +3 -3
- package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/module/ui/icons/subsetGlyphMaps.js +0 -16
- package/lib/module/ui/icons/subsetGlyphMaps.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +6 -4
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/navigation/surfaceRegistry.js +1 -1
- package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -1
- package/lib/module/ui/oauth/browserBridge.js +239 -0
- package/lib/module/ui/oauth/browserBridge.js.map +1 -0
- package/lib/module/ui/oauth/completeOAuthCode.js +1 -1
- package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -1
- package/lib/module/ui/oauth/explicitOAuthConsent.js +1 -1
- package/lib/module/ui/oauth/explicitOAuthConsent.js.map +1 -1
- package/lib/module/ui/runtime/createOxyRuntime.js +4 -3
- package/lib/module/ui/runtime/createOxyRuntime.js.map +1 -1
- package/lib/module/ui/runtime/runtimeContext.js.map +1 -1
- package/lib/module/ui/screens/AccountMembersScreen.js +7 -7
- package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSecurityPanelScreen.js +32 -0
- package/lib/module/ui/screens/AccountSecurityPanelScreen.js.map +1 -0
- package/lib/module/ui/screens/AccountSettingsScreen.js +3 -3
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js +1 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js +5 -5
- package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/module/ui/screens/AvatarCropScreen.js +3 -3
- package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
- package/lib/module/ui/screens/ChangeAvatarScreen.js +1 -1
- package/lib/module/ui/screens/ChangeAvatarScreen.js.map +1 -1
- package/lib/module/ui/screens/CreateAccountScreen.js +1 -1
- package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/DeleteAccountScreen.js +17 -0
- package/lib/module/ui/screens/DeleteAccountScreen.js.map +1 -0
- package/lib/module/ui/screens/DomainsScreen.js +212 -0
- package/lib/module/ui/screens/DomainsScreen.js.map +1 -0
- package/lib/module/ui/screens/EditProfileScreen.js +1 -1
- package/lib/module/ui/screens/EditProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +25 -11
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/HelpSupportScreen.js +1 -17
- package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/module/ui/screens/LinkCommonsScreen.js +12 -0
- package/lib/module/ui/screens/LinkCommonsScreen.js.map +1 -0
- package/lib/module/ui/screens/ManageAccountScreen.js +58 -62
- package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +53 -63
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +5 -13
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/SearchSettingsScreen.js +16 -25
- package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/SignInAuthenticatorScreen.js +12 -0
- package/lib/module/ui/screens/SignInAuthenticatorScreen.js.map +1 -0
- package/lib/module/ui/screens/SignInPasswordScreen.js +18 -0
- package/lib/module/ui/screens/SignInPasswordScreen.js.map +1 -0
- package/lib/module/ui/screens/UserListScreen.js +3 -3
- package/lib/module/ui/screens/UserListScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustCenterScreen.js +26 -18
- package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +2 -2
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustRewardsScreen.js +9 -15
- package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustRulesScreen.js +12 -10
- package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
- package/lib/module/ui/session/authStore.js +1 -1
- package/lib/module/ui/session/authStore.js.map +1 -1
- package/lib/module/ui/session/backgroundSession.js +5 -40
- package/lib/module/ui/session/backgroundSession.js.map +1 -1
- package/lib/module/ui/session/createSessionClient.js +1 -1
- package/lib/module/ui/session/createSessionClient.js.map +1 -1
- package/lib/module/ui/session/deviceCredentialTracker.js +38 -0
- package/lib/module/ui/session/deviceCredentialTracker.js.map +1 -0
- package/lib/module/ui/session/identityBinding.js +1 -1
- package/lib/module/ui/session/identityBinding.js.map +1 -1
- package/lib/module/ui/session/index.js +1 -1
- package/lib/module/ui/session/index.js.map +1 -1
- package/lib/module/ui/session/sharedDeviceCredentialStore.js +1 -1
- package/lib/module/ui/session/sharedDeviceCredentialStore.js.map +1 -1
- package/lib/module/ui/session/tokenTransport.js +3 -3
- package/lib/module/ui/session/tokenTransport.js.map +1 -1
- package/lib/module/ui/stores/assetStore.js +12 -0
- package/lib/module/ui/stores/assetStore.js.map +1 -1
- package/lib/module/ui/stores/followStore.js +6 -6
- package/lib/module/ui/stores/followStore.js.map +1 -1
- package/lib/module/ui/utils/accountDeletionHandoff.js +2 -5
- package/lib/module/ui/utils/accountDeletionHandoff.js.map +1 -1
- package/lib/module/ui/utils/avatarUtils.js +1 -1
- package/lib/module/ui/utils/avatarUtils.js.map +1 -1
- package/lib/module/ui/utils/deviceCredential.js +10 -3
- package/lib/module/ui/utils/deviceCredential.js.map +1 -1
- package/lib/module/ui/utils/fileManagement.js +0 -9
- package/lib/module/ui/utils/fileManagement.js.map +1 -1
- package/lib/module/ui/utils/sessionHelpers.js +2 -2
- package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +5 -5
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +3 -2
- package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts +2 -3
- package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +7 -7
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +3 -4
- package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +1 -34
- package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts +0 -33
- package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +1 -12
- package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/signIn/InlineCommonsQr.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/signIn/OxyAccountPicker.d.ts +10 -4
- package/lib/typescript/commonjs/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/signIn/OxyAuthenticatorPanel.d.ts +19 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxyDeleteAccountPanel.d.ts +10 -6
- package/lib/typescript/commonjs/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/signIn/OxyLinkCommonsPanel.d.ts +6 -6
- package/lib/typescript/commonjs/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/signIn/OxyPasswordPanel.d.ts +15 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/signIn/OxySignInPanel.d.ts +21 -19
- package/lib/typescript/commonjs/ui/components/signIn/OxySignInPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/signIn/OxySignUpPanel.d.ts +16 -7
- package/lib/typescript/commonjs/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/signIn/ReauthStep.d.ts +34 -0
- package/lib/typescript/commonjs/ui/components/signIn/ReauthStep.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/signIn/accountFlowParts.d.ts +38 -12
- package/lib/typescript/commonjs/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/signIn/signInFlowStore.d.ts +20 -0
- package/lib/typescript/commonjs/ui/components/signIn/signInFlowStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/signIn/signInMethods.d.ts +8 -21
- package/lib/typescript/commonjs/ui/components/signIn/signInMethods.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +2 -1
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +4 -39
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +2 -1
- package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +4 -4
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useServicesMutations.d.ts +5 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +19 -1
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useAuthMethods.d.ts +13 -20
- package/lib/typescript/commonjs/ui/hooks/queries/useAuthMethods.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/usePaymentQueries.d.ts +4 -4
- package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +3 -5
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts +5 -5
- package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/useDeviceSwitcher.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/useI18n.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useResolvedFileUrls.d.ts +9 -7
- package/lib/typescript/commonjs/ui/hooks/useResolvedFileUrls.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts +1 -1
- package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts +1 -1
- package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts +0 -16
- package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +1 -1
- package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +7 -5
- package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/oauth/browserBridge.d.ts +97 -0
- package/lib/typescript/commonjs/ui/oauth/browserBridge.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts +6 -2
- package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/runtime/runtimeContext.d.ts +2 -1
- package/lib/typescript/commonjs/ui/runtime/runtimeContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/runtime/types.d.ts +2 -1
- package/lib/typescript/commonjs/ui/runtime/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountSecurityPanelScreen.d.ts +11 -0
- package/lib/typescript/commonjs/ui/screens/AccountSecurityPanelScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/DeleteAccountScreen.d.ts +6 -0
- package/lib/typescript/commonjs/ui/screens/DeleteAccountScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/{SavesCollectionsScreen.d.ts → DomainsScreen.d.ts} +1 -1
- package/lib/typescript/commonjs/ui/screens/DomainsScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/LinkCommonsScreen.d.ts +6 -0
- package/lib/typescript/commonjs/ui/screens/LinkCommonsScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/SignInAuthenticatorScreen.d.ts +6 -0
- package/lib/typescript/commonjs/ui/screens/SignInAuthenticatorScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/SignInPasswordScreen.d.ts +6 -0
- package/lib/typescript/commonjs/ui/screens/SignInPasswordScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/authStore.d.ts +1 -1
- package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/backgroundSession.d.ts +3 -4
- package/lib/typescript/commonjs/ui/session/backgroundSession.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +2 -1
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/deviceCredentialTracker.d.ts +23 -0
- package/lib/typescript/commonjs/ui/session/deviceCredentialTracker.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/session/identityBinding.d.ts +1 -1
- package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/index.d.ts +1 -1
- package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts +1 -1
- package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/sharedDeviceCredentialStore.d.ts +1 -1
- package/lib/typescript/commonjs/ui/session/sharedDeviceCredentialStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +3 -2
- package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/stores/assetStore.d.ts +7 -0
- package/lib/typescript/commonjs/ui/stores/assetStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/accountDeletionHandoff.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/deviceCredential.d.ts +10 -3
- package/lib/typescript/commonjs/ui/utils/deviceCredential.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +1 -5
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +5 -5
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +3 -2
- package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts +2 -3
- package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +7 -7
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts +2 -1
- package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +1 -1
- package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +3 -4
- package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +1 -1
- package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +1 -34
- package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +2 -1
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts +1 -1
- package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts +2 -1
- package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/styles.d.ts +0 -33
- package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/types.d.ts +1 -12
- package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/signIn/InlineCommonsQr.d.ts +1 -1
- package/lib/typescript/module/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/signIn/OxyAccountPicker.d.ts +10 -4
- package/lib/typescript/module/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/signIn/OxyAuthenticatorPanel.d.ts +19 -0
- package/lib/typescript/module/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/signIn/OxyDeleteAccountPanel.d.ts +10 -6
- package/lib/typescript/module/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/signIn/OxyLinkCommonsPanel.d.ts +6 -6
- package/lib/typescript/module/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/signIn/OxyPasswordPanel.d.ts +15 -0
- package/lib/typescript/module/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/signIn/OxySignInPanel.d.ts +21 -19
- package/lib/typescript/module/ui/components/signIn/OxySignInPanel.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/signIn/OxySignUpPanel.d.ts +16 -7
- package/lib/typescript/module/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/signIn/ReauthStep.d.ts +34 -0
- package/lib/typescript/module/ui/components/signIn/ReauthStep.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/signIn/accountFlowParts.d.ts +38 -12
- package/lib/typescript/module/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/signIn/signInFlowStore.d.ts +20 -0
- package/lib/typescript/module/ui/components/signIn/signInFlowStore.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/signIn/signInMethods.d.ts +8 -21
- package/lib/typescript/module/ui/components/signIn/signInMethods.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +2 -1
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +4 -39
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +2 -1
- package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +4 -4
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useServicesMutations.d.ts +5 -1
- package/lib/typescript/module/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +19 -1
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useAuthMethods.d.ts +13 -20
- package/lib/typescript/module/ui/hooks/queries/useAuthMethods.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/usePaymentQueries.d.ts +4 -4
- package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +3 -5
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAssets.d.ts +5 -5
- package/lib/typescript/module/ui/hooks/useAssets.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/useDeviceSwitcher.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useFollow.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/useI18n.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useResolvedFileUrls.d.ts +9 -7
- package/lib/typescript/module/ui/hooks/useResolvedFileUrls.d.ts.map +1 -1
- package/lib/typescript/module/ui/icons/Ionicons.d.ts +1 -1
- package/lib/typescript/module/ui/icons/Ionicons.d.ts.map +1 -1
- package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts +1 -1
- package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
- package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts +0 -16
- package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +7 -5
- package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -1
- package/lib/typescript/module/ui/oauth/browserBridge.d.ts +97 -0
- package/lib/typescript/module/ui/oauth/browserBridge.d.ts.map +1 -0
- package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts +6 -2
- package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts.map +1 -1
- package/lib/typescript/module/ui/runtime/runtimeContext.d.ts +2 -1
- package/lib/typescript/module/ui/runtime/runtimeContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/runtime/types.d.ts +2 -1
- package/lib/typescript/module/ui/runtime/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountSecurityPanelScreen.d.ts +11 -0
- package/lib/typescript/module/ui/screens/AccountSecurityPanelScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/DeleteAccountScreen.d.ts +6 -0
- package/lib/typescript/module/ui/screens/DeleteAccountScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/{SavesCollectionsScreen.d.ts → DomainsScreen.d.ts} +1 -1
- package/lib/typescript/module/ui/screens/DomainsScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/LinkCommonsScreen.d.ts +6 -0
- package/lib/typescript/module/ui/screens/LinkCommonsScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/SignInAuthenticatorScreen.d.ts +6 -0
- package/lib/typescript/module/ui/screens/SignInAuthenticatorScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/SignInPasswordScreen.d.ts +6 -0
- package/lib/typescript/module/ui/screens/SignInPasswordScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/authStore.d.ts +1 -1
- package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/backgroundSession.d.ts +3 -4
- package/lib/typescript/module/ui/session/backgroundSession.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/createSessionClient.d.ts +2 -1
- package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/deviceCredentialTracker.d.ts +23 -0
- package/lib/typescript/module/ui/session/deviceCredentialTracker.d.ts.map +1 -0
- package/lib/typescript/module/ui/session/identityBinding.d.ts +1 -1
- package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/index.d.ts +1 -1
- package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts +1 -1
- package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/sharedDeviceCredentialStore.d.ts +1 -1
- package/lib/typescript/module/ui/session/sharedDeviceCredentialStore.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/tokenTransport.d.ts +3 -2
- package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
- package/lib/typescript/module/ui/stores/assetStore.d.ts +7 -0
- package/lib/typescript/module/ui/stores/assetStore.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/accountDeletionHandoff.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/deviceCredential.d.ts +10 -3
- package/lib/typescript/module/ui/utils/deviceCredential.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/fileManagement.d.ts +1 -5
- package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
- package/package.json +4 -5
- package/src/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/src/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/src/assets/fonts/icons/manifest.json +5 -21
- package/src/index.ts +8 -8
- package/src/ui/boot/__tests__/coldBootNoIdpRedirect.test.ts +4 -4
- package/src/ui/boot/runProviderColdBoot.ts +3 -9
- package/src/ui/components/OxyAccountDialogScreen.tsx +2 -3
- package/src/ui/components/OxyAuthChooser.tsx +13 -36
- package/src/ui/components/OxySignInButton.tsx +1 -1
- package/src/ui/components/OxySignInRequestSurface.tsx +2 -1
- package/src/ui/components/ProfileButton.tsx +1 -1
- package/src/ui/components/authChooser/AccountsMenuView.tsx +1 -6
- package/src/ui/components/authChooser/SignInRequestView.tsx +5 -23
- package/src/ui/components/authChooser/TroubleDisclosure.tsx +1 -1
- package/src/ui/components/authChooser/primitives.tsx +2 -96
- package/src/ui/components/authChooser/requestSurfaces.tsx +2 -1
- package/src/ui/components/authChooser/signInFailureMessage.ts +1 -1
- package/src/ui/components/authChooser/signInProgress.ts +2 -1
- package/src/ui/components/authChooser/styles.ts +0 -33
- package/src/ui/components/authChooser/types.ts +1 -13
- package/src/ui/components/signIn/InlineCommonsQr.tsx +2 -2
- package/src/ui/components/signIn/OxyAccountPicker.tsx +131 -66
- package/src/ui/components/signIn/OxyAuthenticatorPanel.tsx +294 -0
- package/src/ui/components/signIn/OxyDeleteAccountPanel.tsx +48 -61
- package/src/ui/components/signIn/OxyLinkCommonsPanel.tsx +43 -35
- package/src/ui/components/signIn/OxyPasswordPanel.tsx +117 -0
- package/src/ui/components/signIn/OxySignInPanel.tsx +534 -214
- package/src/ui/components/signIn/OxySignUpPanel.tsx +186 -56
- package/src/ui/components/signIn/ReauthStep.tsx +201 -0
- package/src/ui/components/signIn/accountFlowParts.tsx +139 -33
- package/src/ui/components/signIn/signInFlowStore.ts +41 -0
- package/src/ui/components/signIn/signInMethods.ts +10 -29
- package/src/ui/context/OxyContext.tsx +124 -145
- package/src/ui/context/hooks/useAuthOperations.ts +9 -8
- package/src/ui/context/oxyContextTypes.ts +4 -41
- package/src/ui/context/useOxyAccountGraph.ts +6 -5
- package/src/ui/hooks/accountDialogSnapshot.ts +1 -1
- package/src/ui/hooks/mutations/mutationFactory.ts +1 -1
- package/src/ui/hooks/mutations/useAccountMutations.ts +11 -10
- package/src/ui/hooks/mutations/useServicesMutations.ts +4 -4
- package/src/ui/hooks/queries/queryKeys.ts +26 -2
- package/src/ui/hooks/queries/useAccountQueries.ts +8 -8
- package/src/ui/hooks/queries/useAuthMethods.ts +22 -19
- package/src/ui/hooks/queries/useFileQueries.ts +2 -2
- package/src/ui/hooks/queries/usePaymentQueries.ts +8 -8
- package/src/ui/hooks/queries/useSecurityQueries.ts +4 -3
- package/src/ui/hooks/queries/useServicesQueries.ts +6 -6
- package/src/ui/hooks/useAssets.ts +26 -31
- package/src/ui/hooks/useAvatarPicker.ts +4 -4
- package/src/ui/hooks/useDeviceManagement.ts +4 -4
- package/src/ui/hooks/useDeviceSwitcher.ts +2 -7
- package/src/ui/hooks/useFileDownloadUrl.ts +1 -5
- package/src/ui/hooks/useFollow.ts +2 -2
- package/src/ui/hooks/useFollowTarget.ts +5 -5
- package/src/ui/hooks/useI18n.ts +6 -3
- package/src/ui/hooks/useResolvedFileUrls.ts +8 -6
- package/src/ui/hooks/useSessionManagement.ts +3 -3
- package/src/ui/icons/subsetGlyphMaps.ts +0 -16
- package/src/ui/navigation/__tests__/getSurfaceConfig.test.ts +1 -1
- package/src/ui/navigation/accountDialogManager.ts +1 -1
- package/src/ui/navigation/routes.ts +11 -8
- package/src/ui/navigation/surfaceRegistry.ts +8 -6
- package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +8 -8
- package/src/ui/oauth/__tests__/browserBridge.test.ts +198 -0
- package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +1 -1
- package/src/ui/oauth/__tests__/explicitOAuthConsent.test.ts +11 -11
- package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +7 -7
- package/src/ui/oauth/browserBridge.ts +234 -0
- package/src/ui/oauth/completeOAuthCode.ts +1 -1
- package/src/ui/oauth/explicitOAuthConsent.ts +1 -1
- package/src/ui/runtime/createOxyRuntime.ts +8 -16
- package/src/ui/runtime/runtimeContext.tsx +2 -1
- package/src/ui/runtime/types.ts +2 -1
- package/src/ui/screens/AccountMembersScreen.tsx +7 -7
- package/src/ui/screens/AccountSecurityPanelScreen.tsx +26 -0
- package/src/ui/screens/AccountSettingsScreen.tsx +3 -3
- package/src/ui/screens/AccountVerificationScreen.tsx +1 -1
- package/src/ui/screens/AppInfoScreen.tsx +5 -5
- package/src/ui/screens/AvatarCropScreen.tsx +3 -3
- package/src/ui/screens/ChangeAvatarScreen.tsx +1 -1
- package/src/ui/screens/CreateAccountScreen.tsx +1 -1
- package/src/ui/screens/DeleteAccountScreen.tsx +13 -0
- package/src/ui/screens/DomainsScreen.tsx +187 -0
- package/src/ui/screens/EditProfileScreen.tsx +1 -1
- package/src/ui/screens/FileManagementScreen.tsx +15 -21
- package/src/ui/screens/HelpSupportScreen.tsx +0 -15
- package/src/ui/screens/LinkCommonsScreen.tsx +13 -0
- package/src/ui/screens/ManageAccountScreen.tsx +47 -82
- package/src/ui/screens/PrivacySettingsScreen.tsx +48 -67
- package/src/ui/screens/ProfileScreen.tsx +5 -10
- package/src/ui/screens/SearchSettingsScreen.tsx +15 -27
- package/src/ui/screens/SignInAuthenticatorScreen.tsx +13 -0
- package/src/ui/screens/SignInPasswordScreen.tsx +13 -0
- package/src/ui/screens/UserListScreen.tsx +3 -3
- package/src/ui/screens/WelcomeNewUserScreen.tsx +1 -1
- package/src/ui/screens/trust/TrustCenterScreen.tsx +25 -29
- package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +2 -2
- package/src/ui/screens/trust/TrustRewardsScreen.tsx +9 -19
- package/src/ui/screens/trust/TrustRulesScreen.tsx +14 -14
- package/src/ui/session/__tests__/authStore.test.ts +1 -1
- package/src/ui/session/__tests__/backgroundSession.test.ts +2 -61
- package/src/ui/session/__tests__/createSessionClient.test.ts +7 -9
- package/src/ui/session/__tests__/sharedDeviceCredentialStore.test.ts +1 -1
- package/src/ui/session/__tests__/tokenTransport.test.ts +9 -7
- package/src/ui/session/authStore.ts +1 -7
- package/src/ui/session/backgroundSession.ts +5 -41
- package/src/ui/session/createSessionClient.ts +2 -6
- package/src/ui/session/deviceCredentialTracker.ts +49 -0
- package/src/ui/session/identityBinding.ts +1 -6
- package/src/ui/session/index.ts +1 -1
- package/src/ui/session/nativeSecureStorage.ts +1 -1
- package/src/ui/session/sharedDeviceCredentialStore.ts +1 -6
- package/src/ui/session/tokenTransport.ts +5 -4
- package/src/ui/stores/__tests__/followStore.test.ts +13 -15
- package/src/ui/stores/assetStore.ts +15 -0
- package/src/ui/stores/followStore.ts +7 -7
- package/src/ui/types/navigation.ts +2 -1
- package/src/ui/utils/accountDeletionHandoff.ts +2 -4
- package/src/ui/utils/avatarUtils.ts +1 -1
- package/src/ui/utils/deviceCredential.ts +11 -4
- package/src/ui/utils/fileManagement.ts +0 -12
- package/src/ui/utils/sessionHelpers.ts +2 -2
- package/lib/commonjs/ui/components/signIn/OxyCreateAccountPanel.js +0 -236
- package/lib/commonjs/ui/components/signIn/OxyCreateAccountPanel.js.map +0 -1
- package/lib/commonjs/ui/components/signIn/OxyRecoverAccountPanel.js +0 -170
- package/lib/commonjs/ui/components/signIn/OxyRecoverAccountPanel.js.map +0 -1
- package/lib/commonjs/ui/components/signIn/passkeyError.js +0 -46
- package/lib/commonjs/ui/components/signIn/passkeyError.js.map +0 -1
- package/lib/commonjs/ui/context/passkeyFlow.js +0 -114
- package/lib/commonjs/ui/context/passkeyFlow.js.map +0 -1
- package/lib/commonjs/ui/screens/FAQScreen.js +0 -162
- package/lib/commonjs/ui/screens/FAQScreen.js.map +0 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +0 -601
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +0 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +0 -968
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +0 -1
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +0 -132
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +0 -1
- package/lib/commonjs/webauthn/passkeyClient.js +0 -39
- package/lib/commonjs/webauthn/passkeyClient.js.map +0 -1
- package/lib/commonjs/webauthn/passkeyClient.native.js +0 -34
- package/lib/commonjs/webauthn/passkeyClient.native.js.map +0 -1
- package/lib/commonjs/webauthn/passkeyClient.web.js +0 -57
- package/lib/commonjs/webauthn/passkeyClient.web.js.map +0 -1
- package/lib/module/ui/components/signIn/OxyCreateAccountPanel.js +0 -231
- package/lib/module/ui/components/signIn/OxyCreateAccountPanel.js.map +0 -1
- package/lib/module/ui/components/signIn/OxyRecoverAccountPanel.js +0 -165
- package/lib/module/ui/components/signIn/OxyRecoverAccountPanel.js.map +0 -1
- package/lib/module/ui/components/signIn/passkeyError.js +0 -40
- package/lib/module/ui/components/signIn/passkeyError.js.map +0 -1
- package/lib/module/ui/context/passkeyFlow.js +0 -107
- package/lib/module/ui/context/passkeyFlow.js.map +0 -1
- package/lib/module/ui/screens/FAQScreen.js +0 -157
- package/lib/module/ui/screens/FAQScreen.js.map +0 -1
- package/lib/module/ui/screens/FeedbackScreen.js +0 -599
- package/lib/module/ui/screens/FeedbackScreen.js.map +0 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +0 -963
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +0 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js +0 -127
- package/lib/module/ui/screens/SavesCollectionsScreen.js.map +0 -1
- package/lib/module/webauthn/passkeyClient.js +0 -33
- package/lib/module/webauthn/passkeyClient.js.map +0 -1
- package/lib/module/webauthn/passkeyClient.native.js +0 -28
- package/lib/module/webauthn/passkeyClient.native.js.map +0 -1
- package/lib/module/webauthn/passkeyClient.web.js +0 -52
- package/lib/module/webauthn/passkeyClient.web.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/signIn/OxyCreateAccountPanel.d.ts +0 -24
- package/lib/typescript/commonjs/ui/components/signIn/OxyCreateAccountPanel.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/signIn/OxyRecoverAccountPanel.d.ts +0 -20
- package/lib/typescript/commonjs/ui/components/signIn/OxyRecoverAccountPanel.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/signIn/passkeyError.d.ts +0 -16
- package/lib/typescript/commonjs/ui/components/signIn/passkeyError.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/context/passkeyFlow.d.ts +0 -92
- package/lib/typescript/commonjs/ui/context/passkeyFlow.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts +0 -5
- package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts +0 -5
- package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts +0 -5
- package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +0 -1
- package/lib/typescript/commonjs/webauthn/passkeyClient.d.ts +0 -20
- package/lib/typescript/commonjs/webauthn/passkeyClient.d.ts.map +0 -1
- package/lib/typescript/commonjs/webauthn/passkeyClient.native.d.ts +0 -15
- package/lib/typescript/commonjs/webauthn/passkeyClient.native.d.ts.map +0 -1
- package/lib/typescript/commonjs/webauthn/passkeyClient.web.d.ts +0 -36
- package/lib/typescript/commonjs/webauthn/passkeyClient.web.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/signIn/OxyCreateAccountPanel.d.ts +0 -24
- package/lib/typescript/module/ui/components/signIn/OxyCreateAccountPanel.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/signIn/OxyRecoverAccountPanel.d.ts +0 -20
- package/lib/typescript/module/ui/components/signIn/OxyRecoverAccountPanel.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/signIn/passkeyError.d.ts +0 -16
- package/lib/typescript/module/ui/components/signIn/passkeyError.d.ts.map +0 -1
- package/lib/typescript/module/ui/context/passkeyFlow.d.ts +0 -92
- package/lib/typescript/module/ui/context/passkeyFlow.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/FAQScreen.d.ts +0 -5
- package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts +0 -5
- package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts +0 -5
- package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +0 -1
- package/lib/typescript/module/webauthn/passkeyClient.d.ts +0 -20
- package/lib/typescript/module/webauthn/passkeyClient.d.ts.map +0 -1
- package/lib/typescript/module/webauthn/passkeyClient.native.d.ts +0 -15
- package/lib/typescript/module/webauthn/passkeyClient.native.d.ts.map +0 -1
- package/lib/typescript/module/webauthn/passkeyClient.web.d.ts +0 -36
- package/lib/typescript/module/webauthn/passkeyClient.web.d.ts.map +0 -1
- package/src/ui/components/signIn/OxyCreateAccountPanel.tsx +0 -207
- package/src/ui/components/signIn/OxyRecoverAccountPanel.tsx +0 -154
- package/src/ui/components/signIn/passkeyError.ts +0 -44
- package/src/ui/context/__tests__/passkeyFlow.test.ts +0 -239
- package/src/ui/context/passkeyFlow.ts +0 -145
- package/src/ui/screens/FAQScreen.tsx +0 -200
- package/src/ui/screens/FeedbackScreen.tsx +0 -766
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +0 -1103
- package/src/ui/screens/SavesCollectionsScreen.tsx +0 -167
- package/src/webauthn/passkeyClient.native.ts +0 -26
- package/src/webauthn/passkeyClient.ts +0 -31
- package/src/webauthn/passkeyClient.web.ts +0 -56
|
@@ -9,24 +9,13 @@ import {
|
|
|
9
9
|
useState,
|
|
10
10
|
} from 'react';
|
|
11
11
|
import { Linking, Platform } from 'react-native';
|
|
12
|
-
import {
|
|
12
|
+
import { OxyServices } from '@oxy.so/core';
|
|
13
13
|
import type { LoginSessionResult } from '@oxy.so/contracts';
|
|
14
|
-
import type {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
AccountDialogController,
|
|
20
|
-
AccountDialogView,
|
|
21
|
-
} from '@oxy.so/core';
|
|
22
|
-
import {
|
|
23
|
-
KeyManager,
|
|
24
|
-
establishIdentitySession,
|
|
25
|
-
installAuthRefreshHandler,
|
|
26
|
-
startTokenRefreshScheduler,
|
|
27
|
-
createAccountDialogController,
|
|
28
|
-
logger as loggerUtil,
|
|
29
|
-
} from '@oxy.so/core';
|
|
14
|
+
import type { User, SessionLoginResponse } from '@oxy.so/core';
|
|
15
|
+
import type { AuthStateStore, PersistedAuthState, AccountDialogController, AccountDialogView } from '@oxy.so/core/session';
|
|
16
|
+
import { KeyManager } from '@oxy.so/core/crypto';
|
|
17
|
+
import { refreshDeviceSecretArm, establishIdentitySession, installAuthRefreshHandler, startTokenRefreshScheduler, createAccountDialogController } from '@oxy.so/core/session';
|
|
18
|
+
import { logger as loggerUtil } from '@oxy.so/core';
|
|
30
19
|
import {
|
|
31
20
|
registerAccountDialogControls,
|
|
32
21
|
notifyAccountDialogVisibility,
|
|
@@ -37,6 +26,8 @@ import {
|
|
|
37
26
|
type StartWebOAuthSignInOptions,
|
|
38
27
|
} from '../oauth/browserAuthTransport';
|
|
39
28
|
import type { WebOAuthSignInResult } from '../oauth/types';
|
|
29
|
+
import { openBridgeWindow, resolveBridgeOrigin, runBrowserBridge } from '../oauth/browserBridge';
|
|
30
|
+
import { trackDeviceCredential, type CredentialTrackingAuthStateStore } from '../session/deviceCredentialTracker';
|
|
40
31
|
import {
|
|
41
32
|
requestOAuthConsent,
|
|
42
33
|
type OAuthConsentResult,
|
|
@@ -45,7 +36,7 @@ import {
|
|
|
45
36
|
import { isWebBrowser } from '../utils/isWebBrowser';
|
|
46
37
|
import { resolveDeliveryPlatform } from '../utils/deliveryPlatform';
|
|
47
38
|
import { runProviderColdBoot } from '../boot/runProviderColdBoot';
|
|
48
|
-
import {
|
|
39
|
+
import { hasPersistedSessionCredential, loadPersistedDeviceCredential } from '../utils/deviceCredential';
|
|
49
40
|
import { createTokenLossRecovery } from '../session/tokenLossRecovery';
|
|
50
41
|
import { bindAuthStoreToRuntime } from '../stores/authStore';
|
|
51
42
|
import { useLanguageManagement } from '../hooks/useLanguageManagement';
|
|
@@ -96,13 +87,7 @@ import { DEFAULT_SESSION_VALIDITY_MS } from './oxyContextHelpers';
|
|
|
96
87
|
// never dereferenced at module scope here.
|
|
97
88
|
import { useFollow } from '../hooks/useFollow';
|
|
98
89
|
import { commitDeviceSetAndResolve } from './commitSessionFlow';
|
|
99
|
-
import {
|
|
100
|
-
import {
|
|
101
|
-
isPasskeySupported,
|
|
102
|
-
runRegistrationCeremony,
|
|
103
|
-
runAuthenticationCeremony,
|
|
104
|
-
} from '../../webauthn/passkeyClient';
|
|
105
|
-
import { queryKeys } from '../hooks/queries/queryKeys';
|
|
90
|
+
import { clearSignInFlows } from '../components/signIn/signInFlowStore';
|
|
106
91
|
import { useOxyAccountGraph } from './useOxyAccountGraph';
|
|
107
92
|
|
|
108
93
|
export type { LogoutResult, OxyContextState, OxyRuntimeProviderProps } from './oxyContextTypes';
|
|
@@ -160,7 +145,10 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
160
145
|
} else if (baseURL) {
|
|
161
146
|
// `authWebUrl` now only points the OAuth "Sign in with Oxy" third-party
|
|
162
147
|
// link builder at the central auth host; there is no cold-boot redirect.
|
|
163
|
-
|
|
148
|
+
//
|
|
149
|
+
// `enableCache: false`: React Query owns caching and dedup here. A second
|
|
150
|
+
// response cache under it served stale data after an invalidate-refetch.
|
|
151
|
+
oxyServicesRef.current = new OxyServices({ baseURL, authWebUrl, authRedirectUri, enableCache: false });
|
|
164
152
|
} else {
|
|
165
153
|
throw new Error('Either oxyServices or baseURL must be provided to OxyProvider');
|
|
166
154
|
}
|
|
@@ -169,11 +157,13 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
169
157
|
|
|
170
158
|
// The device-first persisted auth-state store (per-origin device credential on
|
|
171
159
|
// web; SecureStore session blob on native). Built ONCE per provider mount.
|
|
172
|
-
|
|
160
|
+
// Tracked, so a sign-in press can tell SYNCHRONOUSLY whether this origin
|
|
161
|
+
// holds a device credential (the browser bridge must open inside the press).
|
|
162
|
+
const authStoreRef = useRef<CredentialTrackingAuthStateStore | null>(null);
|
|
173
163
|
if (!authStoreRef.current) {
|
|
174
|
-
authStoreRef.current = createPlatformAuthStateStore({ sessionMode });
|
|
164
|
+
authStoreRef.current = trackDeviceCredential(createPlatformAuthStateStore({ sessionMode }));
|
|
175
165
|
}
|
|
176
|
-
const authStore = authStoreRef.current;
|
|
166
|
+
const authStore: AuthStateStore = authStoreRef.current;
|
|
177
167
|
|
|
178
168
|
// Identity-bound session binding (`sessionMode: 'identity'`) — the platform pin
|
|
179
169
|
// store plus the memoised pinned account id every lane below binds to. Built
|
|
@@ -283,25 +273,6 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
283
273
|
|
|
284
274
|
useEffect(() => runtime.start(), [runtime]);
|
|
285
275
|
|
|
286
|
-
// Keep the shared `oxyClient` singleton's token store in lockstep with the
|
|
287
|
-
// session owned by THIS provider's instance (many apps build API clients
|
|
288
|
-
// against the exported singleton while passing only `baseURL` here). Skipped
|
|
289
|
-
// when the app passed the singleton itself as `oxyServices`.
|
|
290
|
-
useEffect(() => {
|
|
291
|
-
if (oxyServices === oxyClient) {
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
const applyToSingleton = (accessToken: string | null) => {
|
|
295
|
-
if (accessToken) {
|
|
296
|
-
oxyClient.setTokens(accessToken);
|
|
297
|
-
} else {
|
|
298
|
-
oxyClient.clearTokens();
|
|
299
|
-
}
|
|
300
|
-
};
|
|
301
|
-
applyToSingleton(oxyServices.getAccessToken());
|
|
302
|
-
return oxyServices.onTokensChanged(applyToSingleton);
|
|
303
|
-
}, [oxyServices]);
|
|
304
|
-
|
|
305
276
|
const storageKeys = useMemo(() => getStorageKeys(storageKeyPrefix), [storageKeyPrefix]);
|
|
306
277
|
|
|
307
278
|
const clientId = useMemo(() => {
|
|
@@ -523,7 +494,7 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
523
494
|
// Explicit FULL wipe: also drop the persisted device credential so a reload
|
|
524
495
|
// finds nothing to restore.
|
|
525
496
|
await authStore.clear();
|
|
526
|
-
oxyServices.
|
|
497
|
+
oxyServices.cache.clear();
|
|
527
498
|
}, [queryClient, storage, clearSessionState, authStore, logger, oxyServices]);
|
|
528
499
|
|
|
529
500
|
const { getDeviceSessions, logoutAllDeviceSessions, updateDeviceName } = useDeviceManagement({
|
|
@@ -563,8 +534,8 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
563
534
|
}
|
|
564
535
|
};
|
|
565
536
|
const recovery = createTokenLossRecovery({
|
|
566
|
-
remint: () => oxyServices.
|
|
567
|
-
hasDeviceCredential: () =>
|
|
537
|
+
remint: () => oxyServices.http.refreshAccessToken('preflight'),
|
|
538
|
+
hasDeviceCredential: () => hasPersistedSessionCredential(authStore),
|
|
568
539
|
hasKeyedRecovery: async () => {
|
|
569
540
|
if (Platform.OS === 'web') {
|
|
570
541
|
return false;
|
|
@@ -578,7 +549,7 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
578
549
|
}
|
|
579
550
|
},
|
|
580
551
|
isSignedIn: () => runtime.getSnapshot().account !== null,
|
|
581
|
-
hasToken: () => Boolean(oxyServices.
|
|
552
|
+
hasToken: () => Boolean(oxyServices.session.accessToken),
|
|
582
553
|
signOutLocally,
|
|
583
554
|
});
|
|
584
555
|
const handleTokenChange = (accessToken: string | null) => {
|
|
@@ -599,8 +570,8 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
599
570
|
runtime.setTokenReady(true);
|
|
600
571
|
}
|
|
601
572
|
};
|
|
602
|
-
handleTokenChange(oxyServices.
|
|
603
|
-
const unsubscribe = oxyServices.
|
|
573
|
+
handleTokenChange(oxyServices.session.accessToken);
|
|
574
|
+
const unsubscribe = oxyServices.session.onChange(handleTokenChange);
|
|
604
575
|
return () => {
|
|
605
576
|
unsubscribe();
|
|
606
577
|
recovery.dispose();
|
|
@@ -637,7 +608,7 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
637
608
|
const commitSession = useCallback(
|
|
638
609
|
async (input: CommitInput, options: { activate: boolean }): Promise<void> => {
|
|
639
610
|
if (input.accessToken) {
|
|
640
|
-
oxyServices.
|
|
611
|
+
oxyServices.session.setAccessToken(input.accessToken);
|
|
641
612
|
}
|
|
642
613
|
if (input.deviceState) {
|
|
643
614
|
sessionClient.adoptState(input.deviceState);
|
|
@@ -707,7 +678,7 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
707
678
|
addCurrentAccount: () => sessionClient.addCurrentAccount(),
|
|
708
679
|
startSocket: () => sessionClient.start(),
|
|
709
680
|
syncFromClient,
|
|
710
|
-
getCurrentUser: () => oxyServices.
|
|
681
|
+
getCurrentUser: () => oxyServices.users.me(),
|
|
711
682
|
loginSuccess: (fullUser) => runtime.setAccount(fullUser),
|
|
712
683
|
onAuthStateChange: onAuthStateChangeRef.current,
|
|
713
684
|
markAuthResolved: markAuthResolvedRef.current,
|
|
@@ -785,20 +756,6 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
785
756
|
[webAuthMode, oxyServices, clientId, authorizeBaseUrl, isIdentityBound, user?.id],
|
|
786
757
|
);
|
|
787
758
|
|
|
788
|
-
// What only auth.oxy.so can do for an Oxy app on the web — assert the
|
|
789
|
-
// `oxy.so` passkey, create or recover a passkey account — runs in its window
|
|
790
|
-
// over the app, for that one step. A blocked window falls back to the same
|
|
791
|
-
// page in this tab.
|
|
792
|
-
const continueOnAuth = useCallback(
|
|
793
|
-
(screen: OxyAuthScreen): Promise<WebOAuthSignInResult> =>
|
|
794
|
-
startWebOAuthSignInForContext({
|
|
795
|
-
redirectUri: authRedirectUri ?? globalThis.location?.origin ?? '',
|
|
796
|
-
transport: 'popup',
|
|
797
|
-
screen,
|
|
798
|
-
}),
|
|
799
|
-
[startWebOAuthSignInForContext, authRedirectUri],
|
|
800
|
-
);
|
|
801
|
-
|
|
802
759
|
// ── Unified account dialog ─────────────────────────────────────────────────
|
|
803
760
|
// The single account-chooser + sign-in surface. Built ONCE per provider mount
|
|
804
761
|
// and bound to the live `oxyServices` + `sessionClient` + this provider's
|
|
@@ -877,6 +834,85 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
877
834
|
}
|
|
878
835
|
const accountDialogController = accountDialogControllerRef.current;
|
|
879
836
|
|
|
837
|
+
// Every sign-in on the web PROVES the device this origin holds (ADR 0029 D2):
|
|
838
|
+
// the QR claim and the email and password sign-ins send it, so the account lands on the
|
|
839
|
+
// browser's shared device and every Oxy app holding it sees it at once.
|
|
840
|
+
// Native is untouched: its apps already share a device through the keychain.
|
|
841
|
+
useEffect(() => {
|
|
842
|
+
if (!isWebBrowser()) return undefined;
|
|
843
|
+
return oxyServices.session.setDeviceCredentialProvider(() => loadPersistedDeviceCredential(authStore));
|
|
844
|
+
}, [oxyServices, authStore]);
|
|
845
|
+
|
|
846
|
+
// ── The browser bridge (ADR 0029 D2) ──────────────────────────────────────
|
|
847
|
+
// The first time a person presses sign-in in this app on the web and it holds
|
|
848
|
+
// no device credential, open auth.oxy.so/bridge FROM THE PRESS: it hands this
|
|
849
|
+
// app a one-use code to join the browser's device and closes at once. Then
|
|
850
|
+
// restore through the ordinary mint — signed in already if the browser is,
|
|
851
|
+
// otherwise the dialog's sign-in carries the device proof. Never on page load,
|
|
852
|
+
// never on auth.oxy.so itself, never identity-bound; a blocked window only
|
|
853
|
+
// means this app signs in on a device of its own.
|
|
854
|
+
const bridgeInFlightRef = useRef(false);
|
|
855
|
+
const closeAccountDialogRef = useRef<() => void>(() => undefined);
|
|
856
|
+
const startBrowserBridge = useCallback((): void => {
|
|
857
|
+
if (isIdentityBound || !clientId || !isWebBrowser() || bridgeInFlightRef.current) return;
|
|
858
|
+
if (authStoreRef.current?.heldDeviceCredential() !== null) return;
|
|
859
|
+
const bridgeOrigin = resolveBridgeOrigin(authorizeBaseUrl);
|
|
860
|
+
const pageOrigin = globalThis.location?.origin;
|
|
861
|
+
if (!bridgeOrigin || !pageOrigin || pageOrigin === bridgeOrigin) return;
|
|
862
|
+
const popup = openBridgeWindow();
|
|
863
|
+
if (!popup) return;
|
|
864
|
+
bridgeInFlightRef.current = true;
|
|
865
|
+
void (async () => {
|
|
866
|
+
const joined = await runBrowserBridge({
|
|
867
|
+
popup,
|
|
868
|
+
bridgeOrigin,
|
|
869
|
+
oxyServices,
|
|
870
|
+
clientId,
|
|
871
|
+
redirectUri: authRedirectUri ?? pageOrigin,
|
|
872
|
+
});
|
|
873
|
+
if (!joined.ok) return;
|
|
874
|
+
// A sign-in that finished while the bridge ran keeps its own credential.
|
|
875
|
+
if ((await loadPersistedDeviceCredential(authStore)) !== null) return;
|
|
876
|
+
const credential = { deviceId: joined.deviceId, deviceSecret: joined.deviceSecret };
|
|
877
|
+
await authStore.save({ sessionId: '', userId: '', ...credential });
|
|
878
|
+
sessionClientHost.setDeviceCredential(credential);
|
|
879
|
+
const minted = await refreshDeviceSecretArm({ oxy: oxyServices, store: authStore });
|
|
880
|
+
if (minted.status === 'invalid-secret') {
|
|
881
|
+
await authStore.clear();
|
|
882
|
+
sessionClientHost.setDeviceCredential(null);
|
|
883
|
+
return;
|
|
884
|
+
}
|
|
885
|
+
if (minted.status !== 'ok') return;
|
|
886
|
+
// The browser is already signed in: this app follows, and the dialog it
|
|
887
|
+
// opened for a sign-in has nothing left to do.
|
|
888
|
+
await commitSessionRef.current(
|
|
889
|
+
{
|
|
890
|
+
sessionId: minted.sessionId,
|
|
891
|
+
accessToken: minted.token,
|
|
892
|
+
userId: minted.userId,
|
|
893
|
+
deviceState: minted.state,
|
|
894
|
+
},
|
|
895
|
+
{ activate: false },
|
|
896
|
+
);
|
|
897
|
+
closeAccountDialogRef.current();
|
|
898
|
+
})()
|
|
899
|
+
.catch((bridgeError) => {
|
|
900
|
+
logger('The browser bridge failed', bridgeError);
|
|
901
|
+
})
|
|
902
|
+
.finally(() => {
|
|
903
|
+
bridgeInFlightRef.current = false;
|
|
904
|
+
});
|
|
905
|
+
}, [
|
|
906
|
+
isIdentityBound,
|
|
907
|
+
clientId,
|
|
908
|
+
authorizeBaseUrl,
|
|
909
|
+
authRedirectUri,
|
|
910
|
+
oxyServices,
|
|
911
|
+
authStore,
|
|
912
|
+
sessionClientHost,
|
|
913
|
+
logger,
|
|
914
|
+
]);
|
|
915
|
+
|
|
880
916
|
const openAccountDialog = useCallback((view?: AccountDialogView): void => {
|
|
881
917
|
if (isIdentityBound) {
|
|
882
918
|
// No controller was built, and there is nothing to choose: this app's user
|
|
@@ -890,6 +926,8 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
890
926
|
return;
|
|
891
927
|
}
|
|
892
928
|
const nextView = view ?? 'accounts';
|
|
929
|
+
// Synchronously, while the press is still being handled.
|
|
930
|
+
startBrowserBridge();
|
|
893
931
|
accountDialogControllerRef.current?.setView(nextView);
|
|
894
932
|
|
|
895
933
|
// Its own detached surface is already open → just re-point the view above.
|
|
@@ -932,12 +970,15 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
932
970
|
}
|
|
933
971
|
});
|
|
934
972
|
setAccountDialogOpen(true);
|
|
935
|
-
}, [isIdentityBound]);
|
|
973
|
+
}, [isIdentityBound, startBrowserBridge]);
|
|
936
974
|
|
|
937
975
|
const closeAccountDialog = useCallback((): void => {
|
|
938
976
|
accountDialogControllerRef.current?.cancelSignIn();
|
|
939
977
|
dismissAccountDialogSurface();
|
|
940
978
|
}, [dismissAccountDialogSurface]);
|
|
979
|
+
useEffect(() => {
|
|
980
|
+
closeAccountDialogRef.current = closeAccountDialog;
|
|
981
|
+
}, [closeAccountDialog]);
|
|
941
982
|
|
|
942
983
|
// Start driving the dialog on mount; tear it down on unmount.
|
|
943
984
|
useEffect(() => {
|
|
@@ -959,66 +1000,12 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
959
1000
|
notifyAccountDialogVisibility(accountDialogOpen);
|
|
960
1001
|
}, [accountDialogOpen]);
|
|
961
1002
|
|
|
962
|
-
//
|
|
963
|
-
//
|
|
964
|
-
//
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
// / unsupported surface throws loudly instead of stalling in a ceremony.
|
|
969
|
-
|
|
970
|
-
// Passkey sign-in. No `username` → usernameless (discoverable) flow. With a
|
|
971
|
-
// `username` → username-first: the server scopes `allowCredentials` to that
|
|
972
|
-
// user's passkeys so a non-discoverable hardware key (U2F/security key) can
|
|
973
|
-
// be selected.
|
|
974
|
-
const signInWithPasskey = useCallback(
|
|
975
|
-
async (opts?: { username?: string; deviceName?: string; deviceFingerprint?: string }): Promise<void> => {
|
|
976
|
-
const persisted = await authStore.load();
|
|
977
|
-
await runPasskeyLogin({
|
|
978
|
-
isSupported: isPasskeySupported,
|
|
979
|
-
getLoginOptions: (username) => oxyServices.webauthnLoginOptions(username),
|
|
980
|
-
runCeremony: runAuthenticationCeremony,
|
|
981
|
-
loginVerify: (response, envelope) => oxyServices.webauthnLoginVerify(response, envelope),
|
|
982
|
-
commit: (input) => commitSession(input, { activate: true }),
|
|
983
|
-
username: opts?.username,
|
|
984
|
-
deviceId: persisted?.deviceId,
|
|
985
|
-
deviceName: opts?.deviceName,
|
|
986
|
-
// The same shape every other sign-in path sends; the server only reads it
|
|
987
|
-
// to place a device that has no persisted id yet.
|
|
988
|
-
deviceFingerprint: opts?.deviceFingerprint ?? JSON.stringify(DeviceManager.getDeviceFingerprint()),
|
|
989
|
-
});
|
|
990
|
-
},
|
|
991
|
-
[oxyServices, authStore, commitSession],
|
|
992
|
-
);
|
|
993
|
-
|
|
994
|
-
// Add a passkey to the already-signed-in account (bearer present). No new
|
|
995
|
-
// session is committed — just refresh the linked auth-methods list.
|
|
996
|
-
const addPasskey = useCallback(
|
|
997
|
-
async (params?: { deviceName?: string }): Promise<void> => {
|
|
998
|
-
await runPasskeyAdd({
|
|
999
|
-
isSupported: isPasskeySupported,
|
|
1000
|
-
getRegisterOptions: () => oxyServices.webauthnRegisterOptions(),
|
|
1001
|
-
runCeremony: runRegistrationCeremony,
|
|
1002
|
-
registerVerify: (response, envelope) => oxyServices.webauthnRegisterVerify(response, envelope),
|
|
1003
|
-
onLinked: () => {
|
|
1004
|
-
void queryClient.invalidateQueries({ queryKey: queryKeys.authMethods.all });
|
|
1005
|
-
},
|
|
1006
|
-
deviceName: params?.deviceName,
|
|
1007
|
-
});
|
|
1008
|
-
},
|
|
1009
|
-
[oxyServices, queryClient],
|
|
1010
|
-
);
|
|
1011
|
-
|
|
1012
|
-
// Remove a passkey from the already-signed-in account by credential id. Not a
|
|
1013
|
-
// ceremony — a plain unlink — so it needs no `isPasskeySupported` gate; it just
|
|
1014
|
-
// refreshes the linked auth-methods list on success.
|
|
1015
|
-
const removePasskey = useCallback(
|
|
1016
|
-
async (credentialId: string): Promise<void> => {
|
|
1017
|
-
await oxyServices.removePasskey(credentialId);
|
|
1018
|
-
void queryClient.invalidateQueries({ queryKey: queryKeys.authMethods.all });
|
|
1019
|
-
},
|
|
1020
|
-
[oxyServices, queryClient],
|
|
1021
|
-
);
|
|
1003
|
+
// A closed dialog forgets the sign-in or sign-up step it was on: the next
|
|
1004
|
+
// open starts over. (While it is open the step survives the surface's
|
|
1005
|
+
// breakpoint remount — `signInFlowStore`.)
|
|
1006
|
+
useEffect(() => {
|
|
1007
|
+
if (!accountDialogOpen) clearSignInFlows(accountDialogControllerRef.current);
|
|
1008
|
+
}, [accountDialogOpen]);
|
|
1022
1009
|
|
|
1023
1010
|
// ── Cold boot ────────────────────────────────────────────────────────────
|
|
1024
1011
|
// Device-first session restore via `runProviderColdBoot` (see boot/runProviderColdBoot.ts).
|
|
@@ -1083,13 +1070,13 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
1083
1070
|
const onVisibility = (): void => {
|
|
1084
1071
|
if (document.visibilityState !== 'visible') return;
|
|
1085
1072
|
const reconcile = async (): Promise<void> => {
|
|
1086
|
-
if (!oxyServices.
|
|
1073
|
+
if (!oxyServices.session.accessToken && sessionClientHost.getDeviceCredential()) {
|
|
1087
1074
|
// Route through the ONE shared single-flight the scheduler/preflight/401
|
|
1088
1075
|
// use — never a private mint lane — so a tab-focus reconcile can't
|
|
1089
1076
|
// double-rotate the device secret against them.
|
|
1090
|
-
await oxyServices.
|
|
1077
|
+
await oxyServices.http.refreshAccessToken('preflight');
|
|
1091
1078
|
}
|
|
1092
|
-
if (!oxyServices.
|
|
1079
|
+
if (!oxyServices.session.accessToken && !sessionClientHost.getDeviceCredential()) {
|
|
1093
1080
|
return;
|
|
1094
1081
|
}
|
|
1095
1082
|
await sessionClient.bootstrap();
|
|
@@ -1123,11 +1110,11 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
1123
1110
|
return;
|
|
1124
1111
|
}
|
|
1125
1112
|
void (async () => {
|
|
1126
|
-
if (oxyServices.
|
|
1113
|
+
if (oxyServices.session.accessToken || !sessionClientHost.getDeviceCredential()) {
|
|
1127
1114
|
return;
|
|
1128
1115
|
}
|
|
1129
|
-
await oxyServices.
|
|
1130
|
-
if (!oxyServices.
|
|
1116
|
+
await oxyServices.http.refreshAccessToken('preflight');
|
|
1117
|
+
if (!oxyServices.session.accessToken) {
|
|
1131
1118
|
return;
|
|
1132
1119
|
}
|
|
1133
1120
|
await sessionClient.bootstrap();
|
|
@@ -1280,13 +1267,9 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
1280
1267
|
hasIdentity,
|
|
1281
1268
|
getPublicKey,
|
|
1282
1269
|
signIn,
|
|
1283
|
-
signInWithPasskey,
|
|
1284
|
-
addPasskey,
|
|
1285
|
-
removePasskey,
|
|
1286
1270
|
revokeSuspiciousSignIn,
|
|
1287
1271
|
handleWebSession,
|
|
1288
1272
|
startWebOAuthSignIn: startWebOAuthSignInForContext,
|
|
1289
|
-
continueOnAuth,
|
|
1290
1273
|
requestOAuthConsent: requestOAuthConsentForContext,
|
|
1291
1274
|
logout,
|
|
1292
1275
|
logoutAll,
|
|
@@ -1338,13 +1321,9 @@ export const OxyRuntimeProvider: React.FC<OxyRuntimeProviderProps> = ({
|
|
|
1338
1321
|
hasIdentity,
|
|
1339
1322
|
getPublicKey,
|
|
1340
1323
|
signIn,
|
|
1341
|
-
signInWithPasskey,
|
|
1342
|
-
addPasskey,
|
|
1343
|
-
removePasskey,
|
|
1344
1324
|
revokeSuspiciousSignIn,
|
|
1345
1325
|
handleWebSession,
|
|
1346
1326
|
startWebOAuthSignInForContext,
|
|
1347
|
-
continueOnAuth,
|
|
1348
1327
|
requestOAuthConsentForContext,
|
|
1349
1328
|
logout,
|
|
1350
1329
|
logoutAll,
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
|
-
import type { ApiError,
|
|
2
|
+
import type { ApiError, User } from '@oxy.so/core';
|
|
3
|
+
import type { AuthStateStore, IdentityBinding, SessionClient } from '@oxy.so/core/session';
|
|
3
4
|
import type { ClientSession, SessionLoginResponse } from '@oxy.so/core';
|
|
4
5
|
import type { OxyRuntime } from '../../runtime';
|
|
5
6
|
import type { LogoutResult } from '../oxyContextTypes';
|
|
6
|
-
import { DeviceManager } from '@oxy.so/core';
|
|
7
|
+
import { DeviceManager } from '@oxy.so/core/session';
|
|
7
8
|
import { fetchSessionsWithFallback } from '../../utils/sessionHelpers';
|
|
8
9
|
import { handleAuthError, isInvalidSessionError } from '../../utils/errorHandlers';
|
|
9
10
|
import type { StorageInterface } from '../../utils/storageHelpers';
|
|
10
11
|
import type { OxyServices } from '@oxy.so/core';
|
|
11
|
-
import { SignatureService } from '@oxy.so/core';
|
|
12
|
+
import { SignatureService } from '@oxy.so/core/crypto';
|
|
12
13
|
|
|
13
14
|
export interface UseAuthOperationsOptions {
|
|
14
15
|
oxyServices: OxyServices;
|
|
@@ -113,7 +114,7 @@ export const useAuthOperations = ({
|
|
|
113
114
|
const deviceInfo = await DeviceManager.getDeviceInfo();
|
|
114
115
|
const deviceName = deviceInfo.deviceName || DeviceManager.getDefaultDeviceName();
|
|
115
116
|
|
|
116
|
-
const challengeResponse = await oxyServices.requestChallenge(publicKey);
|
|
117
|
+
const challengeResponse = await oxyServices.auth.requestChallenge(publicKey);
|
|
117
118
|
const challenge = challengeResponse.challenge;
|
|
118
119
|
|
|
119
120
|
// Note: Biometric authentication check should be handled by the app layer
|
|
@@ -129,7 +130,7 @@ export const useAuthOperations = ({
|
|
|
129
130
|
// `verifyChallenge` plants the first access token internally, mirroring
|
|
130
131
|
// `claimSessionByToken`, so the client is authenticated as soon as this
|
|
131
132
|
// resolves.
|
|
132
|
-
sessionResponse = await oxyServices.verifyChallenge(
|
|
133
|
+
sessionResponse = await oxyServices.auth.verifyChallenge(
|
|
133
134
|
publicKey,
|
|
134
135
|
challenge,
|
|
135
136
|
signature,
|
|
@@ -191,7 +192,7 @@ export const useAuthOperations = ({
|
|
|
191
192
|
// has already planted the access token for this session, so the bearer IS
|
|
192
193
|
// the session identity. Avoids a second, session-id-keyed source of truth
|
|
193
194
|
// (`GET /session/user/:sessionId`) that can disagree with the bearer.
|
|
194
|
-
fullUser = await oxyServices.
|
|
195
|
+
fullUser = await oxyServices.users.me();
|
|
195
196
|
|
|
196
197
|
// Fetch device sessions
|
|
197
198
|
let allDeviceSessions: ClientSession[] = [];
|
|
@@ -217,7 +218,7 @@ export const useAuthOperations = ({
|
|
|
217
218
|
if (existingSession) {
|
|
218
219
|
// Switch to existing session instead of creating duplicate
|
|
219
220
|
try {
|
|
220
|
-
await oxyServices.
|
|
221
|
+
await oxyServices.session.logout(sessionResponse.sessionId, sessionResponse.sessionId);
|
|
221
222
|
} catch (logoutError) {
|
|
222
223
|
// Non-critical - continue to switch session even if logout fails
|
|
223
224
|
if (__DEV__ && logger) {
|
|
@@ -384,7 +385,7 @@ export const useAuthOperations = ({
|
|
|
384
385
|
// device-scoped and therefore cannot implement "sign out everywhere" by
|
|
385
386
|
// itself. The global endpoint deliberately preserves the current
|
|
386
387
|
// session long enough for the device-scoped cleanup below to authenticate.
|
|
387
|
-
await oxyServices.
|
|
388
|
+
await oxyServices.session.logoutAll(activeSessionId);
|
|
388
389
|
await sessionClient.signOut({ all: true });
|
|
389
390
|
// logoutAll is ALWAYS a full sign-out: clear the persisted device
|
|
390
391
|
// credential so the next cold boot finds no session to restore, then tear
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { LoginSessionResult } from '@oxy.so/contracts';
|
|
3
|
-
import type { OxyServices, User, SessionLoginResponse, AccountNode, CreateAccountInput, ClientSession,
|
|
3
|
+
import type { OxyServices, User, SessionLoginResponse, AccountNode, CreateAccountInput, ClientSession, ApiError } from '@oxy.so/core';
|
|
4
|
+
import type { AccountDialogController, AccountDialogView, SessionClient, SessionMode } from '@oxy.so/core/session';
|
|
4
5
|
import type { UseFollowHook } from '../hooks/useFollow.types';
|
|
5
6
|
import type { useLanguageManagement } from '../hooks/useLanguageManagement';
|
|
6
7
|
import type { RouteName } from '../navigation/routes';
|
|
@@ -74,41 +75,11 @@ export interface OxyContextState {
|
|
|
74
75
|
|
|
75
76
|
signIn: (publicKey: string, deviceName?: string) => Promise<User>;
|
|
76
77
|
|
|
77
|
-
/**
|
|
78
|
-
* Sign in with a passkey (WebAuthn). With no `username` this is the
|
|
79
|
-
* usernameless / discoverable-credential flow: the browser prompts for any
|
|
80
|
-
* resident Oxy passkey. Pass `username` for the username-first flow — the
|
|
81
|
-
* server scopes `allowCredentials` to that user's passkeys so a
|
|
82
|
-
* NON-discoverable hardware key (e.g. a U2F/security key) can be used.
|
|
83
|
-
* WEB-ONLY — throws on native or an unsupported browser (native passkeys are
|
|
84
|
-
* Commons' job). On `useOxy()`, NOT re-exposed on `useAuth()`.
|
|
85
|
-
*/
|
|
86
|
-
signInWithPasskey: (opts?: {
|
|
87
|
-
username?: string;
|
|
88
|
-
deviceName?: string;
|
|
89
|
-
deviceFingerprint?: string;
|
|
90
|
-
}) => Promise<void>;
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Add a passkey to the already-signed-in account (bearer present). Does NOT
|
|
94
|
-
* commit a new session; refreshes the linked auth-methods list on success.
|
|
95
|
-
* WEB-ONLY — throws on native or an unsupported browser.
|
|
96
|
-
*/
|
|
97
|
-
addPasskey: (params?: { deviceName?: string }) => Promise<void>;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Remove a passkey from the current account by its credential id
|
|
101
|
-
* (`AuthMethodEntry.credentialId`). Refreshes the linked auth-methods list on
|
|
102
|
-
* success. Works on any platform (it is a plain unlink, not a WebAuthn
|
|
103
|
-
* ceremony) but is only reachable from surfaces that list passkeys.
|
|
104
|
-
*/
|
|
105
|
-
removePasskey: (credentialId: string) => Promise<void>;
|
|
106
|
-
|
|
107
78
|
revokeSuspiciousSignIn: () => Promise<void>;
|
|
108
79
|
/**
|
|
109
80
|
* Commit a session a first-party sign-in minted on THIS origin — an OAuth
|
|
110
|
-
* code exchange, or a
|
|
111
|
-
*
|
|
81
|
+
* code exchange, an email code or link, a password, a sign-up — as the
|
|
82
|
+
* active one.
|
|
112
83
|
*/
|
|
113
84
|
handleWebSession: (session: SessionLoginResponse | LoginSessionResult) => Promise<void>;
|
|
114
85
|
|
|
@@ -130,14 +101,6 @@ export interface OxyContextState {
|
|
|
130
101
|
*/
|
|
131
102
|
startWebOAuthSignIn: (options: StartWebOAuthSignInOptions) => Promise<WebOAuthSignInResult>;
|
|
132
103
|
|
|
133
|
-
/**
|
|
134
|
-
* The passkey sign-in (`signin`), account creation (`signup`) or recovery
|
|
135
|
-
* (`recover`) in auth.oxy.so's window over the app — the one step the
|
|
136
|
-
* account dialog cannot run itself, since the passkey belongs to `oxy.so`.
|
|
137
|
-
* Web only; call it from the press, so the window opens with the gesture.
|
|
138
|
-
*/
|
|
139
|
-
continueOnAuth: (screen: OxyAuthScreen) => Promise<WebOAuthSignInResult>;
|
|
140
|
-
|
|
141
104
|
/**
|
|
142
105
|
* Ask the already-authenticated user for explicit OAuth consent to exact
|
|
143
106
|
* application scopes. Must be called from a user gesture. Works on web and
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useCallback, useEffect, useState, type RefObject } from 'react';
|
|
2
|
-
import type { OxyServices, AccountNode, CreateAccountInput
|
|
2
|
+
import type { OxyServices, AccountNode, CreateAccountInput } from '@oxy.so/core';
|
|
3
|
+
import type { AccountDialogController, SessionClient } from '@oxy.so/core/session';
|
|
3
4
|
import { logger as loggerUtil } from '@oxy.so/core';
|
|
4
5
|
import { isUnauthorizedStatus } from './oxyContextHelpers';
|
|
5
6
|
import { IdentityBoundSessionError } from '../session';
|
|
@@ -38,12 +39,12 @@ export function useOxyAccountGraph({
|
|
|
38
39
|
const [accounts, setAccounts] = useState<AccountNode[]>([]);
|
|
39
40
|
|
|
40
41
|
const refreshAccounts = useCallback(async (): Promise<void> => {
|
|
41
|
-
if (identityBound || !isAuthenticated || !tokenReady || !oxyServices.
|
|
42
|
+
if (identityBound || !isAuthenticated || !tokenReady || !oxyServices.session.accessToken) {
|
|
42
43
|
setAccounts([]);
|
|
43
44
|
return;
|
|
44
45
|
}
|
|
45
46
|
try {
|
|
46
|
-
const list = await oxyServices.
|
|
47
|
+
const list = await oxyServices.accounts.list();
|
|
47
48
|
setAccounts(list);
|
|
48
49
|
} catch (err) {
|
|
49
50
|
if (isUnauthorizedStatus(err)) {
|
|
@@ -79,7 +80,7 @@ export function useOxyAccountGraph({
|
|
|
79
80
|
return;
|
|
80
81
|
}
|
|
81
82
|
|
|
82
|
-
const result = await oxyServices.
|
|
83
|
+
const result = await oxyServices.accounts.actAs(accountId);
|
|
83
84
|
if (!result?.user || !result?.sessionId) {
|
|
84
85
|
throw new Error('Account switch did not return a valid session');
|
|
85
86
|
}
|
|
@@ -107,7 +108,7 @@ export function useOxyAccountGraph({
|
|
|
107
108
|
|
|
108
109
|
const createAccount = useCallback(
|
|
109
110
|
async (data: CreateAccountInput): Promise<AccountNode> => {
|
|
110
|
-
const account = await oxyServices.
|
|
111
|
+
const account = await oxyServices.accounts.create(data);
|
|
111
112
|
await refreshAccounts();
|
|
112
113
|
return account;
|
|
113
114
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useSyncExternalStore } from 'react';
|
|
2
|
-
import type { AccountDialogController, AccountDialogSnapshot } from '@oxy.so/core';
|
|
2
|
+
import type { AccountDialogController, AccountDialogSnapshot } from '@oxy.so/core/session';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The snapshot `useSyncExternalStore` reads before a controller exists.
|
|
@@ -51,7 +51,7 @@ export interface ProfileMutationConfig<TData, TVariables> {
|
|
|
51
51
|
* ```ts
|
|
52
52
|
* const updateProfile = createProfileMutation({
|
|
53
53
|
* mutationKey: mutationKeys.account.updateProfile,
|
|
54
|
-
* mutationFn: (updates) => oxyServices.
|
|
54
|
+
* mutationFn: (updates) => oxyServices.users.updateMe(updates),
|
|
55
55
|
* optimisticUpdate: (user, updates) => updates,
|
|
56
56
|
* errorMessage: 'Failed to update profile',
|
|
57
57
|
* });
|