@hexclave/next 1.0.72 → 1.0.74
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/dist/{admin-app-impl-DLqm4Zqy.d.ts → admin-app-impl-FZdANO62.d.ts} +15 -9
- package/dist/admin-app-impl-FZdANO62.d.ts.map +1 -0
- package/dist/clickmap/clickmap-core.d.ts +1 -1
- package/dist/clickmap/index.d.ts +1 -1
- package/dist/{client-app-DlKeB4SB.d.ts → client-app-BCT5p_70.d.ts} +12 -4
- package/dist/{client-app-DlKeB4SB.d.ts.map → client-app-BCT5p_70.d.ts.map} +1 -1
- package/dist/components/selected-team-switcher.d.ts +1 -1
- package/dist/components/team-icon.d.ts +1 -1
- package/dist/components/team-switcher.d.ts +1 -1
- package/dist/components-page/account-settings/payments/payments-page.d.ts +1 -1
- package/dist/components-page/account-settings/teams/leave-team-section.d.ts +1 -1
- package/dist/components-page/account-settings/teams/team-api-keys-section.d.ts +1 -1
- package/dist/components-page/account-settings/teams/team-display-name-section.d.ts +1 -1
- package/dist/components-page/account-settings/teams/team-member-invitation-section.d.ts +1 -1
- package/dist/components-page/account-settings/teams/team-member-list-section.d.ts +1 -1
- package/dist/components-page/account-settings/teams/team-page.d.ts +1 -1
- package/dist/components-page/account-settings/teams/team-profile-image-section.d.ts +1 -1
- package/dist/components-page/account-settings/teams/team-profile-user-section.d.ts +1 -1
- package/dist/components-page/hexclave-handler-client.d.ts +1 -1
- package/dist/components-page/hexclave-handler.d.ts +1 -1
- package/dist/components-page/oauth-callback.js +3 -18
- package/dist/components-page/oauth-callback.js.map +1 -1
- package/dist/dev-tool/dev-tool-core.d.ts +1 -1
- package/dist/dev-tool/index.d.ts +1 -1
- package/dist/esm/components-page/oauth-callback.d.ts.map +1 -1
- package/dist/esm/components-page/oauth-callback.js +4 -19
- package/dist/esm/components-page/oauth-callback.js.map +1 -1
- package/dist/esm/lib/auth.d.ts.map +1 -1
- package/dist/esm/lib/auth.js +1 -1
- package/dist/esm/lib/auth.js.map +1 -1
- package/dist/esm/lib/auth.test.js +2 -2
- package/dist/esm/lib/auth.test.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +6 -3
- package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js +4 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.automatic-side-effects.test.d.ts +1 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.automatic-side-effects.test.js +102 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.automatic-side-effects.test.js.map +1 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +57 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +7 -4
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js +44 -12
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/common.js +2 -2
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.d.ts +13 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.js +15 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.test.js +25 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.test.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts +1 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js +67 -12
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.test.d.ts +1 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.test.js +87 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.test.js.map +1 -0
- package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts +9 -1
- package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -1
- package/dist/esm/lib/hexclave-app/project-configs/index.d.ts +4 -1
- package/dist/esm/lib/hexclave-app/project-configs/index.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/projects/index.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/projects/index.js +3 -0
- package/dist/esm/lib/hexclave-app/projects/index.js.map +1 -1
- package/dist/esm/utils/url.js +10 -2
- package/dist/esm/utils/url.js.map +1 -1
- package/dist/esm/utils/url.test.d.ts +1 -0
- package/dist/esm/utils/url.test.js +28 -0
- package/dist/esm/utils/url.test.js.map +1 -0
- package/dist/{hexclave-provider-B_KtSfuf.d.ts → hexclave-provider-BKxi3Vy-.d.ts} +2 -2
- package/dist/{hexclave-provider-B_KtSfuf.d.ts.map → hexclave-provider-BKxi3Vy-.d.ts.map} +1 -1
- package/dist/{hooks-nHRIrxA9.d.ts → hooks-CUe5bc3s.d.ts} +2 -2
- package/dist/{hooks-nHRIrxA9.d.ts.map → hooks-CUe5bc3s.d.ts.map} +1 -1
- package/dist/{index-Dq4xsW7_.d.ts → index-B-MazpM_.d.ts} +5 -2
- package/dist/{index-Dq4xsW7_.d.ts.map → index-B-MazpM_.d.ts.map} +1 -1
- package/dist/{index-CsExJ_pK.d.ts → index-CvB7XacB.d.ts} +2 -2
- package/dist/{index-CsExJ_pK.d.ts.map → index-CvB7XacB.d.ts.map} +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +1 -1
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/auth.test.js +2 -2
- package/dist/lib/auth.test.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +1 -1
- package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js +4 -1
- package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.automatic-side-effects.test.d.ts +1 -0
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.automatic-side-effects.test.js +101 -0
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.automatic-side-effects.test.js.map +1 -0
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +57 -1
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +1 -1
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js +43 -11
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/common.js +2 -2
- package/dist/lib/hexclave-app/apps/implementations/index.d.ts +1 -1
- package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.d.ts +13 -1
- package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.d.ts.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.js +15 -0
- package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.test.js +24 -0
- package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.test.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts +1 -1
- package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js +67 -12
- package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.test.d.ts +1 -0
- package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.test.js +86 -0
- package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.test.js.map +1 -0
- package/dist/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +1 -1
- package/dist/lib/hexclave-app/apps/index.d.ts +1 -1
- package/dist/lib/hexclave-app/apps/interfaces/admin-app.d.ts +1 -1
- package/dist/lib/hexclave-app/apps/interfaces/client-app.d.ts +1 -1
- package/dist/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -1
- package/dist/lib/hexclave-app/apps/interfaces/server-app.d.ts +1 -1
- package/dist/lib/hexclave-app/index.d.ts +2 -2
- package/dist/lib/hexclave-app/project-configs/index.d.ts +1 -1
- package/dist/lib/hexclave-app/projects/index.d.ts +1 -1
- package/dist/lib/hexclave-app/projects/index.js +3 -0
- package/dist/lib/hexclave-app/projects/index.js.map +1 -1
- package/dist/lib/hexclave-app/teams/index.d.ts +1 -1
- package/dist/lib/hexclave-app/users/index.d.ts +1 -1
- package/dist/lib/hooks.d.ts +1 -1
- package/dist/oauth-callback-tCVTRbF2.d.ts.map +1 -1
- package/dist/providers/hexclave-context.d.ts +1 -1
- package/dist/providers/hexclave-provider-client.d.ts +1 -1
- package/dist/providers/hexclave-provider.d.ts +1 -1
- package/dist/pushed-config-error-overlay/index.d.ts +1 -1
- package/dist/{redirect-page-urls-NUHUchgR.d.ts → redirect-page-urls-BEWG0AtP.d.ts} +2 -1
- package/dist/redirect-page-urls-BEWG0AtP.d.ts.map +1 -0
- package/dist/utils/url.js +10 -2
- package/dist/utils/url.js.map +1 -1
- package/dist/utils/url.test.d.ts +1 -0
- package/dist/utils/url.test.js +27 -0
- package/dist/utils/url.test.js.map +1 -0
- package/package.json +4 -4
- package/src/components-page/oauth-callback.tsx +0 -16
- package/src/lib/auth.test.ts +2 -2
- package/src/lib/auth.ts +3 -1
- package/src/lib/hexclave-app/apps/implementations/admin-app-impl.ts +4 -1
- package/src/lib/hexclave-app/apps/implementations/client-app-impl.automatic-side-effects.test.ts +126 -0
- package/src/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.ts +75 -0
- package/src/lib/hexclave-app/apps/implementations/client-app-impl.ts +73 -16
- package/src/lib/hexclave-app/apps/implementations/redirect-back-state.test.ts +29 -1
- package/src/lib/hexclave-app/apps/implementations/redirect-back-state.ts +17 -0
- package/src/lib/hexclave-app/apps/implementations/redirect-page-urls.test.ts +119 -0
- package/src/lib/hexclave-app/apps/implementations/redirect-page-urls.ts +104 -12
- package/src/lib/hexclave-app/apps/interfaces/client-app.ts +12 -2
- package/src/lib/hexclave-app/project-configs/index.ts +4 -1
- package/src/lib/hexclave-app/projects/index.ts +3 -0
- package/src/utils/url.test.ts +54 -0
- package/src/utils/url.ts +12 -3
- package/dist/admin-app-impl-DLqm4Zqy.d.ts.map +0 -1
- package/dist/redirect-page-urls-NUHUchgR.d.ts.map +0 -1
|
@@ -16,6 +16,7 @@ import { hexclaveAppInternalsSymbol } from "../../common.js";
|
|
|
16
16
|
import { adminProjectCreateOptionsToCrud } from "../../projects/index.js";
|
|
17
17
|
import { InternalSession } from "@hexclave/shared/dist/sessions";
|
|
18
18
|
import { Store, storeLock } from "@hexclave/shared/dist/utils/stores";
|
|
19
|
+
import { crossDomainAuthQueryParams, getCrossDomainHandoffParamsFromCurrentUrl, planRedirectToHandler } from "./redirect-page-urls.js";
|
|
19
20
|
import { scrambleDuringCompileTime } from "@hexclave/shared/dist/utils/compile-time";
|
|
20
21
|
import { parseJson } from "@hexclave/shared/dist/utils/json";
|
|
21
22
|
import { DependenciesMap } from "@hexclave/shared/dist/utils/maps";
|
|
@@ -31,12 +32,11 @@ import { apiKeyCreationOptionsToCrud } from "../../api-keys/index.js";
|
|
|
31
32
|
import { contactChannelCreateOptionsToCrud, contactChannelUpdateOptionsToCrud } from "../../contact-channels/index.js";
|
|
32
33
|
import { teamCreateOptionsToCrud, teamUpdateOptionsToCrud } from "../../teams/index.js";
|
|
33
34
|
import { buildCliAuthConfirmUrl, getHostedHandlerUrl, isHostedHandlerUrlForProject, resolveHandlerUrls } from "../../url-targets.js";
|
|
34
|
-
import { augmentUrlWithPersistedRedirectBackState, saveRedirectBackStateFromUrl } from "./redirect-back-state.js";
|
|
35
|
+
import { augmentUrlWithPersistedRedirectBackState, getRawAfterAuthReturnTo, saveRedirectBackStateFromUrl } from "./redirect-back-state.js";
|
|
35
36
|
import { recordRedirectAndThrowIfLoopDetected } from "./redirect-loop-breaker.js";
|
|
36
37
|
import { scopePasskeyAuthenticationToHostname, scopePasskeyRegistrationToHostname } from "../../passkey-rp-id.js";
|
|
37
38
|
import { userUpdateOptionsToCrud, withUserDestructureGuard } from "../../users/index.js";
|
|
38
39
|
import { EventTracker } from "./event-tracker.js";
|
|
39
|
-
import { crossDomainAuthQueryParams, getCrossDomainHandoffParamsFromCurrentUrl, planRedirectToHandler } from "./redirect-page-urls.js";
|
|
40
40
|
import { subscribeSessionRefresh } from "./session-refresh-subscription.js";
|
|
41
41
|
import { SessionRecorder, analyticsOptionsFromJson, analyticsOptionsToJson, getSessionReplayOptions } from "./session-replay.js";
|
|
42
42
|
import { mountClickmapOverlay } from "../../../../clickmap/index.js";
|
|
@@ -49,6 +49,7 @@ let isReactServer = false;
|
|
|
49
49
|
isReactServer = sc.isReactServer;
|
|
50
50
|
const NextNavigation = scrambleDuringCompileTime(NextNavigationUnscrambled);
|
|
51
51
|
const prefetchedCrossDomainHandoffTtlMs = 3300 * 1e3;
|
|
52
|
+
const oauthAfterCallbackRedirectUrlQueryParam = "after_callback_redirect_url";
|
|
52
53
|
const nestedCrossDomainAuthQueryParams = {
|
|
53
54
|
refreshTokenId: "stack_nested_cross_domain_auth_refresh_token_id",
|
|
54
55
|
callbackUrl: "stack_nested_cross_domain_auth_callback_url",
|
|
@@ -56,7 +57,7 @@ const nestedCrossDomainAuthQueryParams = {
|
|
|
56
57
|
state: "state",
|
|
57
58
|
codeChallenge: "code_challenge",
|
|
58
59
|
codeChallengeMethod: "code_challenge_method",
|
|
59
|
-
afterCallbackRedirectUrl:
|
|
60
|
+
afterCallbackRedirectUrl: oauthAfterCallbackRedirectUrlQueryParam
|
|
60
61
|
};
|
|
61
62
|
function getRedirectHelperInstruction(handlerName) {
|
|
62
63
|
if (handlerName === "handler") return "Use a page-specific redirect helper such as app.redirectToSignIn() instead.";
|
|
@@ -420,15 +421,17 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
|
|
|
420
421
|
this._redirectMethod = resolvedOptions.redirectMethod || "nextjs";
|
|
421
422
|
this._urlOptions = resolvedOptions.urls ?? {};
|
|
422
423
|
this._oauthScopesOnSignIn = resolvedOptions.oauthScopesOnSignIn ?? {};
|
|
424
|
+
this._analyticsOptions = resolvedOptions.analytics;
|
|
425
|
+
if (extraOptions?.uniqueIdentifier !== void 0) this._uniqueIdentifier = extraOptions.uniqueIdentifier;
|
|
426
|
+
if (resolvedOptions.automaticSideEffects === false) return;
|
|
427
|
+
this._initializeAutomaticSideEffects(resolvedOptions);
|
|
428
|
+
}
|
|
429
|
+
_initializeAutomaticSideEffects(resolvedOptions) {
|
|
423
430
|
if (isBrowserLike() && (resolvedOptions.tokenStore === "cookie" || resolvedOptions.tokenStore === "nextjs-cookie")) {
|
|
424
431
|
runAsynchronously(this._trustedParentDomainCache.getOrWait([window.location.hostname], "write-only"));
|
|
425
432
|
this._ensureCrossSubdomainCookieExists();
|
|
426
433
|
}
|
|
427
|
-
if (
|
|
428
|
-
this._uniqueIdentifier = extraOptions.uniqueIdentifier;
|
|
429
|
-
this._initUniqueIdentifier();
|
|
430
|
-
}
|
|
431
|
-
this._analyticsOptions = resolvedOptions.analytics;
|
|
434
|
+
if (this._uniqueIdentifier !== void 0) this._initUniqueIdentifier();
|
|
432
435
|
const getAnalyticsSession = async () => {
|
|
433
436
|
this._ensurePersistentTokenStore();
|
|
434
437
|
if (await this.getPartialUser({
|
|
@@ -543,9 +546,24 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
|
|
|
543
546
|
}
|
|
544
547
|
async _redirectToOAuthCallbackError(error) {
|
|
545
548
|
const errorUrl = new URL(this._getUrls().error, window.location.href);
|
|
549
|
+
const callbackUrl = augmentUrlWithPersistedRedirectBackState({
|
|
550
|
+
currentUrl: new URL(window.location.href),
|
|
551
|
+
projectId: this.projectId
|
|
552
|
+
});
|
|
546
553
|
errorUrl.searchParams.set("errorCode", error.errorCode);
|
|
547
554
|
errorUrl.searchParams.set("message", error.message);
|
|
548
555
|
errorUrl.searchParams.set("details", JSON.stringify(error.details ?? {}));
|
|
556
|
+
for (const paramName of [
|
|
557
|
+
"after_auth_return_to",
|
|
558
|
+
crossDomainAuthQueryParams.state,
|
|
559
|
+
crossDomainAuthQueryParams.codeChallenge,
|
|
560
|
+
crossDomainAuthQueryParams.afterCallbackRedirectUrl
|
|
561
|
+
]) {
|
|
562
|
+
const value = callbackUrl.searchParams.get(paramName);
|
|
563
|
+
if (value != null) errorUrl.searchParams.set(paramName, value);
|
|
564
|
+
}
|
|
565
|
+
const afterCallbackRedirectUrl = callbackUrl.searchParams.get(oauthAfterCallbackRedirectUrlQueryParam);
|
|
566
|
+
if (afterCallbackRedirectUrl != null) errorUrl.searchParams.set(oauthAfterCallbackRedirectUrlQueryParam, afterCallbackRedirectUrl);
|
|
549
567
|
await this._redirectIfTrusted(errorUrl.toString(), { replace: true });
|
|
550
568
|
}
|
|
551
569
|
async _handleHostedOAuthCallbackDuringStartup() {
|
|
@@ -1973,7 +1991,8 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
|
|
|
1973
1991
|
projectId: forProjectId,
|
|
1974
1992
|
tokenStore: null,
|
|
1975
1993
|
projectOwnerSession: session,
|
|
1976
|
-
noAutomaticPrefetch: true
|
|
1994
|
+
noAutomaticPrefetch: true,
|
|
1995
|
+
automaticSideEffects: false
|
|
1977
1996
|
}));
|
|
1978
1997
|
return this._ownedAdminApps.get([session, forProjectId]);
|
|
1979
1998
|
}
|
|
@@ -2192,10 +2211,12 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
|
|
|
2192
2211
|
});
|
|
2193
2212
|
}
|
|
2194
2213
|
async _getRedirectToHandlerUrl(handlerName, options, internalOptions) {
|
|
2195
|
-
const
|
|
2214
|
+
const rawUrls = getUrls(this._urlOptions, { projectId: this.projectId });
|
|
2215
|
+
const rawHandlerUrl = rawUrls[handlerName];
|
|
2196
2216
|
if (!rawHandlerUrl) throw new Error(`No URL for handler name ${handlerName}`);
|
|
2197
2217
|
let currentUrl = isReactServer || typeof window === "undefined" ? null : new URL(window.location.href);
|
|
2198
|
-
|
|
2218
|
+
const shouldRestorePersistedRedirectBackState = options?.noRedirectBack !== true && (handlerName === "afterSignIn" || handlerName === "afterSignUp") || handlerName === "forgotPassword" || handlerName === "passwordReset" || handlerName === "signIn" && options?.noRedirectBack === true;
|
|
2219
|
+
if (currentUrl != null && shouldRestorePersistedRedirectBackState) currentUrl = augmentUrlWithPersistedRedirectBackState({
|
|
2199
2220
|
currentUrl,
|
|
2200
2221
|
projectId: this.projectId
|
|
2201
2222
|
});
|
|
@@ -2205,6 +2226,7 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
|
|
|
2205
2226
|
noRedirectBack: options?.noRedirectBack === true,
|
|
2206
2227
|
currentUrl,
|
|
2207
2228
|
localOAuthCallbackUrl: this._getLocalOAuthCallbackHandlerUrl(),
|
|
2229
|
+
rawHomeUrl: rawUrls.home,
|
|
2208
2230
|
getCrossDomainHandoffParams: async (href) => await this._getCrossDomainHandoffParamsForRedirect(href)
|
|
2209
2231
|
});
|
|
2210
2232
|
if (plan.type === "cross-domain-authorize") return await this._createCrossDomainAuthRedirectUrl({
|
|
@@ -2896,13 +2918,15 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
|
|
|
2896
2918
|
return clientApp;
|
|
2897
2919
|
}
|
|
2898
2920
|
const { analytics, ...restJson } = omit(json, ["uniqueIdentifier"]);
|
|
2899
|
-
|
|
2921
|
+
const app = new _HexclaveClientAppImplIncomplete({
|
|
2900
2922
|
...restJson,
|
|
2901
2923
|
analytics: analyticsOptionsFromJson(analytics)
|
|
2902
2924
|
}, {
|
|
2903
2925
|
uniqueIdentifier: json.uniqueIdentifier,
|
|
2904
2926
|
checkString: providedCheckString
|
|
2905
2927
|
});
|
|
2928
|
+
if (json.automaticSideEffects === false) app._initUniqueIdentifier();
|
|
2929
|
+
return app;
|
|
2906
2930
|
} };
|
|
2907
2931
|
}
|
|
2908
2932
|
get [hexclaveAppInternalsSymbol]() {
|
|
@@ -2921,6 +2945,7 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
|
|
|
2921
2945
|
redirectMethod: this._redirectMethod,
|
|
2922
2946
|
extraRequestHeaders: this._options.extraRequestHeaders,
|
|
2923
2947
|
devTool: this._options.devTool,
|
|
2948
|
+
automaticSideEffects: this._options.automaticSideEffects,
|
|
2924
2949
|
analytics: analyticsOptionsToJson(this._analyticsOptions)
|
|
2925
2950
|
};
|
|
2926
2951
|
},
|
|
@@ -2956,6 +2981,13 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
|
|
|
2956
2981
|
redirectToHandler: async (handlerName, options) => {
|
|
2957
2982
|
await this._redirectToHandler(handlerName, options);
|
|
2958
2983
|
},
|
|
2984
|
+
getRawAfterAuthReturnTo: () => {
|
|
2985
|
+
if (isReactServer || typeof window === "undefined") return null;
|
|
2986
|
+
return getRawAfterAuthReturnTo({
|
|
2987
|
+
currentUrl: new URL(window.location.href),
|
|
2988
|
+
projectId: this.projectId
|
|
2989
|
+
});
|
|
2990
|
+
},
|
|
2959
2991
|
refreshOwnedProjects: async () => {
|
|
2960
2992
|
await this._refreshOwnedProjects(await this._getSession());
|
|
2961
2993
|
},
|