From 223ed36d618c05f0e7114d66d6c56a327b95b324 Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Wed, 4 Jun 2025 12:58:54 +0530 Subject: [PATCH 1/8] Conv --- .../components/VerifyMasterPasswordForm.tsx | 99 ++++++++++++++----- 1 file changed, 74 insertions(+), 25 deletions(-) diff --git a/web/packages/shared/components/VerifyMasterPasswordForm.tsx b/web/packages/shared/components/VerifyMasterPasswordForm.tsx index 5ade7afd46..c738abd9c6 100644 --- a/web/packages/shared/components/VerifyMasterPasswordForm.tsx +++ b/web/packages/shared/components/VerifyMasterPasswordForm.tsx @@ -1,11 +1,12 @@ -import { Input, type ButtonProps } from "@mui/material"; +import { Input, TextField, type ButtonProps } from "@mui/material"; import type { SRPAttributes } from "ente-accounts/services/srp-remote"; +import { LoadingButton } from "ente-base/components/mui/LoadingButton"; +import { ShowHidePasswordInputAdornment } from "ente-base/components/mui/PasswordInputAdornment"; import { sharedCryptoWorker } from "ente-base/crypto"; import log from "ente-base/log"; +import { useFormik } from "formik"; import { t } from "i18next"; -import SingleInputForm, { - type SingleInputFormProps, -} from "../components/SingleInputForm"; +import { useCallback, useState } from "react"; import { CustomError } from "../error"; import type { KeyAttributes, User } from "../user/types"; @@ -49,9 +50,31 @@ export default function VerifyMasterPasswordForm({ submitButtonProps, getKeyAttributes, }: VerifyMasterPasswordFormProps) { - const verifyPassphrase: SingleInputFormProps["callback"] = async ( - passphrase, - setFieldError, + const [showPassword, setShowPassword] = useState(false); + + const handleToggleShowHidePassword = useCallback( + () => setShowPassword((show) => !show), + [], + ); + + const formik = useFormik({ + initialValues: { password: "" }, + onSubmit: async ({ password }, { setFieldError }) => { + const setPasswordFieldError = (message: string) => + setFieldError("password", message); + + if (!password) { + setPasswordFieldError(t("required")); + return; + } + + await verifyPassphrase(password, setPasswordFieldError); + }, + }); + + const verifyPassphrase = async ( + passphrase: string, + setFieldError: (message: string) => void, ) => { try { const cryptoWorker = await sharedCryptoWorker(); @@ -114,28 +137,54 @@ export default function VerifyMasterPasswordForm({ default: setFieldError(t("generic_error")); } + } else { + log.error("failed to verify passphrase", e); } } }; return ( - - } - autoComplete={"current-password"} - fieldType="password" - /> +
+ + + ), + }, + }} + /> + + {buttonText} + + ); } From a07d39512befed2e30a344337853c06f2da4dc04 Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Wed, 4 Jun 2025 13:02:25 +0530 Subject: [PATCH 2/8] Prune ids --- web/packages/accounts/components/LoginContents.tsx | 1 - web/packages/shared/components/VerifyMasterPasswordForm.tsx | 1 - 2 files changed, 2 deletions(-) diff --git a/web/packages/accounts/components/LoginContents.tsx b/web/packages/accounts/components/LoginContents.tsx index 3b03b898a9..6ce6cbabc6 100644 --- a/web/packages/accounts/components/LoginContents.tsx +++ b/web/packages/accounts/components/LoginContents.tsx @@ -91,7 +91,6 @@ export const LoginContents: React.FC = ({
Date: Wed, 4 Jun 2025 13:19:05 +0530 Subject: [PATCH 3/8] Document and move --- .../src/components/AuthenticateUser.tsx | 18 ++---- .../components/VerifyMasterPasswordForm.tsx | 58 ++++++++++++------- web/packages/accounts/pages/credentials.tsx | 15 +++-- 3 files changed, 51 insertions(+), 40 deletions(-) rename web/packages/{shared => accounts}/components/VerifyMasterPasswordForm.tsx (86%) diff --git a/web/apps/photos/src/components/AuthenticateUser.tsx b/web/apps/photos/src/components/AuthenticateUser.tsx index 2c02479bef..2425422d22 100644 --- a/web/apps/photos/src/components/AuthenticateUser.tsx +++ b/web/apps/photos/src/components/AuthenticateUser.tsx @@ -1,3 +1,4 @@ +import { VerifyMasterPasswordForm } from "ente-accounts/components/VerifyMasterPasswordForm"; import { checkSessionValidity } from "ente-accounts/services/session"; import { TitledMiniDialog, @@ -6,9 +7,6 @@ import { import type { ModalVisibilityProps } from "ente-base/components/utils/modal"; import { useBaseContext } from "ente-base/context"; import log from "ente-base/log"; -import VerifyMasterPasswordForm, { - type VerifyMasterPasswordFormProps, -} from "ente-shared/components/VerifyMasterPasswordForm"; import { getData } from "ente-shared/storage/localStorage"; import type { KeyAttributes, User } from "ente-shared/user/types"; import { t } from "i18next"; @@ -90,12 +88,6 @@ export const AuthenticateUser: React.FC = ({ if (open) void validateSession(); }, [open]); - const useMasterPassword: VerifyMasterPasswordFormProps["callback"] = - async () => { - onClose(); - onAuthenticate(); - }; - return ( = ({ title={t("password")} > { + onClose(); + onAuthenticate(); + }} /> ); diff --git a/web/packages/shared/components/VerifyMasterPasswordForm.tsx b/web/packages/accounts/components/VerifyMasterPasswordForm.tsx similarity index 86% rename from web/packages/shared/components/VerifyMasterPasswordForm.tsx rename to web/packages/accounts/components/VerifyMasterPasswordForm.tsx index 619c668912..19fd416470 100644 --- a/web/packages/shared/components/VerifyMasterPasswordForm.tsx +++ b/web/packages/accounts/components/VerifyMasterPasswordForm.tsx @@ -1,4 +1,4 @@ -import { Input, TextField, type ButtonProps } from "@mui/material"; +import { Input, TextField } from "@mui/material"; import type { SRPAttributes } from "ente-accounts/services/srp-remote"; import { LoadingButton } from "ente-base/components/mui/LoadingButton"; import { ShowHidePasswordInputAdornment } from "ente-base/components/mui/PasswordInputAdornment"; @@ -7,18 +7,14 @@ import log from "ente-base/log"; import { useFormik } from "formik"; import { t } from "i18next"; import { useCallback, useState } from "react"; -import { CustomError } from "../error"; -import type { KeyAttributes, User } from "../user/types"; +import { CustomError } from "ente-shared/error" +import type { KeyAttributes, User } from "ente-shared/user/types"; export interface VerifyMasterPasswordFormProps { + /** + * The user whose password we're trying to verify. + */ user: User | undefined; - callback: ( - key: string, - kek: string, - keyAttributes: KeyAttributes, - passphrase?: string, - ) => void; - buttonText: string; keyAttributes: KeyAttributes | undefined; /** * A callback invoked when the form wants to get {@link KeyAttributes}. @@ -38,18 +34,41 @@ export interface VerifyMasterPasswordFormProps { */ getKeyAttributes?: (kek: string) => Promise; srpAttributes?: SRPAttributes; - submitButtonProps?: ButtonProps; + /** + * The title of the submit button no the form. + */ + submitButtonTitle: string; + /** + * The callback invoked with the verified password, and all the other + * auxillary information that was ascertained when verifying it. + * + * @param key The user's master key + * @param kek + * @param keyAttributes + * @param passphrase The plaintext password + */ + onSubmit: ( + key: string, + kek: string, + keyAttributes: KeyAttributes, + passphrase?: string, + ) => void; } -export default function VerifyMasterPasswordForm({ +/** + * A form with a text field that can be used to ask the user to verify their + * password. + */ +export const VerifyMasterPasswordForm: React.FC< + VerifyMasterPasswordFormProps +> = ({ user, keyAttributes, srpAttributes, - callback, - buttonText, - submitButtonProps, getKeyAttributes, -}: VerifyMasterPasswordFormProps) { + onSubmit, + submitButtonTitle, +}) => { const [showPassword, setShowPassword] = useState(false); const handleToggleShowHidePassword = useCallback( @@ -112,7 +131,7 @@ export default function VerifyMasterPasswordForm({ keyAttributes.keyDecryptionNonce, kek, ); - callback(key, kek, keyAttributes, passphrase); + onSubmit(key, kek, keyAttributes, passphrase); } catch (e) { log.error("user entered a wrong password", e); throw Error(CustomError.INCORRECT_PASSWORD); @@ -180,10 +199,9 @@ export default function VerifyMasterPasswordForm({ type="submit" loading={formik.isSubmitting} color={"accent"} - {...submitButtonProps} > - {buttonText} + {submitButtonTitle} ); -} +}; diff --git a/web/packages/accounts/pages/credentials.tsx b/web/packages/accounts/pages/credentials.tsx index c0f9013394..90a741418e 100644 --- a/web/packages/accounts/pages/credentials.tsx +++ b/web/packages/accounts/pages/credentials.tsx @@ -7,6 +7,10 @@ import { import { SecondFactorChoice } from "ente-accounts/components/SecondFactorChoice"; import { sessionExpiredDialogAttributes } from "ente-accounts/components/utils/dialog"; import { useSecondFactorChoiceIfNeeded } from "ente-accounts/components/utils/second-factor-choice"; +import { + VerifyMasterPasswordForm, + type VerifyMasterPasswordFormProps, +} from "ente-accounts/components/VerifyMasterPasswordForm"; import { openPasskeyVerificationURL, passkeyVerificationRedirectURL, @@ -31,9 +35,6 @@ import { sharedCryptoWorker } from "ente-base/crypto"; import type { B64EncryptionResult } from "ente-base/crypto/libsodium"; import { clearLocalStorage } from "ente-base/local-storage"; import log from "ente-base/log"; -import VerifyMasterPasswordForm, { - type VerifyMasterPasswordFormProps, -} from "ente-shared/components/VerifyMasterPasswordForm"; import { decryptAndStoreToken, generateAndSaveIntermediateKeyAttributes, @@ -258,7 +259,7 @@ const Page: React.FC = () => { }; // eslint-disable-next-line @typescript-eslint/no-misused-promises - const useMasterPassword: VerifyMasterPasswordFormProps["callback"] = async ( + const useMasterPassword: VerifyMasterPasswordFormProps["onSubmit"] = async ( key, kek, keyAttributes, @@ -334,16 +335,14 @@ const Page: React.FC = () => { return ( {user?.email ?? ""} - - router.push("/recover")}> {t("forgot_password")} From 2715bd81b0fb5f319fc643fe35e08dd4942bb8bf Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Wed, 4 Jun 2025 13:31:49 +0530 Subject: [PATCH 4/8] vis --- .../accounts/components/LoginComponents.tsx | 46 +++++++++++++------ .../accounts/components/LoginContents.tsx | 6 +-- web/packages/accounts/pages/credentials.tsx | 2 +- 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/web/packages/accounts/components/LoginComponents.tsx b/web/packages/accounts/components/LoginComponents.tsx index 9433914f49..fb70567e16 100644 --- a/web/packages/accounts/components/LoginComponents.tsx +++ b/web/packages/accounts/components/LoginComponents.tsx @@ -19,22 +19,40 @@ import { AccountsPageFooter, } from "./layouts/centered-paper"; -export const PasswordHeader: React.FC = ({ - children, -}) => { - return ( - - {t("password")} - {children} - - ); -}; +interface HeaderCaptionProps { + /** + * If specified, then a caption to display below the title (which is + * expected to be passed as the `children`). + * + * The components which use the {@link HeaderCaptionProps} that they'll have + * the same height irrespective of whether or not the caption is provided. + * This allows us to use this component to get a similar look across various + * pages in the login flow (some of which have a caption, some which not). + */ + caption?: string; +} -const PasskeyHeader: React.FC = ({ children }) => { +export const PasswordHeader: React.FC = (props) => ( + + {t("password")} + +); + +const PasskeyHeader: React.FC = (props) => ( + + {t("passkey")} + +); + +export const AccountsPageTitleWithCaption: React.FC< + React.PropsWithChildren +> = ({ caption, children }) => { return ( - {t("passkey")} - {children} + {children} + + {caption ?? ""} + ); }; @@ -123,7 +141,7 @@ export const VerifyingPasskey: React.FC = ({ return ( - {email ?? ""} + diff --git a/web/packages/accounts/components/LoginContents.tsx b/web/packages/accounts/components/LoginContents.tsx index 6ce6cbabc6..cc020fb263 100644 --- a/web/packages/accounts/components/LoginContents.tsx +++ b/web/packages/accounts/components/LoginContents.tsx @@ -12,6 +12,7 @@ import { t } from "i18next"; import { useRouter } from "next/router"; import React, { useCallback } from "react"; import { z } from "zod/v4"; +import { AccountsPageTitleWithCaption } from "./LoginComponents"; interface LoginContentsProps { /** Called when the user clicks the signup option instead. */ @@ -85,10 +86,9 @@ export const LoginContents: React.FC = ({ return ( <> - {/* AccountsPageTitle, inlined to tweak mb */} - + {t("login")} - +
{ // possibility using types. return ( - {user?.email ?? ""} + Date: Wed, 4 Jun 2025 13:45:32 +0530 Subject: [PATCH 5/8] tweak --- .../src/components/AuthenticateUser.tsx | 2 +- .../components/VerifyMasterPasswordForm.tsx | 22 ++++-- web/packages/accounts/pages/credentials.tsx | 73 +++++++++---------- 3 files changed, 51 insertions(+), 46 deletions(-) diff --git a/web/apps/photos/src/components/AuthenticateUser.tsx b/web/apps/photos/src/components/AuthenticateUser.tsx index 2425422d22..6ecc64af71 100644 --- a/web/apps/photos/src/components/AuthenticateUser.tsx +++ b/web/apps/photos/src/components/AuthenticateUser.tsx @@ -99,7 +99,7 @@ export const AuthenticateUser: React.FC = ({ user={user} keyAttributes={keyAttributes} submitButtonTitle={t("authenticate")} - onSubmit={() => { + onVerify={() => { onClose(); onAuthenticate(); }} diff --git a/web/packages/accounts/components/VerifyMasterPasswordForm.tsx b/web/packages/accounts/components/VerifyMasterPasswordForm.tsx index 19fd416470..62b4c7c9aa 100644 --- a/web/packages/accounts/components/VerifyMasterPasswordForm.tsx +++ b/web/packages/accounts/components/VerifyMasterPasswordForm.tsx @@ -4,11 +4,11 @@ import { LoadingButton } from "ente-base/components/mui/LoadingButton"; import { ShowHidePasswordInputAdornment } from "ente-base/components/mui/PasswordInputAdornment"; import { sharedCryptoWorker } from "ente-base/crypto"; import log from "ente-base/log"; +import { CustomError } from "ente-shared/error"; +import type { KeyAttributes, User } from "ente-shared/user/types"; import { useFormik } from "formik"; import { t } from "i18next"; import { useCallback, useState } from "react"; -import { CustomError } from "ente-shared/error" -import type { KeyAttributes, User } from "ente-shared/user/types"; export interface VerifyMasterPasswordFormProps { /** @@ -42,16 +42,22 @@ export interface VerifyMasterPasswordFormProps { * The callback invoked with the verified password, and all the other * auxillary information that was ascertained when verifying it. * - * @param key The user's master key + * @param key The user's master key obtained after decrypting it from their + * passphrase. + * * @param kek + * * @param keyAttributes - * @param passphrase The plaintext password + * + * @param passphrase The plaintext passphrase. This can be used during login + * to derive another encrypted key using interactive mem/ops limits for + * faster reauthentication after the initial login. */ - onSubmit: ( + onVerify: ( key: string, kek: string, keyAttributes: KeyAttributes, - passphrase?: string, + passphrase: string, ) => void; } @@ -66,7 +72,7 @@ export const VerifyMasterPasswordForm: React.FC< keyAttributes, srpAttributes, getKeyAttributes, - onSubmit, + onVerify, submitButtonTitle, }) => { const [showPassword, setShowPassword] = useState(false); @@ -131,7 +137,7 @@ export const VerifyMasterPasswordForm: React.FC< keyAttributes.keyDecryptionNonce, kek, ); - onSubmit(key, kek, keyAttributes, passphrase); + onVerify(key, kek, keyAttributes, passphrase); } catch (e) { log.error("user entered a wrong password", e); throw Error(CustomError.INCORRECT_PASSWORD); diff --git a/web/packages/accounts/pages/credentials.tsx b/web/packages/accounts/pages/credentials.tsx index ccd36cbdd5..77f4c1feec 100644 --- a/web/packages/accounts/pages/credentials.tsx +++ b/web/packages/accounts/pages/credentials.tsx @@ -150,8 +150,7 @@ const Page: React.FC = () => { keyAttributes.keyDecryptionNonce, kek, ); - // eslint-disable-next-line react-hooks/rules-of-hooks - useMasterPassword(key, kek, keyAttributes); + void postVerification(key, kek, keyAttributes); return; } if (keyAttributes) { @@ -258,46 +257,46 @@ const Page: React.FC = () => { } }; - // eslint-disable-next-line @typescript-eslint/no-misused-promises - const useMasterPassword: VerifyMasterPasswordFormProps["onSubmit"] = async ( - key, - kek, - keyAttributes, - passphrase, + const handleVerifyMasterPassword: VerifyMasterPasswordFormProps["onVerify"] = + (key, kek, keyAttributes, passphrase) => { + void (async () => { + if (isFirstLogin()) { + await generateAndSaveIntermediateKeyAttributes( + passphrase, + keyAttributes, + key, + ); + } + await postVerification(key, kek, keyAttributes); + })(); + }; + + const postVerification = async ( + key: string, + kek: string, + keyAttributes: KeyAttributes, ) => { + await saveKeyInSessionStore("encryptionKey", key); + await decryptAndStoreToken(keyAttributes, key); try { - if (isFirstLogin() && passphrase) { - await generateAndSaveIntermediateKeyAttributes( - passphrase, - keyAttributes, - key, - ); - } - await saveKeyInSessionStore("encryptionKey", key); - await decryptAndStoreToken(keyAttributes, key); - try { - let srpAttributes: SRPAttributes | null = - getData("srpAttributes"); - if (!srpAttributes && user) { - srpAttributes = await getSRPAttributes(user.email); - if (srpAttributes) { - setData("srpAttributes", srpAttributes); - } + let srpAttributes: SRPAttributes | null = getData("srpAttributes"); + if (!srpAttributes && user) { + srpAttributes = await getSRPAttributes(user.email); + if (srpAttributes) { + setData("srpAttributes", srpAttributes); } - log.debug(() => `userSRPSetupPending ${!srpAttributes}`); - if (!srpAttributes) { - const loginSubKey = await generateLoginSubKey(kek); - const srpSetupAttributes = - await generateSRPSetupAttributes(loginSubKey); - await configureSRP(srpSetupAttributes); - } - } catch (e) { - log.error("migrate to srp failed", e); } - void router.push(unstashRedirect() ?? appHomeRoute); + log.debug(() => `userSRPSetupPending ${!srpAttributes}`); + if (!srpAttributes) { + const loginSubKey = await generateLoginSubKey(kek); + const srpSetupAttributes = + await generateSRPSetupAttributes(loginSubKey); + await configureSRP(srpSetupAttributes); + } } catch (e) { - log.error("useMasterPassword failed", e); + log.error("migrate to srp failed", e); } + void router.push(unstashRedirect() ?? appHomeRoute); }; if (!keyAttributes && !srpAttributes) { @@ -341,7 +340,7 @@ const Page: React.FC = () => { getKeyAttributes={getKeyAttributes} srpAttributes={srpAttributes} submitButtonTitle={t("sign_in")} - onSubmit={useMasterPassword} + onVerify={handleVerifyMasterPassword} /> router.push("/recover")}> From 12d84d0dbe4ba3de99ce93445f75cb81d2c468bc Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Wed, 4 Jun 2025 13:55:50 +0530 Subject: [PATCH 6/8] Avoid exceptions for flow control --- .../components/VerifyMasterPasswordForm.tsx | 45 ++++++++++++------- web/packages/shared/error/index.ts | 1 - 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/web/packages/accounts/components/VerifyMasterPasswordForm.tsx b/web/packages/accounts/components/VerifyMasterPasswordForm.tsx index 62b4c7c9aa..b6a812754f 100644 --- a/web/packages/accounts/components/VerifyMasterPasswordForm.tsx +++ b/web/packages/accounts/components/VerifyMasterPasswordForm.tsx @@ -15,6 +15,9 @@ export interface VerifyMasterPasswordFormProps { * The user whose password we're trying to verify. */ user: User | undefined; + /** + * The user's key attributes. + */ keyAttributes: KeyAttributes | undefined; /** * A callback invoked when the form wants to get {@link KeyAttributes}. @@ -33,6 +36,9 @@ export interface VerifyMasterPasswordFormProps { * the provided email exists. */ getKeyAttributes?: (kek: string) => Promise; + /** + * The user's SRP attributes. + */ srpAttributes?: SRPAttributes; /** * The title of the submit button no the form. @@ -42,12 +48,14 @@ export interface VerifyMasterPasswordFormProps { * The callback invoked with the verified password, and all the other * auxillary information that was ascertained when verifying it. * - * @param key The user's master key obtained after decrypting it from their - * passphrase. + * @param key The user's master key obtained after decrypting it by using + * the kek derived from their passphrase. * - * @param kek + * @param kek The key used for encrypting the user's master key. * - * @param keyAttributes + * @param keyAttributes The user's key attributes (either those that we + * started with, or those that we fetched on the way using + * {@link getKeyAttributes}). * * @param passphrase The plaintext passphrase. This can be used during login * to derive another encrypted key using interactive mem/ops limits for @@ -104,33 +112,41 @@ export const VerifyMasterPasswordForm: React.FC< try { const cryptoWorker = await sharedCryptoWorker(); let kek: string; - try { - if (srpAttributes) { + if (srpAttributes) { + try { kek = await cryptoWorker.deriveKey( passphrase, srpAttributes.kekSalt, srpAttributes.opsLimit, srpAttributes.memLimit, ); - } else if (keyAttributes) { + } catch (e) { + log.error("Failed to derive kek", e); + setFieldError(t("weak_device_hint")); + return; + } + } else if (keyAttributes) { + try { kek = await cryptoWorker.deriveKey( passphrase, keyAttributes.kekSalt, keyAttributes.opsLimit, keyAttributes.memLimit, ); - } else - throw new Error("Both SRP and key attributes are missing"); - } catch (e) { - log.error("failed to derive key", e); - throw Error(CustomError.WEAK_DEVICE); - } + } catch (e) { + log.error("Failed to derive kek", e); + setFieldError(t("weak_device_hint")); + return; + } + } else throw new Error("Both SRP and key attributes are missing"); + if (!keyAttributes && typeof getKeyAttributes == "function") { keyAttributes = await getKeyAttributes(kek); } if (!keyAttributes) { throw Error("couldn't get key attributes"); } + try { const key = await cryptoWorker.decryptB64( keyAttributes.encryptedKey, @@ -150,9 +166,6 @@ export const VerifyMasterPasswordForm: React.FC< } log.error("failed to verify passphrase", e); switch (e.message) { - case CustomError.WEAK_DEVICE: - setFieldError(t("weak_device_hint")); - break; case CustomError.INCORRECT_PASSWORD: setFieldError(t("incorrect_password")); break; diff --git a/web/packages/shared/error/index.ts b/web/packages/shared/error/index.ts index 348cc94676..3aa47fa01c 100644 --- a/web/packages/shared/error/index.ts +++ b/web/packages/shared/error/index.ts @@ -40,7 +40,6 @@ export const CustomError = { BAD_REQUEST: "bad request", SUBSCRIPTION_NEEDED: "subscription not present", NOT_FOUND: "not found ", - WEAK_DEVICE: "password decryption failed on the device", INCORRECT_PASSWORD: "incorrect password", INCORRECT_PASSWORD_OR_NO_ACCOUNT: "incorrect password or no such account", UPLOAD_CANCELLED: "upload cancelled", From 6091a0d446642c4a3f4b517f2e29d946753519ba Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Wed, 4 Jun 2025 16:28:07 +0530 Subject: [PATCH 7/8] Lockfile updates --- web/packages/base/package.json | 2 +- web/yarn.lock | 162 ++++++++++++++------------------- 2 files changed, 71 insertions(+), 93 deletions(-) diff --git a/web/packages/base/package.json b/web/packages/base/package.json index f59010d68c..0416d1cd65 100644 --- a/web/packages/base/package.json +++ b/web/packages/base/package.json @@ -22,7 +22,7 @@ "react-dom": "^19.1.0", "react-i18next": "^15.5.2", "yup": "^1.6.1", - "zod": "^3.25.50" + "zod": "^3.25.51" }, "devDependencies": { "@types/libsodium-wrappers-sumo": "^0.7.8", diff --git a/web/yarn.lock b/web/yarn.lock index 6d0e5457a3..583d5973cb 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -151,7 +151,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.23.2", "@babel/runtime@^7.25.0", "@babel/runtime@^7.25.7", "@babel/runtime@^7.26.0", "@babel/runtime@^7.27.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.23.2", "@babel/runtime@^7.25.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": version "7.27.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.0.tgz#fbee7cf97c709518ecc1f590984481d5460d4762" integrity sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw== @@ -750,127 +750,110 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@mui/core-downloads-tracker@^6.4.11": - version "6.4.11" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.11.tgz#0752eea024d8ff0f120b0f26aee4342c79112847" - integrity sha512-CzAQs9CTzlwbsF9ZYB4o4lLwBv1/qNE264NjuYao+ctAXsmlPtYa8RtER4UsUXSMxNN9Qi+aQdYcKl2sUpnmAw== +"@mui/core-downloads-tracker@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-7.1.1.tgz#43532ccf57be19055eb20e7802508520293cf286" + integrity sha512-yBckQs4aQ8mqukLnPC6ivIRv6guhaXi8snVl00VtyojBbm+l6VbVhyTSZ68Abcx7Ah8B+GZhrB7BOli+e+9LkQ== -"@mui/icons-material@^6.4.11": - version "6.4.11" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-6.4.11.tgz#add406d3d1c82e7aaf49002a8d456fa992e7f3db" - integrity sha512-+jjJGIrB1awNbMv4ZVPPdN/p7O1UKFZ+xqRvNIQ8B1KnlID5hPMPBLM6UUbRF4bu3UDCbu79rn9Nye5LGNzmeA== +"@mui/icons-material@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-7.1.1.tgz#0e0e9640579da5e4096f0449438337c448bc5a5c" + integrity sha512-X37+Yc8QpEnl0sYmz+WcLFy2dWgNRzbswDzLPXG7QU1XDVlP5TPp1HXjdmCupOWLL/I9m1fyhcyZl8/HPpp/Cg== dependencies: - "@babel/runtime" "^7.26.0" + "@babel/runtime" "^7.27.1" -"@mui/material@^6.4.11": - version "6.4.11" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-6.4.11.tgz#ac5c42c25fc807545eef4de0e88a47b52de8ed75" - integrity sha512-k2D3FLJS+/qD0qnd6ZlAjGFvaaxe1Dl10NyvpeDzIebMuYdn8VqYe6XBgGueEAtnzSJM4V03VD9kb5Fi24dnTA== +"@mui/material@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-7.1.1.tgz#5f75b25936925be14cb34abe0489cda82a6f8413" + integrity sha512-mTpdmdZCaHCGOH3SrYM41+XKvNL0iQfM9KlYgpSjgadXx/fEKhhvOktxm8++Xw6FFeOHoOiV+lzOI8X1rsv71A== dependencies: - "@babel/runtime" "^7.26.0" - "@mui/core-downloads-tracker" "^6.4.11" - "@mui/system" "^6.4.11" - "@mui/types" "~7.2.24" - "@mui/utils" "^6.4.9" + "@babel/runtime" "^7.27.1" + "@mui/core-downloads-tracker" "^7.1.1" + "@mui/system" "^7.1.1" + "@mui/types" "^7.4.3" + "@mui/utils" "^7.1.1" "@popperjs/core" "^2.11.8" "@types/react-transition-group" "^4.4.12" clsx "^2.1.1" csstype "^3.1.3" prop-types "^15.8.1" - react-is "^19.0.0" + react-is "^19.1.0" react-transition-group "^4.4.5" -"@mui/private-theming@^6.4.9": - version "6.4.9" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-6.4.9.tgz#0c1d65a638a1740aad0eb715d79e76471abe8175" - integrity sha512-LktcVmI5X17/Q5SkwjCcdOLBzt1hXuc14jYa7NPShog0GBDCDvKtcnP0V7a2s6EiVRlv7BzbWEJzH6+l/zaCxw== +"@mui/private-theming@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-7.1.1.tgz#c2ecc57a9b97fbfdd850430de500c42a0f2571fe" + integrity sha512-M8NbLUx+armk2ZuaxBkkMk11ultnWmrPlN0Xe3jUEaBChg/mcxa5HWIWS1EE4DF36WRACaAHVAvyekWlDQf0PQ== dependencies: - "@babel/runtime" "^7.26.0" - "@mui/utils" "^6.4.9" + "@babel/runtime" "^7.27.1" + "@mui/utils" "^7.1.1" prop-types "^15.8.1" -"@mui/styled-engine@^6.4.11": - version "6.4.11" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-6.4.11.tgz#a48f48165382943018f70519de1d31e036abb054" - integrity sha512-74AUmlHXaGNbyUqdK/+NwDJOZqgRQw6BcNvhoWYLq3LGbLTkE+khaJ7soz6cIabE4CPYqO2/QAIU1Z/HEjjpcw== +"@mui/styled-engine@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-7.1.1.tgz#2524e0f4e22782b42ea4c32f36f9e19a50ccf55a" + integrity sha512-R2wpzmSN127j26HrCPYVQ53vvMcT5DaKLoWkrfwUYq3cYytL6TQrCH8JBH3z79B6g4nMZZVoaXrxO757AlShaw== dependencies: - "@babel/runtime" "^7.26.0" + "@babel/runtime" "^7.27.1" "@emotion/cache" "^11.13.5" "@emotion/serialize" "^1.3.3" "@emotion/sheet" "^1.4.0" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/system@^6.4.11": - version "6.4.11" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-6.4.11.tgz#f209e0792d008be2f75af41fada2ee9e06adeef2" - integrity sha512-gibtsrZEwnDaT5+I/KloOj/yHluX5G8heknuxBpQOdEQ3Gc0avjSImn5hSeKp8D4thiwZiApuggIjZw1dQguUA== +"@mui/system@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-7.1.1.tgz#eff52e597b0bfed8ecf2e973f4575ef737430727" + integrity sha512-Kj1uhiqnj4Zo7PDjAOghtXJtNABunWvhcRU0O7RQJ7WOxeynoH6wXPcilphV8QTFtkKaip8EiNJRiCD+B3eROA== dependencies: - "@babel/runtime" "^7.26.0" - "@mui/private-theming" "^6.4.9" - "@mui/styled-engine" "^6.4.11" - "@mui/types" "~7.2.24" - "@mui/utils" "^6.4.9" + "@babel/runtime" "^7.27.1" + "@mui/private-theming" "^7.1.1" + "@mui/styled-engine" "^7.1.1" + "@mui/types" "^7.4.3" + "@mui/utils" "^7.1.1" clsx "^2.1.1" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/types@^7.4.1": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.4.1.tgz#5611268faa0b46ab0c622c02b54f3f30f9809c2d" - integrity sha512-gUL8IIAI52CRXP/MixT1tJKt3SI6tVv4U/9soFsTtAsHzaJQptZ42ffdHZV3niX1ei0aUgMvOxBBN0KYqdG39g== +"@mui/types@^7.4.3": + version "7.4.3" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.4.3.tgz#b205ee3404db0478cd93227fc21967e2cb8630fe" + integrity sha512-2UCEiK29vtiZTeLdS2d4GndBKacVyxGvReznGXGr+CzW/YhjIX+OHUdCIczZjzcRAgKBGmE9zCIgoV9FleuyRQ== dependencies: - "@babel/runtime" "^7.27.0" + "@babel/runtime" "^7.27.1" -"@mui/types@~7.2.24": - version "7.2.24" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.24.tgz#5eff63129d9c29d80bbf2d2e561bd0690314dec2" - integrity sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw== - -"@mui/utils@^5.16.6 || ^6.0.0 || ^7.0.0": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-7.0.2.tgz#b6842a9f979a619b65011a84a1964b85b205a9a4" - integrity sha512-72gcuQjPzhj/MLmPHLCgZjy2VjOH4KniR/4qRtXTTXIEwbkgcN+Y5W/rC90rWtMmZbjt9svZev/z+QHUI4j74w== +"@mui/utils@^7.0.2", "@mui/utils@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-7.1.1.tgz#de315ec45ac9e16c637dcc2b32cd7912edb4e234" + integrity sha512-BkOt2q7MBYl7pweY2JWwfrlahhp+uGLR8S+EhiyRaofeRYUWL2YKbSGQvN4hgSN1i8poN0PaUiii1kEMrchvzg== dependencies: - "@babel/runtime" "^7.27.0" - "@mui/types" "^7.4.1" + "@babel/runtime" "^7.27.1" + "@mui/types" "^7.4.3" "@types/prop-types" "^15.7.14" clsx "^2.1.1" prop-types "^15.8.1" react-is "^19.1.0" -"@mui/utils@^6.4.9": - version "6.4.9" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.4.9.tgz#b0df01daa254c7c32a1a30b30a5179e19ef071a7" - integrity sha512-Y12Q9hbK9g+ZY0T3Rxrx9m2m10gaphDuUMgWxyV5kNJevVxXYCLclYUCC9vXaIk1/NdNDTcW2Yfr2OGvNFNmHg== +"@mui/x-date-pickers@^8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@mui/x-date-pickers/-/x-date-pickers-8.5.0.tgz#5a79e7e6c4d10b394a4005cb1eb29c8819961f9a" + integrity sha512-pnivJhAopuu6C4uWbEEg7b8kDdPc7Ad0ANrlDzx4qZGUj9vFcc6n+hT7/kOFnn9uceszQmb07e3Ud+g/d8Z4vg== dependencies: - "@babel/runtime" "^7.26.0" - "@mui/types" "~7.2.24" - "@types/prop-types" "^15.7.14" - clsx "^2.1.1" - prop-types "^15.8.1" - react-is "^19.0.0" - -"@mui/x-date-pickers@^7.29.3": - version "7.29.3" - resolved "https://registry.yarnpkg.com/@mui/x-date-pickers/-/x-date-pickers-7.29.3.tgz#7e8939d5fbc1626c5d6fd02d0b8107ad010d0c3a" - integrity sha512-/A0/8fpLnEFeJKr5YQsI8jqlWPJlOtgfCGcqXHVDOLxgV3lW49+Kh5TZAc1yi6HKT3AG6k4DkNwTuu/RjJeMFA== - dependencies: - "@babel/runtime" "^7.25.7" - "@mui/utils" "^5.16.6 || ^6.0.0 || ^7.0.0" - "@mui/x-internals" "7.29.0" - "@types/react-transition-group" "^4.4.11" + "@babel/runtime" "^7.27.1" + "@mui/utils" "^7.0.2" + "@mui/x-internals" "8.5.0" + "@types/react-transition-group" "^4.4.12" clsx "^2.1.1" prop-types "^15.8.1" react-transition-group "^4.4.5" -"@mui/x-internals@7.29.0": - version "7.29.0" - resolved "https://registry.yarnpkg.com/@mui/x-internals/-/x-internals-7.29.0.tgz#1f353b697ed1bf5594ac549556ade2e6841f4bf5" - integrity sha512-+Gk6VTZIFD70XreWvdXBwKd8GZ2FlSCuecQFzm6znwqXg1ZsndavrhG9tkxpxo2fM1Zf7Tk8+HcOO0hCbhTQFA== +"@mui/x-internals@8.5.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@mui/x-internals/-/x-internals-8.5.0.tgz#f1fbeb02804459ebc46d57b61a89adbb99d9d105" + integrity sha512-Ef4KJij1pBGk6/xILyVZHf76tcuRpJIX30k4Ghklsd5QJujZ9ENCGAjvd7aWRAFAs5p3ffn0H8UDESoIcroj1Q== dependencies: - "@babel/runtime" "^7.25.7" - "@mui/utils" "^5.16.6 || ^6.0.0 || ^7.0.0" + "@babel/runtime" "^7.27.1" + "@mui/utils" "^7.0.2" "@next/env@15.3.3": version "15.3.3" @@ -1192,7 +1175,7 @@ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.1.1.tgz#a8d097b28247d1129cf56e74d1622c98978c04ed" integrity sha512-jFf/woGTVTjUJsl2O7hcopJ1r0upqoq/vIOoCj0yLh3RIXxWcljlpuZ+vEBRXsymD1jhfeJrlyTy/S1UW+4y1w== -"@types/react-transition-group@^4.4.0", "@types/react-transition-group@^4.4.11", "@types/react-transition-group@^4.4.12": +"@types/react-transition-group@^4.4.0", "@types/react-transition-group@^4.4.12": version "4.4.12" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== @@ -3416,11 +3399,6 @@ react-is@^16.13.1, react-is@^16.7.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.0.0.tgz#d6669fd389ff022a9684f708cf6fa4962d1fea7a" - integrity sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g== - react-is@^19.1.0: version "19.1.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.1.0.tgz#805bce321546b7e14c084989c77022351bbdd11b" @@ -4314,10 +4292,10 @@ yup@^1.6.1: toposort "^2.0.2" type-fest "^2.19.0" -zod@^3.25.48: - version "3.25.48" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.48.tgz#6c2b536fbb519905e8f4a4ac58743de4d5331bb2" - integrity sha512-0X1mz8FtgEIvaxGjdIImYpZEaZMrund9pGXm3M6vM7Reba0e2eI71KPjSCGXBfwKDPwPoywf6waUKc3/tFvX2Q== +zod@^3.25.51: + version "3.25.51" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.51.tgz#aa2cf648e54f6f060f139cf77b694819f63c9f3a" + integrity sha512-TQSnBldh+XSGL+opiSIq0575wvDPqu09AqWe1F7JhUMKY+M91/aGlK4MhpVNO7MgYfHcVCB1ffwAUTJzllKJqg== zxcvbn@^4.4.2: version "4.4.2" From 523d1961b74ac45397405475908d70c3e72339ab Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Wed, 4 Jun 2025 16:30:42 +0530 Subject: [PATCH 8/8] other dep --- desktop/package.json | 6 +- desktop/yarn.lock | 154 +++++++++++------------ web/apps/payments/package.json | 2 +- web/packages/build-config/package.json | 2 +- web/packages/gallery/package.json | 2 +- web/yarn.lock | 164 ++++++++++++------------- 6 files changed, 165 insertions(+), 165 deletions(-) diff --git a/desktop/package.json b/desktop/package.json index 8929ba86e1..0dcd32c5a3 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -39,7 +39,7 @@ "next-electron-server": "^1.0.0", "node-stream-zip": "^1.15.0", "onnxruntime-node": "^1.20.1", - "zod": "^3.25.50" + "zod": "^3.25.51" }, "devDependencies": { "@eslint/js": "^9.28.0", @@ -49,7 +49,7 @@ "ajv": "^8.17.1", "concurrently": "^9.1.2", "cross-env": "^7.0.3", - "electron": "^36.3.2", + "electron": "^36.4.0", "electron-builder": "^26.0.14", "eslint": "^9", "prettier": "3.5.3", @@ -57,7 +57,7 @@ "prettier-plugin-packagejson": "^2.5.15", "shx": "^0.4.0", "typescript": "^5.8.3", - "typescript-eslint": "^8.33.0" + "typescript-eslint": "^8.33.1" }, "packageManager": "yarn@1.22.22", "productName": "ente" diff --git a/desktop/yarn.lock b/desktop/yarn.lock index 5fa9476d3a..0a95216ad1 100644 --- a/desktop/yarn.lock +++ b/desktop/yarn.lock @@ -392,78 +392,78 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.0.tgz#51ed03649575ba51bcee7efdbfd85283249b5447" - integrity sha512-CACyQuqSHt7ma3Ns601xykeBK/rDeZa3w6IS6UtMQbixO5DWy+8TilKkviGDH6jtWCo8FGRKEK5cLLkPvEammQ== +"@typescript-eslint/eslint-plugin@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz#532641b416ed2afd5be893cddb2a58e9cd1f7a3e" + integrity sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.33.0" - "@typescript-eslint/type-utils" "8.33.0" - "@typescript-eslint/utils" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" + "@typescript-eslint/scope-manager" "8.33.1" + "@typescript-eslint/type-utils" "8.33.1" + "@typescript-eslint/utils" "8.33.1" + "@typescript-eslint/visitor-keys" "8.33.1" graphemer "^1.4.0" ignore "^7.0.0" natural-compare "^1.4.0" ts-api-utils "^2.1.0" -"@typescript-eslint/parser@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.33.0.tgz#8e523c2b447ad7cd6ac91b719d8b37449481784d" - integrity sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ== +"@typescript-eslint/parser@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.33.1.tgz#ef9a5ee6aa37a6b4f46cc36d08a14f828238afe2" + integrity sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA== dependencies: - "@typescript-eslint/scope-manager" "8.33.0" - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/typescript-estree" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" + "@typescript-eslint/scope-manager" "8.33.1" + "@typescript-eslint/types" "8.33.1" + "@typescript-eslint/typescript-estree" "8.33.1" + "@typescript-eslint/visitor-keys" "8.33.1" debug "^4.3.4" -"@typescript-eslint/project-service@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.33.0.tgz#71f37ef9010de47bf20963914743c5cbef851e08" - integrity sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A== +"@typescript-eslint/project-service@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.33.1.tgz#c85e7d9a44d6a11fe64e73ac1ed47de55dc2bf9f" + integrity sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw== dependencies: - "@typescript-eslint/tsconfig-utils" "^8.33.0" - "@typescript-eslint/types" "^8.33.0" + "@typescript-eslint/tsconfig-utils" "^8.33.1" + "@typescript-eslint/types" "^8.33.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.33.0.tgz#459cf0c49d410800b1a023b973c62d699b09bf4c" - integrity sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw== +"@typescript-eslint/scope-manager@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz#d1e0efb296da5097d054bc9972e69878a2afea73" + integrity sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA== dependencies: - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" + "@typescript-eslint/types" "8.33.1" + "@typescript-eslint/visitor-keys" "8.33.1" -"@typescript-eslint/tsconfig-utils@8.33.0", "@typescript-eslint/tsconfig-utils@^8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.0.tgz#316adab038bbdc43e448781d5a816c2973eab73e" - integrity sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug== +"@typescript-eslint/tsconfig-utils@8.33.1", "@typescript-eslint/tsconfig-utils@^8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz#7836afcc097a4657a5ed56670851a450d8b70ab8" + integrity sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g== -"@typescript-eslint/type-utils@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.33.0.tgz#f06124b2d6db8a51b24990cb123c9543af93fef5" - integrity sha512-lScnHNCBqL1QayuSrWeqAL5GmqNdVUQAAMTaCwdYEdWfIrSrOGzyLGRCHXcCixa5NK6i5l0AfSO2oBSjCjf4XQ== +"@typescript-eslint/type-utils@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz#d73ee1a29d8a0abe60d4abbff4f1d040f0de15fa" + integrity sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww== dependencies: - "@typescript-eslint/typescript-estree" "8.33.0" - "@typescript-eslint/utils" "8.33.0" + "@typescript-eslint/typescript-estree" "8.33.1" + "@typescript-eslint/utils" "8.33.1" debug "^4.3.4" ts-api-utils "^2.1.0" -"@typescript-eslint/types@8.33.0", "@typescript-eslint/types@^8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.33.0.tgz#02a7dbba611a8abf1ad2a9e00f72f7b94b5ab0ee" - integrity sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg== +"@typescript-eslint/types@8.33.1", "@typescript-eslint/types@^8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.33.1.tgz#b693111bc2180f8098b68e9958cf63761657a55f" + integrity sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg== -"@typescript-eslint/typescript-estree@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.0.tgz#abcc1d3db75a8e9fd2e274ee8c4099fa2399abfd" - integrity sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ== +"@typescript-eslint/typescript-estree@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz#d271beed470bc915b8764e22365d4925c2ea265d" + integrity sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA== dependencies: - "@typescript-eslint/project-service" "8.33.0" - "@typescript-eslint/tsconfig-utils" "8.33.0" - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" + "@typescript-eslint/project-service" "8.33.1" + "@typescript-eslint/tsconfig-utils" "8.33.1" + "@typescript-eslint/types" "8.33.1" + "@typescript-eslint/visitor-keys" "8.33.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -471,22 +471,22 @@ semver "^7.6.0" ts-api-utils "^2.1.0" -"@typescript-eslint/utils@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.33.0.tgz#574ad5edee371077b9e28ca6fb804f2440f447c1" - integrity sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw== +"@typescript-eslint/utils@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.33.1.tgz#ea22f40d3553da090f928cf17907e963643d4b96" + integrity sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ== dependencies: "@eslint-community/eslint-utils" "^4.7.0" - "@typescript-eslint/scope-manager" "8.33.0" - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/typescript-estree" "8.33.0" + "@typescript-eslint/scope-manager" "8.33.1" + "@typescript-eslint/types" "8.33.1" + "@typescript-eslint/typescript-estree" "8.33.1" -"@typescript-eslint/visitor-keys@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.0.tgz#fbae16fd3594531f8cad95d421125d634e9974fe" - integrity sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ== +"@typescript-eslint/visitor-keys@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz#6c6e002c24d13211df3df851767f24dfdb4f42bc" + integrity sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ== dependencies: - "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/types" "8.33.1" eslint-visitor-keys "^4.2.0" "@xmldom/xmldom@^0.8.8": @@ -1250,10 +1250,10 @@ electron-updater@^6.6.3: semver "^7.6.3" tiny-typed-emitter "^2.1.0" -electron@^36.3.2: - version "36.3.2" - resolved "https://registry.yarnpkg.com/electron/-/electron-36.3.2.tgz#4a60f95e8d3858d01570c03b58dc2fb2f17ee8b6" - integrity sha512-v0/j7n22CL3OYv9BIhq6JJz2+e1HmY9H4bjTk8/WzVT9JwVX/T/21YNdR7xuQ6XDSEo9gP5JnqmjOamE+CUY8Q== +electron@^36.4.0: + version "36.4.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-36.4.0.tgz#9463bf5fa7565ae7be3a274f7f6a46359bcfe74d" + integrity sha512-LLOOZEuW5oqvnjC7HBQhIqjIIJAZCIFjQxltQGLfEC7XFsBoZgQ3u3iFj+Kzw68Xj97u1n57Jdt7P98qLvUibQ== dependencies: "@electron/get" "^2.0.0" "@types/node" "^22.7.7" @@ -3251,14 +3251,14 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript-eslint@^8.33.0: - version "8.33.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.33.0.tgz#89f733a90edc6abe0994b6130b964e781a1ba82f" - integrity sha512-5YmNhF24ylCsvdNW2oJwMzTbaeO4bg90KeGtMjUw0AGtHksgEPLRTUil+coHwCfiu4QjVJFnjp94DmU6zV7DhQ== +typescript-eslint@^8.33.1: + version "8.33.1" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.33.1.tgz#d2d59c9b24afe1f903a855b02145802e4ae930ff" + integrity sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A== dependencies: - "@typescript-eslint/eslint-plugin" "8.33.0" - "@typescript-eslint/parser" "8.33.0" - "@typescript-eslint/utils" "8.33.0" + "@typescript-eslint/eslint-plugin" "8.33.1" + "@typescript-eslint/parser" "8.33.1" + "@typescript-eslint/utils" "8.33.1" typescript@^5.4.3, typescript@^5.8.3: version "5.8.3" @@ -3421,7 +3421,7 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zod@^3.25.50: - version "3.25.50" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.50.tgz#9de9ca02ae702fd37ed87b28f8f17099f2402aa9" - integrity sha512-VstOnRxf4tlSq0raIwbn0n+LA34SxVoZ8r3pkwSUM0jqNiA/HCMQEVjTuS5FZmHsge+9MDGTiAuHyml5T0um6A== +zod@^3.25.51: + version "3.25.51" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.51.tgz#aa2cf648e54f6f060f139cf77b694819f63c9f3a" + integrity sha512-TQSnBldh+XSGL+opiSIq0575wvDPqu09AqWe1F7JhUMKY+M91/aGlK4MhpVNO7MgYfHcVCB1ffwAUTJzllKJqg== diff --git a/web/apps/payments/package.json b/web/apps/payments/package.json index afa3830aa7..abe8248039 100644 --- a/web/apps/payments/package.json +++ b/web/apps/payments/package.json @@ -16,7 +16,7 @@ "devDependencies": { "@types/react": "^19.1.6", "@types/react-dom": "^19.1.5", - "@vitejs/plugin-react": "^4.5.0", + "@vitejs/plugin-react": "^4.5.1", "ente-build-config": "*", "vite": "^6.3.5" } diff --git a/web/packages/build-config/package.json b/web/packages/build-config/package.json index 122e14c855..ede90bc9c8 100644 --- a/web/packages/build-config/package.json +++ b/web/packages/build-config/package.json @@ -13,6 +13,6 @@ "prettier-plugin-organize-imports": "^4.1.0", "prettier-plugin-packagejson": "^2.5.15", "typescript": "^5.8.3", - "typescript-eslint": "^8.33.0" + "typescript-eslint": "^8.33.1" } } diff --git a/web/packages/gallery/package.json b/web/packages/gallery/package.json index 52f88ee70c..428126f292 100644 --- a/web/packages/gallery/package.json +++ b/web/packages/gallery/package.json @@ -11,7 +11,7 @@ "hls-video-element": "^1.5.2", "leaflet": "^1.9.4", "leaflet-defaulticon-compatibility": "^0.1.2", - "media-chrome": "^4.10.0", + "media-chrome": "^4.11.0", "photoswipe": "^5.4.4", "react": "^19.1.0", "react-dom": "^19.1.0", diff --git a/web/yarn.lock b/web/yarn.lock index 583d5973cb..a5a7fac5aa 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -1199,78 +1199,78 @@ resolved "https://registry.yarnpkg.com/@types/zxcvbn/-/zxcvbn-4.4.5.tgz#8ce8623ed7a36e3a76d1c0b539708dfb2e859bc0" integrity sha512-FZJgC5Bxuqg7Rhsm/bx6gAruHHhDQ55r+s0JhDh8CQ16fD7NsJJ+p8YMMQDhSQoIrSmjpqqYWA96oQVMNkjRyA== -"@typescript-eslint/eslint-plugin@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.0.tgz#51ed03649575ba51bcee7efdbfd85283249b5447" - integrity sha512-CACyQuqSHt7ma3Ns601xykeBK/rDeZa3w6IS6UtMQbixO5DWy+8TilKkviGDH6jtWCo8FGRKEK5cLLkPvEammQ== +"@typescript-eslint/eslint-plugin@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz#532641b416ed2afd5be893cddb2a58e9cd1f7a3e" + integrity sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.33.0" - "@typescript-eslint/type-utils" "8.33.0" - "@typescript-eslint/utils" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" + "@typescript-eslint/scope-manager" "8.33.1" + "@typescript-eslint/type-utils" "8.33.1" + "@typescript-eslint/utils" "8.33.1" + "@typescript-eslint/visitor-keys" "8.33.1" graphemer "^1.4.0" ignore "^7.0.0" natural-compare "^1.4.0" ts-api-utils "^2.1.0" -"@typescript-eslint/parser@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.33.0.tgz#8e523c2b447ad7cd6ac91b719d8b37449481784d" - integrity sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ== +"@typescript-eslint/parser@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.33.1.tgz#ef9a5ee6aa37a6b4f46cc36d08a14f828238afe2" + integrity sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA== dependencies: - "@typescript-eslint/scope-manager" "8.33.0" - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/typescript-estree" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" + "@typescript-eslint/scope-manager" "8.33.1" + "@typescript-eslint/types" "8.33.1" + "@typescript-eslint/typescript-estree" "8.33.1" + "@typescript-eslint/visitor-keys" "8.33.1" debug "^4.3.4" -"@typescript-eslint/project-service@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.33.0.tgz#71f37ef9010de47bf20963914743c5cbef851e08" - integrity sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A== +"@typescript-eslint/project-service@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.33.1.tgz#c85e7d9a44d6a11fe64e73ac1ed47de55dc2bf9f" + integrity sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw== dependencies: - "@typescript-eslint/tsconfig-utils" "^8.33.0" - "@typescript-eslint/types" "^8.33.0" + "@typescript-eslint/tsconfig-utils" "^8.33.1" + "@typescript-eslint/types" "^8.33.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.33.0.tgz#459cf0c49d410800b1a023b973c62d699b09bf4c" - integrity sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw== +"@typescript-eslint/scope-manager@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz#d1e0efb296da5097d054bc9972e69878a2afea73" + integrity sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA== dependencies: - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" + "@typescript-eslint/types" "8.33.1" + "@typescript-eslint/visitor-keys" "8.33.1" -"@typescript-eslint/tsconfig-utils@8.33.0", "@typescript-eslint/tsconfig-utils@^8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.0.tgz#316adab038bbdc43e448781d5a816c2973eab73e" - integrity sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug== +"@typescript-eslint/tsconfig-utils@8.33.1", "@typescript-eslint/tsconfig-utils@^8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz#7836afcc097a4657a5ed56670851a450d8b70ab8" + integrity sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g== -"@typescript-eslint/type-utils@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.33.0.tgz#f06124b2d6db8a51b24990cb123c9543af93fef5" - integrity sha512-lScnHNCBqL1QayuSrWeqAL5GmqNdVUQAAMTaCwdYEdWfIrSrOGzyLGRCHXcCixa5NK6i5l0AfSO2oBSjCjf4XQ== +"@typescript-eslint/type-utils@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz#d73ee1a29d8a0abe60d4abbff4f1d040f0de15fa" + integrity sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww== dependencies: - "@typescript-eslint/typescript-estree" "8.33.0" - "@typescript-eslint/utils" "8.33.0" + "@typescript-eslint/typescript-estree" "8.33.1" + "@typescript-eslint/utils" "8.33.1" debug "^4.3.4" ts-api-utils "^2.1.0" -"@typescript-eslint/types@8.33.0", "@typescript-eslint/types@^8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.33.0.tgz#02a7dbba611a8abf1ad2a9e00f72f7b94b5ab0ee" - integrity sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg== +"@typescript-eslint/types@8.33.1", "@typescript-eslint/types@^8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.33.1.tgz#b693111bc2180f8098b68e9958cf63761657a55f" + integrity sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg== -"@typescript-eslint/typescript-estree@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.0.tgz#abcc1d3db75a8e9fd2e274ee8c4099fa2399abfd" - integrity sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ== +"@typescript-eslint/typescript-estree@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz#d271beed470bc915b8764e22365d4925c2ea265d" + integrity sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA== dependencies: - "@typescript-eslint/project-service" "8.33.0" - "@typescript-eslint/tsconfig-utils" "8.33.0" - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" + "@typescript-eslint/project-service" "8.33.1" + "@typescript-eslint/tsconfig-utils" "8.33.1" + "@typescript-eslint/types" "8.33.1" + "@typescript-eslint/visitor-keys" "8.33.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -1278,22 +1278,22 @@ semver "^7.6.0" ts-api-utils "^2.1.0" -"@typescript-eslint/utils@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.33.0.tgz#574ad5edee371077b9e28ca6fb804f2440f447c1" - integrity sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw== +"@typescript-eslint/utils@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.33.1.tgz#ea22f40d3553da090f928cf17907e963643d4b96" + integrity sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ== dependencies: "@eslint-community/eslint-utils" "^4.7.0" - "@typescript-eslint/scope-manager" "8.33.0" - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/typescript-estree" "8.33.0" + "@typescript-eslint/scope-manager" "8.33.1" + "@typescript-eslint/types" "8.33.1" + "@typescript-eslint/typescript-estree" "8.33.1" -"@typescript-eslint/visitor-keys@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.0.tgz#fbae16fd3594531f8cad95d421125d634e9974fe" - integrity sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ== +"@typescript-eslint/visitor-keys@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz#6c6e002c24d13211df3df851767f24dfdb4f42bc" + integrity sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ== dependencies: - "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/types" "8.33.1" eslint-visitor-keys "^4.2.0" "@vercel/edge@^1.2.1": @@ -1301,10 +1301,10 @@ resolved "https://registry.yarnpkg.com/@vercel/edge/-/edge-1.2.1.tgz#d74298f01912ea2940546f4b7639dc8619f4c89e" integrity sha512-1++yncEyIAi68D3UEOlytYb1IUcIulMWdoSzX2h9LuSeeyR7JtaIgR8DcTQ6+DmYOQn+5MCh6LY+UmK6QBByNA== -"@vitejs/plugin-react@^4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.5.0.tgz#ef2bad6be3031af2b2105b7ab2754f710e890a32" - integrity sha512-JuLWaEqypaJmOJPLWwO335Ig6jSgC1FTONCWAxnqcQthLTK/Yc9aH6hr9z/87xciejbQcnP3GnA1FWUSWeXaeg== +"@vitejs/plugin-react@^4.5.1": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.5.1.tgz#19432712467ad3b81f24c85d695a6febf8d4cc11" + integrity sha512-uPZBqSI0YD4lpkIru6M35sIfylLGTyhGHvDZbNLuMA73lMlwJKz5xweH7FajfcCAc2HnINciejA9qTz0dr0M7A== dependencies: "@babel/core" "^7.26.10" "@babel/plugin-transform-react-jsx-self" "^7.25.9" @@ -1565,10 +1565,10 @@ caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001688: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz#f2d15e3aaf8e18f76b2b8c1481abde063b8104c8" integrity sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w== -ce-la-react@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ce-la-react/-/ce-la-react-0.1.3.tgz#ccb34ec24091bd8be3da40ddcedb4a99ae1db72f" - integrity sha512-zZwEEJv9XukeEGbswQXObaDJjYAufOIilSnDg4BWCpKNEYN84H9fpaB+wl+rYKWOIH4wBBPbLnOxKvDIwsL/JQ== +ce-la-react@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ce-la-react/-/ce-la-react-0.3.0.tgz#8935d42dfd44963fd3c107c267c93aab3330891a" + integrity sha512-84SEDLNHaAjykzlkqgKRq95hA3qnxrsTrwh4hTgBq6tfpINqajxz4bkz9q4orhUfpqDPQRgdCzYTF3bHcvTIlQ== chalk@^4.0.0, chalk@^4.1.2: version "4.1.2" @@ -2956,13 +2956,13 @@ math-intrinsics@^1.1.0: resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== -media-chrome@^4.10.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/media-chrome/-/media-chrome-4.10.0.tgz#9d79222e40ab09db1b013d13889de0150ad22d4b" - integrity sha512-XA37xpQaI3IqTpBj8C46RD3DHkEl/KMKrIfNZYQBSm7JTRfsRQKluDGD8nCQ5ZkZdovmI4zSkY9mSjVEN9qsJw== +media-chrome@^4.11.0: + version "4.11.0" + resolved "https://registry.yarnpkg.com/media-chrome/-/media-chrome-4.11.0.tgz#3ccce6d5104b55215d121c93ad4a6197d88d52f3" + integrity sha512-DfV64DbQTZRkTkbwwXARLy6NX/Xp9fM3iS3dnuWIcmWiIzkTiw/Q6UMMuAXCrN3if6Cb+wLz9vKq23OGwS7MEA== dependencies: "@vercel/edge" "^1.2.1" - ce-la-react "^0.1.3" + ce-la-react "^0.3.0" media-tracks@^0.3.3: version "0.3.3" @@ -4088,14 +4088,14 @@ typed-array-length@^1.0.7: possible-typed-array-names "^1.0.0" reflect.getprototypeof "^1.0.6" -typescript-eslint@^8.33.0: - version "8.33.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.33.0.tgz#89f733a90edc6abe0994b6130b964e781a1ba82f" - integrity sha512-5YmNhF24ylCsvdNW2oJwMzTbaeO4bg90KeGtMjUw0AGtHksgEPLRTUil+coHwCfiu4QjVJFnjp94DmU6zV7DhQ== +typescript-eslint@^8.33.1: + version "8.33.1" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.33.1.tgz#d2d59c9b24afe1f903a855b02145802e4ae930ff" + integrity sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A== dependencies: - "@typescript-eslint/eslint-plugin" "8.33.0" - "@typescript-eslint/parser" "8.33.0" - "@typescript-eslint/utils" "8.33.0" + "@typescript-eslint/eslint-plugin" "8.33.1" + "@typescript-eslint/parser" "8.33.1" + "@typescript-eslint/utils" "8.33.1" typescript@^5.8.3: version "5.8.3"