diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index c3eff6f4..98002b6e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -23,3 +23,4 @@ jobs: SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} SENTRY_URL: ${{ secrets.SENTRY_URL }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/element-call.yaml b/.github/workflows/element-call.yaml index eaa392be..7924140d 100644 --- a/.github/workflows/element-call.yaml +++ b/.github/workflows/element-call.yaml @@ -14,6 +14,8 @@ on: required: true SENTRY_AUTH_TOKEN: required: true + CODECOV_TOKEN: + required: false jobs: build: @@ -36,6 +38,7 @@ jobs: SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} SENTRY_URL: ${{ secrets.SENTRY_URL }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} VITE_APP_VERSION: ${{ inputs.vite_app_version }} NODE_OPTIONS: "--max-old-space-size=4096" - name: Upload Artifact diff --git a/README.md b/README.md index f05c2d2d..43a2dce0 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ rc_message: MSC3266 allows to request a room summary of rooms you are not joined. The summary contains the room join rules. We need that to decide if the user gets -prompted with the option to knock ("ask to join"), a cannot join error or the +prompted with the option to knock ("Request to join call"), a cannot join error or the join view. Element Call requires a Livekit SFU alongside a [Livekit JWT diff --git a/package.json b/package.json index 5f54702f..7c18352b 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,9 @@ "@babel/preset-env": "^7.22.20", "@babel/preset-react": "^7.22.15", "@babel/preset-typescript": "^7.23.0", + "@codecov/vite-plugin": "^1.3.0", + "@fontsource/inconsolata": "^5.1.0", + "@fontsource/inter": "^5.1.0", "@formatjs/intl-durationformat": "^0.6.1", "@formatjs/intl-segmenter": "^11.7.3", "@livekit/components-core": "^0.11.0", @@ -48,7 +51,7 @@ "@types/content-type": "^1.1.5", "@types/grecaptcha": "^3.0.9", "@types/jsdom": "^21.1.7", - "@types/lodash": "^4.14.199", + "@types/lodash-es": "^4.17.12", "@types/node": "^20.0.0", "@types/qrcode": "^1.5.5", "@types/react-dom": "^18.3.0", @@ -59,7 +62,7 @@ "@typescript-eslint/parser": "^8.0.0", "@use-gesture/react": "^10.2.11", "@vector-im/compound-design-tokens": "^1.9.1", - "@vector-im/compound-web": "element-hq/compound-web#46cf2d94d9c9b6d25e80ef0e785f3a929ed040ea", + "@vector-im/compound-web": "^7.2.0", "@vitejs/plugin-basic-ssl": "^1.0.1", "@vitejs/plugin-react": "^4.0.1", "@vitest/coverage-v8": "^2.0.5", @@ -85,10 +88,10 @@ "jsdom": "^25.0.0", "knip": "^5.27.2", "livekit-client": "^2.5.7", - "lodash": "^4.17.21", + "lodash-es": "^4.17.21", "loglevel": "^1.9.1", - "matrix-js-sdk": "matrix-org/matrix-js-sdk#6971e7bebaad643c233e5057da7a0d42441c0789", - "matrix-widget-api": "^1.8.2", + "matrix-js-sdk": "matrix-org/matrix-js-sdk#8e9a04cdec0f88fc876bbbf406db55b0677f005d", + "matrix-widget-api": "^1.10.0", "normalize.css": "^8.0.1", "observable-hooks": "^4.2.3", "pako": "^2.0.4", diff --git a/public/fonts/Inter/Inter-Bold.woff b/public/fonts/Inter/Inter-Bold.woff deleted file mode 100644 index 2ec7ac3d..00000000 Binary files a/public/fonts/Inter/Inter-Bold.woff and /dev/null differ diff --git a/public/fonts/Inter/Inter-Bold.woff2 b/public/fonts/Inter/Inter-Bold.woff2 deleted file mode 100644 index 6989c992..00000000 Binary files a/public/fonts/Inter/Inter-Bold.woff2 and /dev/null differ diff --git a/public/fonts/Inter/Inter-BoldItalic.woff b/public/fonts/Inter/Inter-BoldItalic.woff deleted file mode 100644 index aa35b797..00000000 Binary files a/public/fonts/Inter/Inter-BoldItalic.woff and /dev/null differ diff --git a/public/fonts/Inter/Inter-BoldItalic.woff2 b/public/fonts/Inter/Inter-BoldItalic.woff2 deleted file mode 100644 index 18b4c1ce..00000000 Binary files a/public/fonts/Inter/Inter-BoldItalic.woff2 and /dev/null differ diff --git a/public/fonts/Inter/Inter-Italic.woff b/public/fonts/Inter/Inter-Italic.woff deleted file mode 100644 index 4b765bd5..00000000 Binary files a/public/fonts/Inter/Inter-Italic.woff and /dev/null differ diff --git a/public/fonts/Inter/Inter-Italic.woff2 b/public/fonts/Inter/Inter-Italic.woff2 deleted file mode 100644 index bd5f255a..00000000 Binary files a/public/fonts/Inter/Inter-Italic.woff2 and /dev/null differ diff --git a/public/fonts/Inter/Inter-Medium.woff b/public/fonts/Inter/Inter-Medium.woff deleted file mode 100644 index 7d55f34c..00000000 Binary files a/public/fonts/Inter/Inter-Medium.woff and /dev/null differ diff --git a/public/fonts/Inter/Inter-Medium.woff2 b/public/fonts/Inter/Inter-Medium.woff2 deleted file mode 100644 index a916b47f..00000000 Binary files a/public/fonts/Inter/Inter-Medium.woff2 and /dev/null differ diff --git a/public/fonts/Inter/Inter-MediumItalic.woff b/public/fonts/Inter/Inter-MediumItalic.woff deleted file mode 100644 index 422ab057..00000000 Binary files a/public/fonts/Inter/Inter-MediumItalic.woff and /dev/null differ diff --git a/public/fonts/Inter/Inter-MediumItalic.woff2 b/public/fonts/Inter/Inter-MediumItalic.woff2 deleted file mode 100644 index f623924a..00000000 Binary files a/public/fonts/Inter/Inter-MediumItalic.woff2 and /dev/null differ diff --git a/public/fonts/Inter/Inter-Regular.woff b/public/fonts/Inter/Inter-Regular.woff deleted file mode 100644 index 7ff51b7d..00000000 Binary files a/public/fonts/Inter/Inter-Regular.woff and /dev/null differ diff --git a/public/fonts/Inter/Inter-Regular.woff2 b/public/fonts/Inter/Inter-Regular.woff2 deleted file mode 100644 index 554aed66..00000000 Binary files a/public/fonts/Inter/Inter-Regular.woff2 and /dev/null differ diff --git a/public/fonts/Inter/Inter-SemiBold.woff b/public/fonts/Inter/Inter-SemiBold.woff deleted file mode 100644 index 76e507a5..00000000 Binary files a/public/fonts/Inter/Inter-SemiBold.woff and /dev/null differ diff --git a/public/fonts/Inter/Inter-SemiBold.woff2 b/public/fonts/Inter/Inter-SemiBold.woff2 deleted file mode 100644 index 93079989..00000000 Binary files a/public/fonts/Inter/Inter-SemiBold.woff2 and /dev/null differ diff --git a/public/fonts/Inter/Inter-SemiBoldItalic.woff b/public/fonts/Inter/Inter-SemiBoldItalic.woff deleted file mode 100644 index 38218121..00000000 Binary files a/public/fonts/Inter/Inter-SemiBoldItalic.woff and /dev/null differ diff --git a/public/fonts/Inter/Inter-SemiBoldItalic.woff2 b/public/fonts/Inter/Inter-SemiBoldItalic.woff2 deleted file mode 100644 index f19f5505..00000000 Binary files a/public/fonts/Inter/Inter-SemiBoldItalic.woff2 and /dev/null differ diff --git a/public/locales/de/app.json b/public/locales/de/app.json index ba88955f..744fa792 100644 --- a/public/locales/de/app.json +++ b/public/locales/de/app.json @@ -81,8 +81,8 @@ "call_ended_heading": "Anruf beendet", "failed_heading": "Beitreten fehlgeschlagen", "failed_text": "Anruf nicht gefunden oder Beitritt nicht erlaubt", - "knock_reject_body": "Die Mitglieder des Raums haben Deine Beitrittsanfrage abgelehnt.", - "knock_reject_heading": "Beitritt nicht erlaubt", + "knock_reject_body": "Die Teilnahmeanfrage wurde abgelehnt.", + "knock_reject_heading": "Zugriff verweigert", "reason": "Grund" }, "hangup_button_label": "Anruf beenden", @@ -100,11 +100,11 @@ "layout_grid_label": "Raster", "layout_spotlight_label": "Fokus", "lobby": { - "ask_to_join": "Beitritt anfragen", + "ask_to_join": "Teilnahmeanfrage senden", "join_as_guest": "Als Gast beitreten", "join_button": "Anruf beitreten", "leave_button": "Zurück zu kürzlichen Anrufen", - "waiting_for_invite": "Anfrage gesendet" + "waiting_for_invite": "Anfrage gesendet! Warten auf Teilnahmefreigabe …" }, "log_in": "Anmelden", "logging_in": "Anmelden …", @@ -115,7 +115,7 @@ "matrix_id": "Matrix-ID: {{id}}", "microphone_off": "Mikrofon aus", "microphone_on": "Mikrofon an", - "mute_microphone_button_label": "Mikrofon deaktivieren", + "mute_microphone_button_label": "Mikrofon stumm schalten", "participant_count_one": "{{count, number}}", "participant_count_other": "{{count, number}}", "qr_code": "QR-Code", @@ -184,14 +184,15 @@ "unauthenticated_view_body": "Noch nicht registriert? <2>Konto erstellen", "unauthenticated_view_eula_caption": "Mit einem Klick auf „Los geht’s“ akzeptierst du unseren <2>Endbenutzer-Lizenzvertrag (EULA)", "unauthenticated_view_login_button": "Melde dich mit deinem Konto an", - "unmute_microphone_button_label": "Mikrofon aktivieren", + "unmute_microphone_button_label": "Mikrofon einschalten", "version": "{{productName}} Version: {{version}}", "video_tile": { "always_show": "Immer anzeigen", "change_fit_contain": "An Fenster anpassen", "collapse": "Minimieren", "expand": "Erweitern", - "mute_for_me": "Für mich stummschalten", + "mute_for_me": "Für mich stumm schalten", + "muted_for_me": "Für mich stumm geschaltet", "volume": "Lautstärke" } } diff --git a/public/locales/en-GB/app.json b/public/locales/en-GB/app.json index 9311f5da..18df4801 100644 --- a/public/locales/en-GB/app.json +++ b/public/locales/en-GB/app.json @@ -80,8 +80,8 @@ "call_ended_heading": "Call ended", "failed_heading": "Failed to join", "failed_text": "Call not found or is not accessible.", - "knock_reject_body": "The room members declined your request to join.", - "knock_reject_heading": "Not allowed to join", + "knock_reject_body": "Your request to join was declined.", + "knock_reject_heading": "Access denied", "reason": "Reason" }, "hangup_button_label": "End call", @@ -99,11 +99,11 @@ "layout_grid_label": "Grid", "layout_spotlight_label": "Spotlight", "lobby": { - "ask_to_join": "Ask to join call", + "ask_to_join": "Request to join call", "join_as_guest": "Join as guest", "join_button": "Join call", "leave_button": "Back to recents", - "waiting_for_invite": "Request sent" + "waiting_for_invite": "Request sent! Waiting for permission to join…" }, "log_in": "Log In", "logging_in": "Logging in…", @@ -190,6 +190,7 @@ "collapse": "Collapse", "expand": "Expand", "mute_for_me": "Mute for me", + "muted_for_me": "Muted for me", "volume": "Volume" } } diff --git a/src/Slider.tsx b/src/Slider.tsx index aa9309e7..a5eab56a 100644 --- a/src/Slider.tsx +++ b/src/Slider.tsx @@ -8,6 +8,7 @@ Please see LICENSE in the repository root for full details. import { FC, useCallback } from "react"; import { Root, Track, Range, Thumb } from "@radix-ui/react-slider"; import classNames from "classnames"; +import { Tooltip } from "@vector-im/compound-web"; import styles from "./Slider.module.css"; @@ -66,7 +67,10 @@ export const Slider: FC = ({ - + {/* Note: This is expected not to be visible on mobile.*/} + + + ); }; diff --git a/src/config/Config.ts b/src/config/Config.ts index 972c9e0c..df85f9af 100644 --- a/src/config/Config.ts +++ b/src/config/Config.ts @@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only Please see LICENSE in the repository root for full details. */ -import { merge } from "lodash"; +import { merge } from "lodash-es"; import { getUrlParams } from "../UrlParams"; import { diff --git a/src/config/ConfigOptions.ts b/src/config/ConfigOptions.ts index 83e9bcc6..ed4d5bce 100644 --- a/src/config/ConfigOptions.ts +++ b/src/config/ConfigOptions.ts @@ -96,6 +96,30 @@ export interface ConfigOptions { * Note that this can additionally be disabled by the app's URL parameters. */ app_prompt?: boolean; + + /** + * These are low level options that are used to configure the MatrixRTC session. + * Take care when changing these options. + */ + matrix_rtc_session?: { + /** + * How long (in milliseconds) to wait before rotating end-to-end media encryption keys + * when someone leaves a call. + */ + key_rotation_on_leave_delay?: number; + + /** + * How often (in milliseconds) keep-alive messages should be sent to the server for + * the MatrixRTC membership event. + */ + membership_keep_alive_period?: number; + + /** + * How long (in milliseconds) after the last keep-alive the server should expire the + * MatrixRTC membership event. + */ + membership_server_side_expiry_timeout?: number; + }; } // Overrides members from ConfigOptions that are always provided by the diff --git a/src/index.css b/src/index.css index 02f335f9..bf6d1605 100644 --- a/src/index.css +++ b/src/index.css @@ -5,14 +5,15 @@ SPDX-License-Identifier: AGPL-3.0-only Please see LICENSE in the repository root for full details. */ -/* Inter unexpectedly contains various codepoints which collide with emoji, even - when variation-16 is applied to request the emoji variant. From eyeballing - the emoji picker, these are: 20e3, 23cf, 24c2, 25a0-25c1, 2665, 2764, 2b06, 2b1c. - Therefore we define a unicode-range to load which excludes the glyphs - (to avoid having to maintain a fork of Inter). */ - @layer normalize, compound-legacy, compound; +@import url("@fontsource/inter/400.css"); +@import url("@fontsource/inter/500.css"); +@import url("@fontsource/inter/600.css"); +@import url("@fontsource/inter/700.css"); +@import url("@fontsource/inconsolata/400.css"); +@import url("@fontsource/inconsolata/700.css"); + @import url("normalize.css/normalize.css") layer(normalize); @import url("@vector-im/compound-design-tokens/assets/web/css/compound-design-tokens.css") layer(compound); @@ -52,94 +53,6 @@ layer(compound); --stopgap-background-85: rgba(16, 19, 23, 0.85); } -@font-face { - font-family: "Inter"; - font-style: normal; - font-weight: 400; - font-display: swap; - unicode-range: var(--inter-unicode-range); - src: - url("/fonts/Inter/Inter-Regular.woff2") format("woff2"), - url("/fonts/Inter/Inter-Regular.woff") format("woff"); -} - -@font-face { - font-family: "Inter"; - font-style: italic; - font-weight: 400; - font-display: swap; - unicode-range: var(--inter-unicode-range); - src: - url("/fonts/Inter/Inter-Italic.woff2") format("woff2"), - url("/fonts/Inter/Inter-Italic.woff") format("woff"); -} - -@font-face { - font-family: "Inter"; - font-style: normal; - font-weight: 500; - font-display: swap; - unicode-range: var(--inter-unicode-range); - src: - url("/fonts/Inter/Inter-Medium.woff2") format("woff2"), - url("/fonts/Inter/Inter-Medium.woff") format("woff"); -} - -@font-face { - font-family: "Inter"; - font-style: italic; - font-weight: 500; - font-display: swap; - unicode-range: var(--inter-unicode-range); - src: - url("/fonts/Inter/Inter-MediumItalic.woff2") format("woff2"), - url("/fonts/Inter/Inter-MediumItalic.woff") format("woff"); -} - -@font-face { - font-family: "Inter"; - font-style: normal; - font-weight: 600; - font-display: swap; - unicode-range: var(--inter-unicode-range); - src: - url("/fonts/Inter/Inter-SemiBold.woff2") format("woff2"), - url("/fonts/Inter/Inter-SemiBold.woff") format("woff"); -} - -@font-face { - font-family: "Inter"; - font-style: italic; - font-weight: 600; - font-display: swap; - unicode-range: var(--inter-unicode-range); - src: - url("/fonts/Inter/Inter-SemiBoldItalic.woff2") format("woff2"), - url("/fonts/Inter/Inter-SemiBoldItalic.woff") format("woff"); -} - -@font-face { - font-family: "Inter"; - font-style: normal; - font-weight: 700; - font-display: swap; - unicode-range: var(--inter-unicode-range); - src: - url("/fonts/Inter/Inter-Bold.woff2") format("woff2"), - url("/fonts/Inter/Inter-Bold.woff") format("woff"); -} - -@font-face { - font-family: "Inter"; - font-style: italic; - font-weight: 700; - font-display: swap; - unicode-range: var(--inter-unicode-range); - src: - url("/fonts/Inter/Inter-BoldItalic.woff2") format("woff2"), - url("/fonts/Inter/Inter-BoldItalic.woff") format("woff"); -} - body { background-color: var(--cpd-color-bg-canvas-default); background-size: calc(max(1440px, 100vw)) calc(max(800px, 100vh)); @@ -185,10 +98,6 @@ body[data-platform="ios"] { --cpd-font-family-sans: -apple-system, BlinkMacSystemFont, "Inter", sans-serif; } -body[data-platform="desktop"] { - --cpd-font-family-sans: "Inter", sans-serif; -} - @layer compound-legacy { h1, h2, diff --git a/src/room/GroupCallLoader.tsx b/src/room/GroupCallLoader.tsx deleted file mode 100644 index f843f3f4..00000000 --- a/src/room/GroupCallLoader.tsx +++ /dev/null @@ -1,77 +0,0 @@ -/* -Copyright 2022-2024 New Vector Ltd. - -SPDX-License-Identifier: AGPL-3.0-only -Please see LICENSE in the repository root for full details. -*/ - -import { MatrixClient } from "matrix-js-sdk/src/client"; -import { useTranslation } from "react-i18next"; -import { MatrixError } from "matrix-js-sdk/src/matrix"; -import { Heading, Text } from "@vector-im/compound-web"; - -import { Link } from "../button/Link"; -import { - useLoadGroupCall, - GroupCallStatus, - CallTerminatedMessage, -} from "./useLoadGroupCall"; -import { ErrorView, FullScreenView } from "../FullScreenView"; - -interface Props { - client: MatrixClient; - roomIdOrAlias: string; - viaServers: string[]; - children: (groupCallState: GroupCallStatus) => JSX.Element; -} - -export function GroupCallLoader({ - client, - roomIdOrAlias, - viaServers, - children, -}: Props): JSX.Element { - const { t } = useTranslation(); - const groupCallState = useLoadGroupCall(client, roomIdOrAlias, viaServers); - - switch (groupCallState.kind) { - case "loaded": - case "waitForInvite": - case "canKnock": - return children(groupCallState); - case "loading": - return ( - -

{t("common.loading")}

-
- ); - case "failed": - if ((groupCallState.error as MatrixError).errcode === "M_NOT_FOUND") { - return ( - - {t("group_call_loader.failed_heading")} - {t("group_call_loader.failed_text")} - {/* XXX: A 'create it for me' button would be the obvious UX here. Two screens already have - dupes of this flow, let's make a common component and put it here. */} - {t("common.home")} - - ); - } else if (groupCallState.error instanceof CallTerminatedMessage) { - return ( - - {groupCallState.error.message} - {groupCallState.error.messageBody} - {groupCallState.error.reason && ( - <> - {t("group_call_loader.reason")}: - "{groupCallState.error.reason}" - - )} - {t("common.home")} - - ); - } else { - return ; - } - } -} diff --git a/src/room/GroupCallView.tsx b/src/room/GroupCallView.tsx index 88d79140..cc4fea07 100644 --- a/src/room/GroupCallView.tsx +++ b/src/room/GroupCallView.tsx @@ -177,29 +177,37 @@ export const GroupCallView: FC = ({ } }; - if (widget && preload && skipLobby) { - // In preload mode without lobby we wait for a join action before entering - const onJoin = (ev: CustomEvent): void => { - (async (): Promise => { - await defaultDeviceSetup(ev.detail.data as unknown as JoinCallData); - await enterRTCSession(rtcSession, perParticipantE2EE); - widget!.api.transport.reply(ev.detail, {}); - })().catch((e) => { - logger.error("Error joining RTC session", e); - }); - }; - widget.lazyActions.on(ElementWidgetActions.JoinCall, onJoin); - return (): void => { - widget!.lazyActions.off(ElementWidgetActions.JoinCall, onJoin); - }; - } else if (widget && !preload && skipLobby) { - // No lobby and no preload: we enter the rtc session right away - (async (): Promise => { - await defaultDeviceSetup({ audioInput: null, videoInput: null }); - await enterRTCSession(rtcSession, perParticipantE2EE); - })().catch((e) => { - logger.error("Error joining RTC session", e); - }); + if (skipLobby) { + if (widget) { + if (preload) { + // In preload mode without lobby we wait for a join action before entering + const onJoin = (ev: CustomEvent): void => { + (async (): Promise => { + await defaultDeviceSetup( + ev.detail.data as unknown as JoinCallData, + ); + await enterRTCSession(rtcSession, perParticipantE2EE); + widget!.api.transport.reply(ev.detail, {}); + })().catch((e) => { + logger.error("Error joining RTC session", e); + }); + }; + widget.lazyActions.on(ElementWidgetActions.JoinCall, onJoin); + return (): void => { + widget!.lazyActions.off(ElementWidgetActions.JoinCall, onJoin); + }; + } else { + // No lobby and no preload: we enter the rtc session right away + (async (): Promise => { + await defaultDeviceSetup({ audioInput: null, videoInput: null }); + await enterRTCSession(rtcSession, perParticipantE2EE); + })().catch((e) => { + logger.error("Error joining RTC session", e); + }); + } + } else { + void enterRTCSession(rtcSession, perParticipantE2EE); + } } }, [rtcSession, preload, skipLobby, perParticipantE2EE]); diff --git a/src/room/RoomPage.tsx b/src/room/RoomPage.tsx index ce6c9f70..49d594bb 100644 --- a/src/room/RoomPage.tsx +++ b/src/room/RoomPage.tsx @@ -5,15 +5,16 @@ SPDX-License-Identifier: AGPL-3.0-only Please see LICENSE in the repository root for full details. */ -import { FC, useEffect, useState, useCallback, ReactNode } from "react"; +import { FC, useEffect, useState, ReactNode, useRef } from "react"; import { logger } from "matrix-js-sdk/src/logger"; import { useTranslation } from "react-i18next"; import { CheckIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; +import { MatrixError } from "matrix-js-sdk/src/http-api"; +import { Heading, Text } from "@vector-im/compound-web"; import { useClientLegacy } from "../ClientContext"; -import { ErrorView, LoadingView } from "../FullScreenView"; +import { ErrorView, FullScreenView, LoadingView } from "../FullScreenView"; import { RoomAuthView } from "./RoomAuthView"; -import { GroupCallLoader } from "./GroupCallLoader"; import { GroupCallView } from "./GroupCallView"; import { useRoomIdentifier, useUrlParams } from "../UrlParams"; import { useRegisterPasswordlessUser } from "../auth/useRegisterPasswordlessUser"; @@ -21,13 +22,14 @@ import { HomePage } from "../home/HomePage"; import { platform } from "../Platform"; import { AppSelectionModal } from "./AppSelectionModal"; import { widget } from "../widget"; -import { GroupCallStatus } from "./useLoadGroupCall"; +import { CallTerminatedMessage, useLoadGroupCall } from "./useLoadGroupCall"; import { LobbyView } from "./LobbyView"; import { E2eeType } from "../e2ee/e2eeType"; import { useProfile } from "../profile/useProfile"; import { useMuteStates } from "./MuteStates"; import { useOptInAnalytics } from "../settings/settings"; import { Config } from "../config/Config"; +import { Link } from "../button/Link"; export const RoomPage: FC = () => { const { @@ -53,6 +55,7 @@ export const RoomPage: FC = () => { useClientLegacy(); const { avatarUrl, displayName: userDisplayName } = useProfile(client); + const groupCallState = useLoadGroupCall(client, roomIdOrAlias, viaServers); const muteStates = useMuteStates(); useEffect(() => { @@ -82,82 +85,112 @@ export const RoomPage: FC = () => { if (optInAnalytics === null && setOptInAnalytics) setOptInAnalytics(true); }, [optInAnalytics, setOptInAnalytics]); - const groupCallView = useCallback( - (groupCallState: GroupCallStatus): JSX.Element => { - switch (groupCallState.kind) { - case "loaded": - return ( - + const wasInWaitForInviteState = useRef(false); + + useEffect(() => { + if (groupCallState.kind === "loaded" && wasInWaitForInviteState.current) { + logger.log("Play join sound 'Not yet implemented'"); + } + }, [groupCallState.kind]); + + const groupCallView = (): JSX.Element => { + switch (groupCallState.kind) { + case "loaded": + return ( + + ); + case "waitForInvite": + case "canKnock": { + wasInWaitForInviteState.current = + wasInWaitForInviteState.current || + groupCallState.kind === "waitForInvite"; + const knock = + groupCallState.kind === "canKnock" ? groupCallState.knock : null; + const label: string | JSX.Element = + groupCallState.kind === "canKnock" ? ( + t("lobby.ask_to_join") + ) : ( + <> + {t("lobby.waiting_for_invite")} + + ); - case "waitForInvite": - case "canKnock": { - const knock = - groupCallState.kind === "canKnock" ? groupCallState.knock : null; - const label: string | JSX.Element = - groupCallState.kind === "canKnock" ? ( - t("lobby.ask_to_join") - ) : ( - <> - {t("lobby.waiting_for_invite")} - - - ); - return ( - knock?.()} - enterLabel={label} - waitingForInvite={groupCallState.kind === "waitForInvite"} - confineToRoom={confineToRoom} - hideHeader={hideHeader} - participantCount={null} - muteStates={muteStates} - onShareClick={null} - /> - ); - } - default: - return <> ; + return ( + knock?.()} + enterLabel={label} + waitingForInvite={groupCallState.kind === "waitForInvite"} + confineToRoom={confineToRoom} + hideHeader={hideHeader} + participantCount={null} + muteStates={muteStates} + onShareClick={null} + /> + ); } - }, - [ - client, - passwordlessUser, - confineToRoom, - preload, - skipLobby, - hideHeader, - muteStates, - t, - userDisplayName, - avatarUrl, - ], - ); + case "loading": + return ( + +

{t("common.loading")}

+
+ ); + case "failed": + wasInWaitForInviteState.current = false; + if ((groupCallState.error as MatrixError).errcode === "M_NOT_FOUND") { + return ( + + {t("group_call_loader.failed_heading")} + {t("group_call_loader.failed_text")} + {/* XXX: A 'create it for me' button would be the obvious UX here. Two screens already have + dupes of this flow, let's make a common component and put it here. */} + {t("common.home")} + + ); + } else if (groupCallState.error instanceof CallTerminatedMessage) { + return ( + + {groupCallState.error.message} + {groupCallState.error.messageBody} + {groupCallState.error.reason && ( + <> + {t("group_call_loader.reason")}: + "{groupCallState.error.reason}" + + )} + {t("common.home")} + + ); + } else { + return ; + } + default: + return <> ; + } + }; let content: ReactNode; if (loading || isRegistering) { @@ -170,15 +203,7 @@ export const RoomPage: FC = () => { // TODO: This doesn't belong here, the app routes need to be reworked content = ; } else { - content = ( - - {groupCallView} - - ); + content = groupCallView(); } return ( diff --git a/src/room/useLoadGroupCall.ts b/src/room/useLoadGroupCall.ts index 6e07aa52..163571c8 100644 --- a/src/room/useLoadGroupCall.ts +++ b/src/room/useLoadGroupCall.ts @@ -117,8 +117,8 @@ export class CallTerminatedMessage extends Error { } export const useLoadGroupCall = ( - client: MatrixClient, - roomIdOrAlias: string, + client: MatrixClient | undefined, + roomIdOrAlias: string | null, viaServers: string[], ): GroupCallStatus => { const [state, setState] = useState({ kind: "loading" }); @@ -159,6 +159,9 @@ export const useLoadGroupCall = ( ?.getContent().reason; useEffect(() => { + if (!client || !roomIdOrAlias) { + return; + } const getRoomByAlias = async (alias: string): Promise => { // We lowercase the localpart when we create the room, so we must lowercase // it here too (we just do the whole alias). We can't do the same to room IDs diff --git a/src/rtcSessionHelpers.ts b/src/rtcSessionHelpers.ts index d7f93ad2..9e699319 100644 --- a/src/rtcSessionHelpers.ts +++ b/src/rtcSessionHelpers.ts @@ -98,8 +98,9 @@ export async function enterRTCSession( // right now we assume everything is a room-scoped call const livekitAlias = rtcSession.room.roomId; + const { features, matrix_rtc_session: matrixRtcSessionConfig } = Config.get(); const useDeviceSessionMemberEvents = - Config.get().features?.feature_use_device_session_member_events; + features?.feature_use_device_session_member_events; rtcSession.joinRoomSession( await makePreferredLivekitFoci(rtcSession, livekitAlias), makeActiveFocus(), @@ -108,6 +109,11 @@ export async function enterRTCSession( ...(useDeviceSessionMemberEvents !== undefined && { useLegacyMemberEvents: !useDeviceSessionMemberEvents, }), + membershipServerSideExpiryTimeout: + matrixRtcSessionConfig?.membership_server_side_expiry_timeout, + membershipKeepAlivePeriod: + matrixRtcSessionConfig?.membership_keep_alive_period, + makeKeyDelay: matrixRtcSessionConfig?.key_rotation_on_leave_delay, }, ); } diff --git a/src/settings/rageshake.ts b/src/settings/rageshake.ts index 1ac9fba1..76ca0d6f 100644 --- a/src/settings/rageshake.ts +++ b/src/settings/rageshake.ts @@ -28,7 +28,7 @@ Please see LICENSE in the repository root for full details. // purge on startup to prevent logs from accumulating. import EventEmitter from "events"; -import { throttle } from "lodash"; +import { throttle } from "lodash-es"; import { Logger, logger } from "matrix-js-sdk/src/logger"; import { randomString } from "matrix-js-sdk/src/randomstring"; import loglevel, { LoggingMethod } from "loglevel"; diff --git a/src/settings/settings.ts b/src/settings/settings.ts index f2f7980b..b2da1674 100644 --- a/src/settings/settings.ts +++ b/src/settings/settings.ts @@ -102,7 +102,7 @@ export const playReactionsSound = new Setting( export const soundEffectVolumeSetting = new Setting( "sound-effect-volume", - 1, + 0.5, ); export const alwaysShowSelf = new Setting("always-show-self", true); diff --git a/src/sound/reactions/rock.mp3 b/src/sound/reactions/rock.mp3 index 2d584b62..1ce63129 100644 Binary files a/src/sound/reactions/rock.mp3 and b/src/sound/reactions/rock.mp3 differ diff --git a/src/sound/reactions/rock.ogg b/src/sound/reactions/rock.ogg index 84583690..2b0b385a 100644 Binary files a/src/sound/reactions/rock.ogg and b/src/sound/reactions/rock.ogg differ diff --git a/src/state/CallViewModel.test.ts b/src/state/CallViewModel.test.ts index 7c3f21d5..be743c53 100644 --- a/src/state/CallViewModel.test.ts +++ b/src/state/CallViewModel.test.ts @@ -23,7 +23,7 @@ import { RemoteParticipant, } from "livekit-client"; import * as ComponentsCore from "@livekit/components-core"; -import { isEqual } from "lodash"; +import { isEqual } from "lodash-es"; import { CallViewModel, Layout } from "./CallViewModel"; import { diff --git a/src/state/CallViewModel.ts b/src/state/CallViewModel.ts index 3804d4a0..b344716e 100644 --- a/src/state/CallViewModel.ts +++ b/src/state/CallViewModel.ts @@ -672,16 +672,6 @@ export class CallViewModel extends ViewModel { this.gridModeUserSelection.next(value); } - private readonly oneOnOne: Observable = combineLatest( - [this.grid, this.screenShares], - (grid, screenShares) => - grid.length == 2 && - // There might not be a remote tile if only the local user is in the call - // and they're using the duplicate tiles option - grid.some((vm) => !vm.local) && - screenShares.length === 0, - ); - private readonly gridLayout: Observable = combineLatest( [this.grid, this.spotlight], (grid, spotlight) => ({ @@ -714,13 +704,22 @@ export class CallViewModel extends ViewModel { pip: pip ?? undefined, })); - private readonly oneOnOneLayout: Observable = + private readonly oneOnOneLayout: Observable = this.mediaItems.pipe( - map((grid) => ({ - type: "one-on-one", - local: grid.find((vm) => vm.vm.local)!.vm as LocalUserMediaViewModel, - remote: grid.find((vm) => !vm.vm.local)!.vm as RemoteUserMediaViewModel, - })), + map((mediaItems) => { + if (mediaItems.length !== 2) return null; + const local = mediaItems.find((vm) => vm.vm.local)! + .vm as LocalUserMediaViewModel; + const remote = mediaItems.find((vm) => !vm.vm.local)?.vm as + | RemoteUserMediaViewModel + | undefined; + // There might not be a remote tile if there are screen shares, or if + // only the local user is in the call and they're using the duplicate + // tiles option + if (remote === undefined) return null; + + return { type: "one-on-one", local, remote }; + }), ); private readonly pipLayout: Observable = this.spotlight.pipe( @@ -738,9 +737,9 @@ export class CallViewModel extends ViewModel { switchMap((gridMode) => { switch (gridMode) { case "grid": - return this.oneOnOne.pipe( + return this.oneOnOneLayout.pipe( switchMap((oneOnOne) => - oneOnOne ? this.oneOnOneLayout : this.gridLayout, + oneOnOne === null ? this.gridLayout : of(oneOnOne), ), ); case "spotlight": @@ -755,20 +754,20 @@ export class CallViewModel extends ViewModel { }), ); case "narrow": - return this.oneOnOne.pipe( + return this.oneOnOneLayout.pipe( switchMap((oneOnOne) => - oneOnOne - ? // The expanded spotlight layout makes for a better one-on-one - // experience in narrow windows - this.spotlightExpandedLayout - : combineLatest( + oneOnOne === null + ? combineLatest( [this.grid, this.spotlight], (grid, spotlight) => grid.length > smallMobileCallThreshold || spotlight.some((vm) => vm instanceof ScreenShareViewModel) ? this.spotlightPortraitLayout : this.gridLayout, - ).pipe(switchAll()), + ).pipe(switchAll()) + : // The expanded spotlight layout makes for a better one-on-one + // experience in narrow windows + this.spotlightExpandedLayout, ), ); case "flat": diff --git a/src/tile/GridTile.tsx b/src/tile/GridTile.tsx index 12f041e2..6a7de733 100644 --- a/src/tile/GridTile.tsx +++ b/src/tile/GridTile.tsx @@ -26,6 +26,7 @@ import { VisibilityOnIcon, UserProfileIcon, ExpandIcon, + VolumeOffSolidIcon, } from "@vector-im/compound-design-tokens/assets/web/icons"; import { ContextMenu, @@ -62,6 +63,7 @@ interface TileProps { interface UserMediaTileProps extends TileProps { vm: UserMediaViewModel; mirror: boolean; + locallyMuted: boolean; menuStart?: ReactNode; menuEnd?: ReactNode; } @@ -71,6 +73,7 @@ const UserMediaTile = forwardRef( { vm, showSpeakingIndicators, + locallyMuted, menuStart, menuEnd, className, @@ -96,7 +99,16 @@ const UserMediaTile = forwardRef( ); const { raisedHands, lowerHand, reactions } = useReactions(); - const MicIcon = audioEnabled ? MicOnSolidIcon : MicOffSolidIcon; + const AudioIcon = locallyMuted + ? VolumeOffSolidIcon + : audioEnabled + ? MicOnSolidIcon + : MicOffSolidIcon; + const audioIconLabel = locallyMuted + ? t("video_tile.muted_for_me") + : audioEnabled + ? t("microphone_on") + : t("microphone_off"); const [menuOpen, setMenuOpen] = useState(false); const menu = ( @@ -134,11 +146,11 @@ const UserMediaTile = forwardRef( [styles.handRaised]: !showSpeaking && !!handRaised, })} nameTagLeadingIcon={ - } @@ -199,6 +211,7 @@ const LocalUserMediaTile = forwardRef( diff --git a/src/useReactions.tsx b/src/useReactions.tsx index c8d3c3b5..8824f103 100644 --- a/src/useReactions.tsx +++ b/src/useReactions.tsx @@ -195,11 +195,12 @@ export const ReactionsProvider = ({ // Skip any event without a sender or event ID. if (!sender || !reactionEventId) return; + room.client + .decryptEventIfNeeded(event) + .catch((e) => logger.warn(`Failed to decrypt ${event.getId()}`, e)); + if (event.isBeingDecrypted() || event.isDecryptionFailure()) return; + if (event.getType() === ElementCallReactionEventType) { - room.client - .decryptEventIfNeeded(event) - .catch((e) => logger.warn(`Failed to decrypt ${event.getId()}`, e)); - if (event.isBeingDecrypted() || event.isDecryptionFailure()) return; const content: ECallReactionEventContent = event.getContent(); const membershipEventId = content?.["m.relates_to"]?.event_id; diff --git a/src/utils/matrix.ts b/src/utils/matrix.ts index d3821a3f..4b966429 100644 --- a/src/utils/matrix.ts +++ b/src/utils/matrix.ts @@ -123,6 +123,7 @@ export async function initClient( localTimeoutMs: 5000, useE2eForGroupCall: e2eEnabled, fallbackICEServerAllowed: fallbackICEServerAllowed, + store: new MemoryStore(), }); // In case of logging in a new matrix account but there is still crypto local store. This is needed for: diff --git a/vite.config.js b/vite.config.js index 141cd80c..b92f717b 100644 --- a/vite.config.js +++ b/vite.config.js @@ -8,6 +8,7 @@ Please see LICENSE in the repository root for full details. import { defineConfig, loadEnv } from "vite"; import svgrPlugin from "vite-plugin-svgr"; import htmlTemplate from "vite-plugin-html-template"; +import { codecovVitePlugin } from "@codecov/vite-plugin"; import { sentryVitePlugin } from "@sentry/vite-plugin"; import react from "@vitejs/plugin-react"; import basicSsl from "@vitejs/plugin-basic-ssl"; @@ -31,6 +32,12 @@ export default defineConfig(({ mode }) => { title: env.VITE_PRODUCT_NAME || "Element Call", }, }), + + codecovVitePlugin({ + enableBundleAnalysis: process.env.CODECOV_TOKEN !== undefined, + bundleName: "element-call", + uploadToken: process.env.CODECOV_TOKEN, + }), ]; if ( diff --git a/yarn.lock b/yarn.lock index 47699474..504bc0eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,44 @@ # yarn lockfile v1 +"@actions/core@^1.10.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.11.1.tgz#ae683aac5112438021588030efb53b1adb86f172" + integrity sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A== + dependencies: + "@actions/exec" "^1.1.1" + "@actions/http-client" "^2.0.1" + +"@actions/exec@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@actions/exec/-/exec-1.1.1.tgz#2e43f28c54022537172819a7cf886c844221a611" + integrity sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w== + dependencies: + "@actions/io" "^1.0.1" + +"@actions/github@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@actions/github/-/github-6.0.0.tgz#65883433f9d81521b782a64cc1fd45eef2191ea7" + integrity sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g== + dependencies: + "@actions/http-client" "^2.2.0" + "@octokit/core" "^5.0.1" + "@octokit/plugin-paginate-rest" "^9.0.0" + "@octokit/plugin-rest-endpoint-methods" "^10.0.0" + +"@actions/http-client@^2.0.1", "@actions/http-client@^2.2.0": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.2.3.tgz#31fc0b25c0e665754ed39a9f19a8611fc6dab674" + integrity sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA== + dependencies: + tunnel "^0.0.6" + undici "^5.25.4" + +"@actions/io@^1.0.1": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@actions/io/-/io-1.1.3.tgz#4cdb6254da7962b07473ff5c335f3da485d94d71" + integrity sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q== + "@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.3.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" @@ -957,6 +995,26 @@ resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-1.10.0.tgz#1a67ac889c2d464a3492b3e54c38f80517963b16" integrity sha512-QDdVFLoN93Zjg36NoQPZfsVH9tZew7wKDKyV5qRdj8ntT4wQCOradQjRaTdwMhWUYsgKsvCINKKm87FdEk96Ag== +"@codecov/bundler-plugin-core@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@codecov/bundler-plugin-core/-/bundler-plugin-core-1.3.0.tgz#6b2e2eeabd20dc085f281dcb4fb173f66e745ef7" + integrity sha512-Zs0uTDou/QnYnnXl8BWxX4Tc4bGeUAPzgAyZCdtXT2BIcyb5zjymXByyN7zbqPgiU0Ymbg3DgsK6v726shiq3w== + dependencies: + "@actions/core" "^1.10.1" + "@actions/github" "^6.0.0" + chalk "4.1.2" + semver "^7.5.4" + unplugin "^1.10.1" + zod "^3.22.4" + +"@codecov/vite-plugin@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@codecov/vite-plugin/-/vite-plugin-1.3.0.tgz#502e19427fca4416685f475b891ee10cff1ec274" + integrity sha512-OiseFReYsl5bHYfFd7AZ46ptII+bSQLTRD1qv7CFOmQQLzfrxWtkfqZ+5wQs+9emaWyzERpFI4odDFDvMMS6EA== + dependencies: + "@codecov/bundler-plugin-core" "^1.3.0" + unplugin "^1.10.1" + "@csstools/cascade-layer-name-parser@^2.0.4": version "2.0.4" resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.4.tgz#64d128529397aa1e1c986f685713363b262b81b1" @@ -967,18 +1025,18 @@ resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-5.0.1.tgz#829f1c76f5800b79c51c709e2f36821b728e0e10" integrity sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA== -"@csstools/css-calc@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-2.0.4.tgz#c04be9b80a65dc70b82a6acd8ab3bcf3301827ad" - integrity sha512-8/iCd8lH10gKNsq5detnbGWiFd6PXK2wB8wjE6fHNNhtqvshyMrIJgffwRcw6yl/gzGTH+N1i+KRhjqHxqYTmg== +"@csstools/css-calc@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-2.1.0.tgz#3f28b8f8f736b8f78abbc75eebd55c756207e773" + integrity sha512-X69PmFOrjTZfN5ijxtI8hZ9kRADFSLrmmQ6hgDJ272Il049WGKpDY64KhrFm/7rbWve0z81QepawzjkKlqkNGw== -"@csstools/css-color-parser@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-3.0.5.tgz#0dc6c8757ad913c60f6e871ab907fbb22de30e52" - integrity sha512-4Wo8raj9YF3PnZ5iGrAl+BSsk2MYBOEUS/X4k1HL9mInhyCVftEG02MywdvelXlwZGUF2XTQ0qj9Jd398mhqrw== +"@csstools/css-color-parser@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-3.0.6.tgz#e646838f6aab4618aeea7ba0c4921a254e180276" + integrity sha512-S/IjXqTHdpI4EtzGoNCHfqraXF37x12ZZHA1Lk7zoT5pm2lMjFuqhX/89L7dqX4CcMacKK+6ZCs5TmEGb/+wKw== dependencies: "@csstools/color-helpers" "^5.0.1" - "@csstools/css-calc" "^2.0.4" + "@csstools/css-calc" "^2.1.0" "@csstools/css-parser-algorithms@^3.0.4": version "3.0.4" @@ -1003,23 +1061,23 @@ "@csstools/selector-specificity" "^5.0.0" postcss-selector-parser "^7.0.0" -"@csstools/postcss-color-function@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-4.0.5.tgz#6a7b347998644775f3ed845a724bdbde6c217c5e" - integrity sha512-6dHr2NDsBMiZCPkGDi2qMfIbzV2kWV8Dh7SVb1FZGnN/r2TI4TSAkVF8rCG5L70yQZHMcQGB84yp8Zm+RGhoHA== +"@csstools/postcss-color-function@^4.0.6": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-4.0.6.tgz#dabd1e516ccd4c7bd5803e37075a503b5f7f0ac4" + integrity sha512-EcvXfC60cTIumzpsxWuvVjb7rsJEHPvqn3jeMEBUaE3JSc4FRuP7mEQ+1eicxWmIrs3FtzMH9gR3sgA5TH+ebQ== dependencies: - "@csstools/css-color-parser" "^3.0.5" + "@csstools/css-color-parser" "^3.0.6" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" "@csstools/postcss-progressive-custom-properties" "^4.0.0" "@csstools/utilities" "^2.0.0" -"@csstools/postcss-color-mix-function@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.5.tgz#f8206e9a905d6f4a76f15289611e18859d87792b" - integrity sha512-jgq0oGbit7TxWYP8y2hWWfV64xzcAgJk54PBYZ2fDrRgEDy1l5YMCrFawnn+5JETh/E1jjXPDFhFEYhwr3vA3g== +"@csstools/postcss-color-mix-function@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.6.tgz#d971832ec30b3b60363bceddfeb4b90c7cc0f4b8" + integrity sha512-jVKdJn4+JkASYGhyPO+Wa5WXSx1+oUgaXb3JsjJn/BlrtFh5zjocCY7pwWi0nuP24V1fY7glQsxEYcYNy0dMFg== dependencies: - "@csstools/css-color-parser" "^3.0.5" + "@csstools/css-color-parser" "^3.0.6" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" "@csstools/postcss-progressive-custom-properties" "^4.0.0" @@ -1035,12 +1093,12 @@ "@csstools/postcss-progressive-custom-properties" "^4.0.0" "@csstools/utilities" "^2.0.0" -"@csstools/postcss-exponential-functions@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.4.tgz#92bf51b0cbfc109e6958e91cf8af40fef9311731" - integrity sha512-xmzFCGTkkLDs7q9vVaRGlnu8s51lRRJzHsaJ/nXmkQuyg0q7gh7rTbJ0bY5sSVet+KB7MTIxRXRUCl2tm7RODA== +"@csstools/postcss-exponential-functions@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.5.tgz#0c39f75df3357ee1e444b0aa0ede4e12aafea0e9" + integrity sha512-mi8R6dVfA2nDoKM3wcEi64I8vOYEgQVtVKCfmLHXupeLpACfGAided5ddMt5f+CnEodNu4DifuVwb0I6fQDGGQ== dependencies: - "@csstools/css-calc" "^2.0.4" + "@csstools/css-calc" "^2.1.0" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" @@ -1052,32 +1110,32 @@ "@csstools/utilities" "^2.0.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-gamut-mapping@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.5.tgz#17c6c2619a31a6e92956c752716734355ba5d1b5" - integrity sha512-VQDayRhC/Mg1fuo8/4F43La5aROgvVyqtCqdNyGvRKi6L1+zXfwQ583nImi7k/gn2GNJH82Bf9mutTuT1GtXzA== +"@csstools/postcss-gamut-mapping@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.6.tgz#04ec6a50fdbca2a30dec56e6bb780c79621e47a7" + integrity sha512-0ke7fmXfc8H+kysZz246yjirAH6JFhyX9GTlyRnM0exHO80XcA9zeJpy5pOp5zo/AZiC/q5Pf+Hw7Pd6/uAoYA== dependencies: - "@csstools/css-color-parser" "^3.0.5" + "@csstools/css-color-parser" "^3.0.6" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" -"@csstools/postcss-gradients-interpolation-method@^5.0.5": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.5.tgz#477bbdaac51b7b0579f1da4a395a94e226e28741" - integrity sha512-l3ShDdAt/szbyBh3Jz27MRFt5WPAbnVCMsU7Vs7EbBxJQNgVDrcu1APBB2nPagDJOyhI6/IahuW7nb6grWVTpA== +"@csstools/postcss-gradients-interpolation-method@^5.0.6": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.6.tgz#67fa61ada95e4534687fa76cd2d15ac74386560e" + integrity sha512-Itrbx6SLUzsZ6Mz3VuOlxhbfuyLTogG5DwEF1V8dAi24iMuvQPIHd7Ti+pNDp7j6WixndJGZaoNR0f9VSzwuTg== dependencies: - "@csstools/css-color-parser" "^3.0.5" + "@csstools/css-color-parser" "^3.0.6" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" "@csstools/postcss-progressive-custom-properties" "^4.0.0" "@csstools/utilities" "^2.0.0" -"@csstools/postcss-hwb-function@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.5.tgz#63a3e45919e5ab8d041a6c1d7b38f9e6f037b7ff" - integrity sha512-bPn/SQyiiYjWkwK2ykc7O9LliMR50YfUGukd6jQI2okHzB7NxNt/IS45tS1Muk7Hhf3B9Lbmg1Ofq36tBmM92Q== +"@csstools/postcss-hwb-function@^4.0.6": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.6.tgz#c40f557a54ed45e75c601a9ba7a08d315f64dbd7" + integrity sha512-927Pqy3a1uBP7U8sTfaNdZVB0mNXzIrJO/GZ8us9219q9n06gOqCdfZ0E6d1P66Fm0fYHvxfDbfcUuwAn5UwhQ== dependencies: - "@csstools/css-color-parser" "^3.0.5" + "@csstools/css-color-parser" "^3.0.6" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" "@csstools/postcss-progressive-custom-properties" "^4.0.0" @@ -1145,12 +1203,12 @@ "@csstools/css-tokenizer" "^3.0.3" "@csstools/utilities" "^2.0.0" -"@csstools/postcss-media-minmax@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.4.tgz#db7b1be3a315b0bd9c10397adb40688c33d502a4" - integrity sha512-zgdBOCI9aKoy5GK9tb/3ve0pl7vH0HJg7rfQEWT3TZiIKh7XEWucDSTSwnwgdgtgz50UxrOfbK+C59M+u2fE2Q== +"@csstools/postcss-media-minmax@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.5.tgz#66970aa8d8057f84b88aff21f385194fbe03eb11" + integrity sha512-sdh5i5GToZOIAiwhdntRWv77QDtsxP2r2gXW/WbLSCoLr00KTq/yiF1qlQ5XX2+lmiFa8rATKMcbwl3oXDMNew== dependencies: - "@csstools/css-calc" "^2.0.4" + "@csstools/css-calc" "^2.1.0" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" "@csstools/media-query-list-parser" "^4.0.2" @@ -1179,12 +1237,12 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-oklab-function@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.5.tgz#59b3374bc6025ee74d10f3f2d99f2d966dad7814" - integrity sha512-19bsJQFyJNSEhpaVq0Mq1E0HDXfx8qMHa/bR1MaHr1UD4DWvM2/J6YXb9OVGS7eFl92Y3c84Yggn9uFv13vsiQ== +"@csstools/postcss-oklab-function@^4.0.6": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.6.tgz#17e8dfb6422dfd8d77256def5d5be8335ea7af34" + integrity sha512-Hptoa0uX+XsNacFBCIQKTUBrFKDiplHan42X73EklG6XmQLG7/aIvxoNhvZ7PvOWMt67Pw3bIlUY2nD6p5vL8A== dependencies: - "@csstools/css-color-parser" "^3.0.5" + "@csstools/css-color-parser" "^3.0.6" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" "@csstools/postcss-progressive-custom-properties" "^4.0.0" @@ -1197,12 +1255,21 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-relative-color-syntax@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.5.tgz#13617cf0b8e588a30e05999ce4883f1e4c76bdbb" - integrity sha512-5VrE4hAwv/ZpuL1Yo0ZGGFi1QPpIikp/rzz7LnpQ31ACQVRIA5/M9qZmJbRlZVsJ4bUFSQ3dq6kHSHrCt2uM6Q== +"@csstools/postcss-random-function@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-random-function/-/postcss-random-function-1.0.1.tgz#73a0b62b5dbbc03c25a28f085235eb61b09a2fb0" + integrity sha512-Ab/tF8/RXktQlFwVhiC70UNfpFQRhtE5fQQoP2pO+KCPGLsLdWFiOuHgSRtBOqEshCVAzR4H6o38nhvRZq8deA== dependencies: - "@csstools/css-color-parser" "^3.0.5" + "@csstools/css-calc" "^2.1.0" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + +"@csstools/postcss-relative-color-syntax@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.6.tgz#4b8bc219b34b16f5abdbbcf09ac13e65bff6ef16" + integrity sha512-yxP618Xb+ji1I624jILaYM62uEmZcmbdmFoZHoaThw896sq0vU39kqTTF+ZNic9XyPtPMvq0vyvbgmHaszq8xg== + dependencies: + "@csstools/css-color-parser" "^3.0.6" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" "@csstools/postcss-progressive-custom-properties" "^4.0.0" @@ -1215,12 +1282,21 @@ dependencies: postcss-selector-parser "^7.0.0" -"@csstools/postcss-stepped-value-functions@^4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.4.tgz#bf281e8dee11ba16db009a32b8e43862720c8489" - integrity sha512-JjShuWZkmIOT8EfI7lYjl7V5qM29LNDdnnSo5O7v/InJJHfeiQjtxyAaZzKGXzpkghPrCAcgLfJ+IyqTdXo7IA== +"@csstools/postcss-sign-functions@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.0.0.tgz#37ea7c85874cef5710a1a8878bf0e2b26d4270fd" + integrity sha512-cUpr5W8eookBi5TiLSvx1HL6DFoTTgcj2pmiVNd63y2JHhvtpnJs3sfsFMmLhB42yTRS02tFPsNz3Q5zeN8ZVA== dependencies: - "@csstools/css-calc" "^2.0.4" + "@csstools/css-calc" "^2.1.0" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + +"@csstools/postcss-stepped-value-functions@^4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.5.tgz#4d68633d502fbe2b6ef3898e368e3540488a0d8a" + integrity sha512-G6SJ6hZJkhxo6UZojVlLo14MohH4J5J7z8CRBrxxUYy9JuZiIqUo5TBYyDGcE0PLdzpg63a7mHSJz3VD+gMwqw== + dependencies: + "@csstools/css-calc" "^2.1.0" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" @@ -1232,12 +1308,12 @@ "@csstools/color-helpers" "^5.0.1" postcss-value-parser "^4.2.0" -"@csstools/postcss-trigonometric-functions@^4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.4.tgz#bc46c170f04712fa4714078a931d1ca0397e43c8" - integrity sha512-nn+gWTZZlSnwbyUtGQCnvBXIx1TX+HVStvIm3221dWGQvp47bB5giMBbuAK4a/UJGBbfDQhGKEbYq++WWM1i1A== +"@csstools/postcss-trigonometric-functions@^4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.5.tgz#267b95a8bd45536e0360596b6da660a9eb6aac83" + integrity sha512-/YQThYkt5MLvAmVu7zxjhceCYlKrYddK6LEmK5I4ojlS6BmO9u2yO4+xjXzu2+NPYmHSTtP4NFSamBCMmJ1NJA== dependencies: - "@csstools/css-calc" "^2.0.4" + "@csstools/css-calc" "^2.1.0" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" @@ -1540,6 +1616,11 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== +"@fastify/busboy@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" + integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== + "@floating-ui/core@^1.6.0": version "1.6.8" resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.8.tgz#aa43561be075815879305965020f492cdb43da12" @@ -1576,6 +1657,16 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.8.tgz#21a907684723bbbaa5f0974cf7730bd797eb8e62" integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig== +"@fontsource/inconsolata@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@fontsource/inconsolata/-/inconsolata-5.1.0.tgz#f6a76680173336d02d2ce4009699821a6be239ce" + integrity sha512-vYPdG3R46MhK+99De8e8MMyNad5BAb1oTnHMpojlctZyWJIcin8bKHFPUpQSNRhZ4HQL/+DCW+RTiG2RbnweTw== + +"@fontsource/inter@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@fontsource/inter/-/inter-5.1.0.tgz#ab629b2c662457022d2d6a29854b8dc8ba538c47" + integrity sha512-zKZR3kf1G0noIes1frLfOHP5EXVVm0M7sV/l9f/AaYf+M/DId35FO4LkigWjqWYjTJZGgplhdv4cB+ssvCqr5A== + "@formatjs/ecma402-abstract@2.2.3": version "2.2.3" resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz#dc5a032e1971c709b32b9ab511fa35504a7d3bc9" @@ -1753,10 +1844,102 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@opentelemetry/api-logs@0.54.0": - version "0.54.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.54.0.tgz#a8e09ae22f6d318b6202765dbc2cc0b05e3377be" - integrity sha512-9HhEh5GqFrassUndqJsyW7a0PzfyWr2eV2xwzHLIS+wX3125+9HE9FMRAKmJRwxZhgZGwH3HNQQjoMGZqmOeVA== +"@octokit/auth-token@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-4.0.0.tgz#40d203ea827b9f17f42a29c6afb93b7745ef80c7" + integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== + +"@octokit/core@^5.0.1": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-5.2.0.tgz#ddbeaefc6b44a39834e1bb2e58a49a117672a7ea" + integrity sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg== + dependencies: + "@octokit/auth-token" "^4.0.0" + "@octokit/graphql" "^7.1.0" + "@octokit/request" "^8.3.1" + "@octokit/request-error" "^5.1.0" + "@octokit/types" "^13.0.0" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^9.0.1": + version "9.0.5" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-9.0.5.tgz#e6c0ee684e307614c02fc6ac12274c50da465c44" + integrity sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw== + dependencies: + "@octokit/types" "^13.1.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-7.1.0.tgz#9bc1c5de92f026648131f04101cab949eeffe4e0" + integrity sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ== + dependencies: + "@octokit/request" "^8.3.0" + "@octokit/types" "^13.0.0" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^20.0.0": + version "20.0.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-20.0.0.tgz#9ec2daa0090eeb865ee147636e0c00f73790c6e5" + integrity sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA== + +"@octokit/openapi-types@^22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-22.2.0.tgz#75aa7dcd440821d99def6a60b5f014207ae4968e" + integrity sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg== + +"@octokit/plugin-paginate-rest@^9.0.0": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz#2e2a2f0f52c9a4b1da1a3aa17dabe3c459b9e401" + integrity sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw== + dependencies: + "@octokit/types" "^12.6.0" + +"@octokit/plugin-rest-endpoint-methods@^10.0.0": + version "10.4.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz#41ba478a558b9f554793075b2e20cd2ef973be17" + integrity sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg== + dependencies: + "@octokit/types" "^12.6.0" + +"@octokit/request-error@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-5.1.0.tgz#ee4138538d08c81a60be3f320cd71063064a3b30" + integrity sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q== + dependencies: + "@octokit/types" "^13.1.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^8.3.0", "@octokit/request@^8.3.1": + version "8.4.0" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-8.4.0.tgz#7f4b7b1daa3d1f48c0977ad8fffa2c18adef8974" + integrity sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw== + dependencies: + "@octokit/endpoint" "^9.0.1" + "@octokit/request-error" "^5.1.0" + "@octokit/types" "^13.1.0" + universal-user-agent "^6.0.0" + +"@octokit/types@^12.6.0": + version "12.6.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-12.6.0.tgz#8100fb9eeedfe083aae66473bd97b15b62aedcb2" + integrity sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw== + dependencies: + "@octokit/openapi-types" "^20.0.0" + +"@octokit/types@^13.0.0", "@octokit/types@^13.1.0": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.6.1.tgz#432fc6c0aaae54318e5b2d3e15c22ac97fc9b15f" + integrity sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g== + dependencies: + "@octokit/openapi-types" "^22.2.0" + +"@opentelemetry/api-logs@0.54.2": + version "0.54.2" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.54.2.tgz#bb8aa11cdc69b327b58d7e10cc2bc26bf540421f" + integrity sha512-4MTVwwmLgUh5QrJnZpYo6YRO5IBLAggf2h8gWDblwRagDStY13aEvt7gGk3jewrMaPlHiF83fENhIx0HO97/cQ== dependencies: "@opentelemetry/api" "^1.3.0" @@ -1773,33 +1956,33 @@ "@opentelemetry/semantic-conventions" "1.27.0" "@opentelemetry/exporter-trace-otlp-http@^0.54.0": - version "0.54.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.54.0.tgz#faab6129bbe3ace54ef9f1448f8d982d2a53d9c5" - integrity sha512-00X6rtr6Ew59+MM9pPSH7Ww5ScpWKBLiBA49awbPqQuVL/Bp0qp7O1cTxKHgjWdNkhsELzJxAEYwuRnDGrMXyA== + version "0.54.2" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.54.2.tgz#e6fab84405b95ece2977a80e4cec907e568ef0f3" + integrity sha512-BgWKKyD/h2zpISdmYHN/sapwTjvt1P4p5yx4xeBV8XAEqh4OQUhOtSGFG80+nPQ1F8of3mKOT1DDoDbJp1u25w== dependencies: "@opentelemetry/core" "1.27.0" - "@opentelemetry/otlp-exporter-base" "0.54.0" - "@opentelemetry/otlp-transformer" "0.54.0" + "@opentelemetry/otlp-exporter-base" "0.54.2" + "@opentelemetry/otlp-transformer" "0.54.2" "@opentelemetry/resources" "1.27.0" "@opentelemetry/sdk-trace-base" "1.27.0" -"@opentelemetry/otlp-exporter-base@0.54.0": - version "0.54.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.54.0.tgz#4f893bb2a6de1349c30da2a61b4c8fc55950c7d4" - integrity sha512-g+H7+QleVF/9lz4zhaR9Dt4VwApjqG5WWupy5CTMpWJfHB/nLxBbX73GBZDgdiNfh08nO3rNa6AS7fK8OhgF5g== +"@opentelemetry/otlp-exporter-base@0.54.2": + version "0.54.2" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.54.2.tgz#fb2361665baec9e9600c5408747fc03124889f0a" + integrity sha512-NrNyxu6R/bGAwanhz1HI0aJWKR6xUED4TjCH4iWMlAfyRukGbI9Kt/Akd2sYLwRKNhfS+sKetKGCUQPMDyYYMA== dependencies: "@opentelemetry/core" "1.27.0" - "@opentelemetry/otlp-transformer" "0.54.0" + "@opentelemetry/otlp-transformer" "0.54.2" -"@opentelemetry/otlp-transformer@0.54.0": - version "0.54.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.54.0.tgz#64ccdce8138848fbbe31fed533226c5a4026c54b" - integrity sha512-jRexIASQQzdK4AjfNIBfn94itAq4Q8EXR9d3b/OVbhd3kKQKvMr7GkxYDjbeTbY7hHCOLcLfJ3dpYQYGOe8qOQ== +"@opentelemetry/otlp-transformer@0.54.2": + version "0.54.2" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.54.2.tgz#5952072cf37a7d5da0ac5491426126459c13c839" + integrity sha512-2tIjahJlMRRUz0A2SeE+qBkeBXBFkSjR0wqJ08kuOqaL8HNGan5iZf+A8cfrfmZzPUuMKCyY9I+okzFuFs6gKQ== dependencies: - "@opentelemetry/api-logs" "0.54.0" + "@opentelemetry/api-logs" "0.54.2" "@opentelemetry/core" "1.27.0" "@opentelemetry/resources" "1.27.0" - "@opentelemetry/sdk-logs" "0.54.0" + "@opentelemetry/sdk-logs" "0.54.2" "@opentelemetry/sdk-metrics" "1.27.0" "@opentelemetry/sdk-trace-base" "1.27.0" protobufjs "^7.3.0" @@ -1812,12 +1995,12 @@ "@opentelemetry/core" "1.27.0" "@opentelemetry/semantic-conventions" "1.27.0" -"@opentelemetry/sdk-logs@0.54.0": - version "0.54.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-logs/-/sdk-logs-0.54.0.tgz#d41c64f6f6c8f6154bafa6f2f5315565cf09a172" - integrity sha512-HeWvOPiWhEw6lWvg+lCIi1WhJnIPbI4/OFZgHq9tKfpwF3LX6/kk3+GR8sGUGAEZfbjPElkkngzvd2s03zbD7Q== +"@opentelemetry/sdk-logs@0.54.2": + version "0.54.2" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-logs/-/sdk-logs-0.54.2.tgz#07cc61135b5acb09affa8cd290966027ee8c886a" + integrity sha512-yIbYqDLS/AtBbPjCjh6eSToGNRMqW2VR8RrKEy+G+J7dFG7pKoptTH5T+XlKPleP9NY8JZYIpgJBlI+Osi0rFw== dependencies: - "@opentelemetry/api-logs" "0.54.0" + "@opentelemetry/api-logs" "0.54.2" "@opentelemetry/core" "1.27.0" "@opentelemetry/resources" "1.27.0" @@ -2368,156 +2551,156 @@ estree-walker "^2.0.2" picomatch "^4.0.2" -"@rollup/rollup-android-arm-eabi@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.3.tgz#49a2a9808074f2683667992aa94b288e0b54fc82" - integrity sha512-ufb2CH2KfBWPJok95frEZZ82LtDl0A6QKTa8MoM+cWwDZvVGl5/jNb79pIhRvAalUu+7LD91VYR0nwRD799HkQ== +"@rollup/rollup-android-arm-eabi@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.25.0.tgz#3e7eda4c0c1de6d2415343002d742ff95e38dca7" + integrity sha512-CC/ZqFZwlAIbU1wUPisHyV/XRc5RydFrNLtgl3dGYskdwPZdt4HERtKm50a/+DtTlKeCq9IXFEWR+P6blwjqBA== -"@rollup/rollup-android-arm64@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.3.tgz#197e3bc01c228d3c23591e0fcedca91f8f398ec1" - integrity sha512-iAHpft/eQk9vkWIV5t22V77d90CRofgR2006UiCjHcHJFVI1E0oBkQIAbz+pLtthFw3hWEmVB4ilxGyBf48i2Q== +"@rollup/rollup-android-arm64@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.25.0.tgz#04f679231acf7284f1f8a1f7250d0e0944865ba8" + integrity sha512-/Y76tmLGUJqVBXXCfVS8Q8FJqYGhgH4wl4qTA24E9v/IJM0XvJCGQVSW1QZ4J+VURO9h8YCa28sTFacZXwK7Rg== -"@rollup/rollup-darwin-arm64@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.3.tgz#16772c0309d0dc3cca716580cdac7a1c560ddf46" - integrity sha512-QPW2YmkWLlvqmOa2OwrfqLJqkHm7kJCIMq9kOz40Zo9Ipi40kf9ONG5Sz76zszrmIZZ4hgRIkez69YnTHgEz1w== +"@rollup/rollup-darwin-arm64@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.25.0.tgz#ecea723041621747d0772af93b54752edf26467a" + integrity sha512-YVT6L3UrKTlC0FpCZd0MGA7NVdp7YNaEqkENbWQ7AOVOqd/7VzyHpgIpc1mIaxRAo1ZsJRH45fq8j4N63I/vvg== -"@rollup/rollup-darwin-x64@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.3.tgz#4e98120a1c4cda7d4043ccce72347cee53784140" - integrity sha512-KO0pN5x3+uZm1ZXeIfDqwcvnQ9UEGN8JX5ufhmgH5Lz4ujjZMAnxQygZAVGemFWn+ZZC0FQopruV4lqmGMshow== +"@rollup/rollup-darwin-x64@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.25.0.tgz#28e6e0687092f31e20982fc104779d48c643fc21" + integrity sha512-ZRL+gexs3+ZmmWmGKEU43Bdn67kWnMeWXLFhcVv5Un8FQcx38yulHBA7XR2+KQdYIOtD0yZDWBCudmfj6lQJoA== -"@rollup/rollup-freebsd-arm64@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.3.tgz#27145e414986e216e0d9b9a8d488028f33c39566" - integrity sha512-CsC+ZdIiZCZbBI+aRlWpYJMSWvVssPuWqrDy/zi9YfnatKKSLFCe6fjna1grHuo/nVaHG+kiglpRhyBQYRTK4A== +"@rollup/rollup-freebsd-arm64@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.25.0.tgz#99e9173b8aef3d1ef086983da70413988206e530" + integrity sha512-xpEIXhiP27EAylEpreCozozsxWQ2TJbOLSivGfXhU4G1TBVEYtUPi2pOZBnvGXHyOdLAUUhPnJzH3ah5cqF01g== -"@rollup/rollup-freebsd-x64@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.3.tgz#67e75fd87a903090f038b212273c492e5ca6b32f" - integrity sha512-F0nqiLThcfKvRQhZEzMIXOQG4EeX61im61VYL1jo4eBxv4aZRmpin6crnBJQ/nWnCsjH5F6J3W6Stdm0mBNqBg== +"@rollup/rollup-freebsd-x64@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.25.0.tgz#f3a1ef941f8d3c6b2b036484c69a7b2d3d9ebbd7" + integrity sha512-sC5FsmZGlJv5dOcURrsnIK7ngc3Kirnx3as2XU9uER+zjfyqIjdcMVgzy4cOawhsssqzoAX19qmxgJ8a14Qrqw== -"@rollup/rollup-linux-arm-gnueabihf@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.3.tgz#bb45ebadbb9496298ab5461373bde357e8f33e88" - integrity sha512-KRSFHyE/RdxQ1CSeOIBVIAxStFC/hnBgVcaiCkQaVC+EYDtTe4X7z5tBkFyRoBgUGtB6Xg6t9t2kulnX6wJc6A== +"@rollup/rollup-linux-arm-gnueabihf@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.25.0.tgz#9ba6adcc33f26f2a0c6ee658f0bbda4de8da2f75" + integrity sha512-uD/dbLSs1BEPzg564TpRAQ/YvTnCds2XxyOndAO8nJhaQcqQGFgv/DAVko/ZHap3boCvxnzYMa3mTkV/B/3SWA== -"@rollup/rollup-linux-arm-musleabihf@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.3.tgz#384276c23feb0a4d6ffa603a9a760decce8b4118" - integrity sha512-h6Q8MT+e05zP5BxEKz0vi0DhthLdrNEnspdLzkoFqGwnmOzakEHSlXfVyA4HJ322QtFy7biUAVFPvIDEDQa6rw== +"@rollup/rollup-linux-arm-musleabihf@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.25.0.tgz#62f2426fa9016ec884f4fa779d7b62d5ba02a41a" + integrity sha512-ZVt/XkrDlQWegDWrwyC3l0OfAF7yeJUF4fq5RMS07YM72BlSfn2fQQ6lPyBNjt+YbczMguPiJoCfaQC2dnflpQ== -"@rollup/rollup-linux-arm64-gnu@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.3.tgz#89e5a4570ddd9eca908324a6de60bd64f904e3f0" - integrity sha512-fKElSyXhXIJ9pqiYRqisfirIo2Z5pTTve5K438URf08fsypXrEkVmShkSfM8GJ1aUyvjakT+fn2W7Czlpd/0FQ== +"@rollup/rollup-linux-arm64-gnu@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.25.0.tgz#f98ec111a231d35e0c6d3404e3d80f67f9d5b9f8" + integrity sha512-qboZ+T0gHAW2kkSDPHxu7quaFaaBlynODXpBVnPxUgvWYaE84xgCKAPEYE+fSMd3Zv5PyFZR+L0tCdYCMAtG0A== -"@rollup/rollup-linux-arm64-musl@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.3.tgz#9ffd7cd6c6c6670d8c039056d6a49ad9f1f66949" - integrity sha512-YlddZSUk8G0px9/+V9PVilVDC6ydMz7WquxozToozSnfFK6wa6ne1ATUjUvjin09jp34p84milxlY5ikueoenw== +"@rollup/rollup-linux-arm64-musl@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.25.0.tgz#4b36ffb8359f959f2c29afd187603c53368b6723" + integrity sha512-ndWTSEmAaKr88dBuogGH2NZaxe7u2rDoArsejNslugHZ+r44NfWiwjzizVS1nUOHo+n1Z6qV3X60rqE/HlISgw== -"@rollup/rollup-linux-powerpc64le-gnu@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.3.tgz#4d32ce982e2d25e3b8116336ad5ce6e270b5a024" - integrity sha512-yNaWw+GAO8JjVx3s3cMeG5Esz1cKVzz8PkTJSfYzE5u7A+NvGmbVFEHP+BikTIyYWuz0+DX9kaA3pH9Sqxp69g== +"@rollup/rollup-linux-powerpc64le-gnu@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.25.0.tgz#52f4b39e6783505d168a745b79d86474fde71680" + integrity sha512-BVSQvVa2v5hKwJSy6X7W1fjDex6yZnNKy3Kx1JGimccHft6HV0THTwNtC2zawtNXKUu+S5CjXslilYdKBAadzA== -"@rollup/rollup-linux-riscv64-gnu@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.3.tgz#f43d4e0572397e3d3acd82d77d79ce021dea3310" - integrity sha512-lWKNQfsbpv14ZCtM/HkjCTm4oWTKTfxPmr7iPfp3AHSqyoTz5AgLemYkWLwOBWc+XxBbrU9SCokZP0WlBZM9lA== +"@rollup/rollup-linux-riscv64-gnu@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.25.0.tgz#49195be7e6a7d68d482b12461e2ea914e31ff977" + integrity sha512-G4hTREQrIdeV0PE2JruzI+vXdRnaK1pg64hemHq2v5fhv8C7WjVaeXc9P5i4Q5UC06d/L+zA0mszYIKl+wY8oA== -"@rollup/rollup-linux-s390x-gnu@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.3.tgz#264f8a4c206173945bdab2a676d638b7945106a9" - integrity sha512-HoojGXTC2CgCcq0Woc/dn12wQUlkNyfH0I1ABK4Ni9YXyFQa86Fkt2Q0nqgLfbhkyfQ6003i3qQk9pLh/SpAYw== +"@rollup/rollup-linux-s390x-gnu@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.25.0.tgz#4b8d50a205eac7b46cdcb9c50d4a6ae5994c02e0" + integrity sha512-9T/w0kQ+upxdkFL9zPVB6zy9vWW1deA3g8IauJxojN4bnz5FwSsUAD034KpXIVX5j5p/rn6XqumBMxfRkcHapQ== -"@rollup/rollup-linux-x64-gnu@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.3.tgz#e86172a407b2edd41540ec2ae636e497fadccff6" - integrity sha512-mnEOh4iE4USSccBOtcrjF5nj+5/zm6NcNhbSEfR3Ot0pxBwvEn5QVUXcuOwwPkapDtGZ6pT02xLoPaNv06w7KQ== +"@rollup/rollup-linux-x64-gnu@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.25.0.tgz#dfcceebc5ccac7fc2db19471996026258c81b55f" + integrity sha512-ThcnU0EcMDn+J4B9LD++OgBYxZusuA7iemIIiz5yzEcFg04VZFzdFjuwPdlURmYPZw+fgVrFzj4CA64jSTG4Ig== -"@rollup/rollup-linux-x64-musl@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.3.tgz#8ae9bf78986d1b16ccbc89ab6f2dfa96807d3178" - integrity sha512-rMTzawBPimBQkG9NKpNHvquIUTQPzrnPxPbCY1Xt+mFkW7pshvyIS5kYgcf74goxXOQk0CP3EoOC1zcEezKXhw== +"@rollup/rollup-linux-x64-musl@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.25.0.tgz#192f78bad8429711d63a31dc0a7d3312e2df850e" + integrity sha512-zx71aY2oQxGxAT1JShfhNG79PnjYhMC6voAjzpu/xmMjDnKNf6Nl/xv7YaB/9SIa9jDYf8RBPWEnjcdlhlv1rQ== -"@rollup/rollup-win32-arm64-msvc@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.3.tgz#11d6a59f651a3c2a9e5eaab0a99367b77a29c319" - integrity sha512-2lg1CE305xNvnH3SyiKwPVsTVLCg4TmNCF1z7PSHX2uZY2VbUpdkgAllVoISD7JO7zu+YynpWNSKAtOrX3AiuA== +"@rollup/rollup-win32-arm64-msvc@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.25.0.tgz#f4ec076579634f780b4e5896ae7f59f3e38e0c60" + integrity sha512-JT8tcjNocMs4CylWY/CxVLnv8e1lE7ff1fi6kbGocWwxDq9pj30IJ28Peb+Y8yiPNSF28oad42ApJB8oUkwGww== -"@rollup/rollup-win32-ia32-msvc@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.3.tgz#7ff146e53dc6e388b60329b7ec3335501d2b0f98" - integrity sha512-9SjYp1sPyxJsPWuhOCX6F4jUMXGbVVd5obVpoVEi8ClZqo52ViZewA6eFz85y8ezuOA+uJMP5A5zo6Oz4S5rVQ== +"@rollup/rollup-win32-ia32-msvc@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.25.0.tgz#5458eab1929827e4f805cefb90bd09ecf7eeed2b" + integrity sha512-dRLjLsO3dNOfSN6tjyVlG+Msm4IiZnGkuZ7G5NmpzwF9oOc582FZG05+UdfTbz5Jd4buK/wMb6UeHFhG18+OEg== -"@rollup/rollup-win32-x64-msvc@4.24.3": - version "4.24.3" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.3.tgz#7687335781efe6bee14d6ed8eff9746a9f24c9cd" - integrity sha512-HGZgRFFYrMrP3TJlq58nR1xy8zHKId25vhmm5S9jETEfDf6xybPxsavFTJaufe2zgOGYJBskGlj49CwtEuFhWQ== +"@rollup/rollup-win32-x64-msvc@4.25.0": + version "4.25.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.25.0.tgz#93415e7e707e4b156d77c5950b983b58f4bc33f3" + integrity sha512-/RqrIFtLB926frMhZD0a5oDa4eFIbyNEwLLloMTEjmqfwZWXywwVVOVmwTsuyhC9HKkVEZcOOi+KV4U9wmOdlg== "@rtsao/scc@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@sentry-internal/browser-utils@8.36.0": - version "8.36.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.36.0.tgz#c6a1b6d7eb2ccfc2f9c189504d94b3996367ccbf" - integrity sha512-AVJ9GmQW7jYxaal6hjQnnktsDNype01ajVC4q1RyOn1SfzSnXg6mXwj4xm4ovuJV+aBI7fAZJ55vEX5ASuP0ZA== +"@sentry-internal/browser-utils@8.37.1": + version "8.37.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.37.1.tgz#374028d8e37047aeda14b226707e6601de65996e" + integrity sha512-OSR/V5GCsSCG7iapWtXCT/y22uo3HlawdEgfM1NIKk1mkP15UyGQtGEzZDdih2H+SNuX1mp9jQLTjr5FFp1A5w== dependencies: - "@sentry/core" "8.36.0" - "@sentry/types" "8.36.0" - "@sentry/utils" "8.36.0" + "@sentry/core" "8.37.1" + "@sentry/types" "8.37.1" + "@sentry/utils" "8.37.1" -"@sentry-internal/feedback@8.36.0": - version "8.36.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.36.0.tgz#2cda799f921543522aa5cbf8f9c3300209b54825" - integrity sha512-aAMTm3uDBj8Ta7FwoohpLmJOpWzpWXvvtTbtmSgkeCtPJLUS8DZDCTZ9uCILUkpuYrv2savRUHsdPkxNjgL8FA== +"@sentry-internal/feedback@8.37.1": + version "8.37.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.37.1.tgz#e2d5fc934ca3b4925a5f5d0e63549830a1cf147e" + integrity sha512-Se25NXbSapgS2S+JssR5YZ48b3OY4UGmAuBOafgnMW91LXMxRNWRbehZuNUmjjHwuywABMxjgu+Yp5uJDATX+g== dependencies: - "@sentry/core" "8.36.0" - "@sentry/types" "8.36.0" - "@sentry/utils" "8.36.0" + "@sentry/core" "8.37.1" + "@sentry/types" "8.37.1" + "@sentry/utils" "8.37.1" -"@sentry-internal/replay-canvas@8.36.0": - version "8.36.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.36.0.tgz#557c8677f6c386cf79b5f8ab7485b31f4347a6cb" - integrity sha512-KJPLf+qYdrQdmouoAqIPZ2KeapIBlHWbzNdQqNxJFWLHFFjpLUtt0b+87ruvbA/q3NYy2fDwD7EB0tGS1RHBaA== +"@sentry-internal/replay-canvas@8.37.1": + version "8.37.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.37.1.tgz#e8a5e350e486b16938b3dd99886be23b7b6eff18" + integrity sha512-1JLAaPtn1VL5vblB0BMELFV0D+KUm/iMGsrl4/JpRm0Ws5ESzQl33DhXVv1IX/ZAbx9i14EjR7MG9+Hj70tieQ== dependencies: - "@sentry-internal/replay" "8.36.0" - "@sentry/core" "8.36.0" - "@sentry/types" "8.36.0" - "@sentry/utils" "8.36.0" + "@sentry-internal/replay" "8.37.1" + "@sentry/core" "8.37.1" + "@sentry/types" "8.37.1" + "@sentry/utils" "8.37.1" -"@sentry-internal/replay@8.36.0": - version "8.36.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.36.0.tgz#8f5dccab0bcc3429650a461c46a01085f2f8b782" - integrity sha512-lbic98GsSkDeinQDix54tBFEgHUlmBtO+HjXECk9jIE0vOzR4As20/s5ta46t1rKMLlnxOtJuT5jKXeUYogBUw== +"@sentry-internal/replay@8.37.1": + version "8.37.1" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.37.1.tgz#6dc2e3955879f6e7ab830db1ddee54e0a9b401f3" + integrity sha512-E/Plhisk/pXJjOdOU12sg8m/APTXTA21iEniidP6jW3/+O0tD/H/UovEqa4odNTqxPMa798xHQSQNt5loYiaLA== dependencies: - "@sentry-internal/browser-utils" "8.36.0" - "@sentry/core" "8.36.0" - "@sentry/types" "8.36.0" - "@sentry/utils" "8.36.0" + "@sentry-internal/browser-utils" "8.37.1" + "@sentry/core" "8.37.1" + "@sentry/types" "8.37.1" + "@sentry/utils" "8.37.1" "@sentry/babel-plugin-component-annotate@2.22.6": version "2.22.6" resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.22.6.tgz#829d6caf2c95c1c46108336de4e1049e6521435e" integrity sha512-V2g1Y1I5eSe7dtUVMBvAJr8BaLRr4CLrgNgtPaZyMT4Rnps82SrZ5zqmEkLXPumlXhLUWR6qzoMNN2u+RXVXfQ== -"@sentry/browser@8.36.0": - version "8.36.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.36.0.tgz#da8977b37e56e5436cf3ea2c2e4a098f480ab115" - integrity sha512-bLrQNe+wD4DkCfB8OD5TF3Rr8KA2+aTo5wF3t3Bf6KVn8//iX1ia1hhtptYiRnbRkG/0AEPxlqL6XfPZYVPQ5A== +"@sentry/browser@8.37.1": + version "8.37.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.37.1.tgz#2e6e4accc395ad9e6313e07b09415370c71e5874" + integrity sha512-5ym+iGiIpjIKKpMWi9S3/tXh9xneS+jqxwRTJqed3cb8i4ydfMAAP8sM3U8xMCWWABpWyIUW+fpewC0tkhE1aQ== dependencies: - "@sentry-internal/browser-utils" "8.36.0" - "@sentry-internal/feedback" "8.36.0" - "@sentry-internal/replay" "8.36.0" - "@sentry-internal/replay-canvas" "8.36.0" - "@sentry/core" "8.36.0" - "@sentry/types" "8.36.0" - "@sentry/utils" "8.36.0" + "@sentry-internal/browser-utils" "8.37.1" + "@sentry-internal/feedback" "8.37.1" + "@sentry-internal/replay" "8.37.1" + "@sentry-internal/replay-canvas" "8.37.1" + "@sentry/core" "8.37.1" + "@sentry/types" "8.37.1" + "@sentry/utils" "8.37.1" "@sentry/bundler-plugin-core@2.22.6": version "2.22.6" @@ -2587,36 +2770,36 @@ "@sentry/cli-win32-i686" "2.38.1" "@sentry/cli-win32-x64" "2.38.1" -"@sentry/core@8.36.0": - version "8.36.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.36.0.tgz#34276354f0cd2298803c2f8d86ba571473435ff1" - integrity sha512-cbq1WQyRqc/+YpPhjwQxfniUM3ZxmO3Pm1oisTB8dw6mlbgQfGD6aznEIjXWWJY6k6acewJlMUx09N7DnprtBw== +"@sentry/core@8.37.1": + version "8.37.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.37.1.tgz#4bafb25c762ec8680874056f6160df276c1cc7c6" + integrity sha512-82csXby589iDupM3VgCHJeWZagUyEEaDnbFcoZ/Z91QX2Sjq8FcF5OsforoXjw09i0XTFqlkFAnQVpDBmMXcpQ== dependencies: - "@sentry/types" "8.36.0" - "@sentry/utils" "8.36.0" + "@sentry/types" "8.37.1" + "@sentry/utils" "8.37.1" "@sentry/react@^8.0.0": - version "8.36.0" - resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.36.0.tgz#cb08298bacaddc585e8b655e7d859299cf597254" - integrity sha512-YIJZUx7Q5aulK034cRri0p/7MeP3tdLfdP6vMJMwrVlqoWQI9gKZXikmLIqHUQegZdMRYX5tr03gTWJu3dhYwg== + version "8.37.1" + resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.37.1.tgz#25ba2703b79436c9154e6f287959a8a3c040e8cb" + integrity sha512-HanDqBFTgIUhUsYztAHhSti+sEhQ8YopAymXgnpqkJ7j1PLHXZgQAre6M4Uvixu28WS5MDHC1onnAIBDgYRDYw== dependencies: - "@sentry/browser" "8.36.0" - "@sentry/core" "8.36.0" - "@sentry/types" "8.36.0" - "@sentry/utils" "8.36.0" + "@sentry/browser" "8.37.1" + "@sentry/core" "8.37.1" + "@sentry/types" "8.37.1" + "@sentry/utils" "8.37.1" hoist-non-react-statics "^3.3.2" -"@sentry/types@8.36.0": - version "8.36.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.36.0.tgz#b58397eb672d896b65b06103feb59dba74da9d39" - integrity sha512-K1pVFfdGHw115RzGHpwSOqoEPeayn4N1F9IfM0kxrYpQSbFT1X29eak88GBfC8gPiLEF0iFGlSaQ4ERmF7oRcA== +"@sentry/types@8.37.1": + version "8.37.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.37.1.tgz#e92a7d346cfa29116568f4ffb58f65caedee0149" + integrity sha512-ryMOTROLSLINKFEbHWvi7GigNrsQhsaScw2NddybJGztJQ5UhxIGESnxGxWCufBmWFDwd7+5u0jDPCVUJybp7w== -"@sentry/utils@8.36.0": - version "8.36.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.36.0.tgz#e733042ae231fdeeafe6970e49283dcd9ac9700f" - integrity sha512-oJ3EDPj0I00z+AwC3EWBpSidXYUoKW0Id8MfMQP5Hflniz3gif7UEReblT+FJgPEVo6+6uNzAncY0MuNMxmDKQ== +"@sentry/utils@8.37.1": + version "8.37.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.37.1.tgz#6e020cd222d56d79953ea9d4630d91b3e323ceda" + integrity sha512-Qtn2IfpII12K17txG/ZtTci35XYjYi4CxbQ3j7nXY7toGv/+MqPXwV5q2i9g94XaSXlE5Wy9/hoCZoZpZs/djA== dependencies: - "@sentry/types" "8.36.0" + "@sentry/types" "8.37.1" "@sentry/vite-plugin@^2.0.0": version "2.22.6" @@ -2834,7 +3017,14 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/lodash@^4.14.199": +"@types/lodash-es@^4.17.12": + version "4.17.12" + resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.12.tgz#65f6d1e5f80539aa7cfbfc962de5def0cf4f341b" + integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*": version "4.17.13" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.13.tgz#786e2d67cfd95e32862143abe7463a7f90c300eb" integrity sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg== @@ -2852,11 +3042,11 @@ undici-types "~6.19.8" "@types/node@>=13.7.0": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.1.0.tgz#6d6adc648b5e03f0e83c78dc788c2b037d0ad94b" - integrity sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw== + version "22.9.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.9.0.tgz#b7f16e5c3384788542c72dc3d561a7ceae2c0365" + integrity sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ== dependencies: - undici-types "~6.13.0" + undici-types "~6.19.8" "@types/node@^20.0.0": version "20.17.6" @@ -2957,15 +3147,15 @@ "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^8.0.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.13.0.tgz#650c50b8c795b5d092189f139f6d00535b5b0f3d" - integrity sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg== + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.14.0.tgz#7dc0e419c87beadc8f554bf5a42e5009ed3748dc" + integrity sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.13.0" - "@typescript-eslint/type-utils" "8.13.0" - "@typescript-eslint/utils" "8.13.0" - "@typescript-eslint/visitor-keys" "8.13.0" + "@typescript-eslint/scope-manager" "8.14.0" + "@typescript-eslint/type-utils" "8.14.0" + "@typescript-eslint/utils" "8.14.0" + "@typescript-eslint/visitor-keys" "8.14.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" @@ -2979,14 +3169,14 @@ "@typescript-eslint/utils" "5.62.0" "@typescript-eslint/parser@^8.0.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.13.0.tgz#ef76203b7cac515aa3ccc4f7ce5320dd61c46b29" - integrity sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ== + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.14.0.tgz#0a7e9dbc11bc07716ab2d7b1226217e9f6b51fc8" + integrity sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA== dependencies: - "@typescript-eslint/scope-manager" "8.13.0" - "@typescript-eslint/types" "8.13.0" - "@typescript-eslint/typescript-estree" "8.13.0" - "@typescript-eslint/visitor-keys" "8.13.0" + "@typescript-eslint/scope-manager" "8.14.0" + "@typescript-eslint/types" "8.14.0" + "@typescript-eslint/typescript-estree" "8.14.0" + "@typescript-eslint/visitor-keys" "8.14.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.62.0": @@ -2997,21 +3187,21 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.13.0.tgz#2f4aed0b87d72360e64e4ea194b1fde14a59082e" - integrity sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA== +"@typescript-eslint/scope-manager@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.14.0.tgz#01f37c147a735cd78f0ff355e033b9457da1f373" + integrity sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw== dependencies: - "@typescript-eslint/types" "8.13.0" - "@typescript-eslint/visitor-keys" "8.13.0" + "@typescript-eslint/types" "8.14.0" + "@typescript-eslint/visitor-keys" "8.14.0" -"@typescript-eslint/type-utils@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.13.0.tgz#8c8fa68490dcb9ae1687ffc7de8fbe23c26417bd" - integrity sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA== +"@typescript-eslint/type-utils@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.14.0.tgz#455c6af30c336b24a1af28bc4f81b8dd5d74d94d" + integrity sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ== dependencies: - "@typescript-eslint/typescript-estree" "8.13.0" - "@typescript-eslint/utils" "8.13.0" + "@typescript-eslint/typescript-estree" "8.14.0" + "@typescript-eslint/utils" "8.14.0" debug "^4.3.4" ts-api-utils "^1.3.0" @@ -3020,10 +3210,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/types@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.13.0.tgz#3f35dead2b2491a04339370dcbcd17bbdfc204d8" - integrity sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng== +"@typescript-eslint/types@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.14.0.tgz#0d33d8d0b08479c424e7d654855fddf2c71e4021" + integrity sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -3038,13 +3228,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.13.0.tgz#db8c93dd5437ca3ce417a255fb35ddc3c12c3e95" - integrity sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g== +"@typescript-eslint/typescript-estree@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.14.0.tgz#a7a3a5a53a6c09313e12fb4531d4ff582ee3c312" + integrity sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ== dependencies: - "@typescript-eslint/types" "8.13.0" - "@typescript-eslint/visitor-keys" "8.13.0" + "@typescript-eslint/types" "8.14.0" + "@typescript-eslint/visitor-keys" "8.14.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -3066,15 +3256,15 @@ eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/utils@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.13.0.tgz#f6d40e8b5053dcaeabbd2e26463857abf27d62c0" - integrity sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ== +"@typescript-eslint/utils@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.14.0.tgz#ac2506875e03aba24e602364e43b2dfa45529dbd" + integrity sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.13.0" - "@typescript-eslint/types" "8.13.0" - "@typescript-eslint/typescript-estree" "8.13.0" + "@typescript-eslint/scope-manager" "8.14.0" + "@typescript-eslint/types" "8.14.0" + "@typescript-eslint/typescript-estree" "8.14.0" "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" @@ -3084,12 +3274,12 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.13.0.tgz#e97b0d92b266ef38a1faf40a74da289b66683a5b" - integrity sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw== +"@typescript-eslint/visitor-keys@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.14.0.tgz#2418d5a54669af9658986ade4e6cfb7767d815ad" + integrity sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ== dependencies: - "@typescript-eslint/types" "8.13.0" + "@typescript-eslint/types" "8.14.0" eslint-visitor-keys "^3.4.3" "@ungap/structured-clone@^1.2.0": @@ -3114,9 +3304,10 @@ resolved "https://registry.yarnpkg.com/@vector-im/compound-design-tokens/-/compound-design-tokens-1.9.1.tgz#644dc7ca5ca251fd476af2a7c075e9d740c08871" integrity sha512-zjI+PhoNLNrJrLU8whEGjzCuxdqIz6tM0ARYBMS8AG1vC+NlGak6Y21TWnzHT3VINNhnF+PiQ9lFWsU65GydOg== -"@vector-im/compound-web@element-hq/compound-web#46cf2d94d9c9b6d25e80ef0e785f3a929ed040ea": - version "7.1.0" - resolved "https://codeload.github.com/element-hq/compound-web/tar.gz/46cf2d94d9c9b6d25e80ef0e785f3a929ed040ea" +"@vector-im/compound-web@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@vector-im/compound-web/-/compound-web-7.2.0.tgz#0ec4a598e5755cc4b3e83fbc232a4986a12bf808" + integrity sha512-wOT2kSo936FSBG1CsZ1vmHLwTTWBq9OBBfq76sM95rUawRSQCCWnjFMLTiacRvxBHucZaSNsfhpJH3oZcrOexw== dependencies: "@floating-ui/react" "^0.26.24" "@radix-ui/react-context-menu" "^2.2.1" @@ -3227,7 +3418,7 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.8.1: +acorn@^8.14.0, acorn@^8.8.1: version "8.14.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== @@ -3535,6 +3726,11 @@ base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +before-after-hook@^2.2.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" + integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== + bent@~7.3.6: version "7.3.12" resolved "https://registry.yarnpkg.com/bent/-/bent-7.3.12.tgz#e0a2775d4425e7674c64b78b242af4f49da6b035" @@ -3684,9 +3880,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001669: - version "1.0.30001677" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz#27c2e2c637e007cfa864a16f7dfe7cde66b38b5f" - integrity sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog== + version "1.0.30001680" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz#5380ede637a33b9f9f1fc6045ea99bd142f3da5e" + integrity sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA== caseless@~0.12.0: version "0.12.0" @@ -3704,6 +3900,14 @@ chai@^5.1.2: loupe "^3.1.0" pathval "^2.0.0" +chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@~4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -3713,14 +3917,6 @@ chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@~4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" @@ -3990,10 +4186,10 @@ css-what@^6.1.0: resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== -cssdb@^8.1.2: - version "8.1.2" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-8.1.2.tgz#182ac60c19a9182d158dda2816ac2a81254752d5" - integrity sha512-ba3HmHU/lxy9nfz/fQLA/Ul+/oSdSOXqoR53BDmRvXTfRbkGqHKqr2rSxADYMRF4uD8vZhMlCQ6c5TEfLLkkVA== +cssdb@^8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-8.2.1.tgz#62a5d9a41e2c86f1d7c35981098fc5ce47c5766c" + integrity sha512-KwEPys7lNsC8OjASI8RrmwOYYDcm0JOW9zQhcV83ejYcQkirTEyeAGui8aO2F5PiS6SLpxuTzl6qlMElIdsgIg== cssesc@^3.0.0: version "3.0.0" @@ -4133,6 +4329,11 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== +deprecation@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + dequal@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" @@ -4237,9 +4438,9 @@ easy-table@1.2.0: wcwidth "^1.0.1" electron-to-chromium@^1.5.41: - version "1.5.50" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz#d9ba818da7b2b5ef1f3dd32bce7046feb7e93234" - integrity sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw== + version "1.5.55" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.55.tgz#73684752aa2e1aa49cafb355a41386c6637e76a9" + integrity sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg== emoji-regex@^8.0.0: version "8.0.0" @@ -5294,9 +5495,9 @@ i18next-parser@^9.0.0: vinyl-fs "^4.0.0" i18next@^23.0.0, i18next@^23.5.1: - version "23.16.4" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.16.4.tgz#79c07544f6d6fa803fe8427108d547542c1d6cf4" - integrity sha512-9NIYBVy9cs4wIqzurf7nLXPyf3R78xYbxExVqHLK9od3038rjpyOEzW+XB130kZ1N4PZ9inTtJ471CRJ4Ituyg== + version "23.16.5" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.16.5.tgz#53d48ae9f985fd73fc1fcb96e6c7d90ababf0831" + integrity sha512-KTlhE3EP9x6pPTAW7dy0WKIhoCpfOGhRQlO+jttQLgzVaoOjWwBWramu7Pp0i+8wDNduuzXfe3kkVbzrKyrbTA== dependencies: "@babel/runtime" "^7.23.2" @@ -5794,9 +5995,9 @@ kleur@^3.0.3: integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== knip@^5.27.2: - version "5.36.2" - resolved "https://registry.yarnpkg.com/knip/-/knip-5.36.2.tgz#346ce5eb464bdf34329cdcf3a6d41d0a41dce647" - integrity sha512-MudNTKBSqThAFAV29GuRPSKSebByZeQCFeNgXVRVSd+sXcubehTgQHTGqqiwlXGCt4WBP7vuVekp0ZehfZtHuw== + version "5.36.6" + resolved "https://registry.yarnpkg.com/knip/-/knip-5.36.6.tgz#24a0af598b99728c4c80bb823d70c276b732899b" + integrity sha512-9Id0az4KDqdiSWEkzGh9qPXs84gvp+4fPeYF8k3ogiJK98EjAgPGAVWcdtrcIj1fgs4OSiGe/e7UOdy3wXhbTA== dependencies: "@nodelib/fs.walk" "1.2.8" "@snyk/github-codeowners" "1.1.0" @@ -5894,11 +6095,6 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - loglevel@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.9.1.tgz#d63976ac9bcd03c7c873116d41c2a85bafff1be7" @@ -5998,9 +6194,9 @@ matrix-events-sdk@0.0.1: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz#c8c38911e2cb29023b0bbac8d6f32e0de2c957dd" integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA== -matrix-js-sdk@matrix-org/matrix-js-sdk#6971e7bebaad643c233e5057da7a0d42441c0789: +matrix-js-sdk@matrix-org/matrix-js-sdk#8e9a04cdec0f88fc876bbbf406db55b0677f005d: version "34.10.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/6971e7bebaad643c233e5057da7a0d42441c0789" + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/8e9a04cdec0f88fc876bbbf406db55b0677f005d" dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/matrix-sdk-crypto-wasm" "^9.0.0" @@ -6011,14 +6207,14 @@ matrix-js-sdk@matrix-org/matrix-js-sdk#6971e7bebaad643c233e5057da7a0d42441c0789: jwt-decode "^4.0.0" loglevel "^1.7.1" matrix-events-sdk "0.0.1" - matrix-widget-api "^1.8.2" + matrix-widget-api "^1.10.0" oidc-client-ts "^3.0.1" p-retry "4" sdp-transform "^2.14.1" unhomoglyph "^1.0.6" uuid "11" -matrix-widget-api@^1.10.0, matrix-widget-api@^1.8.2: +matrix-widget-api@^1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/matrix-widget-api/-/matrix-widget-api-1.10.0.tgz#d31ea073a5871a1fb1a511ef900b0c125a37bf55" integrity sha512-rkAJ29briYV7TJnfBVLVSKtpeBrBju15JZFSDP6wj8YdbCu1bdmlplJayQ+vYaw1x4fzI49Q+Nz3E85s46sRDw== @@ -6436,7 +6632,7 @@ pathval@^2.0.0: resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== -picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.0: +picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -6480,12 +6676,12 @@ postcss-clamp@^4.1.0: dependencies: postcss-value-parser "^4.2.0" -postcss-color-functional-notation@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.5.tgz#1e52f8dbcc51a15f2fcea08ff7f8c74182229d95" - integrity sha512-zW97tq5t2sSSSZQcIS4y6NDZj79zVv8hrBIJ4PSFZFmMBcjYqCt8sRXFGIYZohCpfFHmimMNqJje2Qd3qqMNdg== +postcss-color-functional-notation@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.6.tgz#d74c1e2294b72287eb9af079c04b7ddeff7ec5b3" + integrity sha512-wLXvm8RmLs14Z2nVpB4CWlnvaWPRcOZFltJSlcbYwSJ1EDZKsKDhPKIMecCnuU054KSmlmubkqczmm6qBPCBhA== dependencies: - "@csstools/css-color-parser" "^3.0.5" + "@csstools/css-color-parser" "^3.0.6" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" "@csstools/postcss-progressive-custom-properties" "^4.0.0" @@ -6586,12 +6782,12 @@ postcss-image-set-function@^7.0.0: "@csstools/utilities" "^2.0.0" postcss-value-parser "^4.2.0" -postcss-lab-function@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-7.0.5.tgz#949b3d30a4dc6a87a38a12d978db14c58bda95c8" - integrity sha512-q2M8CfQbjHxbwv1GPAny05EVuj0WByUgq/OWKgpfbTHnMchtUqsVQgaW1mztjSZ4UPufwuTLB14fmFGsoTE/VQ== +postcss-lab-function@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-7.0.6.tgz#3121800fc7939ed1d9a1e87abeb33c407151252c" + integrity sha512-HPwvsoK7C949vBZ+eMyvH2cQeMr3UREoHvbtra76/UhDuiViZH6pir+z71UaJQohd7VDSVUdR6TkWYKExEc9aQ== dependencies: - "@csstools/css-color-parser" "^3.0.5" + "@csstools/css-color-parser" "^3.0.6" "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" "@csstools/postcss-progressive-custom-properties" "^4.0.0" @@ -6638,19 +6834,19 @@ postcss-place@^10.0.0: postcss-value-parser "^4.2.0" postcss-preset-env@^10.0.0: - version "10.0.9" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-10.0.9.tgz#1869c54eeecf7611639f57e5fc3acbb5d76c202c" - integrity sha512-mpfJWMAW6szov+ifW9HpNUUZE3BoXoHc4CDzNQHdH2I4CwsqulQ3bpFNUR6zh4tg0BUcqM7UUAbzG4UTel8QYw== + version "10.1.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-10.1.0.tgz#b9c85d25b26c7581a8b11792b1883469c4b69cbf" + integrity sha512-OfzbinZWpFcmuLB3mabsGa0NArzx5DVVtZ9G1k326iLvU7Jj9q/G3ihBu/Msi0mt96CjrM23HpbuEewDvT71KQ== dependencies: "@csstools/postcss-cascade-layers" "^5.0.1" - "@csstools/postcss-color-function" "^4.0.5" - "@csstools/postcss-color-mix-function" "^3.0.5" + "@csstools/postcss-color-function" "^4.0.6" + "@csstools/postcss-color-mix-function" "^3.0.6" "@csstools/postcss-content-alt-text" "^2.0.4" - "@csstools/postcss-exponential-functions" "^2.0.4" + "@csstools/postcss-exponential-functions" "^2.0.5" "@csstools/postcss-font-format-keywords" "^4.0.0" - "@csstools/postcss-gamut-mapping" "^2.0.5" - "@csstools/postcss-gradients-interpolation-method" "^5.0.5" - "@csstools/postcss-hwb-function" "^4.0.5" + "@csstools/postcss-gamut-mapping" "^2.0.6" + "@csstools/postcss-gradients-interpolation-method" "^5.0.6" + "@csstools/postcss-hwb-function" "^4.0.6" "@csstools/postcss-ic-unit" "^4.0.0" "@csstools/postcss-initial" "^2.0.0" "@csstools/postcss-is-pseudo-class" "^5.0.1" @@ -6660,27 +6856,29 @@ postcss-preset-env@^10.0.0: "@csstools/postcss-logical-overscroll-behavior" "^2.0.0" "@csstools/postcss-logical-resize" "^3.0.0" "@csstools/postcss-logical-viewport-units" "^3.0.3" - "@csstools/postcss-media-minmax" "^2.0.4" + "@csstools/postcss-media-minmax" "^2.0.5" "@csstools/postcss-media-queries-aspect-ratio-number-values" "^3.0.4" "@csstools/postcss-nested-calc" "^4.0.0" "@csstools/postcss-normalize-display-values" "^4.0.0" - "@csstools/postcss-oklab-function" "^4.0.5" + "@csstools/postcss-oklab-function" "^4.0.6" "@csstools/postcss-progressive-custom-properties" "^4.0.0" - "@csstools/postcss-relative-color-syntax" "^3.0.5" + "@csstools/postcss-random-function" "^1.0.0" + "@csstools/postcss-relative-color-syntax" "^3.0.6" "@csstools/postcss-scope-pseudo-class" "^4.0.1" - "@csstools/postcss-stepped-value-functions" "^4.0.4" + "@csstools/postcss-sign-functions" "^1.0.0" + "@csstools/postcss-stepped-value-functions" "^4.0.5" "@csstools/postcss-text-decoration-shorthand" "^4.0.1" - "@csstools/postcss-trigonometric-functions" "^4.0.4" + "@csstools/postcss-trigonometric-functions" "^4.0.5" "@csstools/postcss-unset-value" "^4.0.0" autoprefixer "^10.4.19" browserslist "^4.23.1" css-blank-pseudo "^7.0.1" css-has-pseudo "^7.0.1" css-prefers-color-scheme "^10.0.0" - cssdb "^8.1.2" + cssdb "^8.2.1" postcss-attribute-case-insensitive "^7.0.1" postcss-clamp "^4.1.0" - postcss-color-functional-notation "^7.0.5" + postcss-color-functional-notation "^7.0.6" postcss-color-hex-alpha "^10.0.0" postcss-color-rebeccapurple "^10.0.0" postcss-custom-media "^11.0.5" @@ -6693,7 +6891,7 @@ postcss-preset-env@^10.0.0: postcss-font-variant "^5.0.0" postcss-gap-properties "^6.0.0" postcss-image-set-function "^7.0.0" - postcss-lab-function "^7.0.5" + postcss-lab-function "^7.0.6" postcss-logical "^8.0.0" postcss-nesting "^13.0.1" postcss-opacity-percentage "^3.0.0" @@ -6737,12 +6935,12 @@ postcss-value-parser@^4.2.0: integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^8.4.41, postcss@^8.4.43: - version "8.4.47" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" - integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== + version "8.4.48" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.48.tgz#765f3f8abaa2a2b065cdddbc57ad4cb5a76e515f" + integrity sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA== dependencies: nanoid "^3.3.7" - picocolors "^1.1.0" + picocolors "^1.1.1" source-map-js "^1.2.1" posthog-js@1.160.3: @@ -6818,9 +7016,9 @@ prop-types@^15.6.2, prop-types@^15.8.1: react-is "^16.13.1" protobufjs@^7.3.0: - version "7.3.2" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.3.2.tgz#60f3b7624968868f6f739430cfbc8c9370e26df4" - integrity sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg== + version "7.4.0" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.4.0.tgz#7efe324ce9b3b61c82aae5de810d287bc08a248a" + integrity sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -6889,9 +7087,9 @@ react-error-boundary@^3.1.0: "@babel/runtime" "^7.12.5" react-i18next@^15.0.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-15.1.0.tgz#9494e4add2389f04c205dd7628c1aa75747b98a3" - integrity sha512-zj3nJynMnZsy2gPZiOTC7XctCY5eQGqT3tcKMmfJWC9FMvgd+960w/adq61j8iPzpwmsXejqID9qC3Mqu1Xu2Q== + version "15.1.1" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-15.1.1.tgz#30bc76b39ded6ee37f1457677e46e6d6f11d9f64" + integrity sha512-R/Vg9wIli2P3FfeI8o1eNJUJue5LWpFsQePCHdQDmX0Co3zkr6kdT8gAseb/yGeWbNz1Txc4bKDQuZYsC0kQfw== dependencies: "@babel/runtime" "^7.25.0" html-parse-stringify "^3.0.1" @@ -7221,30 +7419,30 @@ rimraf@^3.0.2: glob "^7.1.3" rollup@^4.20.0: - version "4.24.3" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.24.3.tgz#8b259063740af60b0030315f88665ba2041789b8" - integrity sha512-HBW896xR5HGmoksbi3JBDtmVzWiPAYqp7wip50hjQ67JbDz61nyoMPdqu1DvVW9asYb2M65Z20ZHsyJCMqMyDg== + version "4.25.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.25.0.tgz#74dff4b5c2777dfc490f9711393925da50171787" + integrity sha512-uVbClXmR6wvx5R1M3Od4utyLUxrmOcEm3pAtMphn73Apq19PDtHpgZoEvqH2YnnaNUuvKmg2DgRd2Sqv+odyqg== dependencies: "@types/estree" "1.0.6" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.24.3" - "@rollup/rollup-android-arm64" "4.24.3" - "@rollup/rollup-darwin-arm64" "4.24.3" - "@rollup/rollup-darwin-x64" "4.24.3" - "@rollup/rollup-freebsd-arm64" "4.24.3" - "@rollup/rollup-freebsd-x64" "4.24.3" - "@rollup/rollup-linux-arm-gnueabihf" "4.24.3" - "@rollup/rollup-linux-arm-musleabihf" "4.24.3" - "@rollup/rollup-linux-arm64-gnu" "4.24.3" - "@rollup/rollup-linux-arm64-musl" "4.24.3" - "@rollup/rollup-linux-powerpc64le-gnu" "4.24.3" - "@rollup/rollup-linux-riscv64-gnu" "4.24.3" - "@rollup/rollup-linux-s390x-gnu" "4.24.3" - "@rollup/rollup-linux-x64-gnu" "4.24.3" - "@rollup/rollup-linux-x64-musl" "4.24.3" - "@rollup/rollup-win32-arm64-msvc" "4.24.3" - "@rollup/rollup-win32-ia32-msvc" "4.24.3" - "@rollup/rollup-win32-x64-msvc" "4.24.3" + "@rollup/rollup-android-arm-eabi" "4.25.0" + "@rollup/rollup-android-arm64" "4.25.0" + "@rollup/rollup-darwin-arm64" "4.25.0" + "@rollup/rollup-darwin-x64" "4.25.0" + "@rollup/rollup-freebsd-arm64" "4.25.0" + "@rollup/rollup-freebsd-x64" "4.25.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.25.0" + "@rollup/rollup-linux-arm-musleabihf" "4.25.0" + "@rollup/rollup-linux-arm64-gnu" "4.25.0" + "@rollup/rollup-linux-arm64-musl" "4.25.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.25.0" + "@rollup/rollup-linux-riscv64-gnu" "4.25.0" + "@rollup/rollup-linux-s390x-gnu" "4.25.0" + "@rollup/rollup-linux-x64-gnu" "4.25.0" + "@rollup/rollup-linux-x64-musl" "4.25.0" + "@rollup/rollup-win32-arm64-msvc" "4.25.0" + "@rollup/rollup-win32-ia32-msvc" "4.25.0" + "@rollup/rollup-win32-x64-msvc" "4.25.0" fsevents "~2.3.2" rrweb-cssom@^0.7.1: @@ -7368,7 +7566,7 @@ semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.7, semver@^7.5.3, semver@^7.6.0, semver@^7.6.3: +semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -7905,6 +8103,11 @@ tsutils@^3.0.0, tsutils@^3.17.1, tsutils@^3.21.0: dependencies: tslib "^1.8.1" +tunnel@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -8006,16 +8209,18 @@ underscore.string@~3.3.4: sprintf-js "^1.1.1" util-deprecate "^1.0.2" -undici-types@~6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.13.0.tgz#e3e79220ab8c81ed1496b5812471afd7cf075ea5" - integrity sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg== - undici-types@~6.19.2, undici-types@~6.19.8: version "6.19.8" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== +undici@^5.25.4: + version "5.28.4" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" + integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== + dependencies: + "@fastify/busboy" "^2.0.0" + undici@^6.19.5: version "6.19.7" resolved "https://registry.yarnpkg.com/undici/-/undici-6.19.7.tgz#7d4cf26dc689838aa8b6753a3c5c4288fc1e0216" @@ -8054,6 +8259,11 @@ unique-names-generator@^4.6.0: resolved "https://registry.yarnpkg.com/unique-names-generator/-/unique-names-generator-4.7.1.tgz#966407b12ba97f618928f77322cfac8c80df5597" integrity sha512-lMx9dX+KRmG8sq6gulYYpKWZc9RlGsgBR6aoO8Qsm3qvkSJ+3rAymr+TnV8EDMrIrwuFJ4kruzMWM/OpYzPoow== +universal-user-agent@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.1.tgz#15f20f55da3c930c57bddbf1734c6654d5fd35aa" + integrity sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -8074,6 +8284,14 @@ unplugin@1.0.1: webpack-sources "^3.2.3" webpack-virtual-modules "^0.5.0" +unplugin@^1.10.1: + version "1.16.0" + resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.16.0.tgz#ca0f248bf8798cd752dd02e5b381223b737cef72" + integrity sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ== + dependencies: + acorn "^8.14.0" + webpack-virtual-modules "^0.6.2" + update-browserslist-db@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" @@ -8231,9 +8449,9 @@ vite-plugin-svgr@^4.0.0: "@svgr/plugin-jsx" "^8.1.0" vite@^5.0.0: - version "5.4.10" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.10.tgz#d358a7bd8beda6cf0f3b7a450a8c7693a4f80c18" - integrity sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ== + version "5.4.11" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.11.tgz#3b415cd4aed781a356c1de5a9ebafb837715f6e5" + integrity sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q== dependencies: esbuild "^0.21.3" postcss "^8.4.43" @@ -8330,6 +8548,11 @@ webpack-virtual-modules@^0.5.0: resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz#362f14738a56dae107937ab98ea7062e8bdd3b6c" integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw== +webpack-virtual-modules@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz#057faa9065c8acf48f24cb57ac0e77739ab9a7e8" + integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ== + webrtc-adapter@^9.0.0: version "9.0.1" resolved "https://registry.yarnpkg.com/webrtc-adapter/-/webrtc-adapter-9.0.1.tgz#d4efa22ca9604cb2c8cdb9e492815ba37acfa0b2"