@oxy.so/services 6.2.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -20
- 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 -20
- 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/requestSurfaces.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/signInProgress.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 +2 -2
- 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 -15
- 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 -20
- 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 -20
- 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/requestSurfaces.js.map +1 -1
- package/lib/module/ui/components/authChooser/signInProgress.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 +1 -1
- 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 -15
- 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 -1
- 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/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 +1 -1
- 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 +2 -2
- 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 -15
- 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 -1
- 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/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 +1 -1
- 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 +2 -2
- 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 -15
- 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 -20
- 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 +1 -1
- 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/types.ts +1 -13
- package/src/ui/components/signIn/InlineCommonsQr.tsx +2 -2
- package/src/ui/components/signIn/OxyAccountPicker.tsx +1 -1
- 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 -15
- 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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
4
|
import { View, StyleSheet } from 'react-native';
|
|
4
|
-
import type { ReputationTransaction, TrustTier } from '@oxy.so/contracts';
|
|
5
5
|
import Ionicons from '../../icons/Ionicons';
|
|
6
6
|
import { Chip } from '@oxy.so/bloom/chip';
|
|
7
7
|
import { useTheme } from '@oxy.so/bloom/theme';
|
|
@@ -14,6 +14,7 @@ import { useI18n } from '../../hooks/useI18n';
|
|
|
14
14
|
import { useSurfaceHeader } from '../../hooks/useSurfaceHeader';
|
|
15
15
|
import { useOxy } from '../../context/OxyContext';
|
|
16
16
|
import { trustTierLabel } from '@oxy.so/core';
|
|
17
|
+
import { queryKeys } from '../../hooks/queries/queryKeys';
|
|
17
18
|
|
|
18
19
|
const TrustCenterScreen: React.FC<BaseScreenProps> = ({
|
|
19
20
|
navigate,
|
|
@@ -22,36 +23,31 @@ const TrustCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
22
23
|
// when switched, else the personal user).
|
|
23
24
|
const { user, oxyServices, isAuthenticated } = useOxy();
|
|
24
25
|
const { t, locale } = useI18n();
|
|
25
|
-
const [reputationTotal, setReputationTotal] = useState<number | null>(null);
|
|
26
|
-
const [trustTier, setTrustTier] = useState<TrustTier | null>(null);
|
|
27
|
-
const [transactions, setTransactions] = useState<ReputationTransaction[]>([]);
|
|
28
|
-
const [isLoading, setIsLoading] = useState(true);
|
|
29
|
-
const [error, setError] = useState<string | null>(null);
|
|
30
|
-
|
|
31
26
|
const bloomTheme = useTheme();
|
|
32
27
|
const primaryColor = bloomTheme.colors.primary;
|
|
33
28
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
29
|
+
// Keyed on the account id, not the `user` object: a profile write that
|
|
30
|
+
// replaces `user` must not refetch the ledger.
|
|
31
|
+
const userId = user?.id;
|
|
32
|
+
const standing = useQuery({
|
|
33
|
+
queryKey: queryKeys.reputation.transactions(userId, 20),
|
|
34
|
+
enabled: Boolean(userId),
|
|
35
|
+
queryFn: async () => {
|
|
36
|
+
const [balance, transactions] = await Promise.all([
|
|
37
|
+
oxyServices.reputation.balance(),
|
|
38
|
+
oxyServices.reputation.transactions(userId, { limit: 20, offset: 0 }),
|
|
39
|
+
]);
|
|
40
|
+
return { balance, transactions: Array.isArray(transactions) ? transactions : [] };
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
const reputationTotal = standing.data?.balance.total ?? null;
|
|
44
|
+
const trustTier = standing.data?.balance.trustTier ?? null;
|
|
45
|
+
const transactions = standing.data?.transactions ?? [];
|
|
46
|
+
const isLoading = standing.isPending && Boolean(userId);
|
|
47
|
+
const error = standing.error
|
|
48
|
+
? (standing.error instanceof Error ? standing.error.message : null) ||
|
|
49
|
+
(t('trust.center.loadError') || 'Failed to load reputation data')
|
|
50
|
+
: null;
|
|
55
51
|
|
|
56
52
|
const resolvedTrustTierLabel = useMemo(
|
|
57
53
|
() => (trustTier ? trustTierLabel(locale, trustTier) : null),
|
|
@@ -41,7 +41,7 @@ const TrustLeaderboardScreen: React.FC<BaseScreenProps> = ({ navigate }) => {
|
|
|
41
41
|
setIsLoading(true);
|
|
42
42
|
setError(null);
|
|
43
43
|
oxyServices
|
|
44
|
-
.
|
|
44
|
+
.reputation.leaderboard()
|
|
45
45
|
.then((data) => setLeaderboard(Array.isArray(data) ? data : []))
|
|
46
46
|
.catch((err: unknown) => {
|
|
47
47
|
logger.error(
|
|
@@ -95,7 +95,7 @@ const TrustLeaderboardScreen: React.FC<BaseScreenProps> = ({ navigate }) => {
|
|
|
95
95
|
{item.rank}
|
|
96
96
|
</Text>
|
|
97
97
|
<Avatar
|
|
98
|
-
source={item.user.avatar ? oxyServices.
|
|
98
|
+
source={item.user.avatar ? oxyServices.assets.publicUrl(item.user.avatar, 'thumb') : undefined}
|
|
99
99
|
name={displayName}
|
|
100
100
|
size={AVATAR_SIZE}
|
|
101
101
|
/>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import { useMemo
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
4
|
import { View, StyleSheet } from 'react-native';
|
|
4
5
|
import type { BaseScreenProps } from '../../types/navigation';
|
|
5
6
|
import { useSurfaceHeader } from '../../hooks/useSurfaceHeader';
|
|
@@ -8,6 +9,7 @@ import { useTheme } from '@oxy.so/bloom/theme';
|
|
|
8
9
|
import { H1, H4, H5, Text } from '@oxy.so/bloom/typography';
|
|
9
10
|
import { useI18n } from '../../hooks/useI18n';
|
|
10
11
|
import { useOxy } from '../../context/OxyContext';
|
|
12
|
+
import { queryKeys } from '../../hooks/queries/queryKeys';
|
|
11
13
|
import { darkenColor, lightenColor } from '../../utils/colorUtils';
|
|
12
14
|
|
|
13
15
|
type IoniconName = React.ComponentProps<typeof Ionicons>['name'];
|
|
@@ -85,28 +87,16 @@ const TrustRewardsScreen: React.FC<BaseScreenProps> = () => {
|
|
|
85
87
|
title: t('trust.rewards.title') || 'Trust Rewards',
|
|
86
88
|
subtitle: t('trust.rewards.subtitle') || 'Unlock special features and recognition',
|
|
87
89
|
});
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
+
const balance = useQuery({
|
|
91
|
+
queryKey: queryKeys.reputation.balance(user?.id),
|
|
92
|
+
enabled: Boolean(user?.id) && isAuthenticated,
|
|
93
|
+
queryFn: () => oxyServices.reputation.balance(),
|
|
94
|
+
});
|
|
95
|
+
const reputationTotal = balance.data?.total || 0;
|
|
90
96
|
|
|
91
97
|
const bloomTheme = useTheme();
|
|
92
98
|
const colors = bloomTheme.colors;
|
|
93
99
|
|
|
94
|
-
useEffect(() => {
|
|
95
|
-
if (!user || !isAuthenticated) {
|
|
96
|
-
setIsLoading(false);
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
setIsLoading(true);
|
|
100
|
-
oxyServices.getMyReputationBalance()
|
|
101
|
-
.then((balance) => {
|
|
102
|
-
setReputationTotal(balance.total || 0);
|
|
103
|
-
})
|
|
104
|
-
.catch(() => {
|
|
105
|
-
setReputationTotal(0);
|
|
106
|
-
})
|
|
107
|
-
.finally(() => setIsLoading(false));
|
|
108
|
-
}, [user, isAuthenticated, oxyServices]);
|
|
109
|
-
|
|
110
100
|
const achievements: Achievement[] = useMemo(() => [
|
|
111
101
|
{
|
|
112
102
|
id: 'first-step',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
4
|
import { View } from 'react-native';
|
|
4
5
|
import { Text } from '@oxy.so/bloom/typography';
|
|
5
6
|
import { SettingsListGroup, SettingsListItem } from '@oxy.so/bloom/settings-list';
|
|
@@ -12,6 +13,7 @@ import { useSurfaceHeader } from '../../hooks/useSurfaceHeader';
|
|
|
12
13
|
import { Loading } from '@oxy.so/bloom/loading';
|
|
13
14
|
import { useI18n } from '../../hooks/useI18n';
|
|
14
15
|
import { useOxy } from '../../context/OxyContext';
|
|
16
|
+
import { queryKeys } from '../../hooks/queries/queryKeys';
|
|
15
17
|
|
|
16
18
|
/** Stable display order for rule category sections. */
|
|
17
19
|
const CATEGORY_ORDER: ReputationCategory[] = [
|
|
@@ -34,18 +36,16 @@ const TrustRulesScreen: React.FC<BaseScreenProps> = () => {
|
|
|
34
36
|
});
|
|
35
37
|
const bloomTheme = useTheme();
|
|
36
38
|
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
.finally(() => setIsLoading(false));
|
|
48
|
-
}, [oxyServices]);
|
|
39
|
+
const rulesQuery = useQuery({
|
|
40
|
+
queryKey: queryKeys.reputation.rules(),
|
|
41
|
+
queryFn: () => oxyServices.reputation.rules(),
|
|
42
|
+
staleTime: 10 * 60 * 1000,
|
|
43
|
+
});
|
|
44
|
+
const rules: ReputationRule[] = Array.isArray(rulesQuery.data) ? rulesQuery.data : [];
|
|
45
|
+
const isLoading = rulesQuery.isPending;
|
|
46
|
+
const error = rulesQuery.error
|
|
47
|
+
? (rulesQuery.error instanceof Error ? rulesQuery.error.message : null) || 'Failed to load rules'
|
|
48
|
+
: null;
|
|
49
49
|
|
|
50
50
|
// Group rules by category, preserving a stable section order. Categories
|
|
51
51
|
// with no rules are dropped; unknown categories fall back to "other".
|
|
@@ -88,7 +88,7 @@ const TrustRulesScreen: React.FC<BaseScreenProps> = () => {
|
|
|
88
88
|
>
|
|
89
89
|
{items.map((rule) => (
|
|
90
90
|
<SettingsListItem
|
|
91
|
-
key={rule.
|
|
91
|
+
key={rule.actionType}
|
|
92
92
|
title={rule.description}
|
|
93
93
|
showChevron={false}
|
|
94
94
|
rightElement={
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* background persist inside the vault can never change which session five other
|
|
8
8
|
* apps boot into.
|
|
9
9
|
*/
|
|
10
|
-
import type { AuthStateStore } from '@oxy.so/core';
|
|
10
|
+
import type { AuthStateStore } from '@oxy.so/core/session';
|
|
11
11
|
|
|
12
12
|
const CRED_STATE = { sessionId: 'sess-1', userId: 'user-1', deviceId: 'dev-1', deviceSecret: 'ds-1' };
|
|
13
13
|
|
|
@@ -45,8 +45,8 @@ function fakeOxy(
|
|
|
45
45
|
baseURL = 'https://api.oxy.so',
|
|
46
46
|
): Parameters<typeof import('../backgroundSession').syncBackgroundSession>[0]['oxyServices'] {
|
|
47
47
|
return {
|
|
48
|
-
provisionBackgroundCredential: provision,
|
|
49
|
-
|
|
48
|
+
devices: { provisionBackgroundCredential: provision },
|
|
49
|
+
baseURL: baseURL,
|
|
50
50
|
} as unknown as Parameters<
|
|
51
51
|
typeof import('../backgroundSession').syncBackgroundSession
|
|
52
52
|
>[0]['oxyServices'];
|
|
@@ -270,65 +270,6 @@ describe('syncBackgroundSession', () => {
|
|
|
270
270
|
});
|
|
271
271
|
});
|
|
272
272
|
|
|
273
|
-
describe('a @oxy.so/core too old to provision', () => {
|
|
274
|
-
/**
|
|
275
|
-
* The ONE failure that must not be quiet. Every other failure here is caught and
|
|
276
|
-
* logged at warn, which is right for a flaky network — but a version skew means
|
|
277
|
-
* background refreshes never work at all, and hiding that behind a warning is how
|
|
278
|
-
* it would go unnoticed indefinitely.
|
|
279
|
-
*/
|
|
280
|
-
function oxyWithoutProvisioning(): Parameters<
|
|
281
|
-
typeof import('../backgroundSession').syncBackgroundSession
|
|
282
|
-
>[0]['oxyServices'] {
|
|
283
|
-
return { getBaseURL: () => 'https://api.oxy.so' } as unknown as Parameters<
|
|
284
|
-
typeof import('../backgroundSession').syncBackgroundSession
|
|
285
|
-
>[0]['oxyServices'];
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
test('rejects loudly and logs at error rather than warning quietly', async () => {
|
|
289
|
-
const native = fakeNative(null);
|
|
290
|
-
const { syncBackgroundSession } = await loadModule(native);
|
|
291
|
-
const { logger } = await import('@oxy.so/core');
|
|
292
|
-
const errorSpy = jest.spyOn(logger, 'error').mockImplementation(() => undefined);
|
|
293
|
-
const warnSpy = jest.spyOn(logger, 'warn').mockImplementation(() => undefined);
|
|
294
|
-
|
|
295
|
-
try {
|
|
296
|
-
await expect(
|
|
297
|
-
syncBackgroundSession({
|
|
298
|
-
oxyServices: oxyWithoutProvisioning(),
|
|
299
|
-
userId: 'user-1',
|
|
300
|
-
canUsePrivateApi: true,
|
|
301
|
-
isCurrent: () => true,
|
|
302
|
-
}),
|
|
303
|
-
).rejects.toThrow(/provisionBackgroundCredential/);
|
|
304
|
-
|
|
305
|
-
expect(errorSpy).toHaveBeenCalledTimes(1);
|
|
306
|
-
// If this ever becomes a warn, the skew is silent again.
|
|
307
|
-
expect(warnSpy).not.toHaveBeenCalled();
|
|
308
|
-
expect(native.put).not.toHaveBeenCalled();
|
|
309
|
-
} finally {
|
|
310
|
-
errorSpy.mockRestore();
|
|
311
|
-
warnSpy.mockRestore();
|
|
312
|
-
}
|
|
313
|
-
});
|
|
314
|
-
|
|
315
|
-
test('still lets a signed-out user clear, since that needs no core method', async () => {
|
|
316
|
-
const native = fakeNative({ accountId: 'user-1', expiresAt: Date.now() + 30 * DAY_MS });
|
|
317
|
-
const { syncBackgroundSession } = await loadModule(native);
|
|
318
|
-
|
|
319
|
-
// A sign-out must never be blocked by a dependency problem.
|
|
320
|
-
await expect(
|
|
321
|
-
syncBackgroundSession({
|
|
322
|
-
oxyServices: oxyWithoutProvisioning(),
|
|
323
|
-
userId: null,
|
|
324
|
-
canUsePrivateApi: false,
|
|
325
|
-
isCurrent: () => true,
|
|
326
|
-
}),
|
|
327
|
-
).resolves.toBeUndefined();
|
|
328
|
-
expect(native.clear).toHaveBeenCalledTimes(1);
|
|
329
|
-
});
|
|
330
|
-
});
|
|
331
|
-
|
|
332
273
|
describe('on web', () => {
|
|
333
274
|
/**
|
|
334
275
|
* Web must never provision. The credential is non-rotating and long-lived, which
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SessionClient } from '@oxy.so/core';
|
|
1
|
+
import { SessionClient } from '@oxy.so/core/session';
|
|
2
2
|
|
|
3
3
|
type Handler = (...args: unknown[]) => void;
|
|
4
4
|
class FakeSocket {
|
|
@@ -20,14 +20,12 @@ import { createSessionClient } from '../createSessionClient';
|
|
|
20
20
|
function fakeOxy() {
|
|
21
21
|
const listeners = new Set<(t: string | null) => void>();
|
|
22
22
|
return {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
setTokens: jest.fn(),
|
|
27
|
-
onTokensChanged: jest.fn((l: (t: string | null) => void) => {
|
|
23
|
+
request: jest.fn().mockResolvedValue(undefined),
|
|
24
|
+
baseURL: 'https://api.oxy.so',
|
|
25
|
+
session: { accessToken: 'bearer.jwt.token', setAccessToken: jest.fn(), onChange: jest.fn((l: (t: string | null) => void) => {
|
|
28
26
|
listeners.add(l);
|
|
29
27
|
return () => listeners.delete(l);
|
|
30
|
-
}),
|
|
28
|
+
}) },
|
|
31
29
|
};
|
|
32
30
|
}
|
|
33
31
|
|
|
@@ -93,7 +91,7 @@ describe('createSessionClient', () => {
|
|
|
93
91
|
const { client } = createSessionClient(oxy as never, undefined, () => 'pinned-account');
|
|
94
92
|
await client.registerAndActivate('pinned-account');
|
|
95
93
|
|
|
96
|
-
const paths = oxy.
|
|
94
|
+
const paths = oxy.request.mock.calls.map((call) => call[1]);
|
|
97
95
|
expect(paths).toContain('/session/device/add');
|
|
98
96
|
expect(paths).not.toContain('/session/device/switch');
|
|
99
97
|
});
|
|
@@ -104,7 +102,7 @@ describe('createSessionClient', () => {
|
|
|
104
102
|
const { client } = createSessionClient(oxy as never, undefined, () => null);
|
|
105
103
|
await client.registerAndActivate('u1');
|
|
106
104
|
|
|
107
|
-
const paths = oxy.
|
|
105
|
+
const paths = oxy.request.mock.calls.map((call) => call[1]);
|
|
108
106
|
expect(paths).toContain('/session/device/add');
|
|
109
107
|
expect(paths).toContain('/session/device/switch');
|
|
110
108
|
});
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* explicit status. Collapsing either failure into "absent" is what would let a
|
|
9
9
|
* locked device look like one that never had a session.
|
|
10
10
|
*/
|
|
11
|
-
import type { SharedDeviceCredentialStore } from '@oxy.so/core';
|
|
11
|
+
import type { SharedDeviceCredentialStore } from '@oxy.so/core/session';
|
|
12
12
|
|
|
13
13
|
const CRED = { deviceId: 'dev-shared', deviceSecret: 'ds-shared' };
|
|
14
14
|
const STORAGE_KEY = 'oxy_shared_device_session_v1';
|
|
@@ -3,7 +3,7 @@ import { logger } from '@oxy.so/core';
|
|
|
3
3
|
import { createTokenTransport } from '../tokenTransport';
|
|
4
4
|
|
|
5
5
|
// The device-first transport no longer owns a private mint single-flight: it
|
|
6
|
-
// routes through the ONE shared `oxyServices.
|
|
6
|
+
// routes through the ONE shared `oxyServices.http.refreshAccessToken(...)`
|
|
7
7
|
// the scheduler/preflight/401 use, so concurrent lanes can never double-rotate
|
|
8
8
|
// the device secret. It short-circuits ONLY when the planted bearer already
|
|
9
9
|
// identifies the state's active account — a bearer for a DIFFERENT account (an
|
|
@@ -11,9 +11,11 @@ import { createTokenTransport } from '../tokenTransport';
|
|
|
11
11
|
// that account-match contract and the transport's error/swallow behavior.
|
|
12
12
|
|
|
13
13
|
function fakeOxy(currentUserId: string | null, refreshAccessToken = jest.fn(async () => 'minted-token')) {
|
|
14
|
+
const userId = jest.fn((): string | null => currentUserId);
|
|
14
15
|
return {
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
userId,
|
|
17
|
+
session: { get userId() { return userId(); } },
|
|
18
|
+
http: { refreshAccessToken },
|
|
17
19
|
};
|
|
18
20
|
}
|
|
19
21
|
|
|
@@ -49,7 +51,7 @@ describe('createTokenTransport', () => {
|
|
|
49
51
|
expect(refreshAccessToken).toHaveBeenCalledWith('preflight');
|
|
50
52
|
});
|
|
51
53
|
|
|
52
|
-
test('mints via the shared
|
|
54
|
+
test('mints via the shared http.refreshAccessToken single-flight when no bearer is present', async () => {
|
|
53
55
|
const refreshAccessToken = jest.fn(async () => 'minted-token');
|
|
54
56
|
const oxy = fakeOxy(null, refreshAccessToken);
|
|
55
57
|
const transport = createTokenTransport(oxy as never);
|
|
@@ -90,7 +92,7 @@ describe('createTokenTransport', () => {
|
|
|
90
92
|
|
|
91
93
|
test('delegates concurrent calls to the shared single-flight (no private guard of its own)', async () => {
|
|
92
94
|
// The transport keeps NO local coalescing — it forwards each call to the
|
|
93
|
-
// shared `
|
|
95
|
+
// shared `http.refreshAccessToken`, which owns the single-flight that
|
|
94
96
|
// collapses concurrent mints into one server rotation (covered in core).
|
|
95
97
|
const refreshAccessToken = jest.fn(async () => 'minted-token');
|
|
96
98
|
const oxy = fakeOxy(null, refreshAccessToken);
|
|
@@ -126,7 +128,7 @@ describe('createTokenTransport', () => {
|
|
|
126
128
|
});
|
|
127
129
|
|
|
128
130
|
expect(refreshAccessToken).not.toHaveBeenCalled();
|
|
129
|
-
expect(oxy.
|
|
131
|
+
expect(oxy.userId).not.toHaveBeenCalled();
|
|
130
132
|
});
|
|
131
133
|
|
|
132
134
|
test('a resolver reporting no pin (every account-mode provider) behaves exactly as an absent one', async () => {
|
|
@@ -143,7 +145,7 @@ describe('createTokenTransport', () => {
|
|
|
143
145
|
test('treats a throwing bearer-account check as a mismatch and still mints', async () => {
|
|
144
146
|
const refreshAccessToken = jest.fn(async () => 'minted-token');
|
|
145
147
|
const oxy = fakeOxy(null, refreshAccessToken);
|
|
146
|
-
oxy.
|
|
148
|
+
oxy.userId.mockImplementation(() => {
|
|
147
149
|
throw new Error('storage unavailable');
|
|
148
150
|
});
|
|
149
151
|
const transport = createTokenTransport(oxy as never);
|
|
@@ -19,13 +19,7 @@
|
|
|
19
19
|
* for the Commons identity key. The mirror is additive — it can neither change
|
|
20
20
|
* nor fail the app's own durable write.
|
|
21
21
|
*/
|
|
22
|
-
import {
|
|
23
|
-
createWebAuthStateStore,
|
|
24
|
-
createNativeAuthStateStore,
|
|
25
|
-
createSharedMirroringAuthStateStore,
|
|
26
|
-
type AuthStateStore,
|
|
27
|
-
type SessionMode,
|
|
28
|
-
} from '@oxy.so/core';
|
|
22
|
+
import { createWebAuthStateStore, createNativeAuthStateStore, createSharedMirroringAuthStateStore, type AuthStateStore, type SessionMode } from '@oxy.so/core/session';
|
|
29
23
|
import { isReactNative } from '../utils/storageHelpers';
|
|
30
24
|
import { createNativeSecureKeyValueStorage } from './nativeSecureStorage';
|
|
31
25
|
import { createPlatformSharedDeviceCredentialStore } from './sharedDeviceCredentialStore';
|
|
@@ -181,34 +181,6 @@ export interface BackgroundSessionSyncInput {
|
|
|
181
181
|
isCurrent: () => boolean;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
-
/**
|
|
185
|
-
* Fail LOUDLY when the installed `@oxy.so/core` predates
|
|
186
|
-
* `provisionBackgroundCredential`.
|
|
187
|
-
*
|
|
188
|
-
* This is the one failure here that is a build/dependency mistake rather than a
|
|
189
|
-
* runtime condition, and it is the one that must never be quiet. Everything else
|
|
190
|
-
* in `syncBackgroundSession` is caught and logged at warn, which is right for a
|
|
191
|
-
* flaky network — but applying that to a version skew would leave background
|
|
192
|
-
* refreshes permanently non-functional behind a warning nobody reads. So this
|
|
193
|
-
* throws, and logs at ERROR first so it is still visible in a release build whose
|
|
194
|
-
* rejection handler is silent.
|
|
195
|
-
*
|
|
196
|
-
* Reachable only through a runtime skew: the declared `@oxy.so/core` range covers
|
|
197
|
-
* the method, so a correctly-resolved install cannot get here, and TypeScript
|
|
198
|
-
* rules it out at compile time.
|
|
199
|
-
*/
|
|
200
|
-
function assertProvisioningAvailable(oxyServices: OxyServices): void {
|
|
201
|
-
if (typeof oxyServices.provisionBackgroundCredential === 'function') {
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
const message =
|
|
205
|
-
'[backgroundSession] the installed @oxy.so/core has no provisionBackgroundCredential, ' +
|
|
206
|
-
'so no background credential can be provisioned and native background refreshes will ' +
|
|
207
|
-
'never authenticate. Install a @oxy.so/core that satisfies this package\'s declared range.';
|
|
208
|
-
logger.error(message, undefined, { component: 'backgroundSession' });
|
|
209
|
-
throw new Error(message);
|
|
210
|
-
}
|
|
211
|
-
|
|
212
184
|
/**
|
|
213
185
|
* Bring the native credential in line with the session JS currently holds.
|
|
214
186
|
*
|
|
@@ -220,10 +192,9 @@ function assertProvisioningAvailable(oxyServices: OxyServices): void {
|
|
|
220
192
|
* account), so this is the fast local half of a belt-and-braces pair, not the only
|
|
221
193
|
* guard.
|
|
222
194
|
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
* not disturb the session that is working.
|
|
195
|
+
* Every failure is caught and logged: a background credential is an
|
|
196
|
+
* enhancement, and failing to provision one must not disturb the session that
|
|
197
|
+
* is working.
|
|
227
198
|
*/
|
|
228
199
|
export async function syncBackgroundSession(input: BackgroundSessionSyncInput): Promise<void> {
|
|
229
200
|
const native = loadNativeModule();
|
|
@@ -232,13 +203,6 @@ export async function syncBackgroundSession(input: BackgroundSessionSyncInput):
|
|
|
232
203
|
}
|
|
233
204
|
const { oxyServices, userId, canUsePrivateApi, isCurrent } = input;
|
|
234
205
|
|
|
235
|
-
// Before the try, so the catch below cannot turn a dependency skew into a
|
|
236
|
-
// warning. Signed-out is exempt: clearing needs no core method, and a sign-out
|
|
237
|
-
// must never be blocked by one.
|
|
238
|
-
if (userId) {
|
|
239
|
-
assertProvisioningAvailable(oxyServices);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
206
|
try {
|
|
243
207
|
if (!userId) {
|
|
244
208
|
// Signed out. Local-only, so it works with no bearer and no network.
|
|
@@ -266,7 +230,7 @@ export async function syncBackgroundSession(input: BackgroundSessionSyncInput):
|
|
|
266
230
|
return;
|
|
267
231
|
}
|
|
268
232
|
|
|
269
|
-
const provisioned = await oxyServices.provisionBackgroundCredential();
|
|
233
|
+
const provisioned = await oxyServices.devices.provisionBackgroundCredential();
|
|
270
234
|
if (!provisioned) {
|
|
271
235
|
// `null` means the endpoint is not deployed yet. Expected during the
|
|
272
236
|
// rollout window (api leads the SDK) and deliberately quiet.
|
|
@@ -292,7 +256,7 @@ export async function syncBackgroundSession(input: BackgroundSessionSyncInput):
|
|
|
292
256
|
}
|
|
293
257
|
|
|
294
258
|
const persisted = await native.put(
|
|
295
|
-
oxyServices.
|
|
259
|
+
oxyServices.baseURL,
|
|
296
260
|
provisioned.deviceId,
|
|
297
261
|
provisioned.secret,
|
|
298
262
|
provisioned.accountId,
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
createSessionClientHost,
|
|
4
|
-
type OxyServices,
|
|
5
|
-
type SessionStateOrigin,
|
|
6
|
-
} from '@oxy.so/core';
|
|
1
|
+
import { SessionClient, createSessionClientHost, type SessionStateOrigin } from '@oxy.so/core/session';
|
|
2
|
+
import type { OxyServices } from '@oxy.so/core';
|
|
7
3
|
import { createTokenTransport } from './tokenTransport';
|
|
8
4
|
|
|
9
5
|
/**
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A synchronous answer to "does this origin hold a device credential?".
|
|
3
|
+
*
|
|
4
|
+
* The browser bridge (ADR 0029 D2) must decide INSIDE the sign-in press whether
|
|
5
|
+
* to open its window — a window opened after an `await` is blocked by every
|
|
6
|
+
* browser — but the auth store is async. This wrapper remembers the credential
|
|
7
|
+
* every load, save and clear passes through, so the press can read it at once.
|
|
8
|
+
* The cold boot loads the store on mount, long before anyone presses sign-in.
|
|
9
|
+
*/
|
|
10
|
+
import type { AuthStateStore } from '@oxy.so/core/session';
|
|
11
|
+
|
|
12
|
+
export interface HeldDeviceCredential {
|
|
13
|
+
deviceId: string;
|
|
14
|
+
deviceSecret: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface CredentialTrackingAuthStateStore extends AuthStateStore {
|
|
18
|
+
/**
|
|
19
|
+
* The credential last seen through this store; `undefined` until the store has
|
|
20
|
+
* been read at least once (unknown — the caller should not guess).
|
|
21
|
+
*/
|
|
22
|
+
heldDeviceCredential(): HeldDeviceCredential | null | undefined;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function credentialOf(state: { deviceId?: string; deviceSecret?: string } | null): HeldDeviceCredential | null {
|
|
26
|
+
return state?.deviceId && state.deviceSecret
|
|
27
|
+
? { deviceId: state.deviceId, deviceSecret: state.deviceSecret }
|
|
28
|
+
: null;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function trackDeviceCredential(store: AuthStateStore): CredentialTrackingAuthStateStore {
|
|
32
|
+
let held: HeldDeviceCredential | null | undefined;
|
|
33
|
+
return {
|
|
34
|
+
load: async () => {
|
|
35
|
+
const state = await store.load();
|
|
36
|
+
held = credentialOf(state);
|
|
37
|
+
return state;
|
|
38
|
+
},
|
|
39
|
+
save: async (state) => {
|
|
40
|
+
held = credentialOf(state);
|
|
41
|
+
return store.save(state);
|
|
42
|
+
},
|
|
43
|
+
clear: async () => {
|
|
44
|
+
held = null;
|
|
45
|
+
await store.clear();
|
|
46
|
+
},
|
|
47
|
+
heldDeviceCredential: () => held,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
@@ -16,12 +16,7 @@
|
|
|
16
16
|
* resolves it before the cold boot and after every (re-)established identity
|
|
17
17
|
* session; every read after that is free.
|
|
18
18
|
*/
|
|
19
|
-
import {
|
|
20
|
-
createNativeIdentityPinStore,
|
|
21
|
-
createWebIdentityPinStore,
|
|
22
|
-
resolveIdentityPin,
|
|
23
|
-
type IdentityBinding,
|
|
24
|
-
} from '@oxy.so/core';
|
|
19
|
+
import { createNativeIdentityPinStore, createWebIdentityPinStore, resolveIdentityPin, type IdentityBinding } from '@oxy.so/core/session';
|
|
25
20
|
import { isReactNative } from '../utils/storageHelpers';
|
|
26
21
|
import { createNativeSecureKeyValueStorage } from './nativeSecureStorage';
|
|
27
22
|
|
package/src/ui/session/index.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* controller), so the web bundle never pulls it and a device without it falls
|
|
15
15
|
* back to AsyncStorage rather than crashing.
|
|
16
16
|
*/
|
|
17
|
-
import type { NativeKeyValueStorage } from '@oxy.so/core';
|
|
17
|
+
import type { NativeKeyValueStorage } from '@oxy.so/core/session';
|
|
18
18
|
import { createPlatformStorage } from '../utils/storageHelpers';
|
|
19
19
|
|
|
20
20
|
// Variable indirection so Metro's static analyzer never traces expo-secure-store
|
|
@@ -39,12 +39,7 @@
|
|
|
39
39
|
*/
|
|
40
40
|
import { Platform } from 'react-native';
|
|
41
41
|
import { requireOptionalNativeModule } from 'expo-modules-core';
|
|
42
|
-
import {
|
|
43
|
-
normalizeSharedDeviceSessionRead,
|
|
44
|
-
type SharedDeviceCredential,
|
|
45
|
-
type SharedDeviceCredentialRead,
|
|
46
|
-
type SharedDeviceCredentialStore,
|
|
47
|
-
} from '@oxy.so/core';
|
|
42
|
+
import { normalizeSharedDeviceSessionRead, type SharedDeviceCredential, type SharedDeviceCredentialRead, type SharedDeviceCredentialStore } from '@oxy.so/core/session';
|
|
48
43
|
|
|
49
44
|
/**
|
|
50
45
|
* The iOS Keychain Access Group every official Oxy app declares in its
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { logger, type OxyServices
|
|
1
|
+
import { logger, type OxyServices } from '@oxy.so/core';
|
|
2
|
+
import type { TokenTransport } from '@oxy.so/core/session';
|
|
2
3
|
import type { DeviceSessionState } from '@oxy.so/contracts';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -8,7 +9,7 @@ import type { DeviceSessionState } from '@oxy.so/contracts';
|
|
|
8
9
|
* push arrived WITHOUT an embedded `activeToken` and the planted bearer does not
|
|
9
10
|
* already belong to the state's active account. It mints one through the ONE
|
|
10
11
|
* unified single-flight the scheduler, the request-time preflight, and the 401
|
|
11
|
-
* retry all use — `oxyServices.
|
|
12
|
+
* retry all use — `oxyServices.http.refreshAccessToken(...)` — which runs
|
|
12
13
|
* the installed refresh handler (present the persisted zero-cookie `deviceId` +
|
|
13
14
|
* `deviceSecret` at `POST /session/device/token`, which mints for the device's
|
|
14
15
|
* CURRENT active account). Routing through the SAME entry point means this lane
|
|
@@ -45,7 +46,7 @@ export function createTokenTransport(
|
|
|
45
46
|
// active account. `getCurrentUserId()` decodes the bearer's `userId`/`id`
|
|
46
47
|
// (null when absent/opaque), directly comparable to the account id.
|
|
47
48
|
const activeAccountId = state.activeAccountId;
|
|
48
|
-
if (activeAccountId !== null && oxyServices.
|
|
49
|
+
if (activeAccountId !== null && oxyServices.session.userId === activeAccountId) {
|
|
49
50
|
return;
|
|
50
51
|
}
|
|
51
52
|
} catch (error) {
|
|
@@ -55,7 +56,7 @@ export function createTokenTransport(
|
|
|
55
56
|
try {
|
|
56
57
|
// The shared HttpService single-flight coalesces concurrent callers onto
|
|
57
58
|
// one in-flight mint; no local `inFlightMint` guard is needed.
|
|
58
|
-
const token = await oxyServices.
|
|
59
|
+
const token = await oxyServices.http.refreshAccessToken('preflight');
|
|
59
60
|
if (!token) {
|
|
60
61
|
logger.debug('ensureActiveToken: refresh produced no session', {
|
|
61
62
|
component: 'TokenTransport',
|