@ogcio/sag-client 0.7.2 → 0.7.4
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/auth.d.ts.map +1 -1
- package/dist/auth.js +7 -1
- package/dist/auth.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/navigation.d.ts +36 -0
- package/dist/navigation.d.ts.map +1 -0
- package/dist/navigation.js +72 -0
- package/dist/navigation.js.map +1 -0
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/use-auth.d.ts.map +1 -1
- package/dist/react/use-auth.js +7 -1
- package/dist/react/use-auth.js.map +1 -1
- package/dist/react/use-gateway-download.d.ts +2 -0
- package/dist/react/use-gateway-download.d.ts.map +1 -1
- package/dist/react/use-gateway-download.js +10 -2
- package/dist/react/use-gateway-download.js.map +1 -1
- package/package.json +1 -1
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACf,MAAM,SAAS,CAAA;AAEhB;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CAqBrB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAUjC;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzE;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAc7B;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAiBD;;;;;;GAMG;AACH,wBAAgB,MAAM,CACpB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,aAAa,GACtB,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc,GACvB,IAAI,CAMN"}
|
package/dist/auth.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* They accept `gatewayUrl` (and optionally `appName`) so they
|
|
6
6
|
* can be called without a SagClient instance.
|
|
7
7
|
*/
|
|
8
|
+
import { isNavigationAbortError } from "./navigation";
|
|
8
9
|
/**
|
|
9
10
|
* Check if the user is authenticated against the gateway.
|
|
10
11
|
*
|
|
@@ -28,7 +29,12 @@ export async function checkAuth(gatewayUrl, appName) {
|
|
|
28
29
|
return (await res.json());
|
|
29
30
|
}
|
|
30
31
|
catch (error) {
|
|
31
|
-
|
|
32
|
+
// A full-page navigation (e.g. the sign-in redirect) aborts this fetch;
|
|
33
|
+
// WebKit surfaces that as `TypeError: Load failed`. That is benign — the
|
|
34
|
+
// user is being redirected — so don't report it as an error (AB#39103).
|
|
35
|
+
if (!isNavigationAbortError(error)) {
|
|
36
|
+
console.error("Error checking auth", error);
|
|
37
|
+
}
|
|
32
38
|
return { authenticated: false };
|
|
33
39
|
}
|
|
34
40
|
}
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { checkAuth, checkHealth, clearSelectedOrganization, fetchOrganizations, getSelectedOrganization, invalidateSession, selectOrganization, signIn, signOut, } from "./auth";
|
|
2
2
|
export { SagClient } from "./client";
|
|
3
3
|
export { createGatewayFetcher, createGatewayMutator } from "./fetcher";
|
|
4
|
+
export { isNavigatingAway, isNavigationAbortError, markNavigatingAway, } from "./navigation";
|
|
4
5
|
export type { OnboardingRedirectParams, WrongLoginMethodParams, } from "./onboarding";
|
|
5
6
|
export { buildOnboardingRedirectUrl, buildWrongLoginMethodRedirect, CLEAR_SESSION_PATH, ONBOARDING_PATH, ONBOARDING_SOURCE_PARAM, WRONG_LOGIN_METHOD_PATH, WRONG_LOGIN_RETURN_URL_PARAM, } from "./onboarding";
|
|
6
7
|
export { withEntraID, withMyGovId, withOtp } from "./presets";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,WAAW,EACX,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,EACN,OAAO,GACR,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGpC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,WAAW,EACX,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,EACN,OAAO,GACR,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGpC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAGtE,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAG7D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kCAAkC,EAClC,4BAA4B,EAC5B,oBAAoB,EACpB,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,kCAAkC,EAClC,cAAc,EACd,eAAe,EACf,gCAAgC,EAChC,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,SAAS,CAAA;AAGhB,YAAY,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,MAAM,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,8 @@ export { checkAuth, checkHealth, clearSelectedOrganization, fetchOrganizations,
|
|
|
4
4
|
export { SagClient } from "./client";
|
|
5
5
|
// ── Fetcher / Mutator factories ─────────────────────────────
|
|
6
6
|
export { createGatewayFetcher, createGatewayMutator } from "./fetcher";
|
|
7
|
+
// ── Navigation-aware error suppression (AB#39103) ───────────
|
|
8
|
+
export { isNavigatingAway, isNavigationAbortError, markNavigatingAway, } from "./navigation";
|
|
7
9
|
// ── Onboarding helpers ──────────────────────────────────────
|
|
8
10
|
export { buildOnboardingRedirectUrl, buildWrongLoginMethodRedirect, CLEAR_SESSION_PATH, ONBOARDING_PATH, ONBOARDING_SOURCE_PARAM, WRONG_LOGIN_METHOD_PATH, WRONG_LOGIN_RETURN_URL_PARAM, } from "./onboarding";
|
|
9
11
|
// ── Sign-in presets ─────────────────────────────────────────
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,gEAAgE;AAChE,OAAO,EACL,SAAS,EACT,WAAW,EACX,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,EACN,OAAO,GACR,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,+DAA+D;AAC/D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,gEAAgE;AAChE,OAAO,EACL,SAAS,EACT,WAAW,EACX,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,EACN,OAAO,GACR,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,+DAA+D;AAC/D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEtE,+DAA+D;AAC/D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAMrB,+DAA+D;AAC/D,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,cAAc,CAAA;AACrB,+DAA+D;AAC/D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE7D,+DAA+D;AAC/D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kCAAkC,EAClC,4BAA4B,EAC5B,oBAAoB,EACpB,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,kCAAkC,EAClC,cAAc,EACd,eAAe,EACf,gCAAgC,EAChC,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,SAAS,CAAA;AAiBhB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigation-aware error classification (AB#39103).
|
|
3
|
+
*
|
|
4
|
+
* A full-page navigation — most notably the gateway sign-in redirect triggered
|
|
5
|
+
* by `signIn()` — tears down the document and aborts any in-flight `fetch`.
|
|
6
|
+
* On WebKit (iOS Safari, and every iOS browser, since they all use WebKit) an
|
|
7
|
+
* aborted request rejects as `TypeError: Load failed`; Chromium reports the
|
|
8
|
+
* same condition as `TypeError: Failed to fetch`.
|
|
9
|
+
*
|
|
10
|
+
* These rejections are benign: the user is intentionally being redirected, so
|
|
11
|
+
* the auth check never needed to complete. Logging them via `console.error`
|
|
12
|
+
* pollutes frontend observability (Faro/Sentry) with false exceptions — see
|
|
13
|
+
* AB#39103, where the auth-status fetch on the `/secure-messages` deep link
|
|
14
|
+
* generated a steady stream of "Error checking auth: Load failed" reports,
|
|
15
|
+
* almost exclusively from iOS devices.
|
|
16
|
+
*
|
|
17
|
+
* This module tracks whether the page is navigating away / hidden so callers
|
|
18
|
+
* can swallow these aborts quietly while still surfacing genuine failures.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Explicitly mark that a deliberate full-page navigation is starting.
|
|
22
|
+
*
|
|
23
|
+
* Call this immediately before a navigation that is expected to abort in-flight
|
|
24
|
+
* auth fetches (e.g. right before `signIn()`), to remove any race between the
|
|
25
|
+
* navigation and the browser firing `pagehide`.
|
|
26
|
+
*/
|
|
27
|
+
export declare function markNavigatingAway(): void;
|
|
28
|
+
/** Whether the page is currently navigating away or hidden. */
|
|
29
|
+
export declare function isNavigatingAway(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Returns `true` when a failed `fetch` is the benign result of the page
|
|
32
|
+
* navigating away (the request was aborted by the browser) rather than a real
|
|
33
|
+
* connectivity or authentication problem.
|
|
34
|
+
*/
|
|
35
|
+
export declare function isNavigationAbortError(error: unknown): boolean;
|
|
36
|
+
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA8BH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK9D"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigation-aware error classification (AB#39103).
|
|
3
|
+
*
|
|
4
|
+
* A full-page navigation — most notably the gateway sign-in redirect triggered
|
|
5
|
+
* by `signIn()` — tears down the document and aborts any in-flight `fetch`.
|
|
6
|
+
* On WebKit (iOS Safari, and every iOS browser, since they all use WebKit) an
|
|
7
|
+
* aborted request rejects as `TypeError: Load failed`; Chromium reports the
|
|
8
|
+
* same condition as `TypeError: Failed to fetch`.
|
|
9
|
+
*
|
|
10
|
+
* These rejections are benign: the user is intentionally being redirected, so
|
|
11
|
+
* the auth check never needed to complete. Logging them via `console.error`
|
|
12
|
+
* pollutes frontend observability (Faro/Sentry) with false exceptions — see
|
|
13
|
+
* AB#39103, where the auth-status fetch on the `/secure-messages` deep link
|
|
14
|
+
* generated a steady stream of "Error checking auth: Load failed" reports,
|
|
15
|
+
* almost exclusively from iOS devices.
|
|
16
|
+
*
|
|
17
|
+
* This module tracks whether the page is navigating away / hidden so callers
|
|
18
|
+
* can swallow these aborts quietly while still surfacing genuine failures.
|
|
19
|
+
*/
|
|
20
|
+
let pageIsHiding = false;
|
|
21
|
+
if (typeof window !== "undefined") {
|
|
22
|
+
// `pagehide` fires on full-page navigation and bfcache eviction; `beforeunload`
|
|
23
|
+
// covers the classic unload path. Both mean in-flight fetches are about to be
|
|
24
|
+
// aborted by the browser.
|
|
25
|
+
window.addEventListener("pagehide", () => {
|
|
26
|
+
pageIsHiding = true;
|
|
27
|
+
});
|
|
28
|
+
window.addEventListener("beforeunload", () => {
|
|
29
|
+
pageIsHiding = true;
|
|
30
|
+
});
|
|
31
|
+
// A page restored from bfcache is live again — clear the flag so a later,
|
|
32
|
+
// genuine failure is still reported.
|
|
33
|
+
window.addEventListener("pageshow", () => {
|
|
34
|
+
pageIsHiding = false;
|
|
35
|
+
});
|
|
36
|
+
if (typeof document !== "undefined") {
|
|
37
|
+
// Mobile WebKit tears down outstanding requests when the tab is backgrounded.
|
|
38
|
+
// Mirror the visibility state so a fetch that fails during backgrounding is
|
|
39
|
+
// treated as benign, and reset once the tab is foregrounded again.
|
|
40
|
+
document.addEventListener("visibilitychange", () => {
|
|
41
|
+
pageIsHiding = document.visibilityState === "hidden";
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Explicitly mark that a deliberate full-page navigation is starting.
|
|
47
|
+
*
|
|
48
|
+
* Call this immediately before a navigation that is expected to abort in-flight
|
|
49
|
+
* auth fetches (e.g. right before `signIn()`), to remove any race between the
|
|
50
|
+
* navigation and the browser firing `pagehide`.
|
|
51
|
+
*/
|
|
52
|
+
export function markNavigatingAway() {
|
|
53
|
+
pageIsHiding = true;
|
|
54
|
+
}
|
|
55
|
+
/** Whether the page is currently navigating away or hidden. */
|
|
56
|
+
export function isNavigatingAway() {
|
|
57
|
+
return pageIsHiding;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Returns `true` when a failed `fetch` is the benign result of the page
|
|
61
|
+
* navigating away (the request was aborted by the browser) rather than a real
|
|
62
|
+
* connectivity or authentication problem.
|
|
63
|
+
*/
|
|
64
|
+
export function isNavigationAbortError(error) {
|
|
65
|
+
if (pageIsHiding)
|
|
66
|
+
return true;
|
|
67
|
+
// Explicit AbortController / navigation cancellation.
|
|
68
|
+
if (error instanceof DOMException && error.name === "AbortError")
|
|
69
|
+
return true;
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=navigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,IAAI,YAAY,GAAG,KAAK,CAAA;AAExB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,gFAAgF;IAChF,8EAA8E;IAC9E,0BAA0B;IAC1B,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE;QACvC,YAAY,GAAG,IAAI,CAAA;IACrB,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAG,EAAE;QAC3C,YAAY,GAAG,IAAI,CAAA;IACrB,CAAC,CAAC,CAAA;IACF,0EAA0E;IAC1E,qCAAqC;IACrC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE;QACvC,YAAY,GAAG,KAAK,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,8EAA8E;QAC9E,4EAA4E;QAC5E,mEAAmE;QACnE,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;YACjD,YAAY,GAAG,QAAQ,CAAC,eAAe,KAAK,QAAQ,CAAA;QACtD,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,YAAY,GAAG,IAAI,CAAA;AACrB,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,gBAAgB;IAC9B,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,YAAY;QAAE,OAAO,IAAI,CAAA;IAC7B,sDAAsD;IACtD,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,IAAI,CAAA;IAC7E,OAAO,KAAK,CAAA;AACd,CAAC"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { buildOnboardingRedirectUrl, buildWrongLoginMethodRedirect, CLEAR_SESSIO
|
|
|
2
2
|
export { ALLOWED_SIGNIN_METHODS, CONNECTOR_ENTRAID, CONNECTOR_MYGOVID, DASHBOARD_PUBLIC_SERVANT_ROLE_NAME, DEFAULT_PUBLIC_SERVANT_ROLES, isCitizen, isCitizenByRole, isCitizenOnboarded, isInactivePublicServant, isPublicServant, MESSAGING_PUBLIC_SERVANT_ROLE_NAME, ORG_ROLE_ADMIN, ORG_ROLE_MEMBER, PROFILE_PUBLIC_SERVANT_ROLE_NAME, ROLE_NAME_CITIZEN, ROLE_NAME_ONBOARDED_CITIZEN, UPLOAD_PUBLIC_SERVANT_ROLE_NAME, } from "../roles";
|
|
3
3
|
export type { ActorType, AuthClaims, GatewayFetchOptions, GatewayMutationOptions, MutationMethod, OrganizationInfo, SignInOptions, UseAuthResult, } from "../types";
|
|
4
4
|
export { ACTOR_TYPE_HEADER, ORGANIZATION_ID_HEADER, SagFetchError, } from "../types";
|
|
5
|
+
export { isNavigatingAway, isNavigationAbortError, markNavigatingAway, } from "../navigation";
|
|
5
6
|
export { SagClientProvider, useSagClient } from "./provider";
|
|
6
7
|
export { withEntraID, withMyGovId, withOtp } from "../presets";
|
|
7
8
|
export { useAuth } from "./use-auth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kCAAkC,EAClC,4BAA4B,EAC5B,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,kCAAkC,EAClC,cAAc,EACd,eAAe,EACf,gCAAgC,EAChC,iBAAiB,EACjB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,UAAU,CAAA;AAEjB,YAAY,EACV,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kCAAkC,EAClC,4BAA4B,EAC5B,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,kCAAkC,EAClC,cAAc,EACd,eAAe,EACf,gCAAgC,EAChC,iBAAiB,EACjB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,UAAU,CAAA;AAEjB,YAAY,EACV,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,MAAM,UAAU,CAAA;AAEjB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE5D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,YAAY,EACV,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,YAAY,EACV,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA"}
|
package/dist/react/index.js
CHANGED
|
@@ -4,6 +4,8 @@ export { buildOnboardingRedirectUrl, buildWrongLoginMethodRedirect, CLEAR_SESSIO
|
|
|
4
4
|
// ── Re-export role detection utilities for convenience ──────
|
|
5
5
|
export { ALLOWED_SIGNIN_METHODS, CONNECTOR_ENTRAID, CONNECTOR_MYGOVID, DASHBOARD_PUBLIC_SERVANT_ROLE_NAME, DEFAULT_PUBLIC_SERVANT_ROLES, isCitizen, isCitizenByRole, isCitizenOnboarded, isInactivePublicServant, isPublicServant, MESSAGING_PUBLIC_SERVANT_ROLE_NAME, ORG_ROLE_ADMIN, ORG_ROLE_MEMBER, PROFILE_PUBLIC_SERVANT_ROLE_NAME, ROLE_NAME_CITIZEN, ROLE_NAME_ONBOARDED_CITIZEN, UPLOAD_PUBLIC_SERVANT_ROLE_NAME, } from "../roles";
|
|
6
6
|
export { ACTOR_TYPE_HEADER, ORGANIZATION_ID_HEADER, SagFetchError, } from "../types";
|
|
7
|
+
// ── Navigation-aware error suppression (AB#39103) ───────────
|
|
8
|
+
export { isNavigatingAway, isNavigationAbortError, markNavigatingAway, } from "../navigation";
|
|
7
9
|
export { SagClientProvider, useSagClient } from "./provider";
|
|
8
10
|
// ── Sign-in presets ──────────────────────────────────────────
|
|
9
11
|
export { withEntraID, withMyGovId, withOtp } from "../presets";
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,+DAA+D;AAC/D,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,eAAe,CAAA;AACtB,+DAA+D;AAC/D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kCAAkC,EAClC,4BAA4B,EAC5B,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,kCAAkC,EAClC,cAAc,EACd,eAAe,EACf,gCAAgC,EAChC,iBAAiB,EACjB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,UAAU,CAAA;AAYjB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC5D,gEAAgE;AAChE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC9D,gEAAgE;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAK3D,gEAAgE;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAK3D,gEAAgE;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,+DAA+D;AAC/D,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,eAAe,CAAA;AACtB,+DAA+D;AAC/D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kCAAkC,EAClC,4BAA4B,EAC5B,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,kCAAkC,EAClC,cAAc,EACd,eAAe,EACf,gCAAgC,EAChC,iBAAiB,EACjB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,UAAU,CAAA;AAYjB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,MAAM,UAAU,CAAA;AACjB,+DAA+D;AAC/D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC5D,gEAAgE;AAChE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC9D,gEAAgE;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAK3D,gEAAgE;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAK3D,gEAAgE;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../src/react/use-auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../src/react/use-auth.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAIV,aAAa,EACd,MAAM,UAAU,CAAA;AAGjB;;;;;;;;;GASG;AACH,wBAAgB,OAAO,IAAI,aAAa,CAgFvC"}
|
package/dist/react/use-auth.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useCallback, useEffect, useState } from "react";
|
|
3
|
+
import { isNavigationAbortError } from "../navigation";
|
|
3
4
|
import { useSagClient } from "./provider";
|
|
4
5
|
/**
|
|
5
6
|
* Hook for managing authentication state via the Secure API Gateway.
|
|
@@ -44,7 +45,12 @@ export function useAuth() {
|
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
catch (error) {
|
|
47
|
-
|
|
48
|
+
// Suppress the benign case where a full-page navigation (the sign-in
|
|
49
|
+
// redirect) aborts the in-flight auth fetch — WebKit reports this as
|
|
50
|
+
// `TypeError: Load failed` (AB#39103).
|
|
51
|
+
if (!isNavigationAbortError(error)) {
|
|
52
|
+
console.error("Error checking auth", error);
|
|
53
|
+
}
|
|
48
54
|
setAuthenticated(false);
|
|
49
55
|
setUser(undefined);
|
|
50
56
|
setClaims(undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-auth.js","sourceRoot":"","sources":["../../src/react/use-auth.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"use-auth.js","sourceRoot":"","sources":["../../src/react/use-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type ActorType, SagFetchError } from "../types";
|
|
2
2
|
export interface UseGatewayDownloadOptions {
|
|
3
3
|
actorType?: ActorType;
|
|
4
|
+
/** Organization ID for organization-scoped gateway requests. */
|
|
5
|
+
organizationId?: string;
|
|
4
6
|
/** When true the file opens in a new browser tab instead of triggering a save-file download. */
|
|
5
7
|
openInNewTab?: boolean;
|
|
6
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-gateway-download.d.ts","sourceRoot":"","sources":["../../src/react/use-gateway-download.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"use-gateway-download.d.ts","sourceRoot":"","sources":["../../src/react/use-gateway-download.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,SAAS,EAEd,aAAa,EACd,MAAM,UAAU,CAAA;AAGjB,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gGAAgG;IAChG,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,aAAa,EAAE,OAAO,CAAA;IACtB,KAAK,EAAE,aAAa,GAAG,IAAI,CAAA;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,CAAC,EAAE,yBAAyB,GAClC,wBAAwB,CAuG1B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useCallback, useState } from "react";
|
|
3
3
|
import { signIn } from "../auth";
|
|
4
|
-
import { ACTOR_TYPE_HEADER, SagFetchError } from "../types";
|
|
4
|
+
import { ACTOR_TYPE_HEADER, ORGANIZATION_ID_HEADER, SagFetchError, } from "../types";
|
|
5
5
|
import { useSagClient } from "./provider";
|
|
6
6
|
/**
|
|
7
7
|
* Hook that returns an authenticated `download(path, filename)` function
|
|
@@ -31,6 +31,9 @@ export function useGatewayDownload(options) {
|
|
|
31
31
|
if (options === null || options === void 0 ? void 0 : options.actorType) {
|
|
32
32
|
headers[ACTOR_TYPE_HEADER] = options.actorType;
|
|
33
33
|
}
|
|
34
|
+
if (options === null || options === void 0 ? void 0 : options.organizationId) {
|
|
35
|
+
headers[ORGANIZATION_ID_HEADER] = options.organizationId;
|
|
36
|
+
}
|
|
34
37
|
const response = await fetch(url, {
|
|
35
38
|
credentials: "include",
|
|
36
39
|
headers,
|
|
@@ -87,7 +90,12 @@ export function useGatewayDownload(options) {
|
|
|
87
90
|
finally {
|
|
88
91
|
setIsDownloading(false);
|
|
89
92
|
}
|
|
90
|
-
}, [
|
|
93
|
+
}, [
|
|
94
|
+
client,
|
|
95
|
+
options === null || options === void 0 ? void 0 : options.actorType,
|
|
96
|
+
options === null || options === void 0 ? void 0 : options.organizationId,
|
|
97
|
+
options === null || options === void 0 ? void 0 : options.openInNewTab,
|
|
98
|
+
]);
|
|
91
99
|
return { download, isDownloading, error };
|
|
92
100
|
}
|
|
93
101
|
//# sourceMappingURL=use-gateway-download.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-gateway-download.js","sourceRoot":"","sources":["../../src/react/use-gateway-download.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"use-gateway-download.js","sourceRoot":"","sources":["../../src/react/use-gateway-download.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED