Skip to content

Commit 9a6831b

Browse files
authored
fix: login race condition (#243)
1 parent 77fd05a commit 9a6831b

File tree

3 files changed

+63
-32
lines changed

3 files changed

+63
-32
lines changed

.github/workflows/autoupdate.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ jobs:
1616
PR_FILTER: "protected"
1717
MERGE_MSG: "Auto-update feature branch with changes from the main branch"
1818
MERGE_CONFLICT_ACTION: "ignore"
19+
EXCLUDED_LABELS: "dependencies"
Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,53 @@
11
import { useMsal } from "@azure/msal-react";
22
import { Button, ButtonProps } from "@mantine/core";
3-
3+
import { InteractionStatus } from "@azure/msal-browser";
44
import { useAuth } from "../AuthContext/index.js";
5+
import { notifications } from "@mantine/notifications";
6+
import { IconAlertCircle } from "@tabler/icons-react";
7+
8+
function clearAllDomainCookies() {
9+
const cookies = document.cookie.split(";");
10+
11+
for (const cookie of cookies) {
12+
const eqPos = cookie.indexOf("=");
13+
const name = eqPos > -1 ? cookie.substring(0, eqPos).trim() : cookie.trim();
14+
// Setting a cookie's expiration to the past deletes it.
15+
document.cookie = `${name}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`;
16+
}
17+
}
518

619
export function AcmLoginButton(
720
props: ButtonProps &
821
React.ComponentPropsWithoutRef<"button"> & { returnTo: string },
922
) {
1023
const { loginMsal } = useAuth();
1124
const { inProgress } = useMsal();
25+
26+
const handleLogin = async () => {
27+
if (inProgress !== InteractionStatus.None) {
28+
clearAllDomainCookies();
29+
}
30+
31+
try {
32+
await loginMsal(props.returnTo);
33+
} catch (error) {
34+
notifications.show({
35+
title: "Login failed",
36+
message: "Please clear your cookies and try again.",
37+
color: "red",
38+
icon: <IconAlertCircle size={16} />,
39+
});
40+
console.error("An unexpected error occurred during login:", error);
41+
}
42+
};
43+
1244
return (
1345
<Button
1446
leftSection={null}
1547
color="#FF5F05"
1648
variant="filled"
1749
{...{ ...props, returnTo: undefined }}
18-
onClick={async () => {
19-
await loginMsal(props.returnTo);
20-
}}
50+
onClick={handleLogin}
2151
/>
2252
);
2353
}

yarn.lock

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
"@smithy/util-utf8" "^4.0.0"
125125
tslib "^2.6.2"
126126

127-
"@aws-sdk/client-dynamodb@^3.859.0":
127+
"@aws-sdk/client-dynamodb@^3.797.0":
128128
version "3.859.0"
129129
resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.859.0.tgz#c43674f332afd5ddfc0779f593760076772aed5a"
130130
integrity sha512-Bt840uICsGcn7IFewif8ARCF0CxtdTx9DX/LfUGRI+SVZcqyeEccmH2JJRRzThtEzKTXr+rCN6yaNB3c4RQY2g==
@@ -173,7 +173,7 @@
173173
tslib "^2.6.2"
174174
uuid "^9.0.1"
175175

176-
"@aws-sdk/client-lambda@^3.859.0":
176+
"@aws-sdk/client-lambda@^3.835.0":
177177
version "3.859.0"
178178
resolved "https://registry.yarnpkg.com/@aws-sdk/client-lambda/-/client-lambda-3.859.0.tgz#b9146504cfbdd4994b4c0a91fa0c5d28b3583c44"
179179
integrity sha512-p9/6TrAESLLajn9ytJs6S6ErXyyEbxlO6v44oPXiDeNRKVQxevkG+brAfHDmh7dZk9EQkmyp5AWqo1dZrpkhdg==
@@ -270,7 +270,7 @@
270270
tslib "^2.6.2"
271271
uuid "^9.0.1"
272272

273-
"@aws-sdk/client-ses@^3.859.0":
273+
"@aws-sdk/client-ses@^3.797.0":
274274
version "3.859.0"
275275
resolved "https://registry.yarnpkg.com/@aws-sdk/client-ses/-/client-ses-3.859.0.tgz#586fce51681a40bbae7bc0f0cd96e5d3a5895550"
276276
integrity sha512-ek+4EfDjSxl5spTuNp/BmViiipmtLWyDqoQZZwGaISiSJA5x1G5kDa28GnO92e+3jcPLjrJY8Q0P/CWrHJz/vQ==
@@ -316,7 +316,7 @@
316316
"@smithy/util-waiter" "^4.0.6"
317317
tslib "^2.6.2"
318318

319-
"@aws-sdk/client-sqs@^3.859.0":
319+
"@aws-sdk/client-sqs@^3.797.0":
320320
version "3.859.0"
321321
resolved "https://registry.yarnpkg.com/@aws-sdk/client-sqs/-/client-sqs-3.859.0.tgz#bcdc5ca03e8a3b0508326c48ac58d18f67a2c42d"
322322
integrity sha512-u019wKVqtk6RxINTaTCpV0p7o5cun0aZSlhs1JNYGFHtSRUjxqbhRIMzkTZgUkABUwkbmPg4k72YlE/N17zdSw==
@@ -407,7 +407,7 @@
407407
"@smithy/util-utf8" "^4.0.0"
408408
tslib "^2.6.2"
409409

410-
"@aws-sdk/client-sts@^3.859.0":
410+
"@aws-sdk/client-sts@^3.797.0":
411411
version "3.859.0"
412412
resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.859.0.tgz#8830e0db75679f2c67091f64c75d0af59f743421"
413413
integrity sha512-pWZGAmg26/45lrUw3oEzLf+YIHy1C9x3fFyy/mtQe0AtDsJX+7r4OJ7AToZHS/qZbkoUb9AbA5Y/jG4nEhCILw==
@@ -734,7 +734,7 @@
734734
"@smithy/util-middleware" "^4.0.4"
735735
tslib "^2.6.2"
736736

737-
"@aws-sdk/signature-v4-crt@^3.858.0":
737+
"@aws-sdk/signature-v4-crt@^3.796.0":
738738
version "3.858.0"
739739
resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.858.0.tgz#86a3533bda82b1bb3092e4c2bad08d205335b661"
740740
integrity sha512-LU5kACHicznf3d/wdmLUUBbv0J53OVAq/A+Vsz340i/1At7mmf2fRpjiVJuCoUAbAh+uEe82qp7N6xXP9Yu4sA==
@@ -788,7 +788,7 @@
788788
dependencies:
789789
tslib "^2.6.2"
790790

791-
"@aws-sdk/util-dynamodb@^3.859.0":
791+
"@aws-sdk/util-dynamodb@^3.797.0":
792792
version "3.859.0"
793793
resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.859.0.tgz#a98e2855926570025f19e46a43513701433a4ac6"
794794
integrity sha512-NsV8PoPg0dq3TkAMiFF2J31k+AZa3ibB5ChpffNrboRhlISQyUZiWJV5Pv6lMKDKyo8TkRhxAoQDUr9spNs2cg==
@@ -849,7 +849,7 @@
849849
"@smithy/types" "^4.3.1"
850850
tslib "^2.6.2"
851851

852-
"@azure/msal-browser@^4.18.0":
852+
"@azure/msal-browser@^4.11.0":
853853
version "4.18.0"
854854
resolved "https://registry.yarnpkg.com/@azure/msal-browser/-/msal-browser-4.18.0.tgz#ea11137669916f6aca67448a424e029417fc99de"
855855
integrity sha512-esQwdtHHVkFJhcKWnysnCTchiKsy3dmNZGs8AckD9PO3t8Lp5VtY0xcrbCBC0JbttG/5w2/xukUQOsMpoUFKrg==
@@ -861,7 +861,7 @@
861861
resolved "https://registry.yarnpkg.com/@azure/msal-common/-/msal-common-15.9.0.tgz#49b62a798dd1b47b410e6e540fd36009f1d4d18e"
862862
integrity sha512-lbz/D+C9ixUG3hiZzBLjU79a0+5ZXCorjel3mwXluisKNH0/rOS/ajm8yi4yI9RP5Uc70CAcs9Ipd0051Oh/kA==
863863

864-
"@azure/msal-node@^3.6.4":
864+
"@azure/msal-node@^3.5.1":
865865
version "3.6.4"
866866
resolved "https://registry.yarnpkg.com/@azure/msal-node/-/msal-node-3.6.4.tgz#937f0e37e73d48dfb68ab8f3a503a0cf21a65285"
867867
integrity sha512-jMeut9UQugcmq7aPWWlJKhJIse4DQ594zc/JaP6BIxg55XaX3aM/jcPuIQ4ryHnI4QSf03wUspy/uqAvjWKbOg==
@@ -870,7 +870,7 @@
870870
jsonwebtoken "^9.0.0"
871871
uuid "^8.3.0"
872872

873-
"@azure/msal-react@^3.0.16":
873+
"@azure/msal-react@^3.0.10":
874874
version "3.0.16"
875875
resolved "https://registry.yarnpkg.com/@azure/msal-react/-/msal-react-3.0.16.tgz#0eee9c22eb4c817690a1af516fc9946876c003f0"
876876
integrity sha512-fIFc3z9UrHoOCG4rApNWMRr83DnQlo+CHfLSPNBQa4rndIkr+XYBpdYDqlzqtmikRf3A+CYNVOQ+lQX6jM0zdw==
@@ -1410,7 +1410,7 @@
14101410
fastify-plugin "^5.0.0"
14111411
uid-safe "^2.1.5"
14121412

1413-
"@fastify/cors@^11.1.0":
1413+
"@fastify/cors@^11.0.1":
14141414
version "11.1.0"
14151415
resolved "https://registry.yarnpkg.com/@fastify/cors/-/cors-11.1.0.tgz#09f79748f08f147d19cfc3f1807b59791bc77cf0"
14161416
integrity sha512-sUw8ed8wP2SouWZTIbA7V2OQtMNpLj2W6qJOYhNdcmINTu6gsxVYXjQiM9mdi8UUDlcoDDJ/W2syPo1WB2QjYA==
@@ -1710,19 +1710,19 @@
17101710
dependencies:
17111711
"@types/mdx" "^2.0.0"
17121712

1713-
"@middy/core@^6.4.1":
1713+
"@middy/core@^6.1.6":
17141714
version "6.4.1"
17151715
resolved "https://registry.yarnpkg.com/@middy/core/-/core-6.4.1.tgz#9e8b87e31c6907ca57bc14421e3f51f78b269508"
17161716
integrity sha512-NaKLoLUSkoxite0hkw5Tsa3DmuWyhRkZBbhD1tvr7FCWmj+MaQapNEvKMOSVNx/ET4ifY3KnKp0Zm0Q141Xcmg==
17171717

1718-
"@middy/event-normalizer@^6.4.1":
1718+
"@middy/event-normalizer@^6.1.6":
17191719
version "6.4.1"
17201720
resolved "https://registry.yarnpkg.com/@middy/event-normalizer/-/event-normalizer-6.4.1.tgz#633844fd0d0d7dbe96d77e23863c6ff7ffe772ad"
17211721
integrity sha512-EREFMOsFNgaLh88xhwIjg3eVXDP+FKrALZR5qxFLp/8okha15/Vwro6SR5dQJ+XowTDnRlDT9+Wr1xPQVbCNzA==
17221722
dependencies:
17231723
"@middy/util" "6.4.1"
17241724

1725-
"@middy/sqs-partial-batch-failure@^6.4.1":
1725+
"@middy/sqs-partial-batch-failure@^6.1.6":
17261726
version "6.4.1"
17271727
resolved "https://registry.yarnpkg.com/@middy/sqs-partial-batch-failure/-/sqs-partial-batch-failure-6.4.1.tgz#b7cdf52a30b83b0cfbe1002a5c7c765c48669c85"
17281728
integrity sha512-hl/lYGAGA38TWwEVBufRxwGW9X7YhsXFadkVuPIUurzyAloUE/dp2g/zLFnSk+D2Es7ub7Amhfm4nukKUBcUbQ==
@@ -2753,7 +2753,7 @@
27532753
resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-8.6.14.tgz#78c6dc878f705de70c67f2b2d08b8313b985d81a"
27542754
integrity sha512-r4y+LsiB37V5hzpQo+BM10PaCsp7YlZ0YcZzQP1OCkPlYXmUAFy2VvDKaFRpD8IeNPKug2u4iFm/laDEbs03dg==
27552755

2756-
"@tabler/icons-react@^3.34.1":
2756+
"@tabler/icons-react@^3.31.0":
27572757
version "3.34.1"
27582758
resolved "https://registry.yarnpkg.com/@tabler/icons-react/-/icons-react-3.34.1.tgz#852b8efcab5382e44cc0f09b3de7d25ef3cba6f9"
27592759
integrity sha512-Ld6g0NqOO05kyyHsfU8h787PdHBm7cFmOycQSIrGp45XcXYDuOK2Bs0VC4T2FWSKZ6bx5g04imfzazf/nqtk1A==
@@ -3049,12 +3049,12 @@
30493049
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb"
30503050
integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==
30513051

3052-
"@types/react-dom@^19.1.7":
3052+
"@types/react-dom@^19.1.2", "@types/react-dom@^19.1.7":
30533053
version "19.1.7"
30543054
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.1.7.tgz#2863f2aa89e023592b981204ef92c5221b286410"
30553055
integrity sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==
30563056

3057-
"@types/react@^19.1.9":
3057+
"@types/react@^19.1.2", "@types/react@^19.1.9":
30583058
version "19.1.9"
30593059
resolved "https://registry.yarnpkg.com/@types/react/-/react-19.1.9.tgz#f42b24f35474566a39b5c3a98e4d0c425b79a849"
30603060
integrity sha512-WmdoynAX8Stew/36uTSVMcLJJ1KRh6L3IZRx1PZ7qJtBqT3dYTgyDTx8H1qoRghErydW7xw9mSJ3wS//tCRpFA==
@@ -3623,7 +3623,7 @@ anymatch@~3.1.2:
36233623
normalize-path "^3.0.0"
36243624
picomatch "^2.0.4"
36253625

3626-
argon2@^0.43.1:
3626+
argon2@^0.43.0:
36273627
version "0.43.1"
36283628
resolved "https://registry.yarnpkg.com/argon2/-/argon2-0.43.1.tgz#8155ae67fd4ca2a7364364ca3e45e0d8fbbc0ee9"
36293629
integrity sha512-TfOzvDWUaQPurCT1hOwIeFNkgrAJDpbBGBGWDgzDsm11nNhImc13WhdGdCU6K7brkp8VpeY07oGtSex0Wmhg8w==
@@ -3848,7 +3848,7 @@ axe-core@^4.10.0:
38483848
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.3.tgz#04145965ac7894faddbac30861e5d8f11bfd14fc"
38493849
integrity sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==
38503850

3851-
axios@^1.11.0, axios@^1.7.7, axios@^1.9.0:
3851+
axios@^1.10.0, axios@^1.7.7, axios@^1.9.0:
38523852
version "1.11.0"
38533853
resolved "https://registry.yarnpkg.com/axios/-/axios-1.11.0.tgz#c2ec219e35e414c025b2095e8b8280278478fdb6"
38543854
integrity sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==
@@ -4887,7 +4887,7 @@ esbuild-register@^3.5.0:
48874887
dependencies:
48884888
debug "^4.3.4"
48894889

4890-
"esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0", esbuild@^0.25.0, esbuild@^0.25.8, esbuild@~0.25.0:
4890+
"esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0", esbuild@^0.25.0, esbuild@^0.25.3, esbuild@^0.25.8, esbuild@~0.25.0:
48914891
version "0.25.8"
48924892
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.8.tgz#482d42198b427c9c2f3a81b63d7663aecb1dda07"
48934893
integrity sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==
@@ -5425,7 +5425,7 @@ fastify-raw-body@^5.0.0:
54255425
raw-body "^3.0.0"
54265426
secure-json-parse "^2.4.0"
54275427

5428-
fastify-zod-openapi@^5.2.0:
5428+
fastify-zod-openapi@^5.0.1:
54295429
version "5.2.0"
54305430
resolved "https://registry.yarnpkg.com/fastify-zod-openapi/-/fastify-zod-openapi-5.2.0.tgz#7029cd0bf67704211d305cf83efc1c1de922b343"
54315431
integrity sha512-gTotTHt/XtbXGGCcN4fdIQuyqgdPym2P3YkxGcU9iPnjebpvuFA+JWY2797bPdlwFSTZTNkkkilFf4VfqUgJzA==
@@ -6124,7 +6124,7 @@ ioredis-mock@^8.9.0:
61246124
fengari-interop "^0.1.3"
61256125
semver "^7.5.4"
61266126

6127-
ioredis@^5.7.0:
6127+
ioredis@^5.6.1:
61286128
version "5.7.0"
61296129
resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.7.0.tgz#be8f4a09bfb67bfa84ead297ff625973a5dcefc3"
61306130
integrity sha512-NUcA93i1lukyXU+riqEyPtSEkyFq8tX90uL659J+qpCZ3rEdViB/APC58oAhIh3+bJln2hzdlZbBZsGNrlsR8g==
@@ -7609,7 +7609,7 @@ pathval@^2.0.0:
76097609
resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.1.tgz#8855c5a2899af072d6ac05d11e46045ad0dc605d"
76107610
integrity sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==
76117611

7612-
[email protected], [email protected], pdfjs-dist@^4.6.82, pdfjs-dist@^4.8.69, pdfjs-dist@^5.4.54:
7612+
[email protected], [email protected], pdfjs-dist@^4.6.82, pdfjs-dist@^4.8.69, pdfjs-dist@^5.2.133:
76137613
version "4.10.38"
76147614
resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-4.10.38.tgz#3ee698003790dc266cc8b55c0e662ccb9ae18f53"
76157615
integrity sha512-/Y3fcFrXEAsMjJXeL9J8+ZG9U01LbuWaYypvDW2ycW1jL269L3js3DVBjDJ0Up9Np1uqDXsDrRihHANhZOlwdQ==
@@ -7944,7 +7944,7 @@ react-docgen@^8.0.0:
79447944
resolve "^1.22.1"
79457945
strip-indent "^4.0.0"
79467946

7947-
"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", react-dom@^19.1.1:
7947+
"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", react-dom@^19.1.0:
79487948
version "19.1.1"
79497949
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.1.1.tgz#2daa9ff7f3ae384aeb30e76d5ee38c046dc89893"
79507950
integrity sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==
@@ -8035,7 +8035,7 @@ react-remove-scroll@^2.6.2:
80358035
use-callback-ref "^1.3.3"
80368036
use-sidecar "^1.1.3"
80378037

8038-
react-router-dom@^7.7.1:
8038+
react-router-dom@^7.5.2:
80398039
version "7.7.1"
80408040
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.7.1.tgz#456d1053dda5e1c1328a2b6b2359f6a1c47072fc"
80418041
integrity sha512-bavdk2BA5r3MYalGKZ01u8PGuDBloQmzpBZVhDLrOOv1N943Wq6dcM9GhB3x8b7AbqPMEezauv4PeGkAJfy7FQ==
@@ -8077,7 +8077,7 @@ [email protected]:
80778077
loose-envify "^1.4.0"
80788078
prop-types "^15.6.2"
80798079

8080-
"react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", react@^19.1.1:
8080+
"react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", react@^19.1.0:
80818081
version "19.1.1"
80828082
resolved "https://registry.yarnpkg.com/react/-/react-19.1.1.tgz#06d9149ec5e083a67f9a1e39ce97b06a03b644af"
80838083
integrity sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==
@@ -8909,7 +8909,7 @@ strip-literal@^3.0.0:
89098909
dependencies:
89108910
js-tokens "^9.0.1"
89118911

8912-
stripe@^18.4.0:
8912+
stripe@^18.0.0:
89138913
version "18.4.0"
89148914
resolved "https://registry.yarnpkg.com/stripe/-/stripe-18.4.0.tgz#1c0d5a7ed168f1ecd0f4a80d1e947e615d3eb841"
89158915
integrity sha512-LKFeDnDYo4U/YzNgx2Lc9PT9XgKN0JNF1iQwZxgkS4lOw5NunWCnzyH5RhTlD3clIZnf54h7nyMWkS8VXPmtTQ==
@@ -9967,7 +9967,7 @@ zod-openapi@^5.1.0:
99679967
resolved "https://registry.yarnpkg.com/zod-openapi/-/zod-openapi-5.3.0.tgz#5e14c00b448d07918eb70122d89cf93020eeed50"
99689968
integrity sha512-hv3DU37kV39v0MEiQ0vcL06NLS9bTHTb7FNtuFk2zhuATsi+UNcNN6y03z7qbI9NdC6LJS+Knk5shOSCUMwsDQ==
99699969

9970-
zod-validation-error@^4.0.1:
9970+
zod-validation-error@^4.0.0-beta.1, zod-validation-error@^4.0.1:
99719971
version "4.0.1"
99729972
resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-4.0.1.tgz#a105723eb40299578a6a38cb86647068f6d005b1"
99739973
integrity sha512-F3rdaCOHs5ViJ5YTz5zzRtfkQdMdIeKudJAoxy7yB/2ZMEHw73lmCAcQw11r7++20MyGl4WV59EVh7A9rNAyog==

0 commit comments

Comments
 (0)