@oxy.so/services 1.0.3 → 1.2.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.map +1 -1
- package/lib/commonjs/ui/components/LanguageBridge.js +51 -0
- package/lib/commonjs/ui/components/LanguageBridge.js.map +1 -0
- package/lib/commonjs/ui/components/OxyAuthChooser.js +95 -140
- package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/commonjs/ui/components/OxyConsentScreen.js +132 -2
- package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +19 -1
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +8 -1
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +35 -25
- package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +2 -3
- package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/SignUpView.js +12 -127
- package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/signInFailureMessage.js +40 -0
- package/lib/commonjs/ui/components/authChooser/signInFailureMessage.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/types.js +4 -6
- package/lib/commonjs/ui/components/authChooser/types.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +15 -2
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/hooks/accountDialogSnapshot.js +3 -1
- package/lib/commonjs/ui/hooks/accountDialogSnapshot.js.map +1 -1
- package/lib/commonjs/ui/hooks/useProfileEditing.js +14 -0
- package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +225 -9
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +10 -0
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/LanguageBridge.js +47 -0
- package/lib/module/ui/components/LanguageBridge.js.map +1 -0
- package/lib/module/ui/components/OxyAuthChooser.js +97 -142
- package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/module/ui/components/OxyConsentScreen.js +132 -2
- package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +19 -1
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/authChooser/AccountsMenuView.js +8 -1
- package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -1
- package/lib/module/ui/components/authChooser/SignInEntryView.js +35 -25
- package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -1
- package/lib/module/ui/components/authChooser/SignInRequestView.js +2 -3
- package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -1
- package/lib/module/ui/components/authChooser/SignUpView.js +14 -129
- package/lib/module/ui/components/authChooser/SignUpView.js.map +1 -1
- package/lib/module/ui/components/authChooser/signInFailureMessage.js +36 -0
- package/lib/module/ui/components/authChooser/signInFailureMessage.js.map +1 -0
- package/lib/module/ui/components/authChooser/types.js +4 -6
- package/lib/module/ui/components/authChooser/types.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +15 -2
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/hooks/accountDialogSnapshot.js +3 -1
- package/lib/module/ui/hooks/accountDialogSnapshot.js.map +1 -1
- package/lib/module/ui/hooks/useProfileEditing.js +14 -0
- package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +225 -9
- package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.js +12 -2
- package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/LanguageBridge.d.ts +19 -0
- package/lib/typescript/commonjs/ui/components/LanguageBridge.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +3 -4
- package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts +17 -1
- package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +14 -0
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +11 -12
- package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts +10 -13
- package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts +16 -0
- package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +11 -13
- package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +3 -2
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +20 -2
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +3 -0
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts +1 -0
- package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts +29 -0
- package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/LanguageBridge.d.ts +19 -0
- package/lib/typescript/module/ui/components/LanguageBridge.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +3 -4
- package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts +17 -1
- package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyProvider.d.ts +14 -0
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +11 -12
- package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts +10 -13
- package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts +16 -0
- package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/types.d.ts +11 -13
- package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +3 -2
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +20 -2
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +3 -0
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts +1 -0
- package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +29 -0
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/index.ts +2 -1
- package/src/ui/components/LanguageBridge.tsx +44 -0
- package/src/ui/components/OxyAuthChooser.tsx +106 -156
- package/src/ui/components/OxyConsentScreen.tsx +127 -0
- package/src/ui/components/OxyProvider.tsx +17 -0
- package/src/ui/components/__tests__/LanguageBridge.test.tsx +81 -0
- package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +32 -0
- package/src/ui/components/authChooser/AccountsMenuView.tsx +7 -0
- package/src/ui/components/authChooser/SignInEntryView.tsx +41 -44
- package/src/ui/components/authChooser/SignInRequestView.tsx +1 -4
- package/src/ui/components/authChooser/SignUpView.tsx +16 -114
- package/src/ui/components/authChooser/signInFailureMessage.ts +39 -0
- package/src/ui/components/authChooser/types.ts +11 -13
- package/src/ui/context/OxyContext.tsx +1 -1
- package/src/ui/context/hooks/useAuthOperations.ts +10 -5
- package/src/ui/context/oxyContextTypes.ts +16 -2
- package/src/ui/hooks/accountDialogSnapshot.ts +2 -0
- package/src/ui/hooks/useProfileEditing.ts +15 -0
- package/src/ui/screens/EditProfileFieldScreen.tsx +202 -7
- package/src/ui/screens/ManageAccountScreen.tsx +12 -0
- package/src/ui/types/navigation.ts +30 -0
- package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js +0 -50
- package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js.map +0 -1
- package/lib/module/ui/components/authChooser/useUsernameAvailability.js +0 -46
- package/lib/module/ui/components/authChooser/useUsernameAvailability.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts +0 -16
- package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts +0 -16
- package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts.map +0 -1
- package/src/ui/components/authChooser/useUsernameAvailability.ts +0 -60
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useMemo, useRef } from 'react';
|
|
4
|
+
import { coerceToSupportedLocale } from '@oxy.so/core';
|
|
5
|
+
import { useOxy } from "../context/OxyContext.js";
|
|
6
|
+
/**
|
|
7
|
+
* `OxyProvider`'s language config prop, realized. Oxy decides which
|
|
8
|
+
* language an account (or, signed out, the device/guest locale) should see;
|
|
9
|
+
* this is the ONE place that decision reaches the host app's own i18n library
|
|
10
|
+
* — so an app never re-derives or imperatively tracks a language of its own,
|
|
11
|
+
* and never mounts anything extra to get it. It owns only its translation
|
|
12
|
+
* catalogs.
|
|
13
|
+
*
|
|
14
|
+
* `currentLanguage` may name a locale the host app never shipped a catalog
|
|
15
|
+
* for — {@link coerceToSupportedLocale} narrows it to the closest one the app
|
|
16
|
+
* actually has (exact match, then same base language, then `fallbackLocale`).
|
|
17
|
+
*
|
|
18
|
+
* Renders nothing. Mounted by `OxyProvider` INSIDE `OxyRuntimeProvider` only
|
|
19
|
+
* when this config is supplied, so an app with no i18n of its own pays
|
|
20
|
+
* nothing.
|
|
21
|
+
*/
|
|
22
|
+
export function LanguageBridge({
|
|
23
|
+
supportedLocales,
|
|
24
|
+
fallbackLocale,
|
|
25
|
+
onChange,
|
|
26
|
+
onError
|
|
27
|
+
}) {
|
|
28
|
+
const {
|
|
29
|
+
currentLanguage
|
|
30
|
+
} = useOxy();
|
|
31
|
+
const resolvedLocale = useMemo(() => coerceToSupportedLocale(currentLanguage, supportedLocales, fallbackLocale), [currentLanguage, supportedLocales, fallbackLocale]);
|
|
32
|
+
|
|
33
|
+
// Refs, not effect dependencies: an inline `onChange`/`onError` (the common
|
|
34
|
+
// case) must not re-fire the effect on every render — only a genuine
|
|
35
|
+
// change in the RESOLVED locale should call it again.
|
|
36
|
+
const onChangeRef = useRef(onChange);
|
|
37
|
+
onChangeRef.current = onChange;
|
|
38
|
+
const onErrorRef = useRef(onError);
|
|
39
|
+
onErrorRef.current = onError;
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
Promise.resolve(onChangeRef.current(resolvedLocale)).catch(error => {
|
|
42
|
+
onErrorRef.current?.(error, resolvedLocale);
|
|
43
|
+
});
|
|
44
|
+
}, [resolvedLocale]);
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=LanguageBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useRef","coerceToSupportedLocale","useOxy","LanguageBridge","supportedLocales","fallbackLocale","onChange","onError","currentLanguage","resolvedLocale","onChangeRef","current","onErrorRef","Promise","resolve","catch","error"],"sourceRoot":"../../../../src","sources":["ui/components/LanguageBridge.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAClD,SAASC,uBAAuB,QAAQ,cAAc;AACtD,SAASC,MAAM,QAAQ,0BAAuB;AAG9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAC;EAAEC,gBAAgB;EAAEC,cAAc;EAAEC,QAAQ;EAAEC;AAA2B,CAAC,EAAQ;EAC7G,MAAM;IAAEC;EAAgB,CAAC,GAAGN,MAAM,CAAC,CAAC;EACpC,MAAMO,cAAc,GAAGV,OAAO,CAC1B,MAAME,uBAAuB,CAACO,eAAe,EAAEJ,gBAAgB,EAAEC,cAAc,CAAC,EAChF,CAACG,eAAe,EAAEJ,gBAAgB,EAAEC,cAAc,CACtD,CAAC;;EAED;EACA;EACA;EACA,MAAMK,WAAW,GAAGV,MAAM,CAACM,QAAQ,CAAC;EACpCI,WAAW,CAACC,OAAO,GAAGL,QAAQ;EAC9B,MAAMM,UAAU,GAAGZ,MAAM,CAACO,OAAO,CAAC;EAClCK,UAAU,CAACD,OAAO,GAAGJ,OAAO;EAE5BT,SAAS,CAAC,MAAM;IACZe,OAAO,CAACC,OAAO,CAACJ,WAAW,CAACC,OAAO,CAACF,cAAc,CAAC,CAAC,CAACM,KAAK,CAAEC,KAAc,IAAK;MAC3EJ,UAAU,CAACD,OAAO,GAAGK,KAAK,EAAEP,cAAc,CAAC;IAC/C,CAAC,CAAC;EACN,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB,OAAO,IAAI;AACf","ignoreList":[]}
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
* that do not use NativeWind (e.g. the accounts app).
|
|
36
36
|
*/
|
|
37
37
|
|
|
38
|
-
import { useCallback, useMemo,
|
|
38
|
+
import { useCallback, useMemo, useSyncExternalStore } from 'react';
|
|
39
39
|
import { Linking, Platform } from 'react-native';
|
|
40
40
|
import { toast } from '@oxy.so/bloom/toast';
|
|
41
41
|
import { surfaces } from '@oxy.so/bloom/surfaces';
|
|
42
42
|
import { useTheme } from '@oxy.so/bloom/theme';
|
|
43
|
-
import {
|
|
43
|
+
import { IDENTITY_WEB_ORIGIN, getNormalizedUserHandle } from '@oxy.so/core';
|
|
44
44
|
import { useQueryClient } from '@tanstack/react-query';
|
|
45
45
|
import { useOxy } from "../context/OxyContext.js";
|
|
46
46
|
import { useDeviceSwitcher } from "../hooks/useDeviceSwitcher.js";
|
|
@@ -53,6 +53,7 @@ import AccountsMenuView from "./authChooser/AccountsMenuView.js";
|
|
|
53
53
|
import SignInEntryView from "./authChooser/SignInEntryView.js";
|
|
54
54
|
import SignInRequestView from "./authChooser/SignInRequestView.js";
|
|
55
55
|
import SignUpView from "./authChooser/SignUpView.js";
|
|
56
|
+
import { signInFailureMessage } from "./authChooser/signInFailureMessage.js";
|
|
56
57
|
import { resolveAccentHex } from "./authChooser/types.js";
|
|
57
58
|
import { EMPTY_ACCOUNT_DIALOG_SNAPSHOT } from "../hooks/accountDialogSnapshot.js";
|
|
58
59
|
|
|
@@ -66,20 +67,27 @@ const COMMONS_CREATE_IDENTITY_URL = 'oxycommons://create-identity';
|
|
|
66
67
|
* hands off to Commons; nothing here invents new API endpoints.
|
|
67
68
|
*/
|
|
68
69
|
const ACCOUNTS_APP_URL = 'https://accounts.oxy.so';
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* The last sign-in attempt whose failure was toasted, per controller.
|
|
73
|
+
*
|
|
74
|
+
* Module-level, not per subscription: a failure is ONE event. Remounting the
|
|
75
|
+
* chooser (or re-subscribing to the same controller) must not report it again,
|
|
76
|
+
* while a NEW attempt that fails with the very same message must. The attempt
|
|
77
|
+
* identity is what tells those apart; the message text cannot.
|
|
78
|
+
*/
|
|
79
|
+
const toastedFailureAttempt = new WeakMap();
|
|
69
80
|
/**
|
|
70
81
|
* The account switcher + sign-in/sign-up chooser. Mounted by `OxyAccountDialogScreen`
|
|
71
82
|
* (wrapped in Bloom's `<Dialog>`) today; mountable bare by any future host that
|
|
72
83
|
* supplies its own `onComplete`.
|
|
73
84
|
*/
|
|
74
85
|
const OxyAuthChooser = ({
|
|
75
|
-
onComplete
|
|
76
|
-
autoStartSignIn: autoStartSignInEnabled = true
|
|
86
|
+
onComplete
|
|
77
87
|
}) => {
|
|
78
88
|
const {
|
|
79
89
|
accountDialogController: controller,
|
|
80
90
|
showBottomSheet,
|
|
81
|
-
signInWithPasskey,
|
|
82
|
-
registerWithPasskey,
|
|
83
91
|
oxyServices,
|
|
84
92
|
logout,
|
|
85
93
|
openAvatarPicker,
|
|
@@ -97,106 +105,39 @@ const OxyAuthChooser = ({
|
|
|
97
105
|
principals
|
|
98
106
|
} = useDeviceSwitcher();
|
|
99
107
|
|
|
100
|
-
//
|
|
101
|
-
//
|
|
102
|
-
//
|
|
103
|
-
//
|
|
104
|
-
//
|
|
105
|
-
|
|
106
|
-
// back via `AccountDialogController.startPasskeyHubSignIn` ('hub'). Native
|
|
107
|
-
// has neither: Commons owns identity there ('none'). `isOxyRpOrigin()` reads
|
|
108
|
-
// `location` once and is stable for the component's lifetime.
|
|
109
|
-
const passkeyMode = useMemo(() => {
|
|
110
|
-
if (!isWebBrowser()) return 'none';
|
|
111
|
-
return isOxyRpOrigin() ? 'direct' : 'hub';
|
|
112
|
-
}, []);
|
|
113
|
-
const [signInPasskeyPending, setSignInPasskeyPending] = useState(false);
|
|
114
|
-
const handleSignInWithPasskey = useCallback(async () => {
|
|
115
|
-
if (signInPasskeyPending) return;
|
|
116
|
-
setSignInPasskeyPending(true);
|
|
117
|
-
try {
|
|
118
|
-
await signInWithPasskey();
|
|
119
|
-
onComplete?.();
|
|
120
|
-
} catch (error) {
|
|
121
|
-
// A cancelled/failed ceremony keeps the view open so the user can retry
|
|
122
|
-
// or fall back to the QR — surface the reason as a toast (owner mandate:
|
|
123
|
-
// errors never render inline inside the dialog), never swallow.
|
|
124
|
-
toast.error(error instanceof Error && error.message ? error.message : t('accountSwitcher.toasts.passkeySignInFailed'));
|
|
125
|
-
} finally {
|
|
126
|
-
setSignInPasskeyPending(false);
|
|
127
|
-
}
|
|
128
|
-
}, [signInPasskeyPending, signInWithPasskey, onComplete, t]);
|
|
129
|
-
const [createPasskeyPending, setCreatePasskeyPending] = useState(false);
|
|
130
|
-
const handleCreateWithPasskey = useCallback(async username => {
|
|
131
|
-
if (createPasskeyPending) return;
|
|
132
|
-
setCreatePasskeyPending(true);
|
|
133
|
-
try {
|
|
134
|
-
await registerWithPasskey({
|
|
135
|
-
username
|
|
136
|
-
});
|
|
137
|
-
onComplete?.();
|
|
138
|
-
} catch (error) {
|
|
139
|
-
toast.error(error instanceof Error && error.message ? error.message : t('signup.toasts.passkeyCreateFailed'));
|
|
140
|
-
} finally {
|
|
141
|
-
setCreatePasskeyPending(false);
|
|
142
|
-
}
|
|
143
|
-
}, [createPasskeyPending, registerWithPasskey, onComplete, t]);
|
|
144
|
-
|
|
145
|
-
// Web: auto-start "Sign in with Oxy" when the sign-in entry becomes the shown
|
|
146
|
-
// view — the request surface is the PRIMARY web route, not something behind a
|
|
147
|
-
// second tap (the user's ONE action was the sign-in button that opened this).
|
|
148
|
-
// `signInWithOxy()` tries the shared keychain first (silently, native-only)
|
|
149
|
-
// then falls to the device flow, whose route the controller picks. Driven from
|
|
150
|
-
// the EVENTS that reach that view — the initial `subscribe` pass below (an
|
|
151
|
-
// open-to-sign-in) and the add / back-to-sign-in handlers — never a watcher
|
|
152
|
-
// effect. Guarded so it never restarts a live flow (phase must be idle) and is
|
|
153
|
-
// a no-op on native (button-driven). Reads the live snapshot at call time (an
|
|
154
|
-
// event callback, not render), so it is stable across renders.
|
|
155
|
-
const autoStartSignIn = useCallback(() => {
|
|
156
|
-
if (!autoStartSignInEnabled || !controller || !isWebBrowser()) return;
|
|
157
|
-
const {
|
|
158
|
-
view: currentView,
|
|
159
|
-
signIn
|
|
160
|
-
} = controller.getSnapshot();
|
|
161
|
-
if (currentView !== 'signin' && currentView !== 'add' || signIn.phase !== 'idle') return;
|
|
162
|
-
void controller.signInWithOxy();
|
|
163
|
-
}, [autoStartSignInEnabled, controller]);
|
|
108
|
+
// Web sign-in and sign-up run at the identity origin (`id.oxy.so`), never
|
|
109
|
+
// on this page, whatever this page's origin: that is where the passkey
|
|
110
|
+
// ceremony can run for any app AND where the account's identity is created
|
|
111
|
+
// and kept sealed under the passkey (one identity, two carriers). Native has
|
|
112
|
+
// no passkey path: Commons owns identity there ('none').
|
|
113
|
+
const passkeyMode = useMemo(() => isWebBrowser() ? 'hub' : 'none', []);
|
|
164
114
|
|
|
165
115
|
// Bind the headless controller. `getSnapshot` returns a stable reference
|
|
166
116
|
// between changes, so it is `useSyncExternalStore`-safe. Guard the no-provider
|
|
167
117
|
// loading state (`controller` is `null`) with an inert store.
|
|
168
118
|
//
|
|
169
|
-
// The subscribe callback ALSO
|
|
170
|
-
//
|
|
171
|
-
//
|
|
172
|
-
//
|
|
173
|
-
// `signIn` asynchronously) are toasted at the notification site, deduped
|
|
174
|
-
// per subscription — NEVER an inline banner in the request view (owner
|
|
175
|
-
// mandate, same contract as account-switch).
|
|
176
|
-
// 2. On subscribe (mount / re-subscribe — a passive effect, the SAME timing
|
|
177
|
-
// the removed effects had) the web sign-in flow auto-starts if the opening
|
|
178
|
-
// view is the sign-in entry.
|
|
119
|
+
// The subscribe callback ALSO toasts sign-in device-flow failures (poll /
|
|
120
|
+
// socket / popup-cancel land on `signIn` asynchronously) at the notification
|
|
121
|
+
// site — an EVENT callback, not render/effect — deduped per attempt, NEVER an
|
|
122
|
+
// inline banner in the request view (owner mandate).
|
|
179
123
|
const subscribe = useCallback(listener => {
|
|
180
124
|
if (!controller) return () => undefined;
|
|
181
|
-
let lastToastedSignInError = null;
|
|
182
125
|
const maybeToastSignInError = () => {
|
|
183
126
|
const {
|
|
184
127
|
signIn
|
|
185
128
|
} = controller.getSnapshot();
|
|
186
|
-
if (signIn.phase
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
129
|
+
if (signIn.phase !== 'error') return;
|
|
130
|
+
if (toastedFailureAttempt.get(controller) === signIn.attempt) return;
|
|
131
|
+
toastedFailureAttempt.set(controller, signIn.attempt);
|
|
132
|
+
const message = signInFailureMessage(signIn.failure, t);
|
|
133
|
+
if (message) toast.error(message);
|
|
192
134
|
};
|
|
193
135
|
maybeToastSignInError();
|
|
194
|
-
autoStartSignIn();
|
|
195
136
|
return controller.subscribe(() => {
|
|
196
137
|
maybeToastSignInError();
|
|
197
138
|
listener();
|
|
198
139
|
});
|
|
199
|
-
}, [controller,
|
|
140
|
+
}, [controller, t]);
|
|
200
141
|
const getSnapshot = useCallback(() => controller ? controller.getSnapshot() : EMPTY_ACCOUNT_DIALOG_SNAPSHOT, [controller]);
|
|
201
142
|
const snapshot = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
202
143
|
const {
|
|
@@ -205,31 +146,30 @@ const OxyAuthChooser = ({
|
|
|
205
146
|
const consumerHooks = useSyncExternalStore(subscribeToAccountDialogConsumerHooks, getAccountDialogConsumerHooks, () => null);
|
|
206
147
|
const handleActivate = useCallback(async contextId => {
|
|
207
148
|
if (!controller) return;
|
|
208
|
-
|
|
149
|
+
// Another switch or removal is already changing this device: the press is
|
|
150
|
+
// dropped, not queued — and it is not a failure to report.
|
|
151
|
+
if (controller.isDeviceMutationInFlight()) return;
|
|
209
152
|
// Already live: activating it again bumps nothing server-side, so treat
|
|
210
153
|
// the press as "yes, this one" and close.
|
|
211
154
|
if (contextId === controller.getSnapshot().activeContext?.contextId) {
|
|
212
155
|
onComplete?.();
|
|
213
156
|
return;
|
|
214
157
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
toast.error(t('accountSwitcher.toasts.activateFailed'));
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
// The subject changed, so every account-scoped query is now about
|
|
225
|
-
// somebody else. The runtime resets its own caches between the bearer
|
|
226
|
-
// commit and the notify; this drops the Query cache the same way the
|
|
227
|
-
// account switch did.
|
|
228
|
-
queryClient.invalidateQueries();
|
|
229
|
-
onComplete?.();
|
|
230
|
-
} catch {
|
|
158
|
+
// The controller's own verdict on the SWITCH — never `snapshot.error`,
|
|
159
|
+
// which the directory re-read after a successful switch can also set.
|
|
160
|
+
// Reading that as "the switch failed" left the dialog open on a false
|
|
161
|
+
// error with the previous account's queries still cached.
|
|
162
|
+
const switched = await controller.activateContext(contextId).catch(() => false);
|
|
163
|
+
if (!switched) {
|
|
231
164
|
toast.error(t('accountSwitcher.toasts.activateFailed'));
|
|
165
|
+
return;
|
|
232
166
|
}
|
|
167
|
+
// The subject changed, so every account-scoped query is now about
|
|
168
|
+
// somebody else. The runtime resets its own caches between the bearer
|
|
169
|
+
// commit and the notify; this drops the Query cache the same way the
|
|
170
|
+
// account switch did.
|
|
171
|
+
queryClient.invalidateQueries();
|
|
172
|
+
onComplete?.();
|
|
233
173
|
}, [controller, onComplete, queryClient, t]);
|
|
234
174
|
|
|
235
175
|
/**
|
|
@@ -241,7 +181,7 @@ const OxyAuthChooser = ({
|
|
|
241
181
|
* would get wrong.
|
|
242
182
|
*/
|
|
243
183
|
const handleRemoveContext = useCallback(async contextId => {
|
|
244
|
-
if (!controller) return;
|
|
184
|
+
if (!controller || controller.isDeviceMutationInFlight()) return;
|
|
245
185
|
const group = principals.find(principal => principal.contexts.some(context => context.contextId === contextId));
|
|
246
186
|
const context = group?.contexts.find(row => row.contextId === contextId);
|
|
247
187
|
if (!group || !context) return;
|
|
@@ -268,7 +208,7 @@ const OxyAuthChooser = ({
|
|
|
268
208
|
|
|
269
209
|
/** Remove ONE PERSON and every account they reach here, and nobody else's. */
|
|
270
210
|
const handleRemovePrincipal = useCallback(async principalId => {
|
|
271
|
-
if (!controller) return;
|
|
211
|
+
if (!controller || controller.isDeviceMutationInFlight()) return;
|
|
272
212
|
const group = principals.find(principal => principal.principalId === principalId);
|
|
273
213
|
if (!group) return;
|
|
274
214
|
const confirmed = await surfaces.confirm({
|
|
@@ -290,6 +230,37 @@ const OxyAuthChooser = ({
|
|
|
290
230
|
name: group.displayName
|
|
291
231
|
}));
|
|
292
232
|
}, [controller, principals, t]);
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Sign out of the current account, and close only once that is TRUE.
|
|
236
|
+
*
|
|
237
|
+
* Runs under the controller's device-mutation gate, so it can neither race a
|
|
238
|
+
* switch or removal nor be issued twice by a double press. A failed
|
|
239
|
+
* revocation keeps the dialog open and says so: closing it would read as
|
|
240
|
+
* "signed out" while this device still holds the session.
|
|
241
|
+
*/
|
|
242
|
+
const handleSignOut = useCallback(async () => {
|
|
243
|
+
if (!controller) return;
|
|
244
|
+
const outcome = await controller.runDeviceMutation(() => logout());
|
|
245
|
+
if (!outcome.ran) return;
|
|
246
|
+
if (outcome.value.status === 'failed') {
|
|
247
|
+
toast.error(t('common.errors.signOutFailed'));
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
onComplete?.();
|
|
251
|
+
}, [controller, logout, onComplete, t]);
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Hand a URL to the OS. `Linking.openURL` REJECTS when nothing can open it
|
|
255
|
+
* (no browser, an unregistered scheme, a blocked navigation) — a press that
|
|
256
|
+
* then does nothing at all is exactly the dead end this reports instead.
|
|
257
|
+
*/
|
|
258
|
+
const openExternal = useCallback(url => {
|
|
259
|
+
// Wrapped so a synchronous throw lands in the same handler as a rejection.
|
|
260
|
+
Promise.resolve().then(() => Linking.openURL(url)).catch(() => {
|
|
261
|
+
toast.error(t('accountSwitcher.linkOpenFailed'));
|
|
262
|
+
});
|
|
263
|
+
}, [t]);
|
|
293
264
|
const handleManage = useCallback(() => {
|
|
294
265
|
onComplete?.();
|
|
295
266
|
if (consumerHooks?.onNavigateManage) {
|
|
@@ -304,11 +275,9 @@ const OxyAuthChooser = ({
|
|
|
304
275
|
consumerHooks.onAddAccount();
|
|
305
276
|
return;
|
|
306
277
|
}
|
|
307
|
-
// No consumer override: enter the "add account" view
|
|
308
|
-
// sign-in flow, from this handler (the event that reaches the view).
|
|
278
|
+
// No consumer override: enter the "add account" view.
|
|
309
279
|
controller?.add();
|
|
310
|
-
|
|
311
|
-
}, [consumerHooks, controller, autoStartSignIn, onComplete]);
|
|
280
|
+
}, [consumerHooks, controller, onComplete]);
|
|
312
281
|
const handlers = useMemo(() => ({
|
|
313
282
|
onActivate: contextId => {
|
|
314
283
|
void handleActivate(contextId);
|
|
@@ -343,22 +312,16 @@ const OxyAuthChooser = ({
|
|
|
343
312
|
// surface and hides them behind "Having trouble?" (issue #691).
|
|
344
313
|
const alternatives = useMemo(() => ({
|
|
345
314
|
passkeyAvailable: passkeyMode !== 'none',
|
|
346
|
-
//
|
|
347
|
-
|
|
348
|
-
// component-local pending flag. A ceremony FAILURE is toasted by
|
|
349
|
-
// `handleSignInWithPasskey`, never rendered inline.
|
|
350
|
-
passkeyPending: passkeyMode === 'direct' ? signInPasskeyPending : false,
|
|
351
|
-
onSignInWithPasskey: () => {
|
|
352
|
-
if (passkeyMode === 'direct') {
|
|
353
|
-
void handleSignInWithPasskey();
|
|
354
|
-
return;
|
|
355
|
-
}
|
|
356
|
-
void controller?.startPasskeyHubSignIn();
|
|
357
|
-
},
|
|
315
|
+
// Called straight from the press: the popup opens before any await.
|
|
316
|
+
onSignInWithPasskey: () => void controller?.startPasskeyHubSignIn(),
|
|
358
317
|
onShowQr: () => void controller?.showQr(),
|
|
359
|
-
onGetCommons: () =>
|
|
360
|
-
|
|
361
|
-
|
|
318
|
+
onGetCommons: () => openExternal(getCommonsAcquisitionUrl(Platform.OS)),
|
|
319
|
+
// Web: the identity origin creates the account and its identity in the
|
|
320
|
+
// same window a sign-in uses. Native: Commons creates the identity.
|
|
321
|
+
onCreateAccount: () => {
|
|
322
|
+
if (passkeyMode === 'hub') void controller?.startPasskeyHubSignIn();else controller?.startSignup();
|
|
323
|
+
}
|
|
324
|
+
}), [passkeyMode, controller, openExternal]);
|
|
362
325
|
|
|
363
326
|
// Real storage usage for the account menu's "Oxy storage" block. Disabled
|
|
364
327
|
// (no fetch) until a private-API session exists, so it is inert on the
|
|
@@ -377,9 +340,7 @@ const OxyAuthChooser = ({
|
|
|
377
340
|
// endpoints — the same handoff pattern `handleManage`/`getCommonsAcquisitionUrl`
|
|
378
341
|
// already use.
|
|
379
342
|
const accountMenu = useMemo(() => {
|
|
380
|
-
const openUrl =
|
|
381
|
-
void Linking.openURL(url);
|
|
382
|
-
};
|
|
343
|
+
const openUrl = openExternal;
|
|
383
344
|
const openSheet = config => {
|
|
384
345
|
onComplete?.();
|
|
385
346
|
showBottomSheet?.(config);
|
|
@@ -403,9 +364,9 @@ const OxyAuthChooser = ({
|
|
|
403
364
|
}
|
|
404
365
|
}),
|
|
405
366
|
onSignOut: () => {
|
|
406
|
-
void
|
|
407
|
-
onComplete?.();
|
|
367
|
+
void handleSignOut();
|
|
408
368
|
},
|
|
369
|
+
onOpenIdentity: passkeyMode === 'hub' ? () => openUrl(`${IDENTITY_WEB_ORIGIN}/`) : undefined,
|
|
409
370
|
customItems: (consumerHooks?.menuItems ?? []).map(item => ({
|
|
410
371
|
...item,
|
|
411
372
|
onPress: () => {
|
|
@@ -414,7 +375,7 @@ const OxyAuthChooser = ({
|
|
|
414
375
|
}
|
|
415
376
|
}))
|
|
416
377
|
};
|
|
417
|
-
}, [consumerHooks, onComplete, showBottomSheet,
|
|
378
|
+
}, [consumerHooks, onComplete, showBottomSheet, handleSignOut, openExternal, passkeyMode]);
|
|
418
379
|
if (!controller) {
|
|
419
380
|
return null;
|
|
420
381
|
}
|
|
@@ -434,7 +395,7 @@ const OxyAuthChooser = ({
|
|
|
434
395
|
return /*#__PURE__*/_jsx(SignInRequestView, {
|
|
435
396
|
snapshot: snapshot,
|
|
436
397
|
t: t,
|
|
437
|
-
onRetry: () => void controller.
|
|
398
|
+
onRetry: () => void controller.retrySignIn(),
|
|
438
399
|
alternatives: alternatives
|
|
439
400
|
});
|
|
440
401
|
}
|
|
@@ -443,17 +404,11 @@ const OxyAuthChooser = ({
|
|
|
443
404
|
snapshot: snapshot,
|
|
444
405
|
theme: theme,
|
|
445
406
|
t: t,
|
|
446
|
-
oxyServices: oxyServices,
|
|
447
407
|
passkeyMode: passkeyMode,
|
|
448
|
-
onCreateWithPasskey: username => void handleCreateWithPasskey(username),
|
|
449
|
-
createPending: createPasskeyPending,
|
|
450
408
|
onOpenHub: () => void controller.startPasskeyHubSignIn(),
|
|
451
|
-
onCreateIdentityInCommons: () =>
|
|
409
|
+
onCreateIdentityInCommons: () => openExternal(COMMONS_CREATE_IDENTITY_URL),
|
|
452
410
|
onGetCommons: alternatives.onGetCommons,
|
|
453
|
-
onBackToSignIn: () =>
|
|
454
|
-
controller.setView('signin');
|
|
455
|
-
autoStartSignIn();
|
|
456
|
-
}
|
|
411
|
+
onBackToSignIn: () => controller.setView('signin')
|
|
457
412
|
});
|
|
458
413
|
}
|
|
459
414
|
return /*#__PURE__*/_jsx(SignInEntryView, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMemo","useState","useSyncExternalStore","Linking","Platform","toast","surfaces","useTheme","getNormalizedUserHandle","isOxyRpOrigin","useQueryClient","useOxy","useDeviceSwitcher","useI18n","getAccountDialogConsumerHooks","subscribeToAccountDialogConsumerHooks","isWebBrowser","getCommonsAcquisitionUrl","useAccountStorageUsage","AccountsMenuView","SignInEntryView","SignInRequestView","SignUpView","resolveAccentHex","EMPTY_ACCOUNT_DIALOG_SNAPSHOT","jsx","_jsx","COMMONS_CREATE_IDENTITY_URL","ACCOUNTS_APP_URL","OxyAuthChooser","onComplete","autoStartSignIn","autoStartSignInEnabled","accountDialogController","controller","showBottomSheet","signInWithPasskey","registerWithPasskey","oxyServices","logout","openAvatarPicker","user","theme","t","queryClient","principals","passkeyMode","signInPasskeyPending","setSignInPasskeyPending","handleSignInWithPasskey","error","Error","message","createPasskeyPending","setCreatePasskeyPending","handleCreateWithPasskey","username","view","currentView","signIn","getSnapshot","phase","signInWithOxy","subscribe","listener","undefined","lastToastedSignInError","maybeToastSignInError","snapshot","consumerHooks","handleActivate","contextId","activatingContextId","activeContext","activateContext","invalidateQueries","handleRemoveContext","group","find","principal","contexts","some","context","row","confirmed","confirm","title","description","person","displayName","account","confirmLabel","cancelLabel","destructive","removed","signOutContext","success","handleRemovePrincipal","principalId","name","signOutPrincipal","handleManage","onNavigateManage","handleAdd","onAddAccount","add","handlers","onActivate","onRemoveContext","onRemovePrincipal","onAdd","onManage","onEditAvatar","hero","buildHero","colors","primary","alternatives","passkeyAvailable","passkeyPending","onSignInWithPasskey","startPasskeyHubSignIn","onShowQr","showQr","onGetCommons","openURL","OS","onCreateAccount","startSignup","storageQuery","enabled","storage","data","usedBytes","totalUsedBytes","limitBytes","totalLimitBytes","accountMenu","openUrl","url","openSheet","config","onOpenSettings","onOpenData","onManageStorage","onUpgradeStorage","onHelp","onPrivacy","screen","props","initialStep","onTerms","onSignOut","customItems","menuItems","map","item","onPress","menu","onRetry","onCreateWithPasskey","createPending","onOpenHub","onCreateIdentityInCommons","onBackToSignIn","setView","onContinueWithOxy","fallbackAccent","handle","trim","addressLine","email","toLowerCase","endsWith","avatarUrl","avatar","getFileDownloadUrl","accentHex","color"],"sourceRoot":"../../../../src","sources":["ui/components/OxyAuthChooser.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useSyncExternalStore","Linking","Platform","toast","surfaces","useTheme","IDENTITY_WEB_ORIGIN","getNormalizedUserHandle","useQueryClient","useOxy","useDeviceSwitcher","useI18n","getAccountDialogConsumerHooks","subscribeToAccountDialogConsumerHooks","isWebBrowser","getCommonsAcquisitionUrl","useAccountStorageUsage","AccountsMenuView","SignInEntryView","SignInRequestView","SignUpView","signInFailureMessage","resolveAccentHex","EMPTY_ACCOUNT_DIALOG_SNAPSHOT","jsx","_jsx","COMMONS_CREATE_IDENTITY_URL","ACCOUNTS_APP_URL","toastedFailureAttempt","WeakMap","OxyAuthChooser","onComplete","accountDialogController","controller","showBottomSheet","oxyServices","logout","openAvatarPicker","user","theme","t","queryClient","principals","passkeyMode","subscribe","listener","undefined","maybeToastSignInError","signIn","getSnapshot","phase","get","attempt","set","message","failure","error","snapshot","view","consumerHooks","handleActivate","contextId","isDeviceMutationInFlight","activeContext","switched","activateContext","catch","invalidateQueries","handleRemoveContext","group","find","principal","contexts","some","context","row","confirmed","confirm","title","description","person","displayName","account","confirmLabel","cancelLabel","destructive","removed","signOutContext","success","handleRemovePrincipal","principalId","name","signOutPrincipal","handleSignOut","outcome","runDeviceMutation","ran","value","status","openExternal","url","Promise","resolve","then","openURL","handleManage","onNavigateManage","handleAdd","onAddAccount","add","handlers","onActivate","onRemoveContext","onRemovePrincipal","onAdd","onManage","onEditAvatar","hero","buildHero","colors","primary","alternatives","passkeyAvailable","onSignInWithPasskey","startPasskeyHubSignIn","onShowQr","showQr","onGetCommons","OS","onCreateAccount","startSignup","storageQuery","enabled","storage","data","usedBytes","totalUsedBytes","limitBytes","totalLimitBytes","accountMenu","openUrl","openSheet","config","onOpenSettings","onOpenData","onManageStorage","onUpgradeStorage","onHelp","onPrivacy","screen","props","initialStep","onTerms","onSignOut","onOpenIdentity","customItems","menuItems","map","item","onPress","menu","onRetry","retrySignIn","onOpenHub","onCreateIdentityInCommons","onBackToSignIn","setView","onContinueWithOxy","signInWithOxy","fallbackAccent","handle","trim","addressLine","email","toLowerCase","endsWith","avatarUrl","avatar","getFileDownloadUrl","accentHex","color"],"sourceRoot":"../../../../src","sources":["ui/components/OxyAuthChooser.tsx"],"mappings":"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","ignoreList":[]}
|