@oxyhq/services 6.10.6 → 6.10.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/lib/commonjs/ui/context/OxyContext.js +318 -21
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js +9 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +319 -22
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js +9 -1
- package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ui/context/OxyContext.tsx +326 -19
- package/src/ui/hooks/useSessionManagement.ts +10 -2
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A comprehensive TypeScript UI library for the Oxy API providing authentication, user management, and UI components for React Native and Expo applications.
|
|
4
4
|
|
|
5
|
-
**Current published version: 6.10.
|
|
5
|
+
**Current published version: 6.10.6**
|
|
6
6
|
|
|
7
7
|
> **For web apps (Vite, Next.js, CRA):** Use [`@oxyhq/auth`](../auth) for authentication and [`@oxyhq/core`](../core) for types and services.
|
|
8
8
|
>
|
|
@@ -751,7 +751,7 @@ Typed returns are defined in `ui/hooks/queries/paymentTypes.ts` (`Subscription`,
|
|
|
751
751
|
|
|
752
752
|
## Silent SSO Run-Once Guard
|
|
753
753
|
|
|
754
|
-
The cross-page-load deduplication guard
|
|
754
|
+
The cross-page-load deduplication guard lives in the consumer hooks, NOT in `@oxyhq/core`. A core module-level singleton was tried and reverted because it re-evaluates in the Metro web bundle and the guard did not hold. `useWebSSO` in this package owns a module-level `silentSSOAttempted` Set + `ssoSignature(origin|baseURL)` key for cross-mount deduplication, plus a per-instance `hasCheckedRef` fast-path. Do NOT move this guard into a core module-level singleton.
|
|
755
755
|
|
|
756
756
|
## Requirements
|
|
757
757
|
|
|
@@ -24,6 +24,64 @@ var _accountStore = require("../stores/accountStore.js");
|
|
|
24
24
|
var _useWebSSO = require("../hooks/useWebSSO.js");
|
|
25
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
26
|
const OxyContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Minimal, decode-only shape of the session access-token JWT claims the
|
|
30
|
+
* `POST /auth/refresh` endpoint returns. We only read `sessionId` (and `userId`
|
|
31
|
+
* as a fallback). The token is already signed and verified server-side; the
|
|
32
|
+
* client decodes the payload purely to recover the session id — it does NOT and
|
|
33
|
+
* MUST NOT verify the signature.
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Decode the payload of a JWT WITHOUT verifying its signature.
|
|
38
|
+
*
|
|
39
|
+
* The server (`POST /auth/refresh`) has already minted and signed this access
|
|
40
|
+
* token; we only need to recover the `sessionId` claim from it on cold boot.
|
|
41
|
+
* Returns `null` for any malformed input rather than throwing, so a bad token
|
|
42
|
+
* simply falls through to the unauthenticated path.
|
|
43
|
+
*
|
|
44
|
+
* Implemented with manual base64url decoding (no `jwt-decode` dependency added
|
|
45
|
+
* to `@oxyhq/services`). Works on web (where this cold-boot path runs) via
|
|
46
|
+
* `atob`; if `atob` is unavailable (non-browser runtime) it is treated as
|
|
47
|
+
* undecodable and returns `null`.
|
|
48
|
+
*/
|
|
49
|
+
function decodeAccessTokenClaims(token) {
|
|
50
|
+
if (!token || typeof token !== 'string') {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const segments = token.split('.');
|
|
54
|
+
if (segments.length !== 3) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
const payloadSegment = segments[1];
|
|
58
|
+
if (!payloadSegment) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
const base64 = payloadSegment.replace(/-/g, '+').replace(/_/g, '/');
|
|
63
|
+
const padded = base64.padEnd(base64.length + (4 - base64.length % 4) % 4, '=');
|
|
64
|
+
if (typeof atob !== 'function') {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
const json = decodeURIComponent(atob(padded).split('').map(char => `%${`00${char.charCodeAt(0).toString(16)}`.slice(-2)}`).join(''));
|
|
68
|
+
const parsed = JSON.parse(json);
|
|
69
|
+
if (parsed === null || typeof parsed !== 'object') {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
const claims = parsed;
|
|
73
|
+
return {
|
|
74
|
+
sessionId: typeof claims.sessionId === 'string' ? claims.sessionId : undefined,
|
|
75
|
+
userId: typeof claims.userId === 'string' ? claims.userId : undefined,
|
|
76
|
+
id: typeof claims.id === 'string' ? claims.id : undefined
|
|
77
|
+
};
|
|
78
|
+
} catch {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/** Server response shape of `POST /auth/refresh`. */
|
|
84
|
+
|
|
27
85
|
let cachedUseFollowHook = null;
|
|
28
86
|
const loadUseFollowHook = () => {
|
|
29
87
|
if (cachedUseFollowHook) {
|
|
@@ -95,6 +153,41 @@ const OxyProvider = ({
|
|
|
95
153
|
const [tokenReady, setTokenReady] = (0, _react.useState)(true);
|
|
96
154
|
const [initialized, setInitialized] = (0, _react.useState)(false);
|
|
97
155
|
const setAuthState = _authStore.useAuthStore.setState;
|
|
156
|
+
|
|
157
|
+
// Keep the shared `oxyClient` singleton's token store in lockstep with the
|
|
158
|
+
// session owned by THIS provider's instance. Many apps construct their api
|
|
159
|
+
// clients against the exported `oxyClient` singleton (reading
|
|
160
|
+
// `oxyClient.getAccessToken()` to build Authorization headers) while passing
|
|
161
|
+
// only `baseURL` to OxyProvider — in which case the provider owns a DIFFERENT
|
|
162
|
+
// `OxyServices` instance and the singleton would otherwise never receive the
|
|
163
|
+
// token, producing `Authorization: Bearer null`.
|
|
164
|
+
//
|
|
165
|
+
// Subscribing to `onTokensChanged` mirrors EVERY token mutation — sign-in,
|
|
166
|
+
// session restore, switch, silent refresh, and sign-out/clear — onto the
|
|
167
|
+
// singleton at the single source of truth in @oxyhq/core, with no per-app
|
|
168
|
+
// plumbing and regardless of which auth code path fired.
|
|
169
|
+
//
|
|
170
|
+
// When the app passed the singleton itself as `oxyServices` (Mention's
|
|
171
|
+
// pattern), `oxyServices === oxyClient`, so we skip the redundant self-write
|
|
172
|
+
// and the subscription is a no-op mirror — fully backward compatible.
|
|
173
|
+
(0, _react.useEffect)(() => {
|
|
174
|
+
if (oxyServices === _core.oxyClient) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const applyToSingleton = accessToken => {
|
|
178
|
+
if (accessToken) {
|
|
179
|
+
_core.oxyClient.setTokens(accessToken);
|
|
180
|
+
} else {
|
|
181
|
+
_core.oxyClient.clearTokens();
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
// Seed the singleton with whatever token the instance already holds (it may
|
|
186
|
+
// have been planted synchronously before this effect ran — e.g. a token set
|
|
187
|
+
// during the same tick as mount), then keep it in sync going forward.
|
|
188
|
+
applyToSingleton(oxyServices.getAccessToken());
|
|
189
|
+
return oxyServices.onTokensChanged(applyToSingleton);
|
|
190
|
+
}, [oxyServices]);
|
|
98
191
|
const logger = (0, _react.useCallback)((message, err) => {
|
|
99
192
|
if (__DEV__) {
|
|
100
193
|
console.warn(`[OxyContext] ${message}`, err);
|
|
@@ -102,14 +195,59 @@ const OxyProvider = ({
|
|
|
102
195
|
}, []);
|
|
103
196
|
const storageKeys = (0, _react.useMemo)(() => (0, _storageHelpers.getStorageKeys)(storageKeyPrefix), [storageKeyPrefix]);
|
|
104
197
|
|
|
105
|
-
//
|
|
198
|
+
// Storage initialization.
|
|
199
|
+
//
|
|
200
|
+
// `storage` (state) drives render-time gating (`isStorageReady`) and the
|
|
201
|
+
// hooks below. But it is `null` for a brief window after mount while
|
|
202
|
+
// `createPlatformStorage()` resolves (a microtask on web; a dynamic
|
|
203
|
+
// `import()` on native). Any persistence path that fires during that window
|
|
204
|
+
// — e.g. an interactive FedCM sign-in the instant the screen mounts — would
|
|
205
|
+
// read `storage === null` and SILENTLY skip writing the session, leaving the
|
|
206
|
+
// user signed-in in-memory but with nothing to restore on reload.
|
|
207
|
+
//
|
|
208
|
+
// To make persistence robust regardless of timing we ALSO expose the storage
|
|
209
|
+
// as an awaitable promise (`getReadyStorage`). Persistence code awaits the
|
|
210
|
+
// ready instance instead of branching on the possibly-null state, so a write
|
|
211
|
+
// is never silently dropped just because it raced storage init.
|
|
106
212
|
const storageRef = (0, _react.useRef)(null);
|
|
107
213
|
const [storage, setStorage] = (0, _react.useState)(null);
|
|
214
|
+
|
|
215
|
+
// A single, stable deferred that resolves with the initialized storage. Built
|
|
216
|
+
// lazily via a ref initializer so the resolver is captured exactly once and
|
|
217
|
+
// the promise identity is stable across renders.
|
|
218
|
+
const buildStorageDeferred = () => {
|
|
219
|
+
let resolve = () => undefined;
|
|
220
|
+
const promise = new Promise(res => {
|
|
221
|
+
resolve = res;
|
|
222
|
+
});
|
|
223
|
+
return {
|
|
224
|
+
promise,
|
|
225
|
+
resolve
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
const storageReadyRef = (0, _react.useRef)(null);
|
|
229
|
+
if (storageReadyRef.current === null) {
|
|
230
|
+
storageReadyRef.current = buildStorageDeferred();
|
|
231
|
+
}
|
|
232
|
+
const storageReady = storageReadyRef.current;
|
|
233
|
+
|
|
234
|
+
// Resolve the storage instance that is guaranteed to be ready. Returns the
|
|
235
|
+
// already-initialized instance synchronously when available, otherwise awaits
|
|
236
|
+
// the init promise. Never resolves to `null`.
|
|
237
|
+
const getReadyStorage = (0, _react.useCallback)(() => {
|
|
238
|
+
if (storageRef.current) {
|
|
239
|
+
return Promise.resolve(storageRef.current);
|
|
240
|
+
}
|
|
241
|
+
return storageReady.promise;
|
|
242
|
+
}, [storageReady]);
|
|
108
243
|
(0, _react.useEffect)(() => {
|
|
109
244
|
let mounted = true;
|
|
110
245
|
(0, _storageHelpers.createPlatformStorage)().then(storageInstance => {
|
|
246
|
+
// Resolve the ready-promise even if the component unmounted: in-flight
|
|
247
|
+
// persistence awaiting it must still complete against a real store.
|
|
248
|
+
storageRef.current = storageInstance;
|
|
249
|
+
storageReady.resolve(storageInstance);
|
|
111
250
|
if (mounted) {
|
|
112
|
-
storageRef.current = storageInstance;
|
|
113
251
|
setStorage(storageInstance);
|
|
114
252
|
}
|
|
115
253
|
}).catch(err => {
|
|
@@ -125,7 +263,7 @@ const OxyProvider = ({
|
|
|
125
263
|
return () => {
|
|
126
264
|
mounted = false;
|
|
127
265
|
};
|
|
128
|
-
}, [logger, onError]);
|
|
266
|
+
}, [logger, onError, storageReady]);
|
|
129
267
|
|
|
130
268
|
// Offline queuing is now handled by TanStack Query mutations
|
|
131
269
|
// No need for custom offline queue
|
|
@@ -237,12 +375,168 @@ const OxyProvider = ({
|
|
|
237
375
|
updateSessionsRef.current = updateSessions;
|
|
238
376
|
const clearSessionStateRef = (0, _react.useRef)(clearSessionState);
|
|
239
377
|
clearSessionStateRef.current = clearSessionState;
|
|
378
|
+
|
|
379
|
+
// Durable, navigation-safe session persistence.
|
|
380
|
+
//
|
|
381
|
+
// Writes the active-session id and appends the session id to the durable
|
|
382
|
+
// `session_ids` list, awaiting the READY storage instance (never the possibly
|
|
383
|
+
// -null `storage` state) so a write is never dropped because it raced storage
|
|
384
|
+
// init. Callers MUST invoke this BEFORE any work that can trigger a route
|
|
385
|
+
// navigation (`onAuthStateChange`) — navigation can interrupt a still-pending
|
|
386
|
+
// async write, which is exactly what once left `session_ids` empty after a
|
|
387
|
+
// successful sign-in. Shared by the FedCM/popup path and the cold-boot
|
|
388
|
+
// refresh-cookie restore so both land the same durable record.
|
|
389
|
+
const persistSessionDurably = (0, _react.useCallback)(async sessionId => {
|
|
390
|
+
const readyStorage = await getReadyStorage();
|
|
391
|
+
await readyStorage.setItem(storageKeys.activeSessionId, sessionId);
|
|
392
|
+
const existingIds = await readyStorage.getItem(storageKeys.sessionIds);
|
|
393
|
+
let sessionIds = [];
|
|
394
|
+
try {
|
|
395
|
+
sessionIds = existingIds ? JSON.parse(existingIds) : [];
|
|
396
|
+
} catch {/* corrupted storage */}
|
|
397
|
+
if (!sessionIds.includes(sessionId)) {
|
|
398
|
+
sessionIds.push(sessionId);
|
|
399
|
+
await readyStorage.setItem(storageKeys.sessionIds, JSON.stringify(sessionIds));
|
|
400
|
+
}
|
|
401
|
+
}, [getReadyStorage, storageKeys.activeSessionId, storageKeys.sessionIds]);
|
|
402
|
+
|
|
403
|
+
// Refs so the cold-boot restore can plant session state without widening its
|
|
404
|
+
// dependency array (mirrors the existing ref pattern above).
|
|
405
|
+
const setActiveSessionIdRef = (0, _react.useRef)(setActiveSessionId);
|
|
406
|
+
setActiveSessionIdRef.current = setActiveSessionId;
|
|
407
|
+
const loginSuccessRef = (0, _react.useRef)(loginSuccess);
|
|
408
|
+
loginSuccessRef.current = loginSuccess;
|
|
409
|
+
const onAuthStateChangeRef = (0, _react.useRef)(onAuthStateChange);
|
|
410
|
+
onAuthStateChangeRef.current = onAuthStateChange;
|
|
411
|
+
|
|
412
|
+
// Cold-boot session restore via the secure refresh cookie (web only).
|
|
413
|
+
//
|
|
414
|
+
// On a hard reload the in-app, bearer-protected token fetch
|
|
415
|
+
// (`getTokenBySession` → `/session/token/:id`) 401s because there is no token
|
|
416
|
+
// in memory yet, which previously cleared the session and bounced the user to
|
|
417
|
+
// sign-in. Instead we call `POST {apiBaseUrl}/auth/refresh` with
|
|
418
|
+
// `credentials: 'include'` and NO Authorization header: the browser
|
|
419
|
+
// automatically attaches the first-party httpOnly `oxy_rt` cookie (set at
|
|
420
|
+
// login/signup/fedcm-exchange), the server validates + rotates it and returns
|
|
421
|
+
// a fresh session access token. JS never sees the refresh cookie (httpOnly) —
|
|
422
|
+
// that is the security property.
|
|
423
|
+
//
|
|
424
|
+
// Returns `true` when the session was restored (caller short-circuits the
|
|
425
|
+
// bearer path); `false` on 401 / no durable cookie / any failure (caller
|
|
426
|
+
// proceeds unauthenticated through the existing flow — nothing is cleared).
|
|
427
|
+
const restoreViaRefreshCookie = (0, _react.useCallback)(async () => {
|
|
428
|
+
if (!(0, _useWebSSO.isWebBrowser)()) {
|
|
429
|
+
return false;
|
|
430
|
+
}
|
|
431
|
+
const apiBaseUrl = oxyServices.getBaseURL();
|
|
432
|
+
if (!apiBaseUrl) {
|
|
433
|
+
return false;
|
|
434
|
+
}
|
|
435
|
+
let response;
|
|
436
|
+
try {
|
|
437
|
+
// Direct credentialed, no-auth POST. We deliberately bypass the SDK's
|
|
438
|
+
// HttpService here: it would attach the (absent) bearer and does not send
|
|
439
|
+
// cookies. The refresh cookie is scoped to `Path=/auth/refresh` and sent
|
|
440
|
+
// automatically same-site.
|
|
441
|
+
response = await fetch(`${apiBaseUrl.replace(/\/$/, '')}/auth/refresh`, {
|
|
442
|
+
method: 'POST',
|
|
443
|
+
credentials: 'include',
|
|
444
|
+
headers: {
|
|
445
|
+
Accept: 'application/json'
|
|
446
|
+
}
|
|
447
|
+
});
|
|
448
|
+
} catch (fetchError) {
|
|
449
|
+
// Offline / network error — fall through to the cached/stored-session flow.
|
|
450
|
+
if (__DEV__) {
|
|
451
|
+
_core.logger.debug('Refresh-cookie restore network error (expected when offline)', {
|
|
452
|
+
component: 'OxyContext',
|
|
453
|
+
method: 'restoreViaRefreshCookie'
|
|
454
|
+
}, fetchError);
|
|
455
|
+
}
|
|
456
|
+
return false;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
// 401 (no/expired/reused cookie) and any non-2xx → no durable session.
|
|
460
|
+
if (!response.ok) {
|
|
461
|
+
return false;
|
|
462
|
+
}
|
|
463
|
+
let payload;
|
|
464
|
+
try {
|
|
465
|
+
payload = await response.json();
|
|
466
|
+
} catch {
|
|
467
|
+
return false;
|
|
468
|
+
}
|
|
469
|
+
const accessToken = payload.accessToken;
|
|
470
|
+
if (!accessToken) {
|
|
471
|
+
return false;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
// Recover the session id from the (server-signed) access-token claims, or
|
|
475
|
+
// from the response body if the server included it. Decode-only; the server
|
|
476
|
+
// already verified the signature.
|
|
477
|
+
const claims = decodeAccessTokenClaims(accessToken);
|
|
478
|
+
const sessionId = payload.sessionId ?? claims?.sessionId;
|
|
479
|
+
if (!sessionId) {
|
|
480
|
+
// A token with no resolvable session id cannot drive multi-session state.
|
|
481
|
+
return false;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
// Plant the fresh access token. The refresh token stays in the httpOnly
|
|
485
|
+
// cookie and is never touched by JS.
|
|
486
|
+
oxyServices.httpService.setTokens(accessToken);
|
|
487
|
+
|
|
488
|
+
// Fetch the full user with the freshly planted token.
|
|
489
|
+
let fullUser;
|
|
490
|
+
try {
|
|
491
|
+
fullUser = await oxyServices.getCurrentUser();
|
|
492
|
+
} catch (userError) {
|
|
493
|
+
// Token planted but profile fetch failed (e.g. transient network). Do not
|
|
494
|
+
// claim a restored session; fall through so the stored-session flow can
|
|
495
|
+
// retry. Leave the planted token in place — it is valid and harmless.
|
|
496
|
+
if (__DEV__) {
|
|
497
|
+
_core.logger.debug('Refresh-cookie restore: getCurrentUser failed', {
|
|
498
|
+
component: 'OxyContext',
|
|
499
|
+
method: 'restoreViaRefreshCookie'
|
|
500
|
+
}, userError);
|
|
501
|
+
}
|
|
502
|
+
return false;
|
|
503
|
+
}
|
|
504
|
+
const userId = fullUser.id?.toString() ?? claims?.userId ?? '';
|
|
505
|
+
const now = new Date();
|
|
506
|
+
const clientSession = {
|
|
507
|
+
sessionId,
|
|
508
|
+
deviceId: '',
|
|
509
|
+
expiresAt: new Date(now.getTime() + 7 * 24 * 60 * 60 * 1000).toISOString(),
|
|
510
|
+
lastActive: now.toISOString(),
|
|
511
|
+
userId,
|
|
512
|
+
isCurrent: true
|
|
513
|
+
};
|
|
514
|
+
|
|
515
|
+
// Restore the active session into the multi-session store (merge: keep any
|
|
516
|
+
// other sessions intact) and durably persist BEFORE notifying listeners.
|
|
517
|
+
updateSessionsRef.current([clientSession], {
|
|
518
|
+
merge: true
|
|
519
|
+
});
|
|
520
|
+
setActiveSessionIdRef.current(sessionId);
|
|
521
|
+
await persistSessionDurably(sessionId);
|
|
522
|
+
loginSuccessRef.current(fullUser);
|
|
523
|
+
onAuthStateChangeRef.current?.(fullUser);
|
|
524
|
+
return true;
|
|
525
|
+
}, [oxyServices, persistSessionDurably]);
|
|
240
526
|
const restoreSessionsFromStorage = (0, _react.useCallback)(async () => {
|
|
241
527
|
if (!storage) {
|
|
242
528
|
return;
|
|
243
529
|
}
|
|
244
530
|
setTokenReady(false);
|
|
245
531
|
try {
|
|
532
|
+
// Web cold-boot fast path: restore the active session from the secure
|
|
533
|
+
// httpOnly refresh cookie before the bearer-protected stored-session
|
|
534
|
+
// validation (which 401s on a hard reload). On success we are signed in
|
|
535
|
+
// from the cookie alone — no FedCM needed. On failure we fall through to
|
|
536
|
+
// the existing stored-session flow below; nothing is cleared.
|
|
537
|
+
if (await restoreViaRefreshCookie()) {
|
|
538
|
+
return;
|
|
539
|
+
}
|
|
246
540
|
const storedSessionIdsJson = await storage.getItem(storageKeys.sessionIds);
|
|
247
541
|
const storedSessionIds = storedSessionIdsJson ? JSON.parse(storedSessionIdsJson) : [];
|
|
248
542
|
const storedActiveSessionId = await storage.getItem(storageKeys.activeSessionId);
|
|
@@ -325,7 +619,7 @@ const OxyProvider = ({
|
|
|
325
619
|
} finally {
|
|
326
620
|
setTokenReady(true);
|
|
327
621
|
}
|
|
328
|
-
}, [logger, oxyServices, storage, storageKeys.activeSessionId, storageKeys.sessionIds]);
|
|
622
|
+
}, [logger, oxyServices, storage, storageKeys.activeSessionId, storageKeys.sessionIds, restoreViaRefreshCookie]);
|
|
329
623
|
(0, _react.useEffect)(() => {
|
|
330
624
|
if (!storage || initialized) {
|
|
331
625
|
return;
|
|
@@ -369,8 +663,25 @@ const OxyProvider = ({
|
|
|
369
663
|
});
|
|
370
664
|
setActiveSessionId(session.sessionId);
|
|
371
665
|
|
|
372
|
-
//
|
|
373
|
-
//
|
|
666
|
+
// Persist to storage BEFORE fetching the profile and BEFORE notifying the
|
|
667
|
+
// auth-state-change callback. The token is planted and the in-memory store
|
|
668
|
+
// is updated above; durably committing the session id here — ahead of
|
|
669
|
+
// `getCurrentUser()` / `loginSuccess` / `onAuthStateChange` — is critical
|
|
670
|
+
// because `onAuthStateChange` triggers a route navigation that can
|
|
671
|
+
// interrupt/supersede a still-pending async write. Persisting first
|
|
672
|
+
// guarantees the durable record lands; that is exactly what was missing
|
|
673
|
+
// when `oxy_session_session_ids` came back empty after a successful FedCM
|
|
674
|
+
// sign-in (the user appeared logged in until reload, then had no session to
|
|
675
|
+
// restore). `persistSessionDurably` awaits the READY storage instance rather
|
|
676
|
+
// than reading the possibly-null `storage` state, so a sign-in fired the
|
|
677
|
+
// instant the screen mounts (before storage-init populates state) is not
|
|
678
|
+
// silently dropped.
|
|
679
|
+
await persistSessionDurably(session.sessionId);
|
|
680
|
+
|
|
681
|
+
// Fetch the full user profile now that we have a valid access token and the
|
|
682
|
+
// session is durably persisted. The session only carries MinimalUserData;
|
|
683
|
+
// the store and callbacks expect a full User. The navigation kicked off by
|
|
684
|
+
// `onAuthStateChange` now happens only after the durable write is committed.
|
|
374
685
|
let fullUser;
|
|
375
686
|
try {
|
|
376
687
|
fullUser = await oxyServices.getCurrentUser();
|
|
@@ -381,21 +692,7 @@ const OxyProvider = ({
|
|
|
381
692
|
}
|
|
382
693
|
loginSuccess(fullUser);
|
|
383
694
|
onAuthStateChange?.(fullUser);
|
|
384
|
-
|
|
385
|
-
// Persist to storage
|
|
386
|
-
if (storage) {
|
|
387
|
-
await storage.setItem(storageKeys.activeSessionId, session.sessionId);
|
|
388
|
-
const existingIds = await storage.getItem(storageKeys.sessionIds);
|
|
389
|
-
let sessionIds = [];
|
|
390
|
-
try {
|
|
391
|
-
sessionIds = existingIds ? JSON.parse(existingIds) : [];
|
|
392
|
-
} catch {/* corrupted storage */}
|
|
393
|
-
if (!sessionIds.includes(session.sessionId)) {
|
|
394
|
-
sessionIds.push(session.sessionId);
|
|
395
|
-
await storage.setItem(storageKeys.sessionIds, JSON.stringify(sessionIds));
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
}, [oxyServices, updateSessions, setActiveSessionId, loginSuccess, onAuthStateChange, storage, storageKeys]);
|
|
695
|
+
}, [oxyServices, updateSessions, setActiveSessionId, loginSuccess, onAuthStateChange, persistSessionDurably]);
|
|
399
696
|
|
|
400
697
|
// Enable web SSO only after local storage check completes and no user found
|
|
401
698
|
const shouldTryWebSSO = (0, _useWebSSO.isWebBrowser)() && tokenReady && !user && initialized;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_core","_bloom","_authStore","_shallow","_useSessionSocket","_useLanguageManagement","_useSessionManagement","_useAuthOperations","_useDeviceManagement","_storageHelpers","_errorHandlers","_bottomSheetManager","_reactQuery","_queryClient","_useAvatarPicker","_accountStore","_useWebSSO","_jsxRuntime","OxyContext","createContext","cachedUseFollowHook","loadUseFollowHook","useFollow","error","__DEV__","loggerUtil","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","useRef","current","OxyServices","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","useAuthStore","useShallow","state","logout","tokenReady","setTokenReady","useState","initialized","setInitialized","setAuthState","setState","logger","useCallback","message","err","console","storageKeys","useMemo","getStorageKeys","storageRef","storage","setStorage","useEffect","mounted","createPlatformStorage","then","storageInstance","catch","code","status","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","useLanguageManagement","languageKey","language","queryClient","useQueryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","useSessionManagement","setAuthError","signIn","logoutAll","useAuthOperations","clearAllAccountData","clear","clearQueryCache","useAccountStore","getState","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useDeviceManagement","useFollowHook","switchSessionRef","updateSessionsRef","clearSessionStateRef","restoreSessionsFromStorage","storedSessionIdsJson","getItem","sessionIds","storedSessionIds","JSON","parse","storedActiveSessionId","validSessions","length","VALIDATION_TIMEOUT","results","Promise","allSettled","map","sessionId","timeoutPromise","resolve","setTimeout","validationPromise","validateSession","useHeaderValidation","validationError","isInvalidSessionError","isTimeoutOrNetworkError","debug","race","validation","valid","now","Date","deviceId","expiresAt","getTime","toISOString","lastActive","userId","id","toString","isCurrent","filter","r","value","s","merge","switchError","removeItem","session","String","handleWebSSOSession","accessToken","httpService","setTokens","getTokenBySession","clientSession","fullUser","getCurrentUser","setItem","existingIds","includes","push","stringify","shouldTryWebSSO","isWebBrowser","useWebSSO","onSessionFound","enabled","lastIdPCheckRef","pendingIdPCleanupRef","checkIdPSession","iframe","document","createElement","style","cssText","idpOrigin","src","encodeURIComponent","window","location","origin","cleaned","cleanup","removeEventListener","handleMessage","remove","event","data","type","hasSession","toast","info","addEventListener","body","appendChild","handleVisibilityChange","visibilityState","activeSession","find","undefined","currentDeviceId","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","remoteError","useSessionSocket","getBaseURL","getAccessToken","onRemoteSignOut","onSessionRemoved","switchSessionForContext","hasIdentity","KeyManager","getPublicKey","showBottomSheetForContext","screenOrConfig","globalShowBottomSheet","openAvatarPicker","useAvatarPicker","showBottomSheet","actingAs","setActingAsState","managedAccounts","setManagedAccounts","stored","setActingAs","refreshManagedAccounts","accounts","getManagedAccounts","createManagedAccountFn","account","createManagedAccount","contextValue","isTokenReady","isStorageReady","handlePopupSession","removeSession","jsx","Provider","exports","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context","useContext","_default","default"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAUA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AAEA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AACA,IAAAQ,kBAAA,GAAAR,OAAA;AACA,IAAAS,oBAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA;AAEA,IAAAY,mBAAA,GAAAZ,OAAA;AACA,IAAAa,WAAA,GAAAb,OAAA;AACA,IAAAc,YAAA,GAAAd,OAAA;AACA,IAAAe,gBAAA,GAAAf,OAAA;AACA,IAAAgB,aAAA,GAAAhB,OAAA;AAEA,IAAAiB,UAAA,GAAAjB,OAAA;AAA6D,IAAAkB,WAAA,GAAAlB,OAAA;AA+D7D,MAAMmB,UAAU,gBAAG,IAAAC,oBAAa,EAAyB,IAAI,CAAC;AAa9D,IAAIC,mBAAyC,GAAG,IAAI;AAEpD,MAAMC,iBAAiB,GAAGA,CAAA,KAAqB;EAC7C,IAAID,mBAAmB,EAAE;IACvB,OAAOA,mBAAmB;EAC5B;EAEA,IAAI;IACF;IACA,MAAM;MAAEE;IAAU,CAAC,GAAGvB,OAAO,CAAC,oBAAoB,CAAC;IACnDqB,mBAAmB,GAAGE,SAA0B;IAChD,OAAOF,mBAAmB;EAC5B,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,IAAIC,OAAO,EAAE;MACXC,YAAU,CAACC,IAAI,CACb,yFAAyF,EACzF;QAAEC,SAAS,EAAE,YAAY;QAAEC,MAAM,EAAE;MAAoB,CAAC,EACxDL,KACF,CAAC;IACH;IAEA,MAAMM,QAAuB,GAAGA,CAAA,KAAM;MACpC,MAAM,IAAIC,KAAK,CAAC,oFAAoF,CAAC;IACvG,CAAC;IAEDV,mBAAmB,GAAGS,QAAQ;IAC9B,OAAOT,mBAAmB;EAC5B;AACF,CAAC;AAEM,MAAMW,WAA8C,GAAGA,CAAC;EAC7DC,QAAQ;EACRC,WAAW,EAAEC,mBAAmB;EAChCC,OAAO;EACPC,UAAU;EACVC,eAAe;EACfC,gBAAgB,GAAG,aAAa;EAChCC,iBAAiB;EACjBC;AACF,CAAC,KAAK;EACJ,MAAMC,cAAc,GAAG,IAAAC,aAAM,EAAqB,IAAI,CAAC;EAEvD,IAAI,CAACD,cAAc,CAACE,OAAO,EAAE;IAC3B,IAAIT,mBAAmB,EAAE;MACvBO,cAAc,CAACE,OAAO,GAAGT,mBAAmB;IAC9C,CAAC,MAAM,IAAIC,OAAO,EAAE;MAClBM,cAAc,CAACE,OAAO,GAAG,IAAIC,iBAAW,CAAC;QACvCT,OAAO;QACPC,UAAU;QACVC;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAM,IAAIP,KAAK,CAAC,sEAAsE,CAAC;IACzF;EACF;EAEA,MAAMG,WAAW,GAAGQ,cAAc,CAACE,OAAO;EAE1C,MAAM;IACJE,IAAI;IACJC,eAAe;IACfC,SAAS;IACTxB,KAAK;IACLyB,YAAY;IACZC,YAAY;IACZC;EACF,CAAC,GAAG,IAAAC,uBAAY,EACd,IAAAC,mBAAU,EAAEC,KAAgB,KAAM;IAChCR,IAAI,EAAEQ,KAAK,CAACR,IAAI;IAChBC,eAAe,EAAEO,KAAK,CAACP,eAAe;IACtCC,SAAS,EAAEM,KAAK,CAACN,SAAS;IAC1BxB,KAAK,EAAE8B,KAAK,CAAC9B,KAAK;IAClByB,YAAY,EAAEK,KAAK,CAACL,YAAY;IAChCC,YAAY,EAAEI,KAAK,CAACJ,YAAY;IAChCC,WAAW,EAAEG,KAAK,CAACC;EACrB,CAAC,CAAC,CACJ,CAAC;EAED,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAI,CAAC;EAClD,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAMG,YAAY,GAAGT,uBAAY,CAACU,QAAQ;EAE1C,MAAMC,MAAM,GAAG,IAAAC,kBAAW,EAAC,CAACC,OAAe,EAAEC,GAAa,KAAK;IAC7D,IAAIzC,OAAO,EAAE;MACX0C,OAAO,CAACxC,IAAI,CAAC,gBAAgBsC,OAAO,EAAE,EAAEC,GAAG,CAAC;IAC9C;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,WAAW,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAAC,8BAAc,EAAC/B,gBAAgB,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;;EAEvF;EACA,MAAMgC,UAAU,GAAG,IAAA5B,aAAM,EAA0B,IAAI,CAAC;EACxD,MAAM,CAAC6B,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAf,eAAQ,EAA0B,IAAI,CAAC;EAErE,IAAAgB,gBAAS,EAAC,MAAM;IACd,IAAIC,OAAO,GAAG,IAAI;IAClB,IAAAC,qCAAqB,EAAC,CAAC,CACpBC,IAAI,CAAEC,eAAe,IAAK;MACzB,IAAIH,OAAO,EAAE;QACXJ,UAAU,CAAC3B,OAAO,GAAGkC,eAAe;QACpCL,UAAU,CAACK,eAAe,CAAC;MAC7B;IACF,CAAC,CAAC,CACDC,KAAK,CAAEb,GAAG,IAAK;MACd,IAAIS,OAAO,EAAE;QACXZ,MAAM,CAAC,8BAA8B,EAAEG,GAAG,CAAC;QAC3CzB,OAAO,GAAG;UACRwB,OAAO,EAAE,8BAA8B;UACvCe,IAAI,EAAE,oBAAoB;UAC1BC,MAAM,EAAE;QACV,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEJ,OAAO,MAAM;MACXN,OAAO,GAAG,KAAK;IACjB,CAAC;EACH,CAAC,EAAE,CAACZ,MAAM,EAAEtB,OAAO,CAAC,CAAC;;EAGrB;EACA;;EAEA,MAAM;IACJyC,eAAe;IACfC,QAAQ,EAAEC,uBAAuB;IACjCC,YAAY,EAAEC,mBAAmB;IACjCC,kBAAkB,EAAEC,yBAAyB;IAC7CC,WAAW;IACXC;EACF,CAAC,GAAG,IAAAC,4CAAqB,EAAC;IACxBnB,OAAO;IACPoB,WAAW,EAAExB,WAAW,CAACyB,QAAQ;IACjCpD,OAAO;IACPsB;EACF,CAAC,CAAC;EAEF,MAAM+B,WAAW,GAAG,IAAAC,0BAAc,EAAC,CAAC;EAEpC,MAAM;IACJC,QAAQ;IACRC,eAAe;IACfC,kBAAkB;IAClBC,cAAc;IACdC,aAAa;IACbC,eAAe;IACfC,iBAAiB;IACjBC,mBAAmB;IACnBC;EACF,CAAC,GAAG,IAAAC,0CAAoB,EAAC;IACvBvE,WAAW;IACXsC,OAAO;IACPjC,gBAAgB;IAChBU,YAAY;IACZE,WAAW;IACXuC,uBAAuB;IACvBlD,iBAAiB;IACjBC,OAAO;IACPiE,YAAY,EAAGzC,OAAO,IAAKJ,YAAY,CAAC;MAAErC,KAAK,EAAEyC;IAAQ,CAAC,CAAC;IAC3DF,MAAM;IACNN,aAAa;IACbqC;EACF,CAAC,CAAC;EAEF,MAAM;IACJa,MAAM;IACNpD,MAAM;IACNqD;EACF,CAAC,GAAG,IAAAC,oCAAiB,EAAC;IACpB3E,WAAW;IACXsC,OAAO;IACPwB,QAAQ;IACRC,eAAe;IACfC,kBAAkB;IAClBC,cAAc;IACdI,mBAAmB;IACnBD,iBAAiB;IACjBF,aAAa;IACbV,uBAAuB;IACvBlD,iBAAiB;IACjBC,OAAO;IACPQ,YAAY;IACZC,YAAY;IACZC,WAAW;IACXU,YAAY;IACZE;EACF,CAAC,CAAC;;EAEF;EACA,MAAM+C,mBAAmB,GAAG,IAAA9C,kBAAW,EAAC,YAA2B;IACjE;IACA8B,WAAW,CAACiB,KAAK,CAAC,CAAC;;IAEnB;IACA,IAAIvC,OAAO,EAAE;MACX,IAAI;QACF,MAAM,IAAAwC,4BAAe,EAACxC,OAAO,CAAC;MAChC,CAAC,CAAC,OAAOhD,KAAK,EAAE;QACduC,MAAM,CAAC,uCAAuC,EAAEvC,KAAK,CAAC;MACxD;IACF;;IAEA;IACA,MAAM8E,iBAAiB,CAAC,CAAC;;IAEzB;IACAW,6BAAe,CAACC,QAAQ,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;;IAElC;IACAjF,WAAW,CAACkF,UAAU,CAAC,CAAC;EAC1B,CAAC,EAAE,CAACtB,WAAW,EAAEtB,OAAO,EAAE8B,iBAAiB,EAAEvC,MAAM,EAAE7B,WAAW,CAAC,CAAC;EAElE,MAAM;IAAEmF,iBAAiB;IAAEC,uBAAuB;IAAEC;EAAiB,CAAC,GAAG,IAAAC,wCAAmB,EAAC;IAC3FtF,WAAW;IACX+D,eAAe;IACfxD,OAAO;IACP6D,iBAAiB;IACjBvC;EACF,CAAC,CAAC;EAEF,MAAM0D,aAAa,GAAGnG,iBAAiB,CAAC,CAAC;;EAEzC;EACA,MAAMoG,gBAAgB,GAAG,IAAA/E,aAAM,EAACyD,aAAa,CAAC;EAC9CsB,gBAAgB,CAAC9E,OAAO,GAAGwD,aAAa;EACxC,MAAMuB,iBAAiB,GAAG,IAAAhF,aAAM,EAACwD,cAAc,CAAC;EAChDwB,iBAAiB,CAAC/E,OAAO,GAAGuD,cAAc;EAC1C,MAAMyB,oBAAoB,GAAG,IAAAjF,aAAM,EAAC2D,iBAAiB,CAAC;EACtDsB,oBAAoB,CAAChF,OAAO,GAAG0D,iBAAiB;EAEhD,MAAMuB,0BAA0B,GAAG,IAAA7D,kBAAW,EAAC,YAA2B;IACxE,IAAI,CAACQ,OAAO,EAAE;MACZ;IACF;IAEAf,aAAa,CAAC,KAAK,CAAC;IAEpB,IAAI;MACF,MAAMqE,oBAAoB,GAAG,MAAMtD,OAAO,CAACuD,OAAO,CAAC3D,WAAW,CAAC4D,UAAU,CAAC;MAC1E,MAAMC,gBAA0B,GAAGH,oBAAoB,GAAGI,IAAI,CAACC,KAAK,CAACL,oBAAoB,CAAC,GAAG,EAAE;MAC/F,MAAMM,qBAAqB,GAAG,MAAM5D,OAAO,CAACuD,OAAO,CAAC3D,WAAW,CAAC6B,eAAe,CAAC;MAEhF,IAAIoC,aAA8B,GAAG,EAAE;MAEvC,IAAIJ,gBAAgB,CAACK,MAAM,GAAG,CAAC,EAAE;QAC/B;QACA;QACA,MAAMC,kBAAkB,GAAG,IAAI;QAC/B,MAAMC,OAAO,GAAG,MAAMC,OAAO,CAACC,UAAU,CACtCT,gBAAgB,CAACU,GAAG,CAAC,MAAOC,SAAS,IAAK;UACxC,MAAMC,cAAc,GAAG,IAAIJ,OAAO,CAAQK,OAAO,IAC/CC,UAAU,CAAC,MAAMD,OAAO,CAAC,IAAI,CAAC,EAAEP,kBAAkB,CACpD,CAAC;UACD,MAAMS,iBAAiB,GAAG9G,WAAW,CAClC+G,eAAe,CAACL,SAAS,EAAE;YAAEM,mBAAmB,EAAE;UAAK,CAAC,CAAC,CACzDnE,KAAK,CAAEoE,eAAwB,IAAK;YACnC,IAAI,CAAC,IAAAC,oCAAqB,EAACD,eAAe,CAAC,IAAI,CAAC,IAAAE,sCAAuB,EAACF,eAAe,CAAC,EAAE;cACxFpF,MAAM,CAAC,uCAAuC,EAAEoF,eAAe,CAAC;YAClE,CAAC,MAAM,IAAI1H,OAAO,IAAI,IAAA4H,sCAAuB,EAACF,eAAe,CAAC,EAAE;cAC9DzH,YAAU,CAAC4H,KAAK,CAAC,oDAAoD,EAAE;gBAAE1H,SAAS,EAAE,YAAY;gBAAEC,MAAM,EAAE;cAA6B,CAAC,EAAEsH,eAA0B,CAAC;YACvK;YACA,OAAO,IAAI;UACb,CAAC,CAAC;UAEJ,OAAOV,OAAO,CAACc,IAAI,CAAC,CAACP,iBAAiB,EAAEH,cAAc,CAAC,CAAC,CAAChE,IAAI,CAAE2E,UAAU,IAAK;YAC5E,IAAIA,UAAU,EAAEC,KAAK,IAAID,UAAU,CAAC1G,IAAI,EAAE;cACxC,MAAM4G,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC;cACtB,OAAO;gBACLf,SAAS;gBACTgB,QAAQ,EAAE,EAAE;gBACZC,SAAS,EAAE,IAAIF,IAAI,CAACD,GAAG,CAACI,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAACC,WAAW,CAAC,CAAC;gBAC1EC,UAAU,EAAEN,GAAG,CAACK,WAAW,CAAC,CAAC;gBAC7BE,MAAM,EAAET,UAAU,CAAC1G,IAAI,CAACoH,EAAE,EAAEC,QAAQ,CAAC,CAAC,IAAI,EAAE;gBAC5CC,SAAS,EAAExB,SAAS,KAAKR;cAC3B,CAAC;YACH;YACA,OAAO,IAAI;UACb,CAAC,CAAC;QACJ,CAAC,CACH,CAAC;QAEDC,aAAa,GAAGG,OAAO,CACpB6B,MAAM,CAAEC,CAAC,IAAwDA,CAAC,CAACrF,MAAM,KAAK,WAAW,CAAC,CAC1F0D,GAAG,CAAE2B,CAAC,IAAKA,CAAC,CAACC,KAAK,CAAC,CACnBF,MAAM,CAAEG,CAAC,IAAyBA,CAAC,KAAK,IAAI,CAAC;;QAEhD;QACA;QACA7C,iBAAiB,CAAC/E,OAAO,CAACyF,aAAa,EAAE;UAAEoC,KAAK,EAAE;QAAM,CAAC,CAAC;MAC5D;MAEA,IAAIrC,qBAAqB,EAAE;QACzB,IAAI;UACF,MAAMV,gBAAgB,CAAC9E,OAAO,CAACwF,qBAAqB,CAAC;QACvD,CAAC,CAAC,OAAOsC,WAAW,EAAE;UACpB;UACA,IAAI,IAAAtB,oCAAqB,EAACsB,WAAW,CAAC,EAAE;YACtC,MAAMlG,OAAO,CAACmG,UAAU,CAACvG,WAAW,CAAC6B,eAAe,CAAC;YACrD0B,iBAAiB,CAAC/E,OAAO,CACvByF,aAAa,CAACgC,MAAM,CAAEO,OAAO,IAAKA,OAAO,CAAChC,SAAS,KAAKR,qBAAqB,CAAC,EAC9E;cAAEqC,KAAK,EAAE;YAAM,CACjB,CAAC;YACD;UACF,CAAC,MAAM,IAAI,IAAApB,sCAAuB,EAACqB,WAAW,CAAC,EAAE;YAC/C;YACA,IAAIjJ,OAAO,EAAE;cACXC,YAAU,CAAC4H,KAAK,CAAC,2DAA2D,EAAE;gBAAE1H,SAAS,EAAE,YAAY;gBAAEC,MAAM,EAAE;cAA6B,CAAC,EAAE6I,WAAsB,CAAC;YAC1K;UACF,CAAC,MAAM;YACL;YACA3G,MAAM,CAAC,iCAAiC,EAAE2G,WAAW,CAAC;UACxD;QACF;MACF;IACF,CAAC,CAAC,OAAOlJ,KAAK,EAAE;MACd,IAAIC,OAAO,EAAE;QACXC,YAAU,CAACF,KAAK,CAAC,iBAAiB,EAAEA,KAAK,YAAYO,KAAK,GAAGP,KAAK,GAAG,IAAIO,KAAK,CAAC8I,MAAM,CAACrJ,KAAK,CAAC,CAAC,EAAE;UAAEI,SAAS,EAAE,YAAY;UAAEC,MAAM,EAAE;QAA6B,CAAC,CAAC;MACnK;MACA,MAAM+F,oBAAoB,CAAChF,OAAO,CAAC,CAAC;IACtC,CAAC,SAAS;MACRa,aAAa,CAAC,IAAI,CAAC;IACrB;EACF,CAAC,EAAE,CACDM,MAAM,EACN7B,WAAW,EACXsC,OAAO,EACPJ,WAAW,CAAC6B,eAAe,EAC3B7B,WAAW,CAAC4D,UAAU,CACvB,CAAC;EAEF,IAAAtD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACF,OAAO,IAAIb,WAAW,EAAE;MAC3B;IACF;IAEAC,cAAc,CAAC,IAAI,CAAC;IACpBiE,0BAA0B,CAAC,CAAC,CAAC9C,KAAK,CAAEvD,KAAK,IAAK;MAC5C,IAAIC,OAAO,EAAE;QACXsC,MAAM,CAAC,yCAAyC,EAAEvC,KAAK,CAAC;MAC1D;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACqG,0BAA0B,EAAErD,OAAO,EAAEb,WAAW,EAAEI,MAAM,CAAC,CAAC;;EAE9D;EACA;EACA,MAAM+G,mBAAmB,GAAG,IAAA9G,kBAAW,EAAC,MAAO4G,OAA6B,IAAK;IAC/E,IAAI,CAACA,OAAO,EAAE9H,IAAI,IAAI,CAAC8H,OAAO,EAAEhC,SAAS,EAAE;MACzC,IAAInH,OAAO,EAAE;QACXC,YAAU,CAACC,IAAI,CAAC,sCAAsC,EAAE;UAAEC,SAAS,EAAE;QAAa,CAAC,CAAC;MACtF;MACA;IACF;;IAEA;IACA,IAAIgJ,OAAO,CAACG,WAAW,EAAE;MACvB7I,WAAW,CAAC8I,WAAW,CAACC,SAAS,CAACL,OAAO,CAACG,WAAW,CAAC;IACxD,CAAC,MAAM;MACL,MAAM7I,WAAW,CAACgJ,iBAAiB,CAACN,OAAO,CAAChC,SAAS,CAAC;IACxD;IAEA,MAAMuC,aAAa,GAAG;MACpBvC,SAAS,EAAEgC,OAAO,CAAChC,SAAS;MAC5BgB,QAAQ,EAAEgB,OAAO,CAAChB,QAAQ,IAAI,EAAE;MAChCC,SAAS,EAAEe,OAAO,CAACf,SAAS,IAAI,IAAIF,IAAI,CAACA,IAAI,CAACD,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAACK,WAAW,CAAC,CAAC;MAC5FC,UAAU,EAAE,IAAIL,IAAI,CAAC,CAAC,CAACI,WAAW,CAAC,CAAC;MACpCE,MAAM,EAAEW,OAAO,CAAC9H,IAAI,CAACoH,EAAE,EAAEC,QAAQ,CAAC,CAAC,IAAI,EAAE;MACzCC,SAAS,EAAE;IACb,CAAC;IAEDjE,cAAc,CAAC,CAACgF,aAAa,CAAC,EAAE;MAAEV,KAAK,EAAE;IAAK,CAAC,CAAC;IAChDvE,kBAAkB,CAAC0E,OAAO,CAAChC,SAAS,CAAC;;IAErC;IACA;IACA,IAAIwC,QAAc;IAClB,IAAI;MACFA,QAAQ,GAAG,MAAMlJ,WAAW,CAACmJ,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,MAAM;MACN;MACA;MACAD,QAAQ,GAAGR,OAAO,CAAC9H,IAAuB;IAC5C;IACAG,YAAY,CAACmI,QAAQ,CAAC;IACtB5I,iBAAiB,GAAG4I,QAAQ,CAAC;;IAE7B;IACA,IAAI5G,OAAO,EAAE;MACX,MAAMA,OAAO,CAAC8G,OAAO,CAAClH,WAAW,CAAC6B,eAAe,EAAE2E,OAAO,CAAChC,SAAS,CAAC;MACrE,MAAM2C,WAAW,GAAG,MAAM/G,OAAO,CAACuD,OAAO,CAAC3D,WAAW,CAAC4D,UAAU,CAAC;MACjE,IAAIA,UAAoB,GAAG,EAAE;MAC7B,IAAI;QAAEA,UAAU,GAAGuD,WAAW,GAAGrD,IAAI,CAACC,KAAK,CAACoD,WAAW,CAAC,GAAG,EAAE;MAAE,CAAC,CAAC,MAAM,CAAE;MACzE,IAAI,CAACvD,UAAU,CAACwD,QAAQ,CAACZ,OAAO,CAAChC,SAAS,CAAC,EAAE;QAC3CZ,UAAU,CAACyD,IAAI,CAACb,OAAO,CAAChC,SAAS,CAAC;QAClC,MAAMpE,OAAO,CAAC8G,OAAO,CAAClH,WAAW,CAAC4D,UAAU,EAAEE,IAAI,CAACwD,SAAS,CAAC1D,UAAU,CAAC,CAAC;MAC3E;IACF;EACF,CAAC,EAAE,CAAC9F,WAAW,EAAEiE,cAAc,EAAED,kBAAkB,EAAEjD,YAAY,EAAET,iBAAiB,EAAEgC,OAAO,EAAEJ,WAAW,CAAC,CAAC;;EAE5G;EACA,MAAMuH,eAAe,GAAG,IAAAC,uBAAY,EAAC,CAAC,IAAIpI,UAAU,IAAI,CAACV,IAAI,IAAIa,WAAW;EAE5E,IAAAkI,oBAAS,EAAC;IACR3J,WAAW;IACX4J,cAAc,EAAEhB,mBAAmB;IACnCrI,OAAO,EAAGjB,KAAK,IAAK;MAClB,IAAIC,OAAO,EAAE;QACXC,YAAU,CAAC4H,KAAK,CAAC,qCAAqC,EAAE;UAAE1H,SAAS,EAAE;QAAa,CAAC,EAAEJ,KAAK,CAAC;MAC7F;IACF,CAAC;IACDuK,OAAO,EAAEJ;EACX,CAAC,CAAC;;EAEF;EACA;EACA;EACA,MAAMK,eAAe,GAAG,IAAArJ,aAAM,EAAS,CAAC,CAAC;EACzC,MAAMsJ,oBAAoB,GAAG,IAAAtJ,aAAM,EAAsB,IAAI,CAAC;EAE9D,IAAA+B,gBAAS,EAAC,MAAM;IACd,IAAI,CAAC,IAAAkH,uBAAY,EAAC,CAAC,IAAI,CAAC9I,IAAI,IAAI,CAACa,WAAW,EAAE;IAE9C,MAAMuI,eAAe,GAAGA,CAAA,KAAM;MAC5B;MACA,MAAMxC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;MACtB,IAAIA,GAAG,GAAGsC,eAAe,CAACpJ,OAAO,GAAG,KAAK,EAAE;MAC3CoJ,eAAe,CAACpJ,OAAO,GAAG8G,GAAG;;MAE7B;MACAuC,oBAAoB,CAACrJ,OAAO,GAAG,CAAC;;MAEhC;MACA,MAAMuJ,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;MAC/CF,MAAM,CAACG,KAAK,CAACC,OAAO,GAAG,wCAAwC;MAC/D,MAAMC,SAAS,GAAGnK,UAAU,IAAI,qBAAqB;MACrD8J,MAAM,CAACM,GAAG,GAAG,GAAGD,SAAS,iCAAiCE,kBAAkB,CAACC,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC,EAAE;MAEtG,IAAIC,OAAO,GAAG,KAAK;MACnB,MAAMC,OAAO,GAAGA,CAAA,KAAM;QACpB,IAAID,OAAO,EAAE;QACbA,OAAO,GAAG,IAAI;QACdH,MAAM,CAACK,mBAAmB,CAAC,SAAS,EAAEC,aAAa,CAAC;QACpDd,MAAM,CAACe,MAAM,CAAC,CAAC;MACjB,CAAC;MAED,MAAMD,aAAa,GAAG,MAAOE,KAAmB,IAAK;QACnD,IAAIA,KAAK,CAACN,MAAM,KAAKL,SAAS,EAAE;QAChC,IAAIW,KAAK,CAACC,IAAI,EAAEC,IAAI,KAAK,mBAAmB,EAAE;QAC9CN,OAAO,CAAC,CAAC;QAET,IAAI,CAACI,KAAK,CAACC,IAAI,CAACE,UAAU,EAAE;UAC1BC,YAAK,CAACC,IAAI,CAAC,+CAA+C,CAAC;UAC3D,MAAMlH,iBAAiB,CAAC,CAAC;QAC3B;MACF,CAAC;MAEDqG,MAAM,CAACc,gBAAgB,CAAC,SAAS,EAAER,aAAa,CAAC;MACjDb,QAAQ,CAACsB,IAAI,CAACC,WAAW,CAACxB,MAAM,CAAC;MACjCpD,UAAU,CAACgE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;MAC3Bd,oBAAoB,CAACrJ,OAAO,GAAGmK,OAAO;IACxC,CAAC;IAED,MAAMa,sBAAsB,GAAGA,CAAA,KAAM;MACnC,IAAIxB,QAAQ,CAACyB,eAAe,KAAK,SAAS,EAAE;QAC1C3B,eAAe,CAAC,CAAC;MACnB;IACF,CAAC;IAEDE,QAAQ,CAACqB,gBAAgB,CAAC,kBAAkB,EAAEG,sBAAsB,CAAC;IACrE,OAAO,MAAM;MACXxB,QAAQ,CAACY,mBAAmB,CAAC,kBAAkB,EAAEY,sBAAsB,CAAC;MACxE3B,oBAAoB,CAACrJ,OAAO,GAAG,CAAC;MAChCqJ,oBAAoB,CAACrJ,OAAO,GAAG,IAAI;IACrC,CAAC;EACH,CAAC,EAAE,CAACE,IAAI,EAAEa,WAAW,EAAE2C,iBAAiB,EAAEjE,UAAU,CAAC,CAAC;EAEtD,MAAMyL,aAAa,GAAG7H,eAAe,GACjCD,QAAQ,CAAC+H,IAAI,CAAEnD,OAAO,IAAKA,OAAO,CAAChC,SAAS,KAAK3C,eAAe,CAAC,GACjE+H,SAAS;EACb,MAAMC,eAAe,GAAGH,aAAa,EAAElE,QAAQ,IAAI,IAAI;EAEvD,MAAMK,MAAM,GAAGnH,IAAI,EAAEoH,EAAE;EAEvB,MAAMgE,uBAAuB,GAAG,IAAAlK,kBAAW,EACzC,MAAMqC,eAAe,CAAC4D,MAAM,CAAC,EAC7B,CAAC5D,eAAe,EAAE4D,MAAM,CAC1B,CAAC;EAED,MAAMkE,oBAAoB,GAAG,IAAAnK,kBAAW,EACrC4E,SAAiB,IAAK;IACrBpC,mBAAmB,CAACoC,SAAS,CAAC;EAChC,CAAC,EACD,CAACpC,mBAAmB,CACtB,CAAC;EAED,MAAM4H,mBAAmB,GAAG,IAAApK,kBAAW,EAAC,MAAM;IAC5CuJ,YAAK,CAACC,IAAI,CAAC,oCAAoC,CAAC;IAChDjK,MAAM,CAAC,CAAC,CAACwB,KAAK,CAAEsJ,WAAW,IAAKtK,MAAM,CAAC,mCAAmC,EAAEsK,WAAW,CAAC,CAAC;EAC3F,CAAC,EAAE,CAACtK,MAAM,EAAER,MAAM,CAAC,CAAC;EAEpB,IAAA+K,kCAAgB,EAAC;IACfrE,MAAM;IACNhE,eAAe;IACfgI,eAAe;IACf5H,eAAe,EAAE6H,uBAAuB;IACxC5H,iBAAiB;IACjBlE,OAAO,EAAEF,WAAW,CAACqM,UAAU,CAAC,CAAC;IACjCC,cAAc,EAAEA,CAAA,KAAMtM,WAAW,CAACsM,cAAc,CAAC,CAAC;IAClDC,eAAe,EAAEL,mBAAmB;IACpCM,gBAAgB,EAAEP;EACpB,CAAC,CAAC;EAEF,MAAMQ,uBAAuB,GAAG,IAAA3K,kBAAW,EACzC,MAAO4E,SAAiB,IAAoB;IAC1C,MAAMxC,aAAa,CAACwC,SAAS,CAAC;EAChC,CAAC,EACD,CAACxC,aAAa,CAChB,CAAC;;EAED;EACA,MAAMwI,WAAW,GAAG,IAAA5K,kBAAW,EAAC,YAA8B;IAC5D,OAAO6K,gBAAU,CAACD,WAAW,CAAC,CAAC;EACjC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,YAAY,GAAG,IAAA9K,kBAAW,EAAC,YAAoC;IACnE,OAAO6K,gBAAU,CAACC,YAAY,CAAC,CAAC;EAClC,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAMC,yBAAyB,GAAG,IAAA/K,kBAAW,EAC1CgL,cAAkF,IAAK;IACtF,IAAAC,mCAAqB,EAACD,cAAc,CAAC;EACvC,CAAC,EACD,EACF,CAAC;;EAED;EACA,MAAM;IAAEE;EAAiB,CAAC,GAAG,IAAAC,gCAAe,EAAC;IAC3CjN,WAAW;IACXgD,eAAe;IACfe,eAAe;IACfH,WAAW;IACXsJ,eAAe,EAAEL;EACnB,CAAC,CAAC;;EAEF;EACA,MAAM,CAACM,QAAQ,EAAEC,gBAAgB,CAAC,GAAG,IAAA5L,eAAQ,EAAgB,IAAI,CAAC;EAClE,MAAM,CAAC6L,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAA9L,eAAQ,EAAmB,EAAE,CAAC;;EAE5E;EACA,IAAAgB,gBAAS,EAAC,MAAM;IACd,IAAI,CAACF,OAAO,IAAI,CAACb,WAAW,EAAE;IAC9B,IAAIgB,OAAO,GAAG,IAAI;IAClB,CAAC,YAAY;MACX,IAAI;QACF,MAAM8K,MAAM,GAAG,MAAMjL,OAAO,CAACuD,OAAO,CAAC,GAAGxF,gBAAgB,YAAY,CAAC;QACrE,IAAIoC,OAAO,IAAI8K,MAAM,EAAE;UACrBH,gBAAgB,CAACG,MAAM,CAAC;UACxBvN,WAAW,CAACwN,WAAW,CAACD,MAAM,CAAC;QACjC;MACF,CAAC,CAAC,OAAOvL,GAAG,EAAE;QACZ,IAAIzC,OAAO,EAAE;UACXC,YAAU,CAAC4H,KAAK,CAAC,yCAAyC,EAAE;YAAE1H,SAAS,EAAE;UAAa,CAAC,EAAEsC,GAAc,CAAC;QAC1G;MACF;IACF,CAAC,EAAE,CAAC;IACJ,OAAO,MAAM;MAAES,OAAO,GAAG,KAAK;IAAE,CAAC;EACnC,CAAC,EAAE,CAACH,OAAO,EAAEb,WAAW,EAAEpB,gBAAgB,EAAEL,WAAW,CAAC,CAAC;;EAEzD;EACA,MAAMyN,sBAAsB,GAAG,IAAA3L,kBAAW,EAAC,YAA2B;IACpE,IAAI,CAACjB,eAAe,EAAE;IACtB,IAAI;MACF,MAAM6M,QAAQ,GAAG,MAAM1N,WAAW,CAAC2N,kBAAkB,CAAC,CAAC;MACvDL,kBAAkB,CAACI,QAAQ,CAAC;IAC9B,CAAC,CAAC,OAAO1L,GAAG,EAAE;MACZ,IAAIzC,OAAO,EAAE;QACXC,YAAU,CAAC4H,KAAK,CAAC,iCAAiC,EAAE;UAAE1H,SAAS,EAAE;QAAa,CAAC,EAAEsC,GAAc,CAAC;MAClG;IACF;EACF,CAAC,EAAE,CAACnB,eAAe,EAAEb,WAAW,CAAC,CAAC;EAElC,IAAAwC,gBAAS,EAAC,MAAM;IACd,IAAI3B,eAAe,IAAIY,WAAW,IAAIH,UAAU,EAAE;MAChDmM,sBAAsB,CAAC,CAAC;IAC1B;EACF,CAAC,EAAE,CAAC5M,eAAe,EAAEY,WAAW,EAAEH,UAAU,EAAEmM,sBAAsB,CAAC,CAAC;EAEtE,MAAMD,WAAW,GAAG,IAAA1L,kBAAW,EAAEiG,MAAqB,IAAK;IACzD/H,WAAW,CAACwN,WAAW,CAACzF,MAAM,CAAC;IAC/BqF,gBAAgB,CAACrF,MAAM,CAAC;IACxB;IACA,IAAIzF,OAAO,EAAE;MACX,IAAIyF,MAAM,EAAE;QACVzF,OAAO,CAAC8G,OAAO,CAAC,GAAG/I,gBAAgB,YAAY,EAAE0H,MAAM,CAAC,CAAClF,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MAC1E,CAAC,MAAM;QACLP,OAAO,CAACmG,UAAU,CAAC,GAAGpI,gBAAgB,YAAY,CAAC,CAACwC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MACrE;IACF;EACF,CAAC,EAAE,CAAC7C,WAAW,EAAEsC,OAAO,EAAEjC,gBAAgB,CAAC,CAAC;EAE5C,MAAMuN,sBAAsB,GAAG,IAAA9L,kBAAW,EAAC,MAAOoJ,IAA+B,IAA8B;IAC7G,MAAM2C,OAAO,GAAG,MAAM7N,WAAW,CAAC8N,oBAAoB,CAAC5C,IAAI,CAAC;IAC5D,MAAMuC,sBAAsB,CAAC,CAAC;IAC9B,OAAOI,OAAO;EAChB,CAAC,EAAE,CAAC7N,WAAW,EAAEyN,sBAAsB,CAAC,CAAC;EAEzC,MAAMM,YAA6B,GAAG,IAAA5L,cAAO,EAAC,OAAO;IACnDvB,IAAI;IACJkD,QAAQ;IACRC,eAAe;IACflD,eAAe;IACfC,SAAS;IACTkN,YAAY,EAAE1M,UAAU;IACxB2M,cAAc,EAAE3L,OAAO,KAAK,IAAI;IAChChD,KAAK;IACL0D,eAAe;IACfE,uBAAuB;IACvBE,mBAAmB;IACnBE,yBAAyB;IACzBoJ,WAAW;IACXE,YAAY;IACZnI,MAAM;IACNyJ,kBAAkB,EAAEtF,mBAAmB;IACvCvH,MAAM;IACNqD,SAAS;IACTR,aAAa,EAAEuI,uBAAuB;IACtC0B,aAAa,EAAE9M,MAAM;IACrB8C,eAAe,EAAE6H,uBAAuB;IACxCzI,WAAW;IACX4B,iBAAiB;IACjBC,uBAAuB;IACvBC,gBAAgB;IAChBjB,iBAAiB;IACjBQ,mBAAmB;IACnBvE,gBAAgB;IAChBL,WAAW;IACXX,SAAS,EAAEkG,aAAa;IACxB2H,eAAe,EAAEL,yBAAyB;IAC1CG,gBAAgB;IAChBG,QAAQ;IACRE,eAAe;IACfG,WAAW;IACXC,sBAAsB;IACtBK,oBAAoB,EAAEF;EACxB,CAAC,CAAC,EAAE,CACF7J,eAAe,EACfU,MAAM,EACNmE,mBAAmB,EACnB5F,eAAe,EACfE,uBAAuB,EACvBE,mBAAmB,EACnBE,yBAAyB,EACzBhE,KAAK,EACL6F,iBAAiB,EACjByH,YAAY,EACZF,WAAW,EACX7L,eAAe,EACfC,SAAS,EACTO,MAAM,EACNqD,SAAS,EACTU,uBAAuB,EACvBpF,WAAW,EACXK,gBAAgB,EAChB2L,uBAAuB,EACvBlI,QAAQ,EACRP,WAAW,EACXjB,OAAO,EACPmK,uBAAuB,EACvBnL,UAAU,EACV+D,gBAAgB,EAChBT,mBAAmB,EACnBW,aAAa,EACb3E,IAAI,EACJiM,yBAAyB,EACzBG,gBAAgB,EAChBG,QAAQ,EACRE,eAAe,EACfG,WAAW,EACXC,sBAAsB,EACtBG,sBAAsB,CACvB,CAAC;EAEF,oBACE,IAAA5O,WAAA,CAAAoP,GAAA,EAACnP,UAAU,CAACoP,QAAQ;IAAChG,KAAK,EAAE0F,YAAa;IAAAhO,QAAA,EACtCA;EAAQ,CACU,CAAC;AAE1B,CAAC;AAACuO,OAAA,CAAAxO,WAAA,GAAAA,WAAA;AAEK,MAAMyO,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAGzO,WAAW;;AAE7C;AACA;AACA;AACA;AACA;AACA,MAAM0O,8BAA8B,GAClC,6FAA6F;AAE/F,MAAMC,qBAAqB,GAAGA,CAAA,KAC5BlI,OAAO,CAACmI,MAAM,CAAC,IAAI7O,KAAK,CAAC2O,8BAA8B,CAAC,CAAC;;AAE3D;AACA;AACA;AACA,MAAMG,0BAA0B,GAAG,IAAIhO,iBAAW,CAAC;EACjDT,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,MAAM0O,aAA8B,GAAG;EACrChO,IAAI,EAAE,IAAI;EACVkD,QAAQ,EAAE,EAAE;EACZC,eAAe,EAAE,IAAI;EACrBlD,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAE,IAAI;EACfkN,YAAY,EAAE,KAAK;EACnBC,cAAc,EAAE,KAAK;EACrB3O,KAAK,EAAE,IAAI;EACX0D,eAAe,EAAE,IAAI;EACrBE,uBAAuB,EAAE,IAAI;EAC7BE,mBAAmB,EAAE,SAAS;EAC9BE,yBAAyB,EAAE,SAAS;EACpCoJ,WAAW,EAAEA,CAAA,KAAMnG,OAAO,CAACK,OAAO,CAAC,KAAK,CAAC;EACzCgG,YAAY,EAAEA,CAAA,KAAMrG,OAAO,CAACK,OAAO,CAAC,IAAI,CAAC;EACzCnC,MAAM,EAAEA,CAAA,KAAMgK,qBAAqB,CAAO,CAAC;EAC3CP,kBAAkB,EAAEA,CAAA,KAAMO,qBAAqB,CAAO,CAAC;EACvDpN,MAAM,EAAEA,CAAA,KAAMoN,qBAAqB,CAAO,CAAC;EAC3C/J,SAAS,EAAEA,CAAA,KAAM+J,qBAAqB,CAAO,CAAC;EAC9CvK,aAAa,EAAEA,CAAA,KAAMuK,qBAAqB,CAAO,CAAC;EAClDN,aAAa,EAAEA,CAAA,KAAMM,qBAAqB,CAAO,CAAC;EAClDtK,eAAe,EAAEA,CAAA,KAAMsK,qBAAqB,CAAO,CAAC;EACpDlL,WAAW,EAAEA,CAAA,KAAMkL,qBAAqB,CAAO,CAAC;EAChDtJ,iBAAiB,EAAEA,CAAA,KAAMoB,OAAO,CAACK,OAAO,CAAC,EAAE,CAAC;EAC5CxB,uBAAuB,EAAEA,CAAA,KAAMqJ,qBAAqB,CAAO,CAAC;EAC5DpJ,gBAAgB,EAAEA,CAAA,KAAMoJ,qBAAqB,CAAO,CAAC;EACrDrK,iBAAiB,EAAEA,CAAA,KAAMqK,qBAAqB,CAAO,CAAC;EACtD7J,mBAAmB,EAAEA,CAAA,KAAM6J,qBAAqB,CAAO,CAAC;EACxDpO,gBAAgB,EAAE,aAAa;EAC/BL,WAAW,EAAE2O,0BAA0B;EACvC3B,gBAAgB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC1BG,QAAQ,EAAE,IAAI;EACdE,eAAe,EAAE,EAAE;EACnBG,WAAW,EAAEA,CAAA,KAAM,CAAC,CAAC;EACrBC,sBAAsB,EAAEA,CAAA,KAAMgB,qBAAqB,CAAO,CAAC;EAC3DX,oBAAoB,EAAEA,CAAA,KAAMW,qBAAqB,CAAiB;AACpE,CAAC;AAEM,MAAMI,MAAM,GAAGA,CAAA,KAAuB;EAC3C,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAAC9P,UAAU,CAAC;EACtC,IAAI,CAAC6P,OAAO,EAAE;IACZ,OAAOF,aAAa;EACtB;EACA,OAAOE,OAAO;AAChB,CAAC;AAACR,OAAA,CAAAO,MAAA,GAAAA,MAAA;AAAA,IAAAG,QAAA,GAAAV,OAAA,CAAAW,OAAA,GAEahQ,UAAU","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_core","_bloom","_authStore","_shallow","_useSessionSocket","_useLanguageManagement","_useSessionManagement","_useAuthOperations","_useDeviceManagement","_storageHelpers","_errorHandlers","_bottomSheetManager","_reactQuery","_queryClient","_useAvatarPicker","_accountStore","_useWebSSO","_jsxRuntime","OxyContext","createContext","decodeAccessTokenClaims","token","segments","split","length","payloadSegment","base64","replace","padded","padEnd","atob","json","decodeURIComponent","map","char","charCodeAt","toString","slice","join","parsed","JSON","parse","claims","sessionId","undefined","userId","id","cachedUseFollowHook","loadUseFollowHook","useFollow","error","__DEV__","loggerUtil","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","storageKeyPrefix","onAuthStateChange","onError","oxyServicesRef","useRef","current","OxyServices","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","useAuthStore","useShallow","state","logout","tokenReady","setTokenReady","useState","initialized","setInitialized","setAuthState","setState","useEffect","oxyClient","applyToSingleton","accessToken","setTokens","clearTokens","getAccessToken","onTokensChanged","logger","useCallback","message","err","console","storageKeys","useMemo","getStorageKeys","storageRef","storage","setStorage","buildStorageDeferred","resolve","promise","Promise","res","storageReadyRef","storageReady","getReadyStorage","mounted","createPlatformStorage","then","storageInstance","catch","code","status","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","useLanguageManagement","languageKey","language","queryClient","useQueryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","refreshSessions","clearSessionState","saveActiveSessionId","trackRemovedSession","useSessionManagement","setAuthError","signIn","logoutAll","useAuthOperations","clearAllAccountData","clear","clearQueryCache","useAccountStore","getState","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useDeviceManagement","useFollowHook","switchSessionRef","updateSessionsRef","clearSessionStateRef","persistSessionDurably","readyStorage","setItem","existingIds","getItem","sessionIds","includes","push","stringify","setActiveSessionIdRef","loginSuccessRef","onAuthStateChangeRef","restoreViaRefreshCookie","isWebBrowser","apiBaseUrl","getBaseURL","response","fetch","credentials","headers","Accept","fetchError","debug","ok","payload","httpService","fullUser","getCurrentUser","userError","now","Date","clientSession","deviceId","expiresAt","getTime","toISOString","lastActive","isCurrent","merge","restoreSessionsFromStorage","storedSessionIdsJson","storedSessionIds","storedActiveSessionId","validSessions","VALIDATION_TIMEOUT","results","allSettled","timeoutPromise","setTimeout","validationPromise","validateSession","useHeaderValidation","validationError","isInvalidSessionError","isTimeoutOrNetworkError","race","validation","valid","filter","r","value","s","switchError","removeItem","session","String","handleWebSSOSession","getTokenBySession","shouldTryWebSSO","useWebSSO","onSessionFound","enabled","lastIdPCheckRef","pendingIdPCleanupRef","checkIdPSession","iframe","document","createElement","style","cssText","idpOrigin","src","encodeURIComponent","window","location","origin","cleaned","cleanup","removeEventListener","handleMessage","remove","event","data","type","hasSession","toast","info","addEventListener","body","appendChild","handleVisibilityChange","visibilityState","activeSession","find","currentDeviceId","refreshSessionsWithUser","handleSessionRemoved","handleRemoteSignOut","remoteError","useSessionSocket","onRemoteSignOut","onSessionRemoved","switchSessionForContext","hasIdentity","KeyManager","getPublicKey","showBottomSheetForContext","screenOrConfig","globalShowBottomSheet","openAvatarPicker","useAvatarPicker","showBottomSheet","actingAs","setActingAsState","managedAccounts","setManagedAccounts","stored","setActingAs","refreshManagedAccounts","accounts","getManagedAccounts","createManagedAccountFn","account","createManagedAccount","contextValue","isTokenReady","isStorageReady","handlePopupSession","removeSession","jsx","Provider","exports","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context","useContext","_default","default"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -118,6 +118,14 @@ const useSessionManagement = ({
|
|
|
118
118
|
setActiveSessionId(null);
|
|
119
119
|
logoutStore();
|
|
120
120
|
|
|
121
|
+
// Clear the access token on the client instance. Without this the
|
|
122
|
+
// TokenStore retained the stale bearer until the next 401, leaving the
|
|
123
|
+
// instance "logged in" at the HTTP layer and — via OxyProvider's
|
|
124
|
+
// token-change mirror — leaking that stale token onto the shared
|
|
125
|
+
// `oxyClient` singleton after sign-out. Clearing here fires
|
|
126
|
+
// `onTokensChanged(null)`, propagating the logged-out state everywhere.
|
|
127
|
+
oxyServices.clearTokens();
|
|
128
|
+
|
|
121
129
|
// Clear TanStack Query cache (in-memory)
|
|
122
130
|
if (queryClient) {
|
|
123
131
|
queryClient.clear();
|
|
@@ -135,7 +143,7 @@ const useSessionManagement = ({
|
|
|
135
143
|
}
|
|
136
144
|
await clearSessionStorage();
|
|
137
145
|
onAuthStateChange?.(null);
|
|
138
|
-
}, [clearSessionStorage, logoutStore, onAuthStateChange, queryClient, storage, logger]);
|
|
146
|
+
}, [clearSessionStorage, logoutStore, onAuthStateChange, oxyServices, queryClient, storage, logger]);
|
|
139
147
|
const activateSession = (0, _react.useCallback)(async (sessionId, user) => {
|
|
140
148
|
await oxyServices.getTokenBySession(sessionId);
|
|
141
149
|
setTokenReady?.(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_core","_sessionHelpers","_storageHelpers","_errorHandlers","_queryClient","DEFAULT_SAVE_ERROR_MESSAGE","CLEAR_STORAGE_ERROR","useSessionManagement","oxyServices","storage","storageKeyPrefix","loginSuccess","logoutStore","applyLanguagePreference","onAuthStateChange","onError","setAuthError","logger","setTokenReady","queryClient","sessions","setSessions","useState","activeSessionId","setActiveSessionId","sessionsRef","useRef","current","activeSessionIdRef","refreshInFlightRef","removedSessionsRef","Set","lastRefreshRef","storageKeys","useMemo","getStorageKeys","saveSessionIds","useCallback","sessionIds","uniqueIds","Array","from","setItem","JSON","stringify","error","__DEV__","console","warn","updateSessions","incoming","options","prevSessions","processed","merge","mergeSessions","normalizeAndSortSessions","map","session","sessionId","sessionsArraysEqual","saveActiveSessionId","handleAuthError","defaultMessage","code","removeActiveSessionId","removeItem","clearSessionStorage","clearSessionState","clear","clearQueryCache","activateSession","user","getTokenBySession","removalTimerIdsRef","trackRemovedSession","add","timerId","setTimeout","delete","useEffect","forEach","clearTimeout","findReplacementSession","length","validationResults","validateSessionBatch","maxConcurrency","validSession","find","result","valid","validation","validateSession","useHeaderValidation","switchSession","Error","deviceSessions","fetchSessionsWithFallback","fallbackUserId","id","invalidSession","isInvalidSessionError","filter","otherSessionIds","has","replacementUser","refreshSessions","activeUserId","now","Date","refreshPromise","otherSessions","isRefreshInFlight","Boolean","exports"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSessionManagement.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAGA,IAAAK,YAAA,GAAAL,OAAA;AA+BA,MAAMM,0BAA0B,GAAG,6BAA6B;AAChE,MAAMC,mBAAmB,GAAG,yBAAyB;;AAErD;AACA;AACA;AACA;AACA;AACO,MAAMC,oBAAoB,GAAGA,CAAC;EACnCC,WAAW;EACXC,OAAO;EACPC,gBAAgB;EAChBC,YAAY;EACZC,WAAW;EACXC,uBAAuB;EACvBC,iBAAiB;EACjBC,OAAO;EACPC,YAAY;EACZC,MAAM;EACNC,aAAa;EACbC;AAC2B,CAAC,KAAiC;EAC7D,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAkB,EAAE,CAAC;EAC7D,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAF,eAAQ,EAAgB,IAAI,CAAC;;EAE3E;EACA,MAAMG,WAAW,GAAG,IAAAC,aAAM,EAACN,QAAQ,CAAC;EACpCK,WAAW,CAACE,OAAO,GAAGP,QAAQ;EAC9B,MAAMQ,kBAAkB,GAAG,IAAAF,aAAM,EAACH,eAAe,CAAC;EAClDK,kBAAkB,CAACD,OAAO,GAAGJ,eAAe;EAE5C,MAAMM,kBAAkB,GAAG,IAAAH,aAAM,EAAuB,IAAI,CAAC;EAC7D,MAAMI,kBAAkB,GAAG,IAAAJ,aAAM,EAAc,IAAIK,GAAG,CAAC,CAAC,CAAC;EACzD,MAAMC,cAAc,GAAG,IAAAN,aAAM,EAAS,CAAC,CAAC;EAExC,MAAMO,WAAW,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAAC,8BAAc,EAACzB,gBAAgB,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEvF,MAAM0B,cAAc,GAAG,IAAAC,kBAAW,EAChC,MAAOC,UAAoB,IAAoB;IAC7C,IAAI,CAAC7B,OAAO,EAAE;IACd,IAAI;MACF,MAAM8B,SAAS,GAAGC,KAAK,CAACC,IAAI,CAAC,IAAIV,GAAG,CAACO,UAAU,CAAC,CAAC;MACjD,MAAM7B,OAAO,CAACiC,OAAO,CAACT,WAAW,CAACK,UAAU,EAAEK,IAAI,CAACC,SAAS,CAACL,SAAS,CAAC,CAAC;IAC1E,CAAC,CAAC,OAAOM,KAAK,EAAE;MACd,IAAI5B,MAAM,EAAE;QACVA,MAAM,CAACZ,0BAA0B,EAAEwC,KAAK,CAAC;MAC3C,CAAC,MAAM,IAAIC,OAAO,EAAE;QAClBC,OAAO,CAACC,IAAI,CAAC,6BAA6B,EAAEH,KAAK,CAAC;MACpD;IACF;EACF,CAAC,EACD,CAAC5B,MAAM,EAAER,OAAO,EAAEwB,WAAW,CAACK,UAAU,CAC1C,CAAC;EAED,MAAMW,cAAc,GAAG,IAAAZ,kBAAW,EAChC,CAACa,QAAyB,EAAEC,OAA4B,GAAG,CAAC,CAAC,KAAW;IACtE9B,WAAW,CAAE+B,YAAY,IAAK;MAC5B,MAAMC,SAAS,GAAGF,OAAO,CAACG,KAAK,GAC3B,IAAAC,mBAAa,EAACH,YAAY,EAAEF,QAAQ,EAAEtB,kBAAkB,CAACD,OAAO,EAAE,KAAK,CAAC,GACxE,IAAA6B,8BAAwB,EAACN,QAAQ,EAAEtB,kBAAkB,CAACD,OAAO,EAAE,KAAK,CAAC;MAEzE,IAAIlB,OAAO,EAAE;QACX,KAAK2B,cAAc,CAACiB,SAAS,CAACI,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,CAAC,CAAC;MACpE;MAEA,IAAI,IAAAC,yBAAmB,EAACR,YAAY,EAAEC,SAAS,CAAC,EAAE;QAChD,OAAOD,YAAY;MACrB;MACA,OAAOC,SAAS;IAClB,CAAC,CAAC;EACJ,CAAC,EACD,CAACjB,cAAc,EAAE3B,OAAO,CAC1B,CAAC;EAED,MAAMoD,mBAAmB,GAAG,IAAAxB,kBAAW,EACrC,MAAOsB,SAAiB,IAAoB;IAC1C,IAAI,CAAClD,OAAO,EAAE;IACd,IAAI;MACF,MAAMA,OAAO,CAACiC,OAAO,CAACT,WAAW,CAACV,eAAe,EAAEoC,SAAS,CAAC;IAC/D,CAAC,CAAC,OAAOd,KAAK,EAAE;MACd,IAAAiB,8BAAe,EAACjB,KAAK,EAAE;QACrBkB,cAAc,EAAE1D,0BAA0B;QAC1C2D,IAAI,EAAE,2BAA2B;QACjCjD,OAAO;QACPC,YAAY;QACZC;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACA,MAAM,EAAEF,OAAO,EAAEC,YAAY,EAAEP,OAAO,EAAEwB,WAAW,CAACV,eAAe,CACtE,CAAC;EAED,MAAM0C,qBAAqB,GAAG,IAAA5B,kBAAW,EAAC,YAA2B;IACnE,IAAI,CAAC5B,OAAO,EAAE;IACd,IAAI;MACF,MAAMA,OAAO,CAACyD,UAAU,CAACjC,WAAW,CAACV,eAAe,CAAC;IACvD,CAAC,CAAC,OAAOsB,KAAK,EAAE;MACd,IAAAiB,8BAAe,EAACjB,KAAK,EAAE;QACrBkB,cAAc,EAAE1D,0BAA0B;QAC1C2D,IAAI,EAAE,2BAA2B;QACjCjD,OAAO;QACPC,YAAY;QACZC;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACA,MAAM,EAAEF,OAAO,EAAEC,YAAY,EAAEP,OAAO,EAAEwB,WAAW,CAACV,eAAe,CAAC,CAAC;EAEzE,MAAM4C,mBAAmB,GAAG,IAAA9B,kBAAW,EAAC,YAA2B;IACjE,IAAI,CAAC5B,OAAO,EAAE;IACd,IAAI;MACF,MAAMA,OAAO,CAACyD,UAAU,CAACjC,WAAW,CAACV,eAAe,CAAC;MACrD,MAAMd,OAAO,CAACyD,UAAU,CAACjC,WAAW,CAACK,UAAU,CAAC;MAChD;IACF,CAAC,CAAC,OAAOO,KAAK,EAAE;MACd,IAAAiB,8BAAe,EAACjB,KAAK,EAAE;QACrBkB,cAAc,EAAEzD,mBAAmB;QACnC0D,IAAI,EAAE,eAAe;QACrBjD,OAAO;QACPC,YAAY;QACZC;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACA,MAAM,EAAEF,OAAO,EAAEC,YAAY,EAAEP,OAAO,EAAEwB,WAAW,CAACV,eAAe,EAAEU,WAAW,CAACK,UAAU,CAAC,CAAC;EAEjG,MAAM8B,iBAAiB,GAAG,IAAA/B,kBAAW,EAAC,YAA2B;IAC/DhB,WAAW,CAAC,EAAE,CAAC;IACfG,kBAAkB,CAAC,IAAI,CAAC;IACxBZ,WAAW,CAAC,CAAC;;IAEb;IACA,IAAIO,WAAW,EAAE;MACfA,WAAW,CAACkD,KAAK,CAAC,CAAC;IACrB;;IAEA;IACA,IAAI5D,OAAO,EAAE;MACX,IAAI;QACF,MAAM,IAAA6D,4BAAe,EAAC7D,OAAO,CAAC;MAChC,CAAC,CAAC,OAAOoC,KAAK,EAAE;QACd,IAAI5B,MAAM,EAAE;UACVA,MAAM,CAAC,uCAAuC,EAAE4B,KAAK,CAAC;QACxD;MACF;IACF;IAEA,MAAMsB,mBAAmB,CAAC,CAAC;IAC3BrD,iBAAiB,GAAG,IAAI,CAAC;EAC3B,CAAC,EAAE,CAACqD,mBAAmB,EAAEvD,WAAW,EAAEE,iBAAiB,EAAEK,WAAW,EAAEV,OAAO,EAAEQ,MAAM,CAAC,CAAC;EAEvF,MAAMsD,eAAe,GAAG,IAAAlC,kBAAW,EACjC,OAAOsB,SAAiB,EAAEa,IAAU,KAAoB;IACtD,MAAMhE,WAAW,CAACiE,iBAAiB,CAACd,SAAS,CAAC;IAC9CzC,aAAa,GAAG,IAAI,CAAC;IACrBM,kBAAkB,CAACmC,SAAS,CAAC;IAC7BhD,YAAY,CAAC6D,IAAI,CAAC;IAClB,MAAMX,mBAAmB,CAACF,SAAS,CAAC;IACpC,MAAM9C,uBAAuB,CAAC2D,IAAI,CAAC;IACnC1D,iBAAiB,GAAG0D,IAAI,CAAC;EAC3B,CAAC,EACD,CACE3D,uBAAuB,EACvBF,YAAY,EACZG,iBAAiB,EACjBN,WAAW,EACXqD,mBAAmB,EACnB3C,aAAa,CAEjB,CAAC;EAED,MAAMwD,kBAAkB,GAAG,IAAAhD,aAAM,EAAqC,IAAIK,GAAG,CAAC,CAAC,CAAC;EAEhF,MAAM4C,mBAAmB,GAAG,IAAAtC,kBAAW,EAAEsB,SAAiB,IAAK;IAC7D7B,kBAAkB,CAACH,OAAO,CAACiD,GAAG,CAACjB,SAAS,CAAC;IACzC,MAAMkB,OAAO,GAAGC,UAAU,CAAC,MAAM;MAC/BhD,kBAAkB,CAACH,OAAO,CAACoD,MAAM,CAACpB,SAAS,CAAC;MAC5Ce,kBAAkB,CAAC/C,OAAO,CAACoD,MAAM,CAACF,OAAO,CAAC;IAC5C,CAAC,EAAE,IAAI,CAAC;IACRH,kBAAkB,CAAC/C,OAAO,CAACiD,GAAG,CAACC,OAAO,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAG,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACXN,kBAAkB,CAAC/C,OAAO,CAACsD,OAAO,CAACC,YAAY,CAAC;IAClD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,sBAAsB,GAAG,IAAA9C,kBAAW,EACxC,MAAOC,UAAoB,IAA2B;IACpD,IAAI,CAACA,UAAU,CAAC8C,MAAM,EAAE;MACtB,OAAO,IAAI;IACb;IAEA,MAAMC,iBAAiB,GAAG,MAAM,IAAAC,oCAAoB,EAAC9E,WAAW,EAAE8B,UAAU,EAAE;MAC5EiD,cAAc,EAAE;IAClB,CAAC,CAAC;IAEF,MAAMC,YAAY,GAAGH,iBAAiB,CAACI,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,KAAK,CAAC;IACrE,IAAI,CAACH,YAAY,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,MAAMI,UAAU,GAAG,MAAMpF,WAAW,CAACqF,eAAe,CAACL,YAAY,CAAC7B,SAAS,EAAE;MAC3EmC,mBAAmB,EAAE;IACvB,CAAC,CAAC;IAEF,IAAI,CAACF,UAAU,EAAED,KAAK,IAAI,CAACC,UAAU,CAACpB,IAAI,EAAE;MAC1C,OAAO,IAAI;IACb;IAEA,MAAMA,IAAI,GAAGoB,UAAU,CAACpB,IAAY;IACpC,MAAMD,eAAe,CAACiB,YAAY,CAAC7B,SAAS,EAAEa,IAAI,CAAC;IACnD,OAAOA,IAAI;EACb,CAAC,EACD,CAACD,eAAe,EAAE/D,WAAW,CAC/B,CAAC;EAED,MAAMuF,aAAa,GAAG,IAAA1D,kBAAW,EAC/B,MAAOsB,SAAiB,IAAoB;IAC1C,IAAI;MACF,MAAMiC,UAAU,GAAG,MAAMpF,WAAW,CAACqF,eAAe,CAAClC,SAAS,EAAE;QAAEmC,mBAAmB,EAAE;MAAK,CAAC,CAAC;MAC9F,IAAI,CAACF,UAAU,EAAED,KAAK,EAAE;QACtB,MAAM,IAAIK,KAAK,CAAC,+BAA+B,CAAC;MAClD;MAEA,IAAI,CAACJ,UAAU,CAACpB,IAAI,EAAE;QACpB,MAAM,IAAIwB,KAAK,CAAC,iDAAiD,CAAC;MACpE;MAEA,MAAMxB,IAAI,GAAGoB,UAAU,CAACpB,IAAY;MACpC,MAAMD,eAAe,CAACZ,SAAS,EAAEa,IAAI,CAAC;MAEtC,IAAI;QACF,MAAMyB,cAAc,GAAG,MAAM,IAAAC,yCAAyB,EAAC1F,WAAW,EAAEmD,SAAS,EAAE;UAC7EwC,cAAc,EAAE3B,IAAI,CAAC4B,EAAE;UACvBnF;QACF,CAAC,CAAC;QACFgC,cAAc,CAACgD,cAAc,EAAE;UAAE3C,KAAK,EAAE;QAAK,CAAC,CAAC;MACjD,CAAC,CAAC,OAAOT,KAAK,EAAE;QACd,IAAIC,OAAO,EAAE;UACXC,OAAO,CAACC,IAAI,CAAC,8CAA8C,EAAEH,KAAK,CAAC;QACrE;MACF;MAEA,OAAO2B,IAAI;IACb,CAAC,CAAC,OAAO3B,KAAK,EAAE;MACd,MAAMwD,cAAc,GAAG,IAAAC,oCAAqB,EAACzD,KAAK,CAAC;MAEnD,IAAIwD,cAAc,EAAE;QAClBpD,cAAc,CAACxB,WAAW,CAACE,OAAO,CAAC4E,MAAM,CAAE7C,OAAO,IAAKA,OAAO,CAACC,SAAS,KAAKA,SAAS,CAAC,EAAE;UACvFL,KAAK,EAAE;QACT,CAAC,CAAC;QACF,IAAIK,SAAS,KAAK/B,kBAAkB,CAACD,OAAO,EAAE;UAC5C,MAAM6E,eAAe,GAAG/E,WAAW,CAACE,OAAO,CACxC4E,MAAM,CACJ7C,OAAO,IACNA,OAAO,CAACC,SAAS,KAAKA,SAAS,IAAI,CAAC7B,kBAAkB,CAACH,OAAO,CAAC8E,GAAG,CAAC/C,OAAO,CAACC,SAAS,CACxF,CAAC,CACAF,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,CAAC;UAEtC,MAAM+C,eAAe,GAAG,MAAMvB,sBAAsB,CAACqB,eAAe,CAAC;UACrE,IAAIE,eAAe,EAAE;YACnB,OAAOA,eAAe;UACxB;QACF;MACF;MAEA,IAAA5C,8BAAe,EAACjB,KAAK,EAAE;QACrBkB,cAAc,EAAE,0BAA0B;QAC1CC,IAAI,EAAEqC,cAAc,GAAG,iBAAiB,GAAG,sBAAsB;QACjEtF,OAAO;QACPC,YAAY;QACZC;MACF,CAAC,CAAC;MACF,MAAM4B,KAAK,YAAYmD,KAAK,GAAGnD,KAAK,GAAG,IAAImD,KAAK,CAAC,0BAA0B,CAAC;IAC9E;EACF,CAAC,EACD,CACEzB,eAAe,EACfY,sBAAsB,EACtBlE,MAAM,EACNF,OAAO,EACPP,WAAW,EACXQ,YAAY,EACZiC,cAAc,CAElB,CAAC;EAED,MAAM0D,eAAe,GAAG,IAAAtE,kBAAW,EACjC,MAAOuE,YAAqB,IAAoB;IAC9C,IAAI,CAAChF,kBAAkB,CAACD,OAAO,EAAE;IAEjC,IAAIE,kBAAkB,CAACF,OAAO,EAAE;MAC9B,MAAME,kBAAkB,CAACF,OAAO;MAChC;IACF;IAEA,MAAMkF,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;IACtB,IAAIA,GAAG,GAAG7E,cAAc,CAACL,OAAO,GAAG,GAAG,EAAE;MACtC;IACF;IACAK,cAAc,CAACL,OAAO,GAAGkF,GAAG;IAE5B,MAAME,cAAc,GAAG,CAAC,YAAY;MAClC,IAAI;QACF,MAAMd,cAAc,GAAG,MAAM,IAAAC,yCAAyB,EAAC1F,WAAW,EAAEoB,kBAAkB,CAACD,OAAO,EAAG;UAC/FwE,cAAc,EAAES,YAAY;UAC5B3F;QACF,CAAC,CAAC;QACFgC,cAAc,CAACgD,cAAc,EAAE;UAAE3C,KAAK,EAAE;QAAK,CAAC,CAAC;MACjD,CAAC,CAAC,OAAOT,KAAK,EAAE;QACd,IAAI,IAAAyD,oCAAqB,EAACzD,KAAK,CAAC,EAAE;UAChC,MAAMmE,aAAa,GAAGvF,WAAW,CAACE,OAAO,CACtC4E,MAAM,CACJ7C,OAAO,IACNA,OAAO,CAACC,SAAS,KAAK/B,kBAAkB,CAACD,OAAO,IAChD,CAACG,kBAAkB,CAACH,OAAO,CAAC8E,GAAG,CAAC/C,OAAO,CAACC,SAAS,CACrD,CAAC,CACAF,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,CAAC;UAEtC,MAAM+C,eAAe,GAAG,MAAMvB,sBAAsB,CAAC6B,aAAa,CAAC;UACnE,IAAI,CAACN,eAAe,EAAE;YACpB,MAAMtC,iBAAiB,CAAC,CAAC;UAC3B;UACA;QACF;QAEA,IAAAN,8BAAe,EAACjB,KAAK,EAAE;UACrBkB,cAAc,EAAE,4BAA4B;UAC5CC,IAAI,EAAE,uBAAuB;UAC7BjD,OAAO;UACPC,YAAY;UACZC;QACF,CAAC,CAAC;MACJ,CAAC,SAAS;QACRY,kBAAkB,CAACF,OAAO,GAAG,IAAI;QACjCK,cAAc,CAACL,OAAO,GAAGmF,IAAI,CAACD,GAAG,CAAC,CAAC;MACrC;IACF,CAAC,EAAE,CAAC;IAEJhF,kBAAkB,CAACF,OAAO,GAAGoF,cAAc;IAC3C,MAAMA,cAAc;EACtB,CAAC,EACD,CACE3C,iBAAiB,EACjBe,sBAAsB,EACtBlE,MAAM,EACNF,OAAO,EACPP,WAAW,EACXQ,YAAY,EACZiC,cAAc,CAElB,CAAC;EAED,MAAMgE,iBAAiB,GAAGC,OAAO,CAACrF,kBAAkB,CAACF,OAAO,CAAC;EAE7D,OAAO;IACLP,QAAQ;IACRG,eAAe;IACfC,kBAAkB;IAClByB,cAAc;IACd8C,aAAa;IACbY,eAAe;IACfvC,iBAAiB;IACjBP,mBAAmB;IACnBc,mBAAmB;IACnB1C,WAAW;IACXgF;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAA5G,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_core","_sessionHelpers","_storageHelpers","_errorHandlers","_queryClient","DEFAULT_SAVE_ERROR_MESSAGE","CLEAR_STORAGE_ERROR","useSessionManagement","oxyServices","storage","storageKeyPrefix","loginSuccess","logoutStore","applyLanguagePreference","onAuthStateChange","onError","setAuthError","logger","setTokenReady","queryClient","sessions","setSessions","useState","activeSessionId","setActiveSessionId","sessionsRef","useRef","current","activeSessionIdRef","refreshInFlightRef","removedSessionsRef","Set","lastRefreshRef","storageKeys","useMemo","getStorageKeys","saveSessionIds","useCallback","sessionIds","uniqueIds","Array","from","setItem","JSON","stringify","error","__DEV__","console","warn","updateSessions","incoming","options","prevSessions","processed","merge","mergeSessions","normalizeAndSortSessions","map","session","sessionId","sessionsArraysEqual","saveActiveSessionId","handleAuthError","defaultMessage","code","removeActiveSessionId","removeItem","clearSessionStorage","clearSessionState","clearTokens","clear","clearQueryCache","activateSession","user","getTokenBySession","removalTimerIdsRef","trackRemovedSession","add","timerId","setTimeout","delete","useEffect","forEach","clearTimeout","findReplacementSession","length","validationResults","validateSessionBatch","maxConcurrency","validSession","find","result","valid","validation","validateSession","useHeaderValidation","switchSession","Error","deviceSessions","fetchSessionsWithFallback","fallbackUserId","id","invalidSession","isInvalidSessionError","filter","otherSessionIds","has","replacementUser","refreshSessions","activeUserId","now","Date","refreshPromise","otherSessions","isRefreshInFlight","Boolean","exports"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSessionManagement.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAGA,IAAAK,YAAA,GAAAL,OAAA;AA+BA,MAAMM,0BAA0B,GAAG,6BAA6B;AAChE,MAAMC,mBAAmB,GAAG,yBAAyB;;AAErD;AACA;AACA;AACA;AACA;AACO,MAAMC,oBAAoB,GAAGA,CAAC;EACnCC,WAAW;EACXC,OAAO;EACPC,gBAAgB;EAChBC,YAAY;EACZC,WAAW;EACXC,uBAAuB;EACvBC,iBAAiB;EACjBC,OAAO;EACPC,YAAY;EACZC,MAAM;EACNC,aAAa;EACbC;AAC2B,CAAC,KAAiC;EAC7D,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAkB,EAAE,CAAC;EAC7D,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAF,eAAQ,EAAgB,IAAI,CAAC;;EAE3E;EACA,MAAMG,WAAW,GAAG,IAAAC,aAAM,EAACN,QAAQ,CAAC;EACpCK,WAAW,CAACE,OAAO,GAAGP,QAAQ;EAC9B,MAAMQ,kBAAkB,GAAG,IAAAF,aAAM,EAACH,eAAe,CAAC;EAClDK,kBAAkB,CAACD,OAAO,GAAGJ,eAAe;EAE5C,MAAMM,kBAAkB,GAAG,IAAAH,aAAM,EAAuB,IAAI,CAAC;EAC7D,MAAMI,kBAAkB,GAAG,IAAAJ,aAAM,EAAc,IAAIK,GAAG,CAAC,CAAC,CAAC;EACzD,MAAMC,cAAc,GAAG,IAAAN,aAAM,EAAS,CAAC,CAAC;EAExC,MAAMO,WAAW,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAAC,8BAAc,EAACzB,gBAAgB,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEvF,MAAM0B,cAAc,GAAG,IAAAC,kBAAW,EAChC,MAAOC,UAAoB,IAAoB;IAC7C,IAAI,CAAC7B,OAAO,EAAE;IACd,IAAI;MACF,MAAM8B,SAAS,GAAGC,KAAK,CAACC,IAAI,CAAC,IAAIV,GAAG,CAACO,UAAU,CAAC,CAAC;MACjD,MAAM7B,OAAO,CAACiC,OAAO,CAACT,WAAW,CAACK,UAAU,EAAEK,IAAI,CAACC,SAAS,CAACL,SAAS,CAAC,CAAC;IAC1E,CAAC,CAAC,OAAOM,KAAK,EAAE;MACd,IAAI5B,MAAM,EAAE;QACVA,MAAM,CAACZ,0BAA0B,EAAEwC,KAAK,CAAC;MAC3C,CAAC,MAAM,IAAIC,OAAO,EAAE;QAClBC,OAAO,CAACC,IAAI,CAAC,6BAA6B,EAAEH,KAAK,CAAC;MACpD;IACF;EACF,CAAC,EACD,CAAC5B,MAAM,EAAER,OAAO,EAAEwB,WAAW,CAACK,UAAU,CAC1C,CAAC;EAED,MAAMW,cAAc,GAAG,IAAAZ,kBAAW,EAChC,CAACa,QAAyB,EAAEC,OAA4B,GAAG,CAAC,CAAC,KAAW;IACtE9B,WAAW,CAAE+B,YAAY,IAAK;MAC5B,MAAMC,SAAS,GAAGF,OAAO,CAACG,KAAK,GAC3B,IAAAC,mBAAa,EAACH,YAAY,EAAEF,QAAQ,EAAEtB,kBAAkB,CAACD,OAAO,EAAE,KAAK,CAAC,GACxE,IAAA6B,8BAAwB,EAACN,QAAQ,EAAEtB,kBAAkB,CAACD,OAAO,EAAE,KAAK,CAAC;MAEzE,IAAIlB,OAAO,EAAE;QACX,KAAK2B,cAAc,CAACiB,SAAS,CAACI,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,CAAC,CAAC;MACpE;MAEA,IAAI,IAAAC,yBAAmB,EAACR,YAAY,EAAEC,SAAS,CAAC,EAAE;QAChD,OAAOD,YAAY;MACrB;MACA,OAAOC,SAAS;IAClB,CAAC,CAAC;EACJ,CAAC,EACD,CAACjB,cAAc,EAAE3B,OAAO,CAC1B,CAAC;EAED,MAAMoD,mBAAmB,GAAG,IAAAxB,kBAAW,EACrC,MAAOsB,SAAiB,IAAoB;IAC1C,IAAI,CAAClD,OAAO,EAAE;IACd,IAAI;MACF,MAAMA,OAAO,CAACiC,OAAO,CAACT,WAAW,CAACV,eAAe,EAAEoC,SAAS,CAAC;IAC/D,CAAC,CAAC,OAAOd,KAAK,EAAE;MACd,IAAAiB,8BAAe,EAACjB,KAAK,EAAE;QACrBkB,cAAc,EAAE1D,0BAA0B;QAC1C2D,IAAI,EAAE,2BAA2B;QACjCjD,OAAO;QACPC,YAAY;QACZC;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACA,MAAM,EAAEF,OAAO,EAAEC,YAAY,EAAEP,OAAO,EAAEwB,WAAW,CAACV,eAAe,CACtE,CAAC;EAED,MAAM0C,qBAAqB,GAAG,IAAA5B,kBAAW,EAAC,YAA2B;IACnE,IAAI,CAAC5B,OAAO,EAAE;IACd,IAAI;MACF,MAAMA,OAAO,CAACyD,UAAU,CAACjC,WAAW,CAACV,eAAe,CAAC;IACvD,CAAC,CAAC,OAAOsB,KAAK,EAAE;MACd,IAAAiB,8BAAe,EAACjB,KAAK,EAAE;QACrBkB,cAAc,EAAE1D,0BAA0B;QAC1C2D,IAAI,EAAE,2BAA2B;QACjCjD,OAAO;QACPC,YAAY;QACZC;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACA,MAAM,EAAEF,OAAO,EAAEC,YAAY,EAAEP,OAAO,EAAEwB,WAAW,CAACV,eAAe,CAAC,CAAC;EAEzE,MAAM4C,mBAAmB,GAAG,IAAA9B,kBAAW,EAAC,YAA2B;IACjE,IAAI,CAAC5B,OAAO,EAAE;IACd,IAAI;MACF,MAAMA,OAAO,CAACyD,UAAU,CAACjC,WAAW,CAACV,eAAe,CAAC;MACrD,MAAMd,OAAO,CAACyD,UAAU,CAACjC,WAAW,CAACK,UAAU,CAAC;MAChD;IACF,CAAC,CAAC,OAAOO,KAAK,EAAE;MACd,IAAAiB,8BAAe,EAACjB,KAAK,EAAE;QACrBkB,cAAc,EAAEzD,mBAAmB;QACnC0D,IAAI,EAAE,eAAe;QACrBjD,OAAO;QACPC,YAAY;QACZC;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACA,MAAM,EAAEF,OAAO,EAAEC,YAAY,EAAEP,OAAO,EAAEwB,WAAW,CAACV,eAAe,EAAEU,WAAW,CAACK,UAAU,CAAC,CAAC;EAEjG,MAAM8B,iBAAiB,GAAG,IAAA/B,kBAAW,EAAC,YAA2B;IAC/DhB,WAAW,CAAC,EAAE,CAAC;IACfG,kBAAkB,CAAC,IAAI,CAAC;IACxBZ,WAAW,CAAC,CAAC;;IAEb;IACA;IACA;IACA;IACA;IACA;IACAJ,WAAW,CAAC6D,WAAW,CAAC,CAAC;;IAEzB;IACA,IAAIlD,WAAW,EAAE;MACfA,WAAW,CAACmD,KAAK,CAAC,CAAC;IACrB;;IAEA;IACA,IAAI7D,OAAO,EAAE;MACX,IAAI;QACF,MAAM,IAAA8D,4BAAe,EAAC9D,OAAO,CAAC;MAChC,CAAC,CAAC,OAAOoC,KAAK,EAAE;QACd,IAAI5B,MAAM,EAAE;UACVA,MAAM,CAAC,uCAAuC,EAAE4B,KAAK,CAAC;QACxD;MACF;IACF;IAEA,MAAMsB,mBAAmB,CAAC,CAAC;IAC3BrD,iBAAiB,GAAG,IAAI,CAAC;EAC3B,CAAC,EAAE,CAACqD,mBAAmB,EAAEvD,WAAW,EAAEE,iBAAiB,EAAEN,WAAW,EAAEW,WAAW,EAAEV,OAAO,EAAEQ,MAAM,CAAC,CAAC;EAEpG,MAAMuD,eAAe,GAAG,IAAAnC,kBAAW,EACjC,OAAOsB,SAAiB,EAAEc,IAAU,KAAoB;IACtD,MAAMjE,WAAW,CAACkE,iBAAiB,CAACf,SAAS,CAAC;IAC9CzC,aAAa,GAAG,IAAI,CAAC;IACrBM,kBAAkB,CAACmC,SAAS,CAAC;IAC7BhD,YAAY,CAAC8D,IAAI,CAAC;IAClB,MAAMZ,mBAAmB,CAACF,SAAS,CAAC;IACpC,MAAM9C,uBAAuB,CAAC4D,IAAI,CAAC;IACnC3D,iBAAiB,GAAG2D,IAAI,CAAC;EAC3B,CAAC,EACD,CACE5D,uBAAuB,EACvBF,YAAY,EACZG,iBAAiB,EACjBN,WAAW,EACXqD,mBAAmB,EACnB3C,aAAa,CAEjB,CAAC;EAED,MAAMyD,kBAAkB,GAAG,IAAAjD,aAAM,EAAqC,IAAIK,GAAG,CAAC,CAAC,CAAC;EAEhF,MAAM6C,mBAAmB,GAAG,IAAAvC,kBAAW,EAAEsB,SAAiB,IAAK;IAC7D7B,kBAAkB,CAACH,OAAO,CAACkD,GAAG,CAAClB,SAAS,CAAC;IACzC,MAAMmB,OAAO,GAAGC,UAAU,CAAC,MAAM;MAC/BjD,kBAAkB,CAACH,OAAO,CAACqD,MAAM,CAACrB,SAAS,CAAC;MAC5CgB,kBAAkB,CAAChD,OAAO,CAACqD,MAAM,CAACF,OAAO,CAAC;IAC5C,CAAC,EAAE,IAAI,CAAC;IACRH,kBAAkB,CAAChD,OAAO,CAACkD,GAAG,CAACC,OAAO,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAG,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACXN,kBAAkB,CAAChD,OAAO,CAACuD,OAAO,CAACC,YAAY,CAAC;IAClD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,sBAAsB,GAAG,IAAA/C,kBAAW,EACxC,MAAOC,UAAoB,IAA2B;IACpD,IAAI,CAACA,UAAU,CAAC+C,MAAM,EAAE;MACtB,OAAO,IAAI;IACb;IAEA,MAAMC,iBAAiB,GAAG,MAAM,IAAAC,oCAAoB,EAAC/E,WAAW,EAAE8B,UAAU,EAAE;MAC5EkD,cAAc,EAAE;IAClB,CAAC,CAAC;IAEF,MAAMC,YAAY,GAAGH,iBAAiB,CAACI,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,KAAK,CAAC;IACrE,IAAI,CAACH,YAAY,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,MAAMI,UAAU,GAAG,MAAMrF,WAAW,CAACsF,eAAe,CAACL,YAAY,CAAC9B,SAAS,EAAE;MAC3EoC,mBAAmB,EAAE;IACvB,CAAC,CAAC;IAEF,IAAI,CAACF,UAAU,EAAED,KAAK,IAAI,CAACC,UAAU,CAACpB,IAAI,EAAE;MAC1C,OAAO,IAAI;IACb;IAEA,MAAMA,IAAI,GAAGoB,UAAU,CAACpB,IAAY;IACpC,MAAMD,eAAe,CAACiB,YAAY,CAAC9B,SAAS,EAAEc,IAAI,CAAC;IACnD,OAAOA,IAAI;EACb,CAAC,EACD,CAACD,eAAe,EAAEhE,WAAW,CAC/B,CAAC;EAED,MAAMwF,aAAa,GAAG,IAAA3D,kBAAW,EAC/B,MAAOsB,SAAiB,IAAoB;IAC1C,IAAI;MACF,MAAMkC,UAAU,GAAG,MAAMrF,WAAW,CAACsF,eAAe,CAACnC,SAAS,EAAE;QAAEoC,mBAAmB,EAAE;MAAK,CAAC,CAAC;MAC9F,IAAI,CAACF,UAAU,EAAED,KAAK,EAAE;QACtB,MAAM,IAAIK,KAAK,CAAC,+BAA+B,CAAC;MAClD;MAEA,IAAI,CAACJ,UAAU,CAACpB,IAAI,EAAE;QACpB,MAAM,IAAIwB,KAAK,CAAC,iDAAiD,CAAC;MACpE;MAEA,MAAMxB,IAAI,GAAGoB,UAAU,CAACpB,IAAY;MACpC,MAAMD,eAAe,CAACb,SAAS,EAAEc,IAAI,CAAC;MAEtC,IAAI;QACF,MAAMyB,cAAc,GAAG,MAAM,IAAAC,yCAAyB,EAAC3F,WAAW,EAAEmD,SAAS,EAAE;UAC7EyC,cAAc,EAAE3B,IAAI,CAAC4B,EAAE;UACvBpF;QACF,CAAC,CAAC;QACFgC,cAAc,CAACiD,cAAc,EAAE;UAAE5C,KAAK,EAAE;QAAK,CAAC,CAAC;MACjD,CAAC,CAAC,OAAOT,KAAK,EAAE;QACd,IAAIC,OAAO,EAAE;UACXC,OAAO,CAACC,IAAI,CAAC,8CAA8C,EAAEH,KAAK,CAAC;QACrE;MACF;MAEA,OAAO4B,IAAI;IACb,CAAC,CAAC,OAAO5B,KAAK,EAAE;MACd,MAAMyD,cAAc,GAAG,IAAAC,oCAAqB,EAAC1D,KAAK,CAAC;MAEnD,IAAIyD,cAAc,EAAE;QAClBrD,cAAc,CAACxB,WAAW,CAACE,OAAO,CAAC6E,MAAM,CAAE9C,OAAO,IAAKA,OAAO,CAACC,SAAS,KAAKA,SAAS,CAAC,EAAE;UACvFL,KAAK,EAAE;QACT,CAAC,CAAC;QACF,IAAIK,SAAS,KAAK/B,kBAAkB,CAACD,OAAO,EAAE;UAC5C,MAAM8E,eAAe,GAAGhF,WAAW,CAACE,OAAO,CACxC6E,MAAM,CACJ9C,OAAO,IACNA,OAAO,CAACC,SAAS,KAAKA,SAAS,IAAI,CAAC7B,kBAAkB,CAACH,OAAO,CAAC+E,GAAG,CAAChD,OAAO,CAACC,SAAS,CACxF,CAAC,CACAF,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,CAAC;UAEtC,MAAMgD,eAAe,GAAG,MAAMvB,sBAAsB,CAACqB,eAAe,CAAC;UACrE,IAAIE,eAAe,EAAE;YACnB,OAAOA,eAAe;UACxB;QACF;MACF;MAEA,IAAA7C,8BAAe,EAACjB,KAAK,EAAE;QACrBkB,cAAc,EAAE,0BAA0B;QAC1CC,IAAI,EAAEsC,cAAc,GAAG,iBAAiB,GAAG,sBAAsB;QACjEvF,OAAO;QACPC,YAAY;QACZC;MACF,CAAC,CAAC;MACF,MAAM4B,KAAK,YAAYoD,KAAK,GAAGpD,KAAK,GAAG,IAAIoD,KAAK,CAAC,0BAA0B,CAAC;IAC9E;EACF,CAAC,EACD,CACEzB,eAAe,EACfY,sBAAsB,EACtBnE,MAAM,EACNF,OAAO,EACPP,WAAW,EACXQ,YAAY,EACZiC,cAAc,CAElB,CAAC;EAED,MAAM2D,eAAe,GAAG,IAAAvE,kBAAW,EACjC,MAAOwE,YAAqB,IAAoB;IAC9C,IAAI,CAACjF,kBAAkB,CAACD,OAAO,EAAE;IAEjC,IAAIE,kBAAkB,CAACF,OAAO,EAAE;MAC9B,MAAME,kBAAkB,CAACF,OAAO;MAChC;IACF;IAEA,MAAMmF,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;IACtB,IAAIA,GAAG,GAAG9E,cAAc,CAACL,OAAO,GAAG,GAAG,EAAE;MACtC;IACF;IACAK,cAAc,CAACL,OAAO,GAAGmF,GAAG;IAE5B,MAAME,cAAc,GAAG,CAAC,YAAY;MAClC,IAAI;QACF,MAAMd,cAAc,GAAG,MAAM,IAAAC,yCAAyB,EAAC3F,WAAW,EAAEoB,kBAAkB,CAACD,OAAO,EAAG;UAC/FyE,cAAc,EAAES,YAAY;UAC5B5F;QACF,CAAC,CAAC;QACFgC,cAAc,CAACiD,cAAc,EAAE;UAAE5C,KAAK,EAAE;QAAK,CAAC,CAAC;MACjD,CAAC,CAAC,OAAOT,KAAK,EAAE;QACd,IAAI,IAAA0D,oCAAqB,EAAC1D,KAAK,CAAC,EAAE;UAChC,MAAMoE,aAAa,GAAGxF,WAAW,CAACE,OAAO,CACtC6E,MAAM,CACJ9C,OAAO,IACNA,OAAO,CAACC,SAAS,KAAK/B,kBAAkB,CAACD,OAAO,IAChD,CAACG,kBAAkB,CAACH,OAAO,CAAC+E,GAAG,CAAChD,OAAO,CAACC,SAAS,CACrD,CAAC,CACAF,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,CAAC;UAEtC,MAAMgD,eAAe,GAAG,MAAMvB,sBAAsB,CAAC6B,aAAa,CAAC;UACnE,IAAI,CAACN,eAAe,EAAE;YACpB,MAAMvC,iBAAiB,CAAC,CAAC;UAC3B;UACA;QACF;QAEA,IAAAN,8BAAe,EAACjB,KAAK,EAAE;UACrBkB,cAAc,EAAE,4BAA4B;UAC5CC,IAAI,EAAE,uBAAuB;UAC7BjD,OAAO;UACPC,YAAY;UACZC;QACF,CAAC,CAAC;MACJ,CAAC,SAAS;QACRY,kBAAkB,CAACF,OAAO,GAAG,IAAI;QACjCK,cAAc,CAACL,OAAO,GAAGoF,IAAI,CAACD,GAAG,CAAC,CAAC;MACrC;IACF,CAAC,EAAE,CAAC;IAEJjF,kBAAkB,CAACF,OAAO,GAAGqF,cAAc;IAC3C,MAAMA,cAAc;EACtB,CAAC,EACD,CACE5C,iBAAiB,EACjBgB,sBAAsB,EACtBnE,MAAM,EACNF,OAAO,EACPP,WAAW,EACXQ,YAAY,EACZiC,cAAc,CAElB,CAAC;EAED,MAAMiE,iBAAiB,GAAGC,OAAO,CAACtF,kBAAkB,CAACF,OAAO,CAAC;EAE7D,OAAO;IACLP,QAAQ;IACRG,eAAe;IACfC,kBAAkB;IAClByB,cAAc;IACd+C,aAAa;IACbY,eAAe;IACfxC,iBAAiB;IACjBP,mBAAmB;IACnBe,mBAAmB;IACnB3C,WAAW;IACXiF;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAA7G,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|