@oxyhq/services 15.0.0 → 17.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/lib/commonjs/index.js +25 -55
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/client.js +0 -14
- package/lib/commonjs/ui/client.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAccountDialog.js +764 -0
- package/lib/commonjs/ui/components/OxyAccountDialog.js.map +1 -0
- package/lib/commonjs/ui/components/OxyProvider.js +11 -6
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +10 -21
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileButton.js +25 -112
- package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
- package/lib/commonjs/ui/components/RequireOxyAuth.js +299 -0
- package/lib/commonjs/ui/components/RequireOxyAuth.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +106 -2
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/mutationKeys.js +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +10 -10
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +7 -8
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAuth.js +19 -30
- package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +37 -267
- package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
- package/lib/commonjs/ui/index.js +5 -40
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/navigation/accountDialogManager.js +91 -0
- package/lib/commonjs/ui/navigation/accountDialogManager.js.map +1 -0
- package/lib/commonjs/ui/navigation/routes.js +0 -2
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +17 -18
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +4 -3
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/session/createSessionClient.js +10 -2
- package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
- package/lib/module/index.js +20 -17
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/client.js +1 -2
- package/lib/module/ui/client.js.map +1 -1
- package/lib/module/ui/components/OxyAccountDialog.js +761 -0
- package/lib/module/ui/components/OxyAccountDialog.js.map +1 -0
- package/lib/module/ui/components/OxyProvider.js +11 -6
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +10 -21
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/ProfileButton.js +26 -112
- package/lib/module/ui/components/ProfileButton.js.map +1 -1
- package/lib/module/ui/components/RequireOxyAuth.js +294 -0
- package/lib/module/ui/components/RequireOxyAuth.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +107 -3
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/mutations/mutationKeys.js +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +8 -8
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/queryKeys.js +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +5 -6
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/useAuth.js +19 -30
- package/lib/module/ui/hooks/useAuth.js.map +1 -1
- package/lib/module/ui/hooks/useSwitchableAccounts.js +38 -267
- package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
- package/lib/module/ui/index.js +1 -5
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/navigation/accountDialogManager.js +81 -0
- package/lib/module/ui/navigation/accountDialogManager.js.map +1 -0
- package/lib/module/ui/navigation/routes.js +0 -2
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/screens/ConnectedAppsScreen.js +19 -20
- package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.js +4 -3
- package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/module/ui/session/createSessionClient.js +10 -2
- package/lib/module/ui/session/createSessionClient.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +6 -13
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/client.d.ts +0 -4
- package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +35 -0
- package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +11 -23
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts +55 -0
- package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +13 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +4 -4
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts +6 -7
- package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +13 -152
- package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +2 -5
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +49 -0
- package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -0
- 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/screens/ConnectedAppsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +9 -2
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts +9 -0
- package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/storageHelpers.d.ts +7 -7
- package/lib/typescript/module/index.d.ts +6 -13
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/client.d.ts +0 -4
- package/lib/typescript/module/ui/client.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +35 -0
- package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/OxyProvider.d.ts +2 -2
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ProfileButton.d.ts +11 -23
- package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts +55 -0
- package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts.map +1 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts +13 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +4 -4
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts +6 -7
- package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +13 -152
- package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +2 -5
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +49 -0
- package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -0
- 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/screens/ConnectedAppsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/createSessionClient.d.ts +9 -2
- package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +9 -0
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/storageHelpers.d.ts +7 -7
- package/package.json +4 -4
- package/src/index.ts +23 -28
- package/src/ui/client.ts +0 -4
- package/src/ui/components/OxyAccountDialog.tsx +760 -0
- package/src/ui/components/OxyProvider.tsx +12 -6
- package/src/ui/components/OxySignInButton.tsx +10 -21
- package/src/ui/components/ProfileButton.tsx +23 -126
- package/src/ui/components/RequireOxyAuth.tsx +266 -0
- package/src/ui/context/OxyContext.tsx +146 -7
- package/src/ui/hooks/mutations/mutationKeys.ts +1 -1
- package/src/ui/hooks/mutations/useAccountMutations.ts +8 -8
- package/src/ui/hooks/queries/queryKeys.ts +1 -1
- package/src/ui/hooks/queries/useAccountQueries.ts +8 -9
- package/src/ui/hooks/useAuth.ts +19 -31
- package/src/ui/hooks/useSwitchableAccounts.ts +42 -376
- package/src/ui/index.ts +2 -5
- package/src/ui/navigation/accountDialogManager.ts +84 -0
- package/src/ui/navigation/routes.ts +1 -5
- package/src/ui/screens/ConnectedAppsScreen.tsx +23 -24
- package/src/ui/screens/ManageAccountScreen.tsx +3 -2
- package/src/ui/session/createSessionClient.ts +9 -1
- package/src/ui/types/navigation.ts +9 -0
- package/src/ui/utils/storageHelpers.ts +7 -7
- package/lib/commonjs/ui/components/AccountMenu.js +0 -598
- package/lib/commonjs/ui/components/AccountMenu.js.map +0 -1
- package/lib/commonjs/ui/components/AccountMenuButton.js +0 -135
- package/lib/commonjs/ui/components/AccountMenuButton.js.map +0 -1
- package/lib/commonjs/ui/components/AccountSwitcher.js +0 -780
- package/lib/commonjs/ui/components/AccountSwitcher.js.map +0 -1
- package/lib/commonjs/ui/components/AnotherDeviceQR.js +0 -116
- package/lib/commonjs/ui/components/AnotherDeviceQR.js.map +0 -1
- package/lib/commonjs/ui/components/ProfileMenu.js +0 -518
- package/lib/commonjs/ui/components/ProfileMenu.js.map +0 -1
- package/lib/commonjs/ui/components/SignInAccountChooser.js +0 -189
- package/lib/commonjs/ui/components/SignInAccountChooser.js.map +0 -1
- package/lib/commonjs/ui/components/SignInModal.js +0 -600
- package/lib/commonjs/ui/components/SignInModal.js.map +0 -1
- package/lib/commonjs/ui/hooks/useOxyAuthSession.js +0 -501
- package/lib/commonjs/ui/hooks/useOxyAuthSession.js.map +0 -1
- package/lib/commonjs/ui/hooks/usePasswordSignIn.js +0 -170
- package/lib/commonjs/ui/hooks/usePasswordSignIn.js.map +0 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +0 -51
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +0 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +0 -312
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +0 -1
- package/lib/commonjs/utils/deviceFlowSignIn.js +0 -109
- package/lib/commonjs/utils/deviceFlowSignIn.js.map +0 -1
- package/lib/module/ui/components/AccountMenu.js +0 -593
- package/lib/module/ui/components/AccountMenu.js.map +0 -1
- package/lib/module/ui/components/AccountMenuButton.js +0 -130
- package/lib/module/ui/components/AccountMenuButton.js.map +0 -1
- package/lib/module/ui/components/AccountSwitcher.js +0 -774
- package/lib/module/ui/components/AccountSwitcher.js.map +0 -1
- package/lib/module/ui/components/AnotherDeviceQR.js +0 -110
- package/lib/module/ui/components/AnotherDeviceQR.js.map +0 -1
- package/lib/module/ui/components/ProfileMenu.js +0 -514
- package/lib/module/ui/components/ProfileMenu.js.map +0 -1
- package/lib/module/ui/components/SignInAccountChooser.js +0 -183
- package/lib/module/ui/components/SignInAccountChooser.js.map +0 -1
- package/lib/module/ui/components/SignInModal.js +0 -591
- package/lib/module/ui/components/SignInModal.js.map +0 -1
- package/lib/module/ui/hooks/useOxyAuthSession.js +0 -495
- package/lib/module/ui/hooks/useOxyAuthSession.js.map +0 -1
- package/lib/module/ui/hooks/usePasswordSignIn.js +0 -165
- package/lib/module/ui/hooks/usePasswordSignIn.js.map +0 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +0 -48
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +0 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +0 -306
- package/lib/module/ui/screens/OxyAuthScreen.js.map +0 -1
- package/lib/module/utils/deviceFlowSignIn.js +0 -106
- package/lib/module/utils/deviceFlowSignIn.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts +0 -47
- package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts +0 -26
- package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts +0 -46
- package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts +0 -34
- package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +0 -49
- package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts +0 -29
- package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts +0 -28
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts +0 -105
- package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts +0 -31
- package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts +0 -11
- package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts +0 -22
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +0 -1
- package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts +0 -97
- package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AccountMenu.d.ts +0 -47
- package/lib/typescript/module/ui/components/AccountMenu.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AccountMenuButton.d.ts +0 -26
- package/lib/typescript/module/ui/components/AccountMenuButton.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AccountSwitcher.d.ts +0 -46
- package/lib/typescript/module/ui/components/AccountSwitcher.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts +0 -34
- package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/ProfileMenu.d.ts +0 -49
- package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts +0 -29
- package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/SignInModal.d.ts +0 -28
- package/lib/typescript/module/ui/components/SignInModal.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts +0 -105
- package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts +0 -31
- package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts +0 -11
- package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts +0 -22
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +0 -1
- package/lib/typescript/module/utils/deviceFlowSignIn.d.ts +0 -97
- package/lib/typescript/module/utils/deviceFlowSignIn.d.ts.map +0 -1
- package/src/ui/components/AccountMenu.tsx +0 -645
- package/src/ui/components/AccountMenuButton.tsx +0 -126
- package/src/ui/components/AccountSwitcher.tsx +0 -751
- package/src/ui/components/AnotherDeviceQR.tsx +0 -119
- package/src/ui/components/ProfileMenu.tsx +0 -564
- package/src/ui/components/SignInAccountChooser.tsx +0 -162
- package/src/ui/components/SignInModal.tsx +0 -530
- package/src/ui/hooks/useOxyAuthSession.ts +0 -635
- package/src/ui/hooks/usePasswordSignIn.ts +0 -207
- package/src/ui/screens/AccountSwitcherScreen.tsx +0 -43
- package/src/ui/screens/OxyAuthScreen.tsx +0 -324
- package/src/utils/__tests__/deviceFlowSignIn.test.ts +0 -231
- package/src/utils/deviceFlowSignIn.ts +0 -152
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* RequireOxyAuth — the optional signed-out gate primitive (React Native).
|
|
5
|
+
*
|
|
6
|
+
* ONE shared way for any Oxy app to opt into a signed-out gate. It is entirely
|
|
7
|
+
* OPTIONAL: a public app renders its children untouched (`prompt="off"`); an
|
|
8
|
+
* auth-required app blocks them behind a signed-out state (`prompt="hard"`); an
|
|
9
|
+
* app that mostly works signed-out but wants a nudge shows a dismissible banner
|
|
10
|
+
* (`prompt="soft"`). Every mode reuses the ONE account dialog the provider
|
|
11
|
+
* already mounts — opening the sign-in surface is always
|
|
12
|
+
* `useOxy().openAccountDialog('signin')`; there is NO second dialog.
|
|
13
|
+
*
|
|
14
|
+
* Readiness gating (CRITICAL): the gate keys on the SDK's own readiness state
|
|
15
|
+
* (`useOxy().canUsePrivateApi` / `isPrivateApiPending`), NEVER on app-local
|
|
16
|
+
* hooks. While auth is still resolving (`isPrivateApiPending`) it renders a
|
|
17
|
+
* neutral loading state so the signed-out wall never flashes before the
|
|
18
|
+
* device-first cold boot concludes (the documented cold-boot race).
|
|
19
|
+
*
|
|
20
|
+
* Styling follows the sibling `OxyAccountDialog`/`OxySignInButton` pattern —
|
|
21
|
+
* `useTheme()` + `StyleSheet` (NOT NativeWind), so the gate renders correctly in
|
|
22
|
+
* EVERY consumer, including apps that do not run NativeWind (e.g. the accounts
|
|
23
|
+
* app).
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import { useState } from 'react';
|
|
27
|
+
import { ActivityIndicator, Pressable, StyleSheet, View } from 'react-native';
|
|
28
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
29
|
+
import { Text } from '@oxyhq/bloom/typography';
|
|
30
|
+
import { useOxy } from "../context/OxyContext.js";
|
|
31
|
+
import { OxySignInButton } from "./OxySignInButton.js";
|
|
32
|
+
import OxyLogo from "./OxyLogo.js";
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* How `RequireOxyAuth` treats a signed-out (or still-resolving) session.
|
|
36
|
+
* - `off` — always render children (public app; a no-op provided for symmetry).
|
|
37
|
+
* - `soft` — render children, plus a dismissible sign-in banner when signed out.
|
|
38
|
+
* - `hard` — block children behind a centered signed-out state until signed in.
|
|
39
|
+
*/
|
|
40
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
41
|
+
const DEFAULT_TITLE = 'Sign in to continue';
|
|
42
|
+
const DEFAULT_SUBTITLE = 'Sign in with your Oxy account to continue.';
|
|
43
|
+
const DEFAULT_BANNER_MESSAGE = "You're browsing signed out.";
|
|
44
|
+
const DEFAULT_BANNER_ACTION = 'Sign in';
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Optional signed-out gate. Wrap any subtree (or the whole app via the
|
|
48
|
+
* provider's `requireAuth` prop) to opt into a shared, readiness-safe wall.
|
|
49
|
+
*/
|
|
50
|
+
export const RequireOxyAuth = ({
|
|
51
|
+
children,
|
|
52
|
+
prompt = 'hard',
|
|
53
|
+
loadingFallback,
|
|
54
|
+
signedOutFallback,
|
|
55
|
+
title,
|
|
56
|
+
subtitle,
|
|
57
|
+
bannerMessage,
|
|
58
|
+
bannerActionLabel
|
|
59
|
+
}) => {
|
|
60
|
+
const {
|
|
61
|
+
canUsePrivateApi,
|
|
62
|
+
isPrivateApiPending,
|
|
63
|
+
openAccountDialog
|
|
64
|
+
} = useOxy();
|
|
65
|
+
|
|
66
|
+
// Public app: render straight through. Cheap enough to short-circuit before
|
|
67
|
+
// touching any gate UI.
|
|
68
|
+
if (prompt === 'off') {
|
|
69
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
70
|
+
children: children
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Signed in (and token ready): render the protected subtree in every mode.
|
|
75
|
+
if (canUsePrivateApi) {
|
|
76
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
77
|
+
children: children
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (prompt === 'soft') {
|
|
81
|
+
return /*#__PURE__*/_jsx(SoftGate, {
|
|
82
|
+
pending: isPrivateApiPending,
|
|
83
|
+
message: bannerMessage ?? DEFAULT_BANNER_MESSAGE,
|
|
84
|
+
actionLabel: bannerActionLabel ?? DEFAULT_BANNER_ACTION,
|
|
85
|
+
onSignIn: () => openAccountDialog('signin'),
|
|
86
|
+
children: children
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// prompt === 'hard'
|
|
91
|
+
if (isPrivateApiPending) {
|
|
92
|
+
return loadingFallback ? /*#__PURE__*/_jsx(_Fragment, {
|
|
93
|
+
children: loadingFallback
|
|
94
|
+
}) : /*#__PURE__*/_jsx(NeutralLoading, {});
|
|
95
|
+
}
|
|
96
|
+
if (signedOutFallback) {
|
|
97
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
98
|
+
children: signedOutFallback
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
return /*#__PURE__*/_jsx(HardWall, {
|
|
102
|
+
title: title ?? DEFAULT_TITLE,
|
|
103
|
+
subtitle: subtitle ?? DEFAULT_SUBTITLE
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// ---------------------------------------------------------------------------
|
|
108
|
+
// Soft gate — children + a dismissible sign-in banner while signed out.
|
|
109
|
+
// ---------------------------------------------------------------------------
|
|
110
|
+
|
|
111
|
+
const SoftGate = ({
|
|
112
|
+
children,
|
|
113
|
+
pending,
|
|
114
|
+
message,
|
|
115
|
+
actionLabel,
|
|
116
|
+
onSignIn
|
|
117
|
+
}) => {
|
|
118
|
+
const theme = useTheme();
|
|
119
|
+
const [dismissed, setDismissed] = useState(false);
|
|
120
|
+
|
|
121
|
+
// Never surface the nudge while auth is still resolving — only once the boot
|
|
122
|
+
// has concluded signed out and the user has not dismissed it.
|
|
123
|
+
const showBanner = !pending && !dismissed;
|
|
124
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
125
|
+
style: styles.softRoot,
|
|
126
|
+
children: [showBanner ? /*#__PURE__*/_jsxs(View, {
|
|
127
|
+
style: [styles.banner, {
|
|
128
|
+
backgroundColor: theme.colors.card,
|
|
129
|
+
borderColor: theme.colors.border
|
|
130
|
+
}],
|
|
131
|
+
children: [/*#__PURE__*/_jsx(OxyLogo, {
|
|
132
|
+
variant: "icon",
|
|
133
|
+
size: 20,
|
|
134
|
+
fillColor: theme.colors.primary
|
|
135
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
136
|
+
style: [styles.bannerText, {
|
|
137
|
+
color: theme.colors.text
|
|
138
|
+
}],
|
|
139
|
+
numberOfLines: 2,
|
|
140
|
+
children: message
|
|
141
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
142
|
+
onPress: onSignIn,
|
|
143
|
+
style: [styles.bannerCta, {
|
|
144
|
+
backgroundColor: theme.colors.primary
|
|
145
|
+
}],
|
|
146
|
+
accessibilityRole: "button",
|
|
147
|
+
accessibilityLabel: actionLabel,
|
|
148
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
149
|
+
style: styles.bannerCtaText,
|
|
150
|
+
children: actionLabel
|
|
151
|
+
})
|
|
152
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
153
|
+
onPress: () => setDismissed(true),
|
|
154
|
+
style: styles.bannerDismiss,
|
|
155
|
+
accessibilityRole: "button",
|
|
156
|
+
accessibilityLabel: "Dismiss",
|
|
157
|
+
hitSlop: 8,
|
|
158
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
159
|
+
style: [styles.bannerDismissText, {
|
|
160
|
+
color: theme.colors.textSecondary
|
|
161
|
+
}],
|
|
162
|
+
children: "\u2715"
|
|
163
|
+
})
|
|
164
|
+
})]
|
|
165
|
+
}) : null, /*#__PURE__*/_jsx(View, {
|
|
166
|
+
style: styles.softBody,
|
|
167
|
+
children: children
|
|
168
|
+
})]
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
// ---------------------------------------------------------------------------
|
|
173
|
+
// Hard wall — centered signed-out state with the "Sign in with Oxy" CTA.
|
|
174
|
+
// ---------------------------------------------------------------------------
|
|
175
|
+
|
|
176
|
+
const HardWall = ({
|
|
177
|
+
title,
|
|
178
|
+
subtitle
|
|
179
|
+
}) => {
|
|
180
|
+
const theme = useTheme();
|
|
181
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
182
|
+
style: [styles.wallRoot, {
|
|
183
|
+
backgroundColor: theme.colors.background
|
|
184
|
+
}],
|
|
185
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
186
|
+
style: [styles.logoBadge, {
|
|
187
|
+
backgroundColor: theme.colors.primarySubtle
|
|
188
|
+
}],
|
|
189
|
+
children: /*#__PURE__*/_jsx(OxyLogo, {
|
|
190
|
+
variant: "icon",
|
|
191
|
+
size: 44,
|
|
192
|
+
fillColor: theme.colors.primary
|
|
193
|
+
})
|
|
194
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
195
|
+
style: [styles.wallTitle, {
|
|
196
|
+
color: theme.colors.text
|
|
197
|
+
}],
|
|
198
|
+
children: title
|
|
199
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
200
|
+
style: [styles.wallSubtitle, {
|
|
201
|
+
color: theme.colors.textSecondary
|
|
202
|
+
}],
|
|
203
|
+
children: subtitle
|
|
204
|
+
}), /*#__PURE__*/_jsx(OxySignInButton, {
|
|
205
|
+
variant: "contained",
|
|
206
|
+
style: styles.wallCta
|
|
207
|
+
})]
|
|
208
|
+
});
|
|
209
|
+
};
|
|
210
|
+
const NeutralLoading = () => {
|
|
211
|
+
const theme = useTheme();
|
|
212
|
+
return /*#__PURE__*/_jsx(View, {
|
|
213
|
+
style: [styles.wallRoot, {
|
|
214
|
+
backgroundColor: theme.colors.background
|
|
215
|
+
}],
|
|
216
|
+
children: /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
217
|
+
color: theme.colors.primary
|
|
218
|
+
})
|
|
219
|
+
});
|
|
220
|
+
};
|
|
221
|
+
const styles = StyleSheet.create({
|
|
222
|
+
softRoot: {
|
|
223
|
+
flex: 1
|
|
224
|
+
},
|
|
225
|
+
softBody: {
|
|
226
|
+
flex: 1
|
|
227
|
+
},
|
|
228
|
+
banner: {
|
|
229
|
+
flexDirection: 'row',
|
|
230
|
+
alignItems: 'center',
|
|
231
|
+
gap: 10,
|
|
232
|
+
paddingVertical: 8,
|
|
233
|
+
paddingHorizontal: 12,
|
|
234
|
+
borderBottomWidth: StyleSheet.hairlineWidth
|
|
235
|
+
},
|
|
236
|
+
bannerText: {
|
|
237
|
+
flex: 1,
|
|
238
|
+
fontSize: 13.5
|
|
239
|
+
},
|
|
240
|
+
bannerCta: {
|
|
241
|
+
paddingVertical: 6,
|
|
242
|
+
paddingHorizontal: 14,
|
|
243
|
+
borderRadius: 999
|
|
244
|
+
},
|
|
245
|
+
bannerCtaText: {
|
|
246
|
+
color: '#FFFFFF',
|
|
247
|
+
fontSize: 13,
|
|
248
|
+
fontWeight: '700'
|
|
249
|
+
},
|
|
250
|
+
bannerDismiss: {
|
|
251
|
+
width: 28,
|
|
252
|
+
height: 28,
|
|
253
|
+
alignItems: 'center',
|
|
254
|
+
justifyContent: 'center'
|
|
255
|
+
},
|
|
256
|
+
bannerDismissText: {
|
|
257
|
+
fontSize: 15,
|
|
258
|
+
fontWeight: '600'
|
|
259
|
+
},
|
|
260
|
+
wallRoot: {
|
|
261
|
+
flex: 1,
|
|
262
|
+
alignItems: 'center',
|
|
263
|
+
justifyContent: 'center',
|
|
264
|
+
padding: 24,
|
|
265
|
+
gap: 16
|
|
266
|
+
},
|
|
267
|
+
logoBadge: {
|
|
268
|
+
width: 88,
|
|
269
|
+
height: 88,
|
|
270
|
+
borderRadius: 44,
|
|
271
|
+
alignItems: 'center',
|
|
272
|
+
justifyContent: 'center',
|
|
273
|
+
marginBottom: 4
|
|
274
|
+
},
|
|
275
|
+
wallTitle: {
|
|
276
|
+
fontSize: 24,
|
|
277
|
+
fontWeight: '800',
|
|
278
|
+
letterSpacing: -0.4,
|
|
279
|
+
textAlign: 'center'
|
|
280
|
+
},
|
|
281
|
+
wallSubtitle: {
|
|
282
|
+
fontSize: 15,
|
|
283
|
+
lineHeight: 21,
|
|
284
|
+
textAlign: 'center',
|
|
285
|
+
maxWidth: 340
|
|
286
|
+
},
|
|
287
|
+
wallCta: {
|
|
288
|
+
marginTop: 8,
|
|
289
|
+
width: '100%',
|
|
290
|
+
maxWidth: 320
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
export default RequireOxyAuth;
|
|
294
|
+
//# sourceMappingURL=RequireOxyAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","ActivityIndicator","Pressable","StyleSheet","View","useTheme","Text","useOxy","OxySignInButton","OxyLogo","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","DEFAULT_TITLE","DEFAULT_SUBTITLE","DEFAULT_BANNER_MESSAGE","DEFAULT_BANNER_ACTION","RequireOxyAuth","children","prompt","loadingFallback","signedOutFallback","title","subtitle","bannerMessage","bannerActionLabel","canUsePrivateApi","isPrivateApiPending","openAccountDialog","SoftGate","pending","message","actionLabel","onSignIn","NeutralLoading","HardWall","theme","dismissed","setDismissed","showBanner","style","styles","softRoot","banner","backgroundColor","colors","card","borderColor","border","variant","size","fillColor","primary","bannerText","color","text","numberOfLines","onPress","bannerCta","accessibilityRole","accessibilityLabel","bannerCtaText","bannerDismiss","hitSlop","bannerDismissText","textSecondary","softBody","wallRoot","background","logoBadge","primarySubtle","wallTitle","wallSubtitle","wallCta","create","flex","flexDirection","alignItems","gap","paddingVertical","paddingHorizontal","borderBottomWidth","hairlineWidth","fontSize","borderRadius","fontWeight","width","height","justifyContent","padding","marginBottom","letterSpacing","textAlign","lineHeight","maxWidth","marginTop"],"sourceRoot":"../../../../src","sources":["ui/components/RequireOxyAuth.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { Linking } from 'react-native';
|
|
4
5
|
import { OxyServices, oxyClient } from '@oxyhq/core';
|
|
5
|
-
import { KeyManager, runSessionColdBoot, installAuthRefreshHandler, startTokenRefreshScheduler, logger as loggerUtil } from '@oxyhq/core';
|
|
6
|
+
import { KeyManager, runSessionColdBoot, installAuthRefreshHandler, startTokenRefreshScheduler, createAccountDialogController, logger as loggerUtil } from '@oxyhq/core';
|
|
7
|
+
import { registerAccountDialogControls, notifyAccountDialogVisibility } from "../navigation/accountDialogManager.js";
|
|
6
8
|
import { useAuthStore } from "../stores/authStore.js";
|
|
7
9
|
import { useShallow } from 'zustand/react/shallow';
|
|
8
10
|
import { useLanguageManagement } from "../hooks/useLanguageManagement.js";
|
|
@@ -168,6 +170,7 @@ export const OxyProvider = ({
|
|
|
168
170
|
userRef.current = user;
|
|
169
171
|
isAuthenticatedRef.current = isAuthenticated;
|
|
170
172
|
const [initialized, setInitialized] = useState(false);
|
|
173
|
+
const [accountDialogOpen, setAccountDialogOpen] = useState(false);
|
|
171
174
|
const setAuthState = useAuthStore.setState;
|
|
172
175
|
|
|
173
176
|
// Keep the shared `oxyClient` singleton's token store in lockstep with the
|
|
@@ -308,10 +311,19 @@ export const OxyProvider = ({
|
|
|
308
311
|
const markAuthResolvedRef = useRef(markAuthResolved);
|
|
309
312
|
markAuthResolvedRef.current = markAuthResolved;
|
|
310
313
|
|
|
314
|
+
// Re-boot indirection: the SessionClient is built in the ref initializer below
|
|
315
|
+
// (before `runColdBoot` is defined), but its `onSessionAppeared` must re-run the
|
|
316
|
+
// cold boot to self-acquire when a sibling signs in on this device. A ref bridges
|
|
317
|
+
// the ordering; it is assigned right after `runColdBoot` is declared.
|
|
318
|
+
const runColdBootRef = useRef(null);
|
|
319
|
+
|
|
311
320
|
// Server-authoritative device session client. Built ONCE per `oxyServices`
|
|
312
321
|
// instance. `onUnauthenticated` (a device signout-all pushed over the socket,
|
|
313
322
|
// or bootstrapped as zero-account) clears the persisted store + local state so
|
|
314
323
|
// a reload does not try to restore a session the device no longer has.
|
|
324
|
+
// `signedOutSocketAuth` + `onSessionAppeared` power the signed-out sync channel:
|
|
325
|
+
// an idle tab joins its `device:<id>` room (web via the `oxy_device` cookie,
|
|
326
|
+
// native via the shared device token) and self-acquires on a sibling sign-in.
|
|
315
327
|
const sessionClientPairRef = useRef(null);
|
|
316
328
|
if (!sessionClientPairRef.current) {
|
|
317
329
|
sessionClientPairRef.current = createSessionClient(oxyServices, authStore, () => {
|
|
@@ -319,6 +331,21 @@ export const OxyProvider = ({
|
|
|
319
331
|
void clearSessionStateRef.current().catch(clearError => {
|
|
320
332
|
logger('Failed to clear local state on remote sign-out', clearError);
|
|
321
333
|
});
|
|
334
|
+
}, {
|
|
335
|
+
signedOutSocketAuth: async () => {
|
|
336
|
+
// Web (`*.oxy.so`): the first-party `oxy_device` cookie rides the
|
|
337
|
+
// same-site handshake automatically — just connect.
|
|
338
|
+
if (isWebBrowser()) return true;
|
|
339
|
+
// Native (no cookie jar): present the shared device token if we have one.
|
|
340
|
+
try {
|
|
341
|
+
return (await authStore.loadDeviceToken()) ?? false;
|
|
342
|
+
} catch {
|
|
343
|
+
return false;
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
onSessionAppeared: () => {
|
|
347
|
+
void runColdBootRef.current?.();
|
|
348
|
+
}
|
|
322
349
|
});
|
|
323
350
|
}
|
|
324
351
|
const {
|
|
@@ -598,6 +625,58 @@ export const OxyProvider = ({
|
|
|
598
625
|
});
|
|
599
626
|
}, [commitSession]);
|
|
600
627
|
|
|
628
|
+
// ── Unified account dialog ─────────────────────────────────────────────────
|
|
629
|
+
// The single account-chooser + sign-in surface. Built ONCE per provider mount
|
|
630
|
+
// and bound to the live `oxyServices` + `sessionClient` + this provider's
|
|
631
|
+
// `handleWebSession` commit funnel. `handleWebSession` is threaded through a ref
|
|
632
|
+
// so the controller keeps a STABLE `commitSession` (rebuilding the controller
|
|
633
|
+
// on every commit-identity change would drop its subscription + state).
|
|
634
|
+
const handleWebSessionRef = useRef(handleWebSession);
|
|
635
|
+
handleWebSessionRef.current = handleWebSession;
|
|
636
|
+
const accountDialogControllerRef = useRef(null);
|
|
637
|
+
if (!accountDialogControllerRef.current) {
|
|
638
|
+
accountDialogControllerRef.current = createAccountDialogController({
|
|
639
|
+
oxyServices,
|
|
640
|
+
sessionClient,
|
|
641
|
+
clientId,
|
|
642
|
+
locale: currentLanguage,
|
|
643
|
+
commitSession: session => handleWebSessionRef.current(session),
|
|
644
|
+
onSignedIn: () => setAccountDialogOpen(false),
|
|
645
|
+
openUrl: url => {
|
|
646
|
+
void Linking.openURL(url);
|
|
647
|
+
}
|
|
648
|
+
});
|
|
649
|
+
}
|
|
650
|
+
const accountDialogController = accountDialogControllerRef.current;
|
|
651
|
+
const openAccountDialog = useCallback(view => {
|
|
652
|
+
accountDialogControllerRef.current?.setView(view ?? 'accounts');
|
|
653
|
+
setAccountDialogOpen(true);
|
|
654
|
+
}, []);
|
|
655
|
+
const closeAccountDialog = useCallback(() => {
|
|
656
|
+
accountDialogControllerRef.current?.cancelSignIn();
|
|
657
|
+
setAccountDialogOpen(false);
|
|
658
|
+
}, []);
|
|
659
|
+
|
|
660
|
+
// Start driving the dialog on mount; tear it down on unmount.
|
|
661
|
+
useEffect(() => {
|
|
662
|
+
const controller = accountDialogControllerRef.current;
|
|
663
|
+
controller?.start();
|
|
664
|
+
return () => controller?.destroy();
|
|
665
|
+
}, []);
|
|
666
|
+
|
|
667
|
+
// Expose the live open/close controls to the imperative manager so
|
|
668
|
+
// `showSignInModal()` (and any app-level imperative "sign in" handler) works.
|
|
669
|
+
useEffect(() => registerAccountDialogControls({
|
|
670
|
+
open: openAccountDialog,
|
|
671
|
+
close: closeAccountDialog
|
|
672
|
+
}), [openAccountDialog, closeAccountDialog]);
|
|
673
|
+
|
|
674
|
+
// Broadcast visibility so `OxySignInButton`'s "Signing in…" affordance stays
|
|
675
|
+
// accurate regardless of what opened or dismissed the dialog.
|
|
676
|
+
useEffect(() => {
|
|
677
|
+
notifyAccountDialogVisibility(accountDialogOpen);
|
|
678
|
+
}, [accountDialogOpen]);
|
|
679
|
+
|
|
601
680
|
// Keyless password sign-in: username/email + password.
|
|
602
681
|
const signInWithPassword = useCallback(async (identifier, password, opts) => {
|
|
603
682
|
const deviceToken = (await authStore.loadDeviceToken()) ?? undefined;
|
|
@@ -692,6 +771,17 @@ export const OxyProvider = ({
|
|
|
692
771
|
},
|
|
693
772
|
onSignedOut: () => {
|
|
694
773
|
markAuthResolvedRef.current();
|
|
774
|
+
// Open the signed-out realtime channel so this idle tab joins its
|
|
775
|
+
// `device:<id>` room (web `oxy_device` cookie / native device token)
|
|
776
|
+
// and self-acquires when a sibling signs in. Idempotent, best-effort.
|
|
777
|
+
void sessionClient.start().catch(startError => {
|
|
778
|
+
if (__DEV__) {
|
|
779
|
+
loggerUtil.debug('signed-out socket start failed (non-fatal)', {
|
|
780
|
+
component: 'OxyContext',
|
|
781
|
+
method: 'runColdBoot'
|
|
782
|
+
}, startError);
|
|
783
|
+
}
|
|
784
|
+
});
|
|
695
785
|
},
|
|
696
786
|
onStepError: (id, error) => {
|
|
697
787
|
if (__DEV__) {
|
|
@@ -713,7 +803,10 @@ export const OxyProvider = ({
|
|
|
713
803
|
// Backstop: resolve on every exit path so the gate can never hang.
|
|
714
804
|
markAuthResolvedRef.current();
|
|
715
805
|
}
|
|
716
|
-
}, [oxyServices, authStore]);
|
|
806
|
+
}, [oxyServices, authStore, sessionClient]);
|
|
807
|
+
// Bridge for `onSessionAppeared` (SessionClient) → re-run the cold boot to
|
|
808
|
+
// self-acquire when a sibling signs in on this device while this tab is idle.
|
|
809
|
+
runColdBootRef.current = runColdBoot;
|
|
717
810
|
useEffect(() => {
|
|
718
811
|
if (!storage || initialized) {
|
|
719
812
|
return;
|
|
@@ -790,6 +883,9 @@ export const OxyProvider = ({
|
|
|
790
883
|
useEffect(() => {
|
|
791
884
|
if (isAuthenticated && initialized && tokenReady) {
|
|
792
885
|
refreshAccounts();
|
|
886
|
+
// Reload the dialog's own account graph too, so a session restored OUTSIDE
|
|
887
|
+
// the dialog (cold boot / password sign-in) surfaces its graph accounts.
|
|
888
|
+
void accountDialogControllerRef.current?.refresh();
|
|
793
889
|
}
|
|
794
890
|
}, [isAuthenticated, initialized, tokenReady, refreshAccounts]);
|
|
795
891
|
const runPostAccountSwitchSideEffects = useCallback(async () => {
|
|
@@ -874,11 +970,15 @@ export const OxyProvider = ({
|
|
|
874
970
|
useFollow: useFollowHook,
|
|
875
971
|
showBottomSheet: showBottomSheetForContext,
|
|
876
972
|
openAvatarPicker,
|
|
973
|
+
accountDialogController,
|
|
974
|
+
isAccountDialogOpen: accountDialogOpen,
|
|
975
|
+
openAccountDialog,
|
|
976
|
+
closeAccountDialog,
|
|
877
977
|
accounts,
|
|
878
978
|
switchToAccount,
|
|
879
979
|
refreshAccounts,
|
|
880
980
|
createAccount: createAccountFn
|
|
881
|
-
}), [user, sessions, activeSessionId, isAuthenticated, isLoading, tokenReady, hasAccessToken, canUsePrivateApi, isPrivateApiPending, authResolved, storage, error, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, hasIdentity, getPublicKey, signIn, signInWithPassword, completeTwoFactorSignIn, handleWebSession, logout, logoutAll, switchSessionForContext, refreshSessionsForContext, setLanguage, getDeviceSessions, logoutAllDeviceSessions, updateDeviceName, clearSessionState, clearAllAccountData, storageKeyPrefix, clientId, oxyServices, useFollowHook, showBottomSheetForContext, openAvatarPicker, accounts, switchToAccount, refreshAccounts, createAccountFn]);
|
|
981
|
+
}), [user, sessions, activeSessionId, isAuthenticated, isLoading, tokenReady, hasAccessToken, canUsePrivateApi, isPrivateApiPending, authResolved, storage, error, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, hasIdentity, getPublicKey, signIn, signInWithPassword, completeTwoFactorSignIn, handleWebSession, logout, logoutAll, switchSessionForContext, refreshSessionsForContext, setLanguage, getDeviceSessions, logoutAllDeviceSessions, updateDeviceName, clearSessionState, clearAllAccountData, storageKeyPrefix, clientId, oxyServices, useFollowHook, showBottomSheetForContext, openAvatarPicker, accountDialogController, accountDialogOpen, openAccountDialog, closeAccountDialog, accounts, switchToAccount, refreshAccounts, createAccountFn]);
|
|
882
982
|
return /*#__PURE__*/_jsx(OxyContext.Provider, {
|
|
883
983
|
value: contextValue,
|
|
884
984
|
children: children
|
|
@@ -933,6 +1033,10 @@ const LOADING_STATE = {
|
|
|
933
1033
|
clientId: null,
|
|
934
1034
|
oxyServices: LOADING_STATE_OXY_SERVICES,
|
|
935
1035
|
openAvatarPicker: () => {},
|
|
1036
|
+
accountDialogController: null,
|
|
1037
|
+
isAccountDialogOpen: false,
|
|
1038
|
+
openAccountDialog: () => {},
|
|
1039
|
+
closeAccountDialog: () => {},
|
|
936
1040
|
accounts: [],
|
|
937
1041
|
switchToAccount: () => rejectMissingProvider(),
|
|
938
1042
|
refreshAccounts: () => rejectMissingProvider(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","OxyServices","oxyClient","KeyManager","runSessionColdBoot","installAuthRefreshHandler","startTokenRefreshScheduler","logger","loggerUtil","useAuthStore","useShallow","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","useAvatarPicker","useAccountStore","isWebBrowser","createSessionClient","createPlatformAuthStateStore","deviceStateToClientSessions","activeSessionIdOf","activeUserOf","accountIdsOf","jsx","_jsx","OxyContext","DEFAULT_SESSION_VALIDITY_MS","SESSION_HANDOFF_DEADLINE","getHttpStatus","error","undefined","status","response","isUnauthorizedStatus","cachedUseFollowHook","loadUseFollowHook","useFollow","require","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","storageKeyPrefix","clientId","clientIdProp","onAuthStateChange","onError","oxyServicesRef","current","authStoreRef","authStore","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","state","logout","tokenReady","setTokenReady","hasAccessToken","setHasAccessToken","Boolean","getAccessToken","authResolved","setAuthResolved","authResolvedRef","userRef","isAuthenticatedRef","initialized","setInitialized","setAuthState","setState","applyToSingleton","accessToken","setTokens","clearTokens","onTokensChanged","message","err","storageKeys","trimmed","trim","storageRef","storage","setStorage","buildStorageDeferred","resolve","promise","Promise","res","storageReadyRef","storageReady","mounted","then","storageInstance","catch","code","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","clearSessionState","saveActiveSessionId","setAuthError","switchSessionRef","clearSessionStateRef","setActiveSessionIdRef","loginSuccessRef","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","sessionClientPairRef","clearError","client","sessionClient","host","sessionClientHost","syncFromClient","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ids","users","getUsersByIds","fetchError","latest","usersById","Map","map","resolvedUser","id","activeUser","activeAccountId","syncFromClientRef","subscribe","signIn","logoutAll","store","clearAllAccountData","clear","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","clearingInvalidTokenRef","handleTokenChange","finally","dispose","oxy","scheduler","commitSession","input","options","refreshToken","userId","deviceToken","loadDeviceToken","next","sessionId","expiresAt","save","persistError","now","Date","deviceId","getTime","toISOString","lastActive","isCurrent","merge","activate","registerAndActivate","addCurrentAccount","start","registrationError","fullUser","getCurrentUser","profileError","debug","commitSessionRef","handleWebSession","session","signInWithPassword","identifier","password","opts","result","passwordSignIn","deviceName","deviceFingerprint","loginToken","completeTwoFactorSignIn","params","token","backupCode","runColdBoot","platform","isWeb","isNative","onSession","handoff","handoffDeadlineId","race","setTimeout","clearTimeout","onSignedOut","onStepError","String","refreshSessionsForContext","bootstrap","switchSessionForContext","targetAccountId","find","account","accountId","switchAccount","hasIdentity","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","setAccounts","refreshAccounts","list","listAccounts","runPostAccountSwitchSideEffects","invalidateQueries","switchToAccount","deviceState","some","createAccountFn","data","createAccount","canUsePrivateApi","isPrivateApiPending","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","Provider","value","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Linking","OxyServices","oxyClient","KeyManager","runSessionColdBoot","installAuthRefreshHandler","startTokenRefreshScheduler","createAccountDialogController","logger","loggerUtil","registerAccountDialogControls","notifyAccountDialogVisibility","useAuthStore","useShallow","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","useAvatarPicker","useAccountStore","isWebBrowser","createSessionClient","createPlatformAuthStateStore","deviceStateToClientSessions","activeSessionIdOf","activeUserOf","accountIdsOf","jsx","_jsx","OxyContext","DEFAULT_SESSION_VALIDITY_MS","SESSION_HANDOFF_DEADLINE","getHttpStatus","error","undefined","status","response","isUnauthorizedStatus","cachedUseFollowHook","loadUseFollowHook","useFollow","require","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","storageKeyPrefix","clientId","clientIdProp","onAuthStateChange","onError","oxyServicesRef","current","authStoreRef","authStore","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","state","logout","tokenReady","setTokenReady","hasAccessToken","setHasAccessToken","Boolean","getAccessToken","authResolved","setAuthResolved","authResolvedRef","userRef","isAuthenticatedRef","initialized","setInitialized","accountDialogOpen","setAccountDialogOpen","setAuthState","setState","applyToSingleton","accessToken","setTokens","clearTokens","onTokensChanged","message","err","storageKeys","trimmed","trim","storageRef","storage","setStorage","buildStorageDeferred","resolve","promise","Promise","res","storageReadyRef","storageReady","mounted","then","storageInstance","catch","code","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","clearSessionState","saveActiveSessionId","setAuthError","switchSessionRef","clearSessionStateRef","setActiveSessionIdRef","loginSuccessRef","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","runColdBootRef","sessionClientPairRef","clearError","signedOutSocketAuth","loadDeviceToken","onSessionAppeared","client","sessionClient","host","sessionClientHost","syncFromClient","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ids","users","getUsersByIds","fetchError","latest","usersById","Map","map","resolvedUser","id","activeUser","activeAccountId","syncFromClientRef","subscribe","signIn","logoutAll","store","clearAllAccountData","clear","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","clearingInvalidTokenRef","handleTokenChange","finally","dispose","oxy","scheduler","commitSession","input","options","refreshToken","userId","deviceToken","next","sessionId","expiresAt","save","persistError","now","Date","deviceId","getTime","toISOString","lastActive","isCurrent","merge","activate","registerAndActivate","addCurrentAccount","start","registrationError","fullUser","getCurrentUser","profileError","debug","commitSessionRef","handleWebSession","session","handleWebSessionRef","accountDialogControllerRef","locale","onSignedIn","openUrl","url","openURL","accountDialogController","openAccountDialog","view","setView","closeAccountDialog","cancelSignIn","controller","destroy","open","close","signInWithPassword","identifier","password","opts","result","passwordSignIn","deviceName","deviceFingerprint","loginToken","completeTwoFactorSignIn","params","token","backupCode","runColdBoot","platform","isWeb","isNative","onSession","handoff","handoffDeadlineId","race","setTimeout","clearTimeout","onSignedOut","startError","onStepError","String","refreshSessionsForContext","bootstrap","switchSessionForContext","targetAccountId","find","account","accountId","switchAccount","hasIdentity","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","setAccounts","refreshAccounts","list","listAccounts","refresh","runPostAccountSwitchSideEffects","invalidateQueries","switchToAccount","deviceState","some","createAccountFn","data","createAccount","canUsePrivateApi","isPrivateApiPending","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","isAccountDialogOpen","Provider","value","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|