From 65cdeaa9de320daad79c20a7ff89cc3a75764c80 Mon Sep 17 00:00:00 2001 From: Valentino Stillhart <4715129+Fusseldieb@users.noreply.github.com> Date: Fri, 18 Apr 2025 05:04:59 -0300 Subject: [PATCH 01/58] Dashes were breaking notifications --- src/electron-main.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/electron-main.ts b/src/electron-main.ts index ab38f9c..e210746 100644 --- a/src/electron-main.ts +++ b/src/electron-main.ts @@ -600,4 +600,4 @@ app.on("second-instance", (ev, commandLine, workingDirectory) => { // installer uses for the shortcut icon. // This makes notifications work on windows 8.1 (and is // a noop on other platforms). -app.setAppUserModelId("com.squirrel.element-desktop.Element"); +app.setAppUserModelId("com.squirrel.element.desktop"); From 41ff61421d95925691815d409387a026a0aa73a4 Mon Sep 17 00:00:00 2001 From: Valentino Stillhart <4715129+Fusseldieb@users.noreply.github.com> Date: Fri, 18 Apr 2025 05:19:41 -0300 Subject: [PATCH 02/58] AppIDs must match config to properly display notification icon and title --- src/electron-main.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/electron-main.ts b/src/electron-main.ts index e210746..1b4850c 100644 --- a/src/electron-main.ts +++ b/src/electron-main.ts @@ -600,4 +600,4 @@ app.on("second-instance", (ev, commandLine, workingDirectory) => { // installer uses for the shortcut icon. // This makes notifications work on windows 8.1 (and is // a noop on other platforms). -app.setAppUserModelId("com.squirrel.element.desktop"); +app.setAppUserModelId("im.riot.app"); From 37bc884d7771d81088dff288047006cbb0d39821 Mon Sep 17 00:00:00 2001 From: Valentino Stillhart <4715129+Fusseldieb@users.noreply.github.com> Date: Tue, 22 Apr 2025 12:59:39 -0300 Subject: [PATCH 03/58] Explanation for setAppUserModelId --- src/electron-main.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/electron-main.ts b/src/electron-main.ts index 1b4850c..fddee60 100644 --- a/src/electron-main.ts +++ b/src/electron-main.ts @@ -596,8 +596,9 @@ app.on("second-instance", (ev, commandLine, workingDirectory) => { } }); -// Set the App User Model ID to match what the squirrel -// installer uses for the shortcut icon. -// This makes notifications work on windows 8.1 (and is -// a noop on other platforms). +// This is required to make notification handlers work +// on Windows 8.1/10/11 (and is a noop on other platforms); +// It must also match the ID found in 'electron-builder' +// in order to get the title and icon to show up correctly. +// Ref: https://stackoverflow.com/a/77314604/3525780 app.setAppUserModelId("im.riot.app"); From 1d3408bb3771f45f13d5e09d2f0bf2dbc6aa729e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Apr 2025 09:30:12 +0100 Subject: [PATCH 04/58] Update dependency electron to v35.2.0 (#2283) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index b723c6d..4d142e2 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "app-builder-lib": "26.0.12", "chokidar": "^4.0.0", "detect-libc": "^2.0.0", - "electron": "35.1.5", + "electron": "35.2.0", "electron-builder": "26.0.12", "electron-builder-squirrel-windows": "26.0.12", "electron-devtools-installer": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index 1a14608..b2fa5fc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3558,10 +3558,10 @@ electron-winstaller@5.4.0: optionalDependencies: "@electron/windows-sign" "^1.1.2" -electron@35.1.5: - version "35.1.5" - resolved "https://registry.yarnpkg.com/electron/-/electron-35.1.5.tgz#f4e991b9180b25c2b1ffaf8504c2531dbeabf524" - integrity sha512-LolvbKKQUSCGvEwbEQNt1cxD1t+YYClDNwBIjn4d28KM8FSqUn9zJuf6AbqNA7tVs9OFl/EQpmg/m4lZV1hH8g== +electron@35.2.0: + version "35.2.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-35.2.0.tgz#4701f455a2bc41c992cc529b42203c530223dcd8" + integrity sha512-GHda7oCkN0pA23qzah735DEbRa06IPwlzP3uvjAmf9af8gxdj5i93JEHeQVGVmSVpd7sSb1pfecs9nz7B1q5ag== dependencies: "@electron/get" "^2.0.0" "@types/node" "^22.7.7" From c72d23f99531ceead950aca3c1ba8b08fda84902 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 29 Apr 2025 11:40:06 +0100 Subject: [PATCH 05/58] Migrate from keytar to safeStorage (#2227) --- .github/workflows/build_test.yaml | 2 +- playwright/e2e/launch/launch.spec.ts | 49 ++- playwright/element-desktop-test.ts | 17 +- scripts/tsconfig.json | 2 +- src/@types/global.d.ts | 9 - src/electron-main.ts | 88 +++--- src/i18n/strings/en_EN.json | 18 +- src/ipc.ts | 35 +-- src/language-helper.ts | 14 +- src/seshat.ts | 36 ++- src/settings.ts | 13 +- src/store.ts | 455 +++++++++++++++++++++++++++ 12 files changed, 623 insertions(+), 115 deletions(-) create mode 100644 src/store.ts diff --git a/.github/workflows/build_test.yaml b/.github/workflows/build_test.yaml index 36478bf..b19e9cd 100644 --- a/.github/workflows/build_test.yaml +++ b/.github/workflows/build_test.yaml @@ -67,7 +67,7 @@ jobs: - name: Run tests uses: coactions/setup-xvfb@6b00cf1889f4e1d5a48635647013c0508128ee1a - timeout-minutes: 5 + timeout-minutes: 20 with: run: yarn test --project=${{ inputs.artifact }} ${{ runner.os != 'Linux' && '--ignore-snapshots' || '' }} ${{ inputs.blob_report == false && '--reporter=html' || '' }} env: diff --git a/playwright/e2e/launch/launch.spec.ts b/playwright/e2e/launch/launch.spec.ts index fb1d371..6bd591a 100644 --- a/playwright/e2e/launch/launch.spec.ts +++ b/playwright/e2e/launch/launch.spec.ts @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ -import { platform } from "node:os"; +import keytar from "keytar-forked"; import { test, expect } from "../../element-desktop-test.js"; @@ -17,6 +17,7 @@ declare global { supportsEventIndexing(): Promise; } | undefined; + getPickleKey(userId: string, deviceId: string): Promise; createPickleKey(userId: string, deviceId: string): Promise; } @@ -48,14 +49,46 @@ test.describe("App launch", () => { ).resolves.toBeTruthy(); }); - test("should launch and render the welcome view successfully and support keytar", async ({ page }) => { - test.skip(platform() === "linux", "This test does not yet support Linux"); + test.describe("safeStorage", () => { + const userId = "@user:server"; + const deviceId = "ABCDEF"; - await expect( - page.evaluate(async () => { - return await window.mxPlatformPeg.get().createPickleKey("@user:server", "ABCDEF"); - }), - ).resolves.not.toBeNull(); + test("should be supported", async ({ page }) => { + await expect( + page.evaluate( + ([userId, deviceId]) => window.mxPlatformPeg.get().createPickleKey(userId, deviceId), + [userId, deviceId], + ), + ).resolves.not.toBeNull(); + }); + + test.describe("migrate from keytar", () => { + test.skip( + process.env.GITHUB_ACTIONS && ["linux", "darwin"].includes(process.platform), + "GitHub Actions hosted runner are not a compatible environment for this test", + ); + + const pickleKey = "DEADBEEF1234"; + const keytarService = "element.io"; + const keytarKey = `${userId}|${deviceId}`; + + test.beforeAll(async () => { + await keytar.setPassword(keytarService, keytarKey, pickleKey); + await expect(keytar.getPassword(keytarService, keytarKey)).resolves.toBe(pickleKey); + }); + test.afterAll(async () => { + await keytar.deletePassword(keytarService, keytarKey); + }); + + test("should migrate successfully", async ({ page }) => { + await expect( + page.evaluate( + ([userId, deviceId]) => window.mxPlatformPeg.get().getPickleKey(userId, deviceId), + [userId, deviceId], + ), + ).resolves.toBe(pickleKey); + }); + }); }); test.describe("--no-update", () => { diff --git a/playwright/element-desktop-test.ts b/playwright/element-desktop-test.ts index 3d8d4f5..1f53ab6 100644 --- a/playwright/element-desktop-test.ts +++ b/playwright/element-desktop-test.ts @@ -62,12 +62,21 @@ export const test = base.extend({ // eslint-disable-next-line no-empty-pattern tmpDir: async ({}, use) => { const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "element-desktop-tests-")); - console.log("Using temp profile directory: ", tmpDir); await use(tmpDir); await fs.rm(tmpDir, { recursive: true }); }, app: async ({ tmpDir, extraEnv, extraArgs, stdout, stderr }, use) => { - const args = ["--profile-dir", tmpDir]; + const args = ["--profile-dir", tmpDir, ...extraArgs]; + + if (process.env.GITHUB_ACTIONS) { + if (process.platform === "linux") { + // GitHub Actions hosted runner lacks dbus and a compatible keyring, so we need to force plaintext storage + args.push("--storage-mode", "force-plaintext"); + } else if (process.platform === "darwin") { + // GitHub Actions hosted runner has no working default keychain, so allow plaintext storage + args.push("--storage-mode", "allow-plaintext"); + } + } const executablePath = process.env["ELEMENT_DESKTOP_EXECUTABLE"]; if (!executablePath) { @@ -75,13 +84,15 @@ export const test = base.extend({ args.unshift(path.join(__dirname, "..", "lib", "electron-main.js")); } + console.log(`Launching '${executablePath}' with args ${args.join(" ")}`); + const app = await electron.launch({ env: { ...process.env, ...extraEnv, }, executablePath, - args: [...args, ...extraArgs], + args, }); app.process().stdout.pipe(stdout).pipe(process.stdout); diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json index 99e6def..bfce59b 100644 --- a/scripts/tsconfig.json +++ b/scripts/tsconfig.json @@ -8,7 +8,7 @@ "module": "node16", "sourceMap": false, "strict": true, - "lib": ["es2020"] + "lib": ["es2021"] }, "include": ["../src/@types", "./**/*.ts"] } diff --git a/src/@types/global.d.ts b/src/@types/global.d.ts index d3b13be..68514bc 100644 --- a/src/@types/global.d.ts +++ b/src/@types/global.d.ts @@ -7,7 +7,6 @@ Please see LICENSE files in the repository root for full details. import { type BrowserWindow } from "electron"; -import type Store from "electron-store"; import type AutoLaunch from "auto-launch"; import { type AppLocalization } from "../language-helper.js"; @@ -24,13 +23,5 @@ declare global { icon_path: string; brand: string; }; - var store: Store<{ - warnBeforeExit?: boolean; - minimizeToTray?: boolean; - spellCheckerEnabled?: boolean; - autoHideMenuBar?: boolean; - locale?: string | string[]; - disableHardwareAcceleration?: boolean; - }>; } /* eslint-enable no-var */ diff --git a/src/electron-main.ts b/src/electron-main.ts index fddee60..6c91eb1 100644 --- a/src/electron-main.ts +++ b/src/electron-main.ts @@ -16,7 +16,6 @@ import * as Sentry from "@sentry/electron/main"; import AutoLaunch from "auto-launch"; import path, { dirname } from "node:path"; import windowStateKeeper from "electron-window-state"; -import Store from "electron-store"; import fs, { promises as afs } from "node:fs"; import { URL, fileURLToPath } from "node:url"; import minimist from "minimist"; @@ -25,6 +24,7 @@ import "./ipc.js"; import "./seshat.js"; import "./settings.js"; import * as tray from "./tray.js"; +import Store from "./store.js"; import { buildMenuTemplate } from "./vectormenu.js"; import webContentsHandler from "./webcontents-handler.js"; import * as updater from "./updater.js"; @@ -273,8 +273,6 @@ async function moveAutoLauncher(): Promise { } } -global.store = new Store({ name: "electron-config" }); - global.appQuitting = false; const exitShortcuts: Array<(input: Input, platform: string) => boolean> = [ @@ -284,32 +282,6 @@ const exitShortcuts: Array<(input: Input, platform: string) => boolean> = [ platform === "darwin" && input.meta && !input.control && input.key.toUpperCase() === "Q", ]; -const warnBeforeExit = (event: Event, input: Input): void => { - const shouldWarnBeforeExit = global.store.get("warnBeforeExit", true); - const exitShortcutPressed = - input.type === "keyDown" && exitShortcuts.some((shortcutFn) => shortcutFn(input, process.platform)); - - if (shouldWarnBeforeExit && exitShortcutPressed && global.mainWindow) { - const shouldCancelCloseRequest = - dialog.showMessageBoxSync(global.mainWindow, { - type: "question", - buttons: [ - _t("action|cancel"), - _t("action|close_brand", { - brand: global.vectorConfig.brand || "Element", - }), - ], - message: _t("confirm_quit"), - defaultId: 1, - cancelId: 0, - }) === 0; - - if (shouldCancelCloseRequest) { - event.preventDefault(); - } - } -}; - void configureSentry(); // handle uncaught errors otherwise it displays @@ -366,13 +338,17 @@ app.enableSandbox(); // We disable media controls here. We do this because calls use audio and video elements and they sometimes capture the media keys. See https://github.com/vector-im/element-web/issues/15704 app.commandLine.appendSwitch("disable-features", "HardwareMediaKeyHandling,MediaSessionService"); +const store = Store.initialize(argv["storage-mode"]); // must be called before any async actions + // Disable hardware acceleration if the setting has been set. -if (global.store.get("disableHardwareAcceleration", false) === true) { +if (store.get("disableHardwareAcceleration")) { console.log("Disabling hardware acceleration."); app.disableHardwareAcceleration(); } app.on("ready", async () => { + console.debug("Reached Electron ready state"); + let asarPath: string; try { @@ -462,12 +438,27 @@ app.on("ready", async () => { console.log("No update_base_url is defined: auto update is disabled"); } + // Set up i18n before loading storage as we need translations for dialogs + global.appLocalization = new AppLocalization({ + components: [(): void => tray.initApplicationMenu(), (): void => Menu.setApplicationMenu(buildMenuTemplate())], + store, + }); + + try { + console.debug("Ensuring storage is ready"); + await store.safeStorageReady(); + } catch (e) { + console.error(e); + app.exit(1); + } + // Load the previous window state with fallback to defaults const mainWindowState = windowStateKeeper({ defaultWidth: 1024, defaultHeight: 768, }); + console.debug("Opening main window"); const preloadScript = path.normalize(`${__dirname}/preload.cjs`); global.mainWindow = new BrowserWindow({ // https://www.electronjs.org/docs/faq#the-font-looks-blurry-what-is-this-and-what-can-i-do @@ -478,7 +469,7 @@ app.on("ready", async () => { icon: global.trayConfig.icon_path, show: false, - autoHideMenuBar: global.store.get("autoHideMenuBar", true), + autoHideMenuBar: store.get("autoHideMenuBar"), x: mainWindowState.x, y: mainWindowState.y, @@ -500,10 +491,10 @@ app.on("ready", async () => { // Handle spellchecker // For some reason spellCheckerEnabled isn't persisted, so we have to use the store here - global.mainWindow.webContents.session.setSpellCheckerEnabled(global.store.get("spellCheckerEnabled", true)); + global.mainWindow.webContents.session.setSpellCheckerEnabled(store.get("spellCheckerEnabled", true)); // Create trayIcon icon - if (global.store.get("minimizeToTray", true)) tray.create(global.trayConfig); + if (store.get("minimizeToTray")) tray.create(global.trayConfig); global.mainWindow.once("ready-to-show", () => { if (!global.mainWindow) return; @@ -517,7 +508,31 @@ app.on("ready", async () => { } }); - global.mainWindow.webContents.on("before-input-event", warnBeforeExit); + global.mainWindow.webContents.on("before-input-event", (event: Event, input: Input): void => { + const shouldWarnBeforeExit = store.get("warnBeforeExit", true); + const exitShortcutPressed = + input.type === "keyDown" && exitShortcuts.some((shortcutFn) => shortcutFn(input, process.platform)); + + if (shouldWarnBeforeExit && exitShortcutPressed && global.mainWindow) { + const shouldCancelCloseRequest = + dialog.showMessageBoxSync(global.mainWindow, { + type: "question", + buttons: [ + _t("action|cancel"), + _t("action|close_brand", { + brand: global.vectorConfig.brand || "Element", + }), + ], + message: _t("confirm_quit"), + defaultId: 1, + cancelId: 0, + }) === 0; + + if (shouldCancelCloseRequest) { + event.preventDefault(); + } + } + }); global.mainWindow.on("closed", () => { global.mainWindow = null; @@ -555,11 +570,6 @@ app.on("ready", async () => { webContentsHandler(global.mainWindow.webContents); - global.appLocalization = new AppLocalization({ - store: global.store, - components: [(): void => tray.initApplicationMenu(), (): void => Menu.setApplicationMenu(buildMenuTemplate())], - }); - session.defaultSession.setDisplayMediaRequestHandler((_, callback) => { global.mainWindow?.webContents.send("openDesktopCapturerSourcePicker"); setDisplayMediaCallback(callback); diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 2bdb0bc..4259f3d 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -22,7 +22,9 @@ "about": "About", "brand_help": "%(brand)s Help", "help": "Help", - "preferences": "Preferences" + "no": "No", + "preferences": "Preferences", + "yes": "Yes" }, "confirm_quit": "Are you sure you want to quit?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "The image failed to save", "save_image_as_error_title": "Failed to save image" }, + "store": { + "error": { + "backend_changed": "Clear data and reload?", + "backend_changed_detail": "Unable to access secret from system keyring, it appears to have changed.", + "backend_changed_title": "Failed to load database", + "unknown_backend_override": "Your system has an unsupported keyring meaning the database cannot be opened.", + "unknown_backend_override_details": "Please check the logs for more details.", + "unknown_backend_override_title": "Failed to load database", + "unsupported_keyring": "Your system has an unsupported keyring meaning the database cannot be opened.", + "unsupported_keyring_cta": "Use weaker encryption", + "unsupported_keyring_detail": "Electron's keyring detection did not find a supported backend, you may be able to convince it to use one on your system anyway, see %(link)s.", + "unsupported_keyring_title": "System unsupported" + } + }, "view_menu": { "actual_size": "Actual Size", "toggle_developer_tools": "Toggle Developer Tools", diff --git a/src/ipc.ts b/src/ipc.ts index c2f6371..6cbd49e 100644 --- a/src/ipc.ts +++ b/src/ipc.ts @@ -6,14 +6,13 @@ Please see LICENSE files in the repository root for full details. */ import { app, autoUpdater, desktopCapturer, ipcMain, powerSaveBlocker, TouchBar, nativeImage } from "electron"; -import { relaunchApp } from "@standardnotes/electron-clear-data"; -import keytar from "keytar-forked"; import IpcMainEvent = Electron.IpcMainEvent; import { recordSSOSession } from "./protocol.js"; import { randomArray } from "./utils.js"; import { Settings } from "./settings.js"; import { getDisplayMediaCallback, setDisplayMediaCallback } from "./displayMediaCallback.js"; +import Store, { clearDataAndRelaunch } from "./store.js"; ipcMain.on("setBadgeCount", function (_ev: IpcMainEvent, count: number): void { if (process.platform !== "win32") { @@ -61,7 +60,8 @@ ipcMain.on("app_onAction", function (_ev: IpcMainEvent, payload) { }); ipcMain.on("ipcCall", async function (_ev: IpcMainEvent, payload) { - if (!global.mainWindow) return; + const store = Store.instance; + if (!global.mainWindow || !store) return; const args = payload.args || []; let ret: any; @@ -113,11 +113,11 @@ ipcMain.on("ipcCall", async function (_ev: IpcMainEvent, payload) { if (typeof args[0] !== "boolean") return; global.mainWindow.webContents.session.setSpellCheckerEnabled(args[0]); - global.store.set("spellCheckerEnabled", args[0]); + store.set("spellCheckerEnabled", args[0]); break; case "getSpellCheckEnabled": - ret = global.store.get("spellCheckerEnabled", true); + ret = store.get("spellCheckerEnabled"); break; case "setSpellCheckLanguages": @@ -141,12 +141,7 @@ ipcMain.on("ipcCall", async function (_ev: IpcMainEvent, payload) { case "getPickleKey": try { - ret = await keytar.getPassword("element.io", `${args[0]}|${args[1]}`); - // migrate from riot.im (remove once we think there will no longer be - // logins from the time of riot.im) - if (ret === null) { - ret = await keytar.getPassword("riot.im", `${args[0]}|${args[1]}`); - } + ret = await store.getSecret(`${args[0]}|${args[1]}`); } catch { // if an error is thrown (e.g. keytar can't connect to the keychain), // then return null, which means the default pickle key will be used @@ -157,9 +152,7 @@ ipcMain.on("ipcCall", async function (_ev: IpcMainEvent, payload) { case "createPickleKey": try { const pickleKey = await randomArray(32); - // We purposefully throw if keytar is not available so the caller can handle it - // rather than sending them a pickle key we did not store on their behalf. - await keytar!.setPassword("element.io", `${args[0]}|${args[1]}`, pickleKey); + await store.setSecret(`${args[0]}|${args[1]}`, pickleKey); ret = pickleKey; } catch (e) { console.error("Failed to create pickle key", e); @@ -169,11 +162,10 @@ ipcMain.on("ipcCall", async function (_ev: IpcMainEvent, payload) { case "destroyPickleKey": try { - await keytar.deletePassword("element.io", `${args[0]}|${args[1]}`); - // migrate from riot.im (remove once we think there will no longer be - // logins from the time of riot.im) - await keytar.deletePassword("riot.im", `${args[0]}|${args[1]}`); - } catch {} + await store.deleteSecret(`${args[0]}|${args[1]}`); + } catch (e) { + console.error("Failed to destroy pickle key", e); + } break; case "getDesktopCapturerSources": ret = (await desktopCapturer.getSources(args[0])).map((source) => ({ @@ -189,10 +181,7 @@ ipcMain.on("ipcCall", async function (_ev: IpcMainEvent, payload) { break; case "clearStorage": - global.store.clear(); - global.mainWindow.webContents.session.flushStorageData(); - await global.mainWindow.webContents.session.clearStorageData(); - relaunchApp(); + await clearDataAndRelaunch(); return; // the app is about to stop, we don't need to reply to the IPC case "breadcrumbs": { diff --git a/src/language-helper.ts b/src/language-helper.ts index 5eeb0fb..23a859a 100644 --- a/src/language-helper.ts +++ b/src/language-helper.ts @@ -10,9 +10,9 @@ import { type TranslationKey as TKey } from "matrix-web-i18n"; import { dirname } from "node:path"; import { fileURLToPath } from "node:url"; -import type Store from "electron-store"; import type EN from "./i18n/strings/en_EN.json"; import { loadJsonFile } from "./utils.js"; +import type Store from "./store.js"; const __dirname = dirname(fileURLToPath(import.meta.url)); @@ -59,26 +59,24 @@ export function _t(text: TranslationKey, variables: Variables = {}): string { type Component = () => void; -type TypedStore = Store<{ locale?: string | string[] }>; - export class AppLocalization { private static readonly STORE_KEY = "locale"; - private readonly store: TypedStore; private readonly localizedComponents?: Set; + private readonly store: Store; - public constructor({ store, components = [] }: { store: TypedStore; components: Component[] }) { + public constructor({ components = [], store }: { components: Component[]; store: Store }) { counterpart.registerTranslations(FALLBACK_LOCALE, this.fetchTranslationJson("en_EN")); counterpart.setFallbackLocale(FALLBACK_LOCALE); counterpart.setSeparator("|"); + this.store = store; if (Array.isArray(components)) { this.localizedComponents = new Set(components); } - this.store = store; - if (this.store.has(AppLocalization.STORE_KEY)) { - const locales = this.store.get(AppLocalization.STORE_KEY); + if (store.has(AppLocalization.STORE_KEY)) { + const locales = store.get(AppLocalization.STORE_KEY); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion this.setAppLocale(locales!); } diff --git a/src/seshat.ts b/src/seshat.ts index 93f2e0b..2387349 100644 --- a/src/seshat.ts +++ b/src/seshat.ts @@ -8,7 +8,6 @@ Please see LICENSE files in the repository root for full details. import { app, ipcMain } from "electron"; import { promises as afs } from "node:fs"; import path from "node:path"; -import keytar from "keytar-forked"; import type { Seshat as SeshatType, @@ -17,6 +16,7 @@ import type { } from "matrix-seshat"; // Hak dependency type import IpcMainEvent = Electron.IpcMainEvent; import { randomArray } from "./utils.js"; +import Store from "./store.js"; let seshatSupported = false; let Seshat: typeof SeshatType; @@ -40,21 +40,24 @@ try { let eventIndex: SeshatType | null = null; const seshatDefaultPassphrase = "DEFAULT_PASSPHRASE"; -async function getOrCreatePassphrase(key: string): Promise { - if (keytar) { - try { - const storedPassphrase = await keytar.getPassword("element.io", key); - if (storedPassphrase !== null) { - return storedPassphrase; - } else { - const newPassphrase = await randomArray(32); - await keytar.setPassword("element.io", key, newPassphrase); - return newPassphrase; - } - } catch (e) { - console.log("Error getting the event index passphrase out of the secret store", e); +async function getOrCreatePassphrase(store: Store, key: string): Promise { + try { + const storedPassphrase = await store.getSecret(key); + if (storedPassphrase !== null) { + return storedPassphrase; } + } catch (e) { + console.error("Error getting the event index passphrase out of the secret store", e); } + + try { + const newPassphrase = await randomArray(32); + await store.setSecret(key, newPassphrase); + return newPassphrase; + } catch (e) { + console.error("Error creating new event index passphrase, using default", e); + } + return seshatDefaultPassphrase; } @@ -74,7 +77,8 @@ const deleteContents = async (p: string): Promise => { }; ipcMain.on("seshat", async function (_ev: IpcMainEvent, payload): Promise { - if (!global.mainWindow) return; + const store = Store.instance; + if (!global.mainWindow || !store) return; // We do this here to ensure we get the path after --profile has been resolved const eventStorePath = path.join(app.getPath("userData"), "EventStore"); @@ -101,7 +105,7 @@ ipcMain.on("seshat", async function (_ev: IpcMainEvent, payload): Promise const deviceId = args[1]; const passphraseKey = `seshat|${userId}|${deviceId}`; - const passphrase = await getOrCreatePassphrase(passphraseKey); + const passphrase = await getOrCreatePassphrase(store, passphraseKey); try { await afs.mkdir(eventStorePath, { recursive: true }); diff --git a/src/settings.ts b/src/settings.ts index fbda6e9..4f042ca 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -6,6 +6,7 @@ Please see LICENSE files in the repository root for full details. */ import * as tray from "./tray.js"; +import Store from "./store.js"; interface Setting { read(): Promise; @@ -27,10 +28,10 @@ export const Settings: Record = { }, "Electron.warnBeforeExit": { async read(): Promise { - return global.store.get("warnBeforeExit", true); + return Store.instance?.get("warnBeforeExit"); }, async write(value: any): Promise { - global.store.set("warnBeforeExit", value); + Store.instance?.set("warnBeforeExit", value); }, }, "Electron.alwaysShowMenuBar": { @@ -39,7 +40,7 @@ export const Settings: Record = { return !global.mainWindow!.autoHideMenuBar; }, async write(value: any): Promise { - global.store.set("autoHideMenuBar", !value); + Store.instance?.set("autoHideMenuBar", !value); global.mainWindow!.autoHideMenuBar = !value; global.mainWindow!.setMenuBarVisibility(value); }, @@ -56,15 +57,15 @@ export const Settings: Record = { } else { tray.destroy(); } - global.store.set("minimizeToTray", value); + Store.instance?.set("minimizeToTray", value); }, }, "Electron.enableHardwareAcceleration": { async read(): Promise { - return !global.store.get("disableHardwareAcceleration", false); + return !Store.instance?.get("disableHardwareAcceleration"); }, async write(value: any): Promise { - global.store.set("disableHardwareAcceleration", !value); + Store.instance?.set("disableHardwareAcceleration", !value); }, }, }; diff --git a/src/store.ts b/src/store.ts new file mode 100644 index 0000000..497bb92 --- /dev/null +++ b/src/store.ts @@ -0,0 +1,455 @@ +/* +Copyright 2022-2025 New Vector Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import ElectronStore from "electron-store"; +import keytar from "keytar-forked"; +import { app, safeStorage, dialog, type SafeStorage } from "electron"; +import { clearAllUserData, relaunchApp } from "@standardnotes/electron-clear-data"; + +import { _t } from "./language-helper.js"; + +/** + * Legacy keytar service name for storing secrets. + * @deprecated + */ +const KEYTAR_SERVICE = "element.io"; +/** + * Super legacy keytar service name for reading secrets. + * @deprecated + */ +const LEGACY_KEYTAR_SERVICE = "riot.im"; + +/** + * String union type representing all the safeStorage backends. + * + The "unknown" backend shouldn't exist in practice once the app is ready + * + The "plaintext" is the temporarily-unencrypted backend for migration, data is wholly unencrypted - uses PlaintextStorageWriter + * + The "basic_text" backend is the 'plaintext' backend on Linux, data is encrypted but not using the keychain + * + The "system" backend is the encrypted backend on Windows & macOS, data is encrypted using system keychain + * + All other backends are linux-specific and are encrypted using the keychain + */ +type SafeStorageBackend = ReturnType | "system" | "plaintext"; + +/** + * Map of safeStorage backends to their command line arguments. + * kwallet6 cannot be specified via command line + * https://www.electronjs.org/docs/latest/api/safe-storage#safestoragegetselectedstoragebackend-linux + */ +const safeStorageBackendMap: Omit< + Record, + "unknown" | "kwallet6" | "system" | "plaintext" +> = { + basic_text: "basic", + gnome_libsecret: "gnome-libsecret", + kwallet: "kwallet", + kwallet5: "kwallet5", +}; + +/** + * Clear all data and relaunch the app. + */ +export async function clearDataAndRelaunch(): Promise { + Store.instance?.clear(); + clearAllUserData(); + relaunchApp(); +} + +interface StoreData { + warnBeforeExit: boolean; + minimizeToTray: boolean; + spellCheckerEnabled: boolean; + autoHideMenuBar: boolean; + locale?: string | string[]; + disableHardwareAcceleration: boolean; + safeStorage?: Record; + /** the safeStorage backend used for the safeStorage data as written */ + safeStorageBackend?: SafeStorageBackend; + /** whether to explicitly override the safeStorage backend, used for migration */ + safeStorageBackendOverride?: boolean; + /** whether to perform a migration of the safeStorage data */ + safeStorageBackendMigrate?: boolean; +} + +/** + * Fallback storage writer for secrets, mainly used for automated tests and systems without any safeStorage support. + */ +class PlaintextStorageWriter { + public constructor(protected readonly store: ElectronStore) {} + + public getKey(key: string): `safeStorage.${string}` { + return `safeStorage.${key.replaceAll(".", "-")}`; + } + + public set(key: string, secret: string): void { + this.store.set(this.getKey(key), secret); + } + + public get(key: string): string | null { + return this.store.get(this.getKey(key)); + } + + public delete(key: string): void { + this.store.delete(this.getKey(key)); + } +} + +/** + * Storage writer for secrets using safeStorage. + */ +class SafeStorageWriter extends PlaintextStorageWriter { + public set(key: string, secret: string): void { + this.store.set(this.getKey(key), safeStorage.encryptString(secret).toString("base64")); + } + + public get(key: string): string | null { + const ciphertext = this.store.get(this.getKey(key)); + if (ciphertext) { + try { + return safeStorage.decryptString(Buffer.from(ciphertext, "base64")); + } catch (e) { + console.error("Failed to decrypt secret", e); + console.error("...ciphertext:", JSON.stringify(ciphertext)); + } + } + return null; + } +} + +const enum Mode { + Encrypted = "encrypted", // default + AllowPlaintext = "allow-plaintext", + ForcePlaintext = "force-plaintext", +} + +/** + * JSON-backed store for settings which need to be accessible by the main process. + * Secrets are stored within the `safeStorage` object, encrypted with safeStorage. + * Any secrets operations are blocked on Electron app ready emit, and keytar migration if still needed. + */ +class Store extends ElectronStore { + private static internalInstance?: Store; + + public static get instance(): Store | undefined { + return Store.internalInstance; + } + + /** + * Prepare the store, does not prepare safeStorage, which needs to be done after the app is ready. + * Must be executed in the first tick of the event loop so that it can call Electron APIs before ready state. + */ + public static initialize(mode: Mode | undefined): Store { + if (Store.internalInstance) { + throw new Error("Store already initialized"); + } + + const store = new Store(mode ?? Mode.Encrypted); + Store.internalInstance = store; + + if (process.platform === "linux" && store.get("safeStorageBackendOverride")) { + const backend = store.get("safeStorageBackend")!; + if (backend in safeStorageBackendMap) { + // If the safeStorage backend which was used to write the data is one we can specify via the commandLine + // then do so to ensure we use the same backend for reading the data. + app.commandLine.appendSwitch( + "password-store", + safeStorageBackendMap[backend as keyof typeof safeStorageBackendMap], + ); + } + } + + return store; + } + + // Provides "raw" access to the underlying secrets storage, + // should be avoided in favour of the getSecret/setSecret/deleteSecret methods. + private secrets?: PlaintextStorageWriter | SafeStorageWriter; + + private constructor(private mode: Mode) { + super({ + name: "electron-config", + clearInvalidConfig: false, + schema: { + warnBeforeExit: { + type: "boolean", + default: true, + }, + minimizeToTray: { + type: "boolean", + default: true, + }, + spellCheckerEnabled: { + type: "boolean", + default: true, + }, + autoHideMenuBar: { + type: "boolean", + default: true, + }, + locale: { + anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }], + }, + disableHardwareAcceleration: { + type: "boolean", + default: false, + }, + safeStorage: { + type: "object", + }, + safeStorageBackend: { + type: "string", + }, + safeStorageBackendOverride: { + type: "boolean", + }, + safeStorageBackendMigrate: { + type: "boolean", + }, + }, + }); + } + + private safeStorageReadyPromise?: Promise; + public async safeStorageReady(): Promise { + if (!this.safeStorageReadyPromise) { + this.safeStorageReadyPromise = this.prepareSafeStorage(); + } + await this.safeStorageReadyPromise; + } + + /** + * Prepare the safeStorage backend for use. + * We don't eagerly import from keytar as that would bring in data for all Element profiles and not just the current one, + * so we import lazily in getSecret. + */ + private async prepareSafeStorage(): Promise { + await app.whenReady(); + + let safeStorageBackend = this.get("safeStorageBackend"); + if (process.platform === "linux") { + // Linux safeStorage support is hellish, the support varies on the Desktop Environment used rather than the store itself. + // https://github.com/electron/electron/issues/39789 https://github.com/microsoft/vscode/issues/185212 + const selectedSafeStorageBackend = safeStorage.getSelectedStorageBackend(); + console.info( + `safeStorage backend '${selectedSafeStorageBackend}' selected, '${safeStorageBackend}' in config.`, + ); + + if (selectedSafeStorageBackend === "unknown") { + // This should never happen but good to be safe + await dialog.showMessageBox({ + title: _t("store|error|unknown_backend_override_title"), + message: _t("store|error|unknown_backend_override"), + detail: _t("store|error|unknown_backend_override_details"), + type: "error", + }); + throw new Error("safeStorage backend unknown"); + } + + if (this.get("safeStorageBackendMigrate")) { + return this.upgradeLinuxBackend2(); + } + + if (!safeStorageBackend) { + if (selectedSafeStorageBackend === "basic_text" && this.mode === Mode.Encrypted) { + const { response } = await dialog.showMessageBox({ + title: _t("store|error|unsupported_keyring_title"), + message: _t("store|error|unsupported_keyring"), + detail: _t("store|error|unsupported_keyring_detail", { + link: "https://www.electronjs.org/docs/latest/api/safe-storage#safestoragegetselectedstoragebackend-linux", + }), + type: "error", + buttons: [_t("action|cancel"), _t("store|error|unsupported_keyring_cta")], + defaultId: 0, + cancelId: 0, + }); + if (response === 0) { + throw new Error("safeStorage backend basic_text and user rejected it"); + } + this.mode = Mode.AllowPlaintext; + } + + // Store the backend used for the safeStorage data so we can detect if it changes + this.recordSafeStorageBackend(selectedSafeStorageBackend); + safeStorageBackend = selectedSafeStorageBackend; + } else if (safeStorageBackend !== selectedSafeStorageBackend) { + console.warn(`safeStorage backend changed from ${safeStorageBackend} to ${selectedSafeStorageBackend}`); + + if (safeStorageBackend === "basic_text") { + return this.upgradeLinuxBackend1(); + } else if (safeStorageBackend === "plaintext") { + this.upgradeLinuxBackend3(); + } else if (safeStorageBackend in safeStorageBackendMap) { + this.set("safeStorageBackendOverride", true); + relaunchApp(); + return; + } else { + // Warn the user that the backend has changed and tell them that we cannot migrate + const { response } = await dialog.showMessageBox({ + title: _t("store|error|backend_changed_title"), + message: _t("store|error|backend_changed"), + detail: _t("store|error|backend_changed_detail"), + type: "question", + buttons: [_t("common|no"), _t("common|yes")], + defaultId: 0, + cancelId: 0, + }); + if (response === 0) { + throw new Error("safeStorage backend changed and cannot migrate"); + } + await clearDataAndRelaunch(); + } + } + + // We do not check allowPlaintextStorage here as it was already checked above if the storage is new + // and if the storage is existing then we should continue to honour the backend used to write the data + if (safeStorageBackend === "basic_text" && selectedSafeStorageBackend === safeStorageBackend) { + safeStorage.setUsePlainTextEncryption(true); + } + } else if (!safeStorageBackend) { + safeStorageBackend = this.mode === Mode.Encrypted ? "system" : "plaintext"; + this.recordSafeStorageBackend(safeStorageBackend); + } + + if (this.mode !== Mode.ForcePlaintext && safeStorage.isEncryptionAvailable()) { + this.secrets = new SafeStorageWriter(this); + } else if (this.mode !== Mode.Encrypted) { + this.secrets = new PlaintextStorageWriter(this); + } else { + throw new Error(`safeStorage is not available`); + } + + console.info(`Using storage mode '${this.mode}' with backend '${safeStorageBackend}'`); + } + + private recordSafeStorageBackend(backend: SafeStorageBackend): void { + this.set("safeStorageBackend", backend); + } + + /** + * Linux support for upgrading the backend from basic_text to one of the encrypted backends, + * this is quite a tricky process as the backend is not known until the app is ready & cannot be changed once it is. + * First we restart the app in basic_text backend mode, then decrypt the data & restart back in default backend mode, + * and re-encrypt the data. + */ + private upgradeLinuxBackend1(): void { + console.info(`Starting safeStorage migration to ${safeStorage.getSelectedStorageBackend()}`); + this.set("safeStorageBackendMigrate", true); + relaunchApp(); + } + private upgradeLinuxBackend2(): void { + if (!this.secrets) throw new Error("safeStorage not ready"); + console.info("Performing safeStorage migration"); + const data = this.get("safeStorage"); + if (data) { + for (const key in data) { + this.set(this.secrets.getKey(key), this.secrets!.get(key)); + } + this.recordSafeStorageBackend("plaintext"); + } + this.set("safeStorageBackendMigrate", false); + relaunchApp(); + } + private upgradeLinuxBackend3(): void { + if (!this.secrets) throw new Error("safeStorage not ready"); + const selectedSafeStorageBackend = safeStorage.getSelectedStorageBackend(); + console.info(`Finishing safeStorage migration to ${selectedSafeStorageBackend}`); + const data = this.get("safeStorage"); + if (data) { + for (const key in data) { + this.secrets.set(key, data[key]); + } + } + this.recordSafeStorageBackend(selectedSafeStorageBackend); + } + + /** + * Get the stored secret for the key. + * Lazily migrates keys from keytar if they are not yet in the store. + * + * @param key The string key name. + * + * @returns A promise for the secret string. + */ + public async getSecret(key: string): Promise { + await this.safeStorageReady(); + let secret = this.secrets!.get(key); + if (secret) return secret; + + try { + secret = await this.getSecretKeytar(key); + } catch (e) { + console.warn(`Failed to read data from keytar with key='${key}'`, e); + } + if (secret) { + console.debug("Migrating secret from keytar", key); + this.secrets!.set(key, secret); + } + + return secret; + } + + /** + * Add the secret for the key to the keychain. + * We write to both safeStorage & keytar to support downgrading the application. + * + * @param key The string key name. + * @param secret The string password. + * + * @returns A promise for the set password completion. + */ + public async setSecret(key: string, secret: string): Promise { + await this.safeStorageReady(); + this.secrets!.set(key, secret); + try { + await keytar.setPassword(KEYTAR_SERVICE, key, secret); + } catch (e) { + console.warn(`Failed to write safeStorage backwards-compatibility key='${key}' data to keytar`, e); + } + } + + /** + * Delete the stored password for the key. + * Removes from safeStorage, keytar & keytar legacy. + * + * @param key The string key name. + */ + public async deleteSecret(key: string): Promise { + await this.safeStorageReady(); + this.secrets!.delete(key); + try { + await this.deleteSecretKeytar(key); + } catch (e) { + console.warn(`Failed to delete secret with key='${key}' from keytar`, e); + } + } + + /** + * @deprecated will be removed in the near future + */ + private async getSecretKeytar(key: string): Promise { + return ( + (await keytar.getPassword(KEYTAR_SERVICE, key)) ?? (await keytar.getPassword(LEGACY_KEYTAR_SERVICE, key)) + ); + } + + /** + * @deprecated will be removed in the near future + */ + private async deleteSecretKeytar(key: string): Promise { + await keytar.deletePassword(LEGACY_KEYTAR_SERVICE, key); + await keytar.deletePassword(KEYTAR_SERVICE, key); + } +} + +export default Store; From 56bbea995f46a08e1ac0076b16f46566da99310d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Apr 2025 10:59:37 +0000 Subject: [PATCH 06/58] Update dependency @types/node to v18.19.87 (#2289) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- yarn.lock | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 4d142e2..b0cb191 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@types/auto-launch": "^5.0.1", "@types/counterpart": "^0.18.1", "@types/minimist": "^1.2.1", - "@types/node": "18.19.86", + "@types/node": "18.19.87", "@types/pacote": "^11.1.1", "@typescript-eslint/eslint-plugin": "^8.0.0", "@typescript-eslint/parser": "^8.0.0", @@ -116,7 +116,7 @@ "matrix-seshat": "^4.0.1" }, "resolutions": { - "@types/node": "18.19.86", + "@types/node": "18.19.87", "config-file-ts": "0.2.8-rc1" } } diff --git a/yarn.lock b/yarn.lock index b2fa5fc..7029280 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2166,10 +2166,10 @@ "@types/node" "*" form-data "^4.0.0" -"@types/node@*", "@types/node@18.19.86", "@types/node@^17.0.36", "@types/node@^22.7.7": - version "18.19.86" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.86.tgz#a7e1785289c343155578b9d84a0e3e924deb948b" - integrity sha512-fifKayi175wLyKyc5qUfyENhQ1dCNI1UNjp653d8kuYcPQN5JhX3dGuP/XmvPTg/xRBn1VTLpbmi+H/Mr7tLfQ== +"@types/node@*", "@types/node@18.19.87", "@types/node@^17.0.36", "@types/node@^22.7.7": + version "18.19.87" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.87.tgz#690f000cc51e3c7f48bc00f7e86fac6eb550b709" + integrity sha512-OIAAu6ypnVZHmsHCeJ+7CCSub38QNBS9uceMQeg7K5Ur0Jr+wG9wEOEvvMbhp09pxD5czIUy/jND7s7Tb6Nw7A== dependencies: undici-types "~5.26.4" From 42a3b8b68cee7dd8cc543155176dcc9b5a19ef9d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Apr 2025 12:00:38 +0100 Subject: [PATCH 07/58] Update docker (#2287) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/build_linux.yaml | 2 +- .github/workflows/dockerbuild.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_linux.yaml b/.github/workflows/build_linux.yaml index 0b2abfb..d56f6a8 100644 --- a/.github/workflows/build_linux.yaml +++ b/.github/workflows/build_linux.yaml @@ -95,7 +95,7 @@ jobs: # This allows contributors to test changes to the dockerbuild image within a pull request - name: Build docker image - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6 + uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6 if: steps.changed_files.outputs.any_modified == 'true' with: file: dockerbuild/Dockerfile diff --git a/.github/workflows/dockerbuild.yaml b/.github/workflows/dockerbuild.yaml index c7390c3..d4e37c3 100644 --- a/.github/workflows/dockerbuild.yaml +++ b/.github/workflows/dockerbuild.yaml @@ -30,7 +30,7 @@ jobs: install: true - name: Build test image - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6 + uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6 with: file: dockerbuild/Dockerfile push: false @@ -42,7 +42,7 @@ jobs: run: docker run -v $PWD:/project element-desktop-dockerbuild yarn install - name: Log in to the Container registry - uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 + uses: docker/login-action@6d4b68b490aef8836e8fb5e50ee7b3bdfa5894f0 if: github.event_name != 'pull_request' with: registry: ${{ env.REGISTRY }} @@ -61,7 +61,7 @@ jobs: - name: Build and push Docker image if: github.event_name != 'pull_request' - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6 + uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6 with: file: dockerbuild/Dockerfile push: true From 451129d4689a0cc684b86359a2c0b516afda1332 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Apr 2025 11:06:17 +0000 Subject: [PATCH 08/58] Update typescript-eslint monorepo to v8.31.0 (#2292) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 102 +++++++++++++++++++++++++++--------------------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7029280..98cf5a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1288,9 +1288,9 @@ eslint-visitor-keys "^3.3.0" "@eslint-community/eslint-utils@^4.4.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.6.0.tgz#bfe67b3d334a8579a35e48fe240dc0638d1bcd91" - integrity sha512-WhCn7Z7TauhBtmzhvKpoQs0Wwb/kBcy4CwpuI0/eEIr2Lx2auxmulAzLr91wVZJaz47iUZdkXOK7WlAfxGKCnA== + version "4.6.1" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz#e4c58fdcf0696e7a5f19c30201ed43123ab15abc" + integrity sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw== dependencies: eslint-visitor-keys "^3.4.3" @@ -2283,29 +2283,29 @@ "@types/node" "*" "@typescript-eslint/eslint-plugin@^8.0.0": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.30.1.tgz#9beb9e4fbfdde40410e96587cc56dded1942cdf1" - integrity sha512-v+VWphxMjn+1t48/jO4t950D6KR8JaJuNXzi33Ve6P8sEmPr5k6CEXjdGwT6+LodVnEa91EQCtwjWNUCPweo+Q== + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz#62f1befe59647524994e89de4516d8dcba7a850a" + integrity sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.30.1" - "@typescript-eslint/type-utils" "8.30.1" - "@typescript-eslint/utils" "8.30.1" - "@typescript-eslint/visitor-keys" "8.30.1" + "@typescript-eslint/scope-manager" "8.31.1" + "@typescript-eslint/type-utils" "8.31.1" + "@typescript-eslint/utils" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^2.0.1" "@typescript-eslint/parser@^8.0.0": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.30.1.tgz#8a9fa650b046e64656e21d4fdff86535b6a084b6" - integrity sha512-H+vqmWwT5xoNrXqWs/fesmssOW70gxFlgcMlYcBaWNPIEWDgLa4W9nkSPmhuOgLnXq9QYgkZ31fhDyLhleCsAg== + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.31.1.tgz#e9b0ccf30d37dde724ee4d15f4dbc195995cce1b" + integrity sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q== dependencies: - "@typescript-eslint/scope-manager" "8.30.1" - "@typescript-eslint/types" "8.30.1" - "@typescript-eslint/typescript-estree" "8.30.1" - "@typescript-eslint/visitor-keys" "8.30.1" + "@typescript-eslint/scope-manager" "8.31.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/typescript-estree" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" debug "^4.3.4" "@typescript-eslint/scope-manager@8.29.0": @@ -2316,21 +2316,21 @@ "@typescript-eslint/types" "8.29.0" "@typescript-eslint/visitor-keys" "8.29.0" -"@typescript-eslint/scope-manager@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.30.1.tgz#f99c7efd53b5ff9fb57e55be71eb855603fd80b7" - integrity sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg== +"@typescript-eslint/scope-manager@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz#1eb52e76878f545e4add142e0d8e3e97e7aa443b" + integrity sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw== dependencies: - "@typescript-eslint/types" "8.30.1" - "@typescript-eslint/visitor-keys" "8.30.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" -"@typescript-eslint/type-utils@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.30.1.tgz#151ee0529d6e6df19d8a3a23e81c809d2e4f6b1a" - integrity sha512-64uBF76bfQiJyHgZISC7vcNz3adqQKIccVoKubyQcOnNcdJBvYOILV1v22Qhsw3tw3VQu5ll8ND6hycgAR5fEA== +"@typescript-eslint/type-utils@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.31.1.tgz#be0f438fb24b03568e282a0aed85f776409f970c" + integrity sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA== dependencies: - "@typescript-eslint/typescript-estree" "8.30.1" - "@typescript-eslint/utils" "8.30.1" + "@typescript-eslint/typescript-estree" "8.31.1" + "@typescript-eslint/utils" "8.31.1" debug "^4.3.4" ts-api-utils "^2.0.1" @@ -2339,10 +2339,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.29.0.tgz#65add70ab4ef66beaa42a5addf87dab2b05b1f33" integrity sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg== -"@typescript-eslint/types@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.30.1.tgz#20ff6d66ab3d8fe0533aeb7092a487393d53f925" - integrity sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw== +"@typescript-eslint/types@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.31.1.tgz#478ed6f7e8aee1be7b63a60212b6bffe1423b5d4" + integrity sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ== "@typescript-eslint/typescript-estree@8.29.0": version "8.29.0" @@ -2358,13 +2358,13 @@ semver "^7.6.0" ts-api-utils "^2.0.1" -"@typescript-eslint/typescript-estree@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.30.1.tgz#f5c133e4a76a54d25607434f2c276409d7bec4ba" - integrity sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ== +"@typescript-eslint/typescript-estree@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz#37792fe7ef4d3021c7580067c8f1ae66daabacdf" + integrity sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag== dependencies: - "@typescript-eslint/types" "8.30.1" - "@typescript-eslint/visitor-keys" "8.30.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/visitor-keys" "8.31.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -2372,15 +2372,15 @@ semver "^7.6.0" ts-api-utils "^2.0.1" -"@typescript-eslint/utils@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.30.1.tgz#23d4824394765948fe73dc7113892f85fdc80efd" - integrity sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ== +"@typescript-eslint/utils@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.31.1.tgz#5628ea0393598a0b2f143d0fc6d019f0dee9dd14" + integrity sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.30.1" - "@typescript-eslint/types" "8.30.1" - "@typescript-eslint/typescript-estree" "8.30.1" + "@typescript-eslint/scope-manager" "8.31.1" + "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/typescript-estree" "8.31.1" "@typescript-eslint/utils@^8.23.0": version "8.29.0" @@ -2400,12 +2400,12 @@ "@typescript-eslint/types" "8.29.0" eslint-visitor-keys "^4.2.0" -"@typescript-eslint/visitor-keys@8.30.1": - version "8.30.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.30.1.tgz#510955ef1fb56e08da4b7953a3377258e5942e36" - integrity sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA== +"@typescript-eslint/visitor-keys@8.31.1": + version "8.31.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz#6742b0e3ba1e0c1e35bdaf78c03e759eb8dd8e75" + integrity sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw== dependencies: - "@typescript-eslint/types" "8.30.1" + "@typescript-eslint/types" "8.31.1" eslint-visitor-keys "^4.2.0" "@ungap/structured-clone@^1.2.0": From 9a8ca9980f8dfe60df58a264f7400bbb52863e12 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Apr 2025 12:08:03 +0100 Subject: [PATCH 09/58] Update playwright to v1.52.0 (#2291) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- playwright/Dockerfile | 2 +- yarn.lock | 28 ++++++++++++++-------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index b0cb191..678a809 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "@babel/preset-env": "^7.18.10", "@babel/preset-typescript": "^7.18.6", "@electron/asar": "3.4.1", - "@playwright/test": "1.51.1", + "@playwright/test": "1.52.0", "@stylistic/eslint-plugin": "^4.0.0", "@types/auto-launch": "^5.0.1", "@types/counterpart": "^0.18.1", diff --git a/playwright/Dockerfile b/playwright/Dockerfile index a3dfdc9..99b2d57 100644 --- a/playwright/Dockerfile +++ b/playwright/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/playwright:v1.51.1-jammy +FROM mcr.microsoft.com/playwright:v1.52.0-jammy WORKDIR /work/element-desktop diff --git a/yarn.lock b/yarn.lock index 98cf5a0..b5db090 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1869,12 +1869,12 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@playwright/test@1.51.1": - version "1.51.1" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.51.1.tgz#75357d513221a7be0baad75f01e966baf9c41a2e" - integrity sha512-nM+kEaTSAoVlXmMPH10017vn3FSiFqr/bh4fKg9vmAdMfd9SDqRZNvPSiAHADc/itWak+qPvMPZQOPwCBW7k7Q== +"@playwright/test@1.52.0": + version "1.52.0" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.52.0.tgz#267ec595b43a8f4fa5e444ea503689629e91a5b8" + integrity sha512-uh6W7sb55hl7D6vsAeA+V2p5JnlAqzhqFyF0VcJkKZXkgnFcVG9PziERRHQfPLfNGx1C292a4JqbWzhR8L4R1g== dependencies: - playwright "1.51.1" + playwright "1.52.0" "@prisma/instrumentation@6.5.0": version "6.5.0" @@ -6164,17 +6164,17 @@ pidtree@^0.6.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== -playwright-core@1.51.1: - version "1.51.1" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.51.1.tgz#d57f0393e02416f32a47cf82b27533656a8acce1" - integrity sha512-/crRMj8+j/Nq5s8QcvegseuyeZPxpQCZb6HNk3Sos3BlZyAknRjoyJPFWkpNn8v0+P3WiwqFF8P+zQo4eqiNuw== +playwright-core@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.52.0.tgz#238f1f0c3edd4ebba0434ce3f4401900319a3dca" + integrity sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg== -playwright@1.51.1: - version "1.51.1" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.51.1.tgz#ae1467ee318083968ad28d6990db59f47a55390f" - integrity sha512-kkx+MB2KQRkyxjYPc3a0wLZZoDczmppyGJIvQ43l+aZihkaVvmu/21kiyaHeHjiFxjxNNFnUncKmcGIyOojsaw== +playwright@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.52.0.tgz#26cb9a63346651e1c54c8805acfd85683173d4bd" + integrity sha512-JAwMNMBlxJ2oD1kce4KPtMkDeKGHQstdpFPcPH3maElAXon/QZeTvtsfXmTMRyO9TslfoYOXkSsvao2nE1ilTw== dependencies: - playwright-core "1.51.1" + playwright-core "1.52.0" optionalDependencies: fsevents "2.3.2" From 2c60929139258e8951b1135bb715520855f02655 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 29 Apr 2025 11:21:56 +0000 Subject: [PATCH 10/58] v1.11.100-rc.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4d142e2..4e9d948 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "productName": "Element", "main": "lib/electron-main.js", "exports": "./lib/electron-main.js", - "version": "1.11.99", + "version": "1.11.100-rc.0", "description": "Element: the future of secure communication", "author": "Element", "homepage": "https://element.io", From 8db9c620df48e730bf06cc0ea1b450f360694731 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Apr 2025 11:33:31 +0000 Subject: [PATCH 11/58] Update all non-major dependencies (#2288) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <7t3chguy@gmail.com> --- .node-version | 2 +- yarn.lock | 52 +++++++++++++++++++++++++-------------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.node-version b/.node-version index c5ddcef..9158a6f 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -v22.14.0 \ No newline at end of file +v22.15.0 diff --git a/yarn.lock b/yarn.lock index b5db090..9881799 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3243,7 +3243,7 @@ cross-dirname@^0.1.0: resolved "https://registry.yarnpkg.com/cross-dirname/-/cross-dirname-0.1.0.tgz#b899599f30a5389f59e78c150e19f957ad16a37c" integrity sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q== -cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6: +cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -3370,9 +3370,9 @@ delayed-stream@~1.0.0: integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== detect-libc@^2.0.0, detect-libc@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" - integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.4.tgz#f04715b8ba815e53b4d8109655b6508a6865a7e8" + integrity sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA== detect-node@^2.0.4: version "2.1.0" @@ -4155,11 +4155,11 @@ foreachasync@^3.0.0: integrity sha512-J+ler7Ta54FwwNcx6wQRDhTIbNeyDcARMkOcguEqnEdtm0jKvN3Li3PDAb2Du3ubJYEWfYL83XMROXdsXAXycw== foreground-child@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" - integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + version "3.3.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" + integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== dependencies: - cross-spawn "^7.0.0" + cross-spawn "^7.0.6" signal-exit "^4.0.1" form-data@^4.0.0: @@ -4386,9 +4386,9 @@ glob@^10.2.2, glob@^10.3.10, glob@^10.3.12, glob@^10.3.7: path-scurry "^1.11.1" glob@^11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-11.0.1.tgz#1c3aef9a59d680e611b53dcd24bb8639cef064d9" - integrity sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw== + version "11.0.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-11.0.2.tgz#3261e3897bbc603030b041fd77ba636022d51ce0" + integrity sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ== dependencies: foreground-child "^3.1.0" jackspeak "^4.0.1" @@ -4998,9 +4998,9 @@ jackspeak@^3.1.2: "@pkgjs/parseargs" "^0.11.0" jackspeak@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.0.2.tgz#11f9468a3730c6ff6f56823a820d7e3be9bef015" - integrity sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw== + version "4.1.0" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.1.0.tgz#c489c079f2b636dc4cbe9b0312a13ff1282e561b" + integrity sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw== dependencies: "@isaacs/cliui" "^8.0.2" @@ -5160,9 +5160,9 @@ keyv@^4.0.0, keyv@^4.5.3: json-buffer "3.0.1" knip@^5.0.0: - version "5.50.4" - resolved "https://registry.yarnpkg.com/knip/-/knip-5.50.4.tgz#40281b6e6dbb1ef72390e059635b4e7f74652b69" - integrity sha512-In+GjPpd2P3IDZnBBP4QF27vhQOhuBkICiuN9j+DMOf/m/qAFLGcbvuAGxco8IDvf26pvBnfeSmm1f6iNCkgOA== + version "5.51.0" + resolved "https://registry.yarnpkg.com/knip/-/knip-5.51.0.tgz#b9d477d32811da292c03cd74c55e5ea8862ea4c8" + integrity sha512-gw5TzLt9FikIk1oPWDc7jPRb/+L3Aw1ia25hWUQBb+hXS/Rbdki/0rrzQygjU5/CVYnRWYqc1kgdNi60Jm1lPg== dependencies: "@nodelib/fs.walk" "^1.2.3" easy-table "1.2.0" @@ -5296,9 +5296,9 @@ lru-cache@^10.0.1, lru-cache@^10.2.0: integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== lru-cache@^11.0.0: - version "11.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.0.2.tgz#fbd8e7cf8211f5e7e5d91905c415a3f55755ca39" - integrity sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA== + version "11.1.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.1.0.tgz#afafb060607108132dbc1cf8ae661afb69486117" + integrity sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A== lru-cache@^5.1.1: version "5.1.1" @@ -6852,9 +6852,9 @@ smart-buffer@^4.0.2, smart-buffer@^4.2.0: integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== smol-toml@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/smol-toml/-/smol-toml-1.3.1.tgz#d9084a9e212142e3cab27ef4e2b8e8ba620bfe15" - integrity sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ== + version "1.3.4" + resolved "https://registry.yarnpkg.com/smol-toml/-/smol-toml-1.3.4.tgz#4ec76e0e709f586bc50ba30eb79024173c2b2221" + integrity sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA== socks-proxy-agent@^7.0.0: version "7.0.0" @@ -7704,6 +7704,6 @@ zod-validation-error@^3.0.3: integrity sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ== zod@^3.22.4: - version "3.24.2" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.2.tgz#8efa74126287c675e92f46871cfc8d15c34372b3" - integrity sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ== + version "3.24.3" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.3.tgz#1f40f750a05e477396da64438e0e1c0995dafd87" + integrity sha512-HhY1oqzWCQWuUqvBFnsyrtZRhyPeR7SUGv+C4+MsisMuVfSPx8HpwWqH8tRahSlt6M3PiFAcoeFhZAqIXTxoSg== From 0b167fe278acc0560c0731df210f1675b6685e1e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Apr 2025 12:48:23 +0100 Subject: [PATCH 12/58] Update dependency electron to v36 (#2293) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <7t3chguy@gmail.com> --- package.json | 5 +++-- yarn.lock | 18 +++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 678a809..a24f553 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "app-builder-lib": "26.0.12", "chokidar": "^4.0.0", "detect-libc": "^2.0.0", - "electron": "35.2.0", + "electron": "36.0.0", "electron-builder": "26.0.12", "electron-builder-squirrel-windows": "26.0.12", "electron-devtools-installer": "^4.0.0", @@ -117,6 +117,7 @@ }, "resolutions": { "@types/node": "18.19.87", - "config-file-ts": "0.2.8-rc1" + "config-file-ts": "0.2.8-rc1", + "node-abi": "4.4.0" } } diff --git a/yarn.lock b/yarn.lock index 9881799..7c31f10 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3558,10 +3558,10 @@ electron-winstaller@5.4.0: optionalDependencies: "@electron/windows-sign" "^1.1.2" -electron@35.2.0: - version "35.2.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-35.2.0.tgz#4701f455a2bc41c992cc529b42203c530223dcd8" - integrity sha512-GHda7oCkN0pA23qzah735DEbRa06IPwlzP3uvjAmf9af8gxdj5i93JEHeQVGVmSVpd7sSb1pfecs9nz7B1q5ag== +electron@36.0.0: + version "36.0.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-36.0.0.tgz#ffbe7ca9edecaee53617f29a088be10bbed9a45f" + integrity sha512-MhBL5tgzqLsiw++YXxzXRvF5s90gelcEZP4Upz/aaRmmoscmCw/EtimxMSH6EPnKt+8KwBY9RVAdlcffFPYkyw== dependencies: "@electron/get" "^2.0.0" "@types/node" "^22.7.7" @@ -5650,12 +5650,12 @@ negotiator@^1.0.0: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== -node-abi@^3.3.0, node-abi@^3.45.0: - version "3.74.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.74.0.tgz#5bfb4424264eaeb91432d2adb9da23c63a301ed0" - integrity sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w== +node-abi@4.4.0, node-abi@^3.3.0, node-abi@^3.45.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-4.4.0.tgz#f17a2880a556337030a02b7f92e308946cdbbfc9" + integrity sha512-+sBEWs/HZ3ZDBtPSPKfYndkTF9ebr1BJm/z2TBDJj/upiOx9J6BeGXRtFyOXz1r6vUqzsCRM5pUr+K83i64agg== dependencies: - semver "^7.3.5" + semver "^7.6.3" node-addon-api@^1.6.3: version "1.7.2" From 2b928c3f505b32c53a5a1a2c3c42c9c15bc92315 Mon Sep 17 00:00:00 2001 From: t3chguy <2403652+t3chguy@users.noreply.github.com> Date: Wed, 30 Apr 2025 06:07:35 +0000 Subject: [PATCH 13/58] [create-pull-request] automated change --- src/i18n/strings/pl.json | 18 +++++++++++++++++- src/i18n/strings/pt_BR.json | 18 +++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json index f1f8280..c98db57 100644 --- a/src/i18n/strings/pl.json +++ b/src/i18n/strings/pl.json @@ -22,7 +22,9 @@ "about": "Informacje", "brand_help": "Pomoc %(brand)s", "help": "Pomoc", - "preferences": "Preferencje" + "no": "Nie", + "preferences": "Preferencje", + "yes": "Tak" }, "confirm_quit": "Czy na pewno chcesz zamknąć?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "Obraz nie został zapisany", "save_image_as_error_title": "Nie udało się zapisać obrazu" }, + "store": { + "error": { + "backend_changed": "Wyczyścić dane i przeładować?", + "backend_changed_detail": "Nie można uzyskać dostępu do sekretnego magazynu, wygląda na to, że uległ zmianie.", + "backend_changed_title": "Nie udało się załadować bazy danych", + "unknown_backend_override": "System zawiera niewspierany keyring, nie można otworzyć bazy danych.", + "unknown_backend_override_details": "Sprawdź dziennik, aby uzyskać więcej informacji.", + "unknown_backend_override_title": "Nie udało się załadować bazy danych", + "unsupported_keyring": "System zawiera niewspierany keyring, nie można otworzyć bazy danych.", + "unsupported_keyring_cta": "Użyj słabszego szyfrowania", + "unsupported_keyring_detail": "Wykrywanie keyring'u electron nie znalazł wspieranego backendu, możesz spróbować wymusić wybrany przez siebie, zobacz %(link)s.", + "unsupported_keyring_title": "Brak wsparcia systemu" + } + }, "view_menu": { "actual_size": "Rozmiar rzeczywisty", "toggle_developer_tools": "Przełącz narzędzia deweloperskie", diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index b5bca90..8a3b7db 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -22,7 +22,9 @@ "about": "Sobre", "brand_help": "%(brand)s Ajuda", "help": "Ajuda", - "preferences": "Preferências" + "no": "Não", + "preferences": "Preferências", + "yes": "Sim" }, "confirm_quit": "Você tem certeza que você quer sair?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "A imagem falhou para salvar", "save_image_as_error_title": "Falha para salvar imagem" }, + "store": { + "error": { + "backend_changed": "Limpar dados e recarregar?", + "backend_changed_detail": "Não foi possível acessar o segredo no cofre do sistema, parece que ele foi alterado.", + "backend_changed_title": "Falha ao carregar o banco de dados", + "unknown_backend_override": "Seu sistema possui um cofre não compatível, o que impede a abertura do banco de dados.", + "unknown_backend_override_details": "Verifique os logs para obter mais detalhes.", + "unknown_backend_override_title": "Falha ao carregar o banco de dados", + "unsupported_keyring": "Seu sistema possui um cofre não compatível, o que impede a abertura do banco de dados.", + "unsupported_keyring_cta": "Use criptografia mais fraca", + "unsupported_keyring_detail": "A detecção de cofre do Electron não encontrou um back-end compatível. Talvez você consiga convencê-lo a usar um em seu sistema de qualquer maneira, veja %(link)s.", + "unsupported_keyring_title": "Sistema não suportado" + } + }, "view_menu": { "actual_size": "Tamanho de Verdade", "toggle_developer_tools": "Ativar/Desativar Ferramentas de Desenvolvimento", From 2699d04fd17014012c4f732be3c5a1af1899b3aa Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 30 Apr 2025 12:13:12 +0100 Subject: [PATCH 14/58] Update copy for the Electron Linux keyring backend error (#2295) --- src/i18n/strings/en_EN.json | 2 +- src/store.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 4259f3d..28a81bd 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -61,7 +61,7 @@ "unknown_backend_override_title": "Failed to load database", "unsupported_keyring": "Your system has an unsupported keyring meaning the database cannot be opened.", "unsupported_keyring_cta": "Use weaker encryption", - "unsupported_keyring_detail": "Electron's keyring detection did not find a supported backend, you may be able to convince it to use one on your system anyway, see %(link)s.", + "unsupported_keyring_detail": "Electron's keyring detection did not find a supported backend. You can attempt to manually configure the backend by starting %(brand)s with a command-line argument, a one-time operation. See %(link)s.", "unsupported_keyring_title": "System unsupported" } }, diff --git a/src/store.ts b/src/store.ts index 497bb92..d78c615 100644 --- a/src/store.ts +++ b/src/store.ts @@ -266,6 +266,7 @@ class Store extends ElectronStore { title: _t("store|error|unsupported_keyring_title"), message: _t("store|error|unsupported_keyring"), detail: _t("store|error|unsupported_keyring_detail", { + brand: global.vectorConfig.brand || "Element", link: "https://www.electronjs.org/docs/latest/api/safe-storage#safestoragegetselectedstoragebackend-linux", }), type: "error", From abaaadd2eb7120426befca50b0d7e39c722f4501 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 1 May 2025 16:24:19 +0100 Subject: [PATCH 15/58] Revert "Update dependency electron to v36 (#2293)" This reverts commit 0b167fe278acc0560c0731df210f1675b6685e1e. --- package.json | 5 ++--- yarn.lock | 18 +++++++++--------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index a24f553..678a809 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "app-builder-lib": "26.0.12", "chokidar": "^4.0.0", "detect-libc": "^2.0.0", - "electron": "36.0.0", + "electron": "35.2.0", "electron-builder": "26.0.12", "electron-builder-squirrel-windows": "26.0.12", "electron-devtools-installer": "^4.0.0", @@ -117,7 +117,6 @@ }, "resolutions": { "@types/node": "18.19.87", - "config-file-ts": "0.2.8-rc1", - "node-abi": "4.4.0" + "config-file-ts": "0.2.8-rc1" } } diff --git a/yarn.lock b/yarn.lock index 7c31f10..9881799 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3558,10 +3558,10 @@ electron-winstaller@5.4.0: optionalDependencies: "@electron/windows-sign" "^1.1.2" -electron@36.0.0: - version "36.0.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-36.0.0.tgz#ffbe7ca9edecaee53617f29a088be10bbed9a45f" - integrity sha512-MhBL5tgzqLsiw++YXxzXRvF5s90gelcEZP4Upz/aaRmmoscmCw/EtimxMSH6EPnKt+8KwBY9RVAdlcffFPYkyw== +electron@35.2.0: + version "35.2.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-35.2.0.tgz#4701f455a2bc41c992cc529b42203c530223dcd8" + integrity sha512-GHda7oCkN0pA23qzah735DEbRa06IPwlzP3uvjAmf9af8gxdj5i93JEHeQVGVmSVpd7sSb1pfecs9nz7B1q5ag== dependencies: "@electron/get" "^2.0.0" "@types/node" "^22.7.7" @@ -5650,12 +5650,12 @@ negotiator@^1.0.0: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== -node-abi@4.4.0, node-abi@^3.3.0, node-abi@^3.45.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-4.4.0.tgz#f17a2880a556337030a02b7f92e308946cdbbfc9" - integrity sha512-+sBEWs/HZ3ZDBtPSPKfYndkTF9ebr1BJm/z2TBDJj/upiOx9J6BeGXRtFyOXz1r6vUqzsCRM5pUr+K83i64agg== +node-abi@^3.3.0, node-abi@^3.45.0: + version "3.74.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.74.0.tgz#5bfb4424264eaeb91432d2adb9da23c63a301ed0" + integrity sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w== dependencies: - semver "^7.6.3" + semver "^7.3.5" node-addon-api@^1.6.3: version "1.7.2" From 3a8726f953de345ea37e312a504aa56fc5f321fa Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Thu, 1 May 2025 17:13:49 +0100 Subject: [PATCH 16/58] Notes on using gdb ... because I always forget how to do this, and it takes me ages to remember. --- docs/SUMMARY.md | 3 ++- docs/gdb.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 docs/gdb.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 316602e..e476b2f 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -2,10 +2,11 @@ - [Introduction](../README.md) -# Build +# Build/Debug - [Native Node modules](native-node-modules.md) - [Windows requirements](windows-requirements.md) +- [Using gdb](gdb.md) # Distribution diff --git a/docs/gdb.md b/docs/gdb.md new file mode 100644 index 0000000..471cd24 --- /dev/null +++ b/docs/gdb.md @@ -0,0 +1,46 @@ +# Using gdb against Element-Desktop + +Occasionally it is useful to be able to connect to a running Element-Desktop +with [`gdb`](https://sourceware.org/gdb/), or to analayze a coredump. For this, +you will need debug symbols. + +1. If you don't already have the right version of Element-Desktop (eg because + you are analyzing someone else's coredump), download and unpack the tarball + from https://packages.element.io/desktop/install/linux/. If it was a + nightly, your best bet may be to download the deb from + https://packages.element.io/debian/pool/main/e/element-nightly/ and unpack + it. +2. Figure out which version of Electron your Element-Desktop is based on. The + best way to do this is to figure out the version of Element-Desktop, then + look at + [`yarn.lock`](https://github.com/element-hq/element-desktop/blob/develop/yarn.lock) + for the corresponding version. There should be an entry starting + `electron@`, and under it a `version` line: this will tell you the version + of Electron that was used for that version of Element-Desktop. + +3. Go to [Electron's releases page](https://github.com/electron/electron/releases/) + and find the version you just identified. Under "Assets", download + `electron-v-linux-x64-debug.zip` (or, the -debug zip corresponding to your + architecture). + +4. The debug zip has a structure like: + + ``` + . + ├── debug + │   ├── chrome_crashpad_handler.debug + │   ├── electron.debug + │   ├── libEGL.so.debug + │   ├── libffmpeg.so.debug + │   ├── libGLESv2.so.debug + │   └── libvk_swiftshader.so.debug + ├── LICENSE + ├── LICENSES.chromium.html + └── version + ``` + + Take all the contents of `debug`, and copy them into the Element-Desktop directory, + so that `electron.debug` is alongside the `element-desktop-nightly` executable. + +5. You now have a thing you can gdb as normal, either as `gdb --args element-desktop-nightly`, or + `gdb element-desktop-nightly core`. From 0ad720454cb7bd53e0486cca552278de55bde55d Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 6 May 2025 10:44:51 +0100 Subject: [PATCH 17/58] Revert "Revert "Update dependency electron to v36"" --- package.json | 5 +++-- yarn.lock | 18 +++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 678a809..a24f553 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "app-builder-lib": "26.0.12", "chokidar": "^4.0.0", "detect-libc": "^2.0.0", - "electron": "35.2.0", + "electron": "36.0.0", "electron-builder": "26.0.12", "electron-builder-squirrel-windows": "26.0.12", "electron-devtools-installer": "^4.0.0", @@ -117,6 +117,7 @@ }, "resolutions": { "@types/node": "18.19.87", - "config-file-ts": "0.2.8-rc1" + "config-file-ts": "0.2.8-rc1", + "node-abi": "4.4.0" } } diff --git a/yarn.lock b/yarn.lock index 9881799..7c31f10 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3558,10 +3558,10 @@ electron-winstaller@5.4.0: optionalDependencies: "@electron/windows-sign" "^1.1.2" -electron@35.2.0: - version "35.2.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-35.2.0.tgz#4701f455a2bc41c992cc529b42203c530223dcd8" - integrity sha512-GHda7oCkN0pA23qzah735DEbRa06IPwlzP3uvjAmf9af8gxdj5i93JEHeQVGVmSVpd7sSb1pfecs9nz7B1q5ag== +electron@36.0.0: + version "36.0.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-36.0.0.tgz#ffbe7ca9edecaee53617f29a088be10bbed9a45f" + integrity sha512-MhBL5tgzqLsiw++YXxzXRvF5s90gelcEZP4Upz/aaRmmoscmCw/EtimxMSH6EPnKt+8KwBY9RVAdlcffFPYkyw== dependencies: "@electron/get" "^2.0.0" "@types/node" "^22.7.7" @@ -5650,12 +5650,12 @@ negotiator@^1.0.0: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== -node-abi@^3.3.0, node-abi@^3.45.0: - version "3.74.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.74.0.tgz#5bfb4424264eaeb91432d2adb9da23c63a301ed0" - integrity sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w== +node-abi@4.4.0, node-abi@^3.3.0, node-abi@^3.45.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-4.4.0.tgz#f17a2880a556337030a02b7f92e308946cdbbfc9" + integrity sha512-+sBEWs/HZ3ZDBtPSPKfYndkTF9ebr1BJm/z2TBDJj/upiOx9J6BeGXRtFyOXz1r6vUqzsCRM5pUr+K83i64agg== dependencies: - semver "^7.3.5" + semver "^7.6.3" node-addon-api@^1.6.3: version "1.7.2" From 10e2c5c1e49e929d221476f16af59af24c13057e Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 6 May 2025 11:40:32 +0100 Subject: [PATCH 18/58] Apply workaround for electron bug Fixes https://github.com/element-hq/element-desktop/issues/2297 --- src/electron-main.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/electron-main.ts b/src/electron-main.ts index 6c91eb1..fd27ad2 100644 --- a/src/electron-main.ts +++ b/src/electron-main.ts @@ -298,6 +298,11 @@ app.commandLine.appendSwitch("--enable-usermedia-screen-capturing"); if (!app.commandLine.hasSwitch("enable-features")) { app.commandLine.appendSwitch("enable-features", "WebRTCPipeWireCapturer"); } +// Workaround bug in electron 36:https://github.com/electron/electron/issues/46538 +// Hopefully this will no longer be needed soon and can be removed +if (process.platform === "linux") { + app.commandLine.appendSwitch('gtk-version', '3'); +} const gotLock = app.requestSingleInstanceLock(); if (!gotLock) { From cd9b48d87f212af3ebb463d396e8f91b9fe2e650 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 6 May 2025 11:47:45 +0100 Subject: [PATCH 19/58] Prettier --- src/electron-main.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/electron-main.ts b/src/electron-main.ts index fd27ad2..8bb7f4b 100644 --- a/src/electron-main.ts +++ b/src/electron-main.ts @@ -301,7 +301,7 @@ if (!app.commandLine.hasSwitch("enable-features")) { // Workaround bug in electron 36:https://github.com/electron/electron/issues/46538 // Hopefully this will no longer be needed soon and can be removed if (process.platform === "linux") { - app.commandLine.appendSwitch('gtk-version', '3'); + app.commandLine.appendSwitch("gtk-version", "3"); } const gotLock = app.requestSingleInstanceLock(); From a1bba6f8d3252e7baffa99cf33be13a1a6319d99 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 6 May 2025 13:24:49 +0100 Subject: [PATCH 20/58] Apply workaround to fix app launching on Linux Manual backport of https://github.com/element-hq/element-desktop/pull/2307 --- src/electron-main.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/electron-main.ts b/src/electron-main.ts index fddee60..5d9e888 100644 --- a/src/electron-main.ts +++ b/src/electron-main.ts @@ -326,6 +326,11 @@ app.commandLine.appendSwitch("--enable-usermedia-screen-capturing"); if (!app.commandLine.hasSwitch("enable-features")) { app.commandLine.appendSwitch("enable-features", "WebRTCPipeWireCapturer"); } +// Workaround bug in electron 36:https://github.com/electron/electron/issues/46538 +// Hopefully this will no longer be needed soon and can be removed +if (process.platform === "linux") { + app.commandLine.appendSwitch("gtk-version", "3"); +} const gotLock = app.requestSingleInstanceLock(); if (!gotLock) { From b5febd1a0726aa3c9b0fccde7d0334d913cd98f4 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 6 May 2025 14:19:52 +0000 Subject: [PATCH 21/58] v1.11.100 --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b661abb..eeeaaba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,29 @@ +Changes in [1.11.100](https://github.com/element-hq/element-desktop/releases/tag/v1.11.100) (2025-05-06) +======================================================================================================== +## ✨ Features + +* Move rich topics out of labs / stabilise MSC3765 ([#29817](https://github.com/element-hq/element-web/pull/29817)). Contributed by @Johennes. +* Spell out that Element Web does \*not\* work on mobile. ([#29211](https://github.com/element-hq/element-web/pull/29211)). Contributed by @ara4n. +* Add message preview support to the new room list ([#29784](https://github.com/element-hq/element-web/pull/29784)). Contributed by @dbkr. +* Global configuration flag for media previews ([#29582](https://github.com/element-hq/element-web/pull/29582)). Contributed by @Half-Shot. +* New room list: add partial keyboard shortcuts support ([#29783](https://github.com/element-hq/element-web/pull/29783)). Contributed by @florianduros. +* MVVM RoomSummaryCard Topic ([#29710](https://github.com/element-hq/element-web/pull/29710)). Contributed by @MarcWadai. +* Warn on self change from settings > roles ([#28926](https://github.com/element-hq/element-web/pull/28926)). Contributed by @MarcWadai. +* New room list: new visual for invitation ([#29773](https://github.com/element-hq/element-web/pull/29773)). Contributed by @florianduros. + +## 🐛 Bug Fixes + +* Apply workaround to fix app launching on Linux ([#2308](https://github.com/element-hq/element-desktop/pull/2308)). Contributed by @dbkr. +* Notification fixes for Windows - AppID name was messing up handler ([#2275](https://github.com/element-hq/element-desktop/pull/2275)). Contributed by @Fusseldieb. +* Fix incorrect display of the user info display name ([#29826](https://github.com/element-hq/element-web/pull/29826)). Contributed by @langleyd. +* RoomListStore: Remove invite rooms on decline ([#29804](https://github.com/element-hq/element-web/pull/29804)). Contributed by @MidhunSureshR. +* Fix the buttons not being displayed with long preview text ([#29811](https://github.com/element-hq/element-web/pull/29811)). Contributed by @dbkr. +* New room list: fix missing/incorrect notification decoration ([#29796](https://github.com/element-hq/element-web/pull/29796)). Contributed by @florianduros. +* New Room List: Prevent potential scroll jump/flicker when switching spaces ([#29781](https://github.com/element-hq/element-web/pull/29781)). Contributed by @MidhunSureshR. +* New room list: fix incorrect decoration ([#29770](https://github.com/element-hq/element-web/pull/29770)). Contributed by @florianduros. + + + Changes in [1.11.99](https://github.com/element-hq/element-desktop/releases/tag/v1.11.99) (2025-04-23) ====================================================================================================== ## 🐛 Bug Fixes diff --git a/package.json b/package.json index 4e9d948..ce11880 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "productName": "Element", "main": "lib/electron-main.js", "exports": "./lib/electron-main.js", - "version": "1.11.100-rc.0", + "version": "1.11.100", "description": "Element: the future of secure communication", "author": "Element", "homepage": "https://element.io", From 3c9b229664a424916dbea71ea08475e1993f2084 Mon Sep 17 00:00:00 2001 From: t3chguy <2403652+t3chguy@users.noreply.github.com> Date: Wed, 7 May 2025 14:58:23 +0000 Subject: [PATCH 22/58] [create-pull-request] automated change --- src/i18n/strings/cs.json | 18 +++++++++++++++++- src/i18n/strings/de_DE.json | 18 +++++++++++++++++- src/i18n/strings/et.json | 18 +++++++++++++++++- src/i18n/strings/fr.json | 18 +++++++++++++++++- src/i18n/strings/hu.json | 18 +++++++++++++++++- src/i18n/strings/id.json | 18 +++++++++++++++++- src/i18n/strings/nb_NO.json | 18 +++++++++++++++++- src/i18n/strings/pt_BR.json | 2 +- src/i18n/strings/sk.json | 18 +++++++++++++++++- src/i18n/strings/uk.json | 18 +++++++++++++++++- 10 files changed, 154 insertions(+), 10 deletions(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 49faf22..1fbc844 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -22,7 +22,9 @@ "about": "O", "brand_help": "%(brand)s nápověda", "help": "Nápověda", - "preferences": "Předvolby" + "no": "Ne", + "preferences": "Předvolby", + "yes": "Ano" }, "confirm_quit": "Opravdu chcete ukončit aplikaci?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "Obrázek se nepodařilo uložit", "save_image_as_error_title": "Chyba při ukládání obrázku" }, + "store": { + "error": { + "backend_changed": "Vymazat data a znovu načíst?", + "backend_changed_detail": "Nelze získat přístup k tajnému klíči ze systémové klíčenky, zdá se, že se změnil.", + "backend_changed_title": "Nepodařilo se načíst databázi", + "unknown_backend_override": "Váš systém má nepodporovanou klíčenku, což znamená, že databázi nelze otevřít.", + "unknown_backend_override_details": "Další podrobnosti naleznete v protokolech.", + "unknown_backend_override_title": "Nepodařilo se načíst databázi", + "unsupported_keyring": "Váš systém má nepodporovanou klíčenku, což znamená, že databázi nelze otevřít.", + "unsupported_keyring_cta": "Používat slabší šifrování", + "unsupported_keyring_detail": "Detekce klíčenky Electronu nenalezla podporovaný backend. Můžete se pokusit ručně nakonfigurovat backend spuštěním %(brand)s s argumentem příkazového řádku, jednorázovou operací. Viz %(link)s.", + "unsupported_keyring_title": "Systém není podporován" + } + }, "view_menu": { "actual_size": "Aktuální velikost", "toggle_developer_tools": "Přepnout zobrazení nástrojů pro vývojáře", diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 8d30a9b..c5242bc 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -22,7 +22,9 @@ "about": "Über", "brand_help": "%(brand)s Hilfe", "help": "Hilfe", - "preferences": "Präferenzen" + "no": "Nein", + "preferences": "Präferenzen", + "yes": "Ja" }, "confirm_quit": "Wirklich beenden?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "Das Bild konnte nicht gespeichert werden", "save_image_as_error_title": "Bild kann nicht gespeichert werden" }, + "store": { + "error": { + "backend_changed": "Daten löschen und neu laden?", + "backend_changed_detail": "Zugriff auf Schlüssel im Systemschlüsselbund nicht möglich, er scheint sich geändert zu haben.", + "backend_changed_title": "Datenbank konnte nicht geladen werden", + "unknown_backend_override": "Der Schlüsselbund ihres Systems wird nicht unterstützt, wodurch die Datenbank nicht geöffnet werden kann.", + "unknown_backend_override_details": "Weitere Informationen finden Sie in den Protokollen.", + "unknown_backend_override_title": "Die Datenbank konnte nicht geladen werden", + "unsupported_keyring": "Der Schlüsselbund ihres Systems wird nicht unterstützt, wodurch die Datenbank nicht geöffnet werden kann.", + "unsupported_keyring_cta": "Schwächere Verschlüsselung verwenden", + "unsupported_keyring_detail": "Die Schlüsselbunderkennung von Electron hat kein unterstütztes Backend gefunden. Möglicherweise können sie dennoch den ihres Systemes verwenden. Infos unter %(link)s.", + "unsupported_keyring_title": "System nicht unterstützt" + } + }, "view_menu": { "actual_size": "Tatsächliche Größe", "toggle_developer_tools": "Developer-Tools an/aus", diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 36f512f..c71aa74 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -22,7 +22,9 @@ "about": "Rakenduse teave", "brand_help": "%(brand)s abiteave", "help": "Abiteave", - "preferences": "Eelistused" + "no": "Ei", + "preferences": "Eelistused", + "yes": "Jah" }, "confirm_quit": "Kas sa kindlasti soovid rakendusest väljuda?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "Seda pilti ei õnnestunud salvestada", "save_image_as_error_title": "Pildi salvestamine ei õnnestunud" }, + "store": { + "error": { + "backend_changed": "Kas kustutame andmed ja laadime uuesti?", + "backend_changed_detail": "Süsteemsest võtmerõngast ei õnnestu laadida vajalikku saladust, tundub et ta on muutunud.", + "backend_changed_title": "Andmebaasi ei õnnestunud laadida", + "unknown_backend_override": "Sinu süsteemis on kasutusel mittetoetatud võtmerõnga versioon ning see tähendab, et andmebaasi ei saa avada.", + "unknown_backend_override_details": "Lisateavet leiad logidest.", + "unknown_backend_override_title": "Andmebaasi ei õnnestunud laadida", + "unsupported_keyring": "Sinu süsteemis on kasutusel mittetoetatud võtmerõnga versioon ning see tähendab, et andmebaasi ei saa avada.", + "unsupported_keyring_cta": "Kasuta nõrgemat krüptimist", + "unsupported_keyring_detail": "Electroni võtmerõnga tuvastamine ei leidnud toetatud taustateenust. Kui käivitad rakenduse %(brand)s käsurealt õigete argumentidega, siis võib taustateenuse käsitsi seadistamine õnnestuda ning seda tegevust peaksid vaid üks kord tegema. Lisateave: %(link)s.", + "unsupported_keyring_title": "Süsteem pole toetatud" + } + }, "view_menu": { "actual_size": "Näita tavasuuruses", "toggle_developer_tools": "Arendaja töövahendid sisse/välja", diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 86d2e6d..ba0b6da 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -22,7 +22,9 @@ "about": "À propos", "brand_help": "Aide de %(brand)s", "help": "Aide", - "preferences": "Préférences" + "no": "Non", + "preferences": "Préférences", + "yes": "Oui" }, "confirm_quit": "Êtes-vous sûr de vouloir quitter ?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "L’image n’a pas pu être sauvegardée", "save_image_as_error_title": "Échec de la sauvegarde de l’image" }, + "store": { + "error": { + "backend_changed": "Effacer les données et recharger ?", + "backend_changed_detail": "Impossible d'accéder aux secrets depuis le trousseau de clés du système, il semble avoir changé.", + "backend_changed_title": "Impossible de charger la base de données", + "unknown_backend_override": "Votre système possède un trousseau de clés non pris en charge, ce qui signifie que la base de données ne peut pas être ouverte.", + "unknown_backend_override_details": "Veuillez consulter les journaux pour plus de détails.", + "unknown_backend_override_title": "Impossible de charger la base de données", + "unsupported_keyring": "Votre système possède un trousseau de clés non pris en charge, la base de données ne peut pas être ouverte.", + "unsupported_keyring_cta": "Utiliser un chiffrement plus faible", + "unsupported_keyring_detail": "La détection du porte-clés par Electron n'a pas permis de trouver de backend compatible. Vous pouvez essayer de configurer manuellement le backend en utilisant %(brand)s avec un argument de ligne de commande. Cette opération doit être effectuer une seule fois. Voir%(link)s.", + "unsupported_keyring_title": "Système non pris en charge" + } + }, "view_menu": { "actual_size": "Taille réelle", "toggle_developer_tools": "Basculer les outils de développement", diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index d0d7d04..91638d2 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -22,7 +22,9 @@ "about": "Névjegy", "brand_help": "%(brand)s Súgó", "help": "Súgó", - "preferences": "Beállítások" + "no": "Nem", + "preferences": "Beállítások", + "yes": "Igen" }, "confirm_quit": "Biztos, hogy kilép?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "A kép mentése sikertelen", "save_image_as_error_title": "Kép mentése sikertelen" }, + "store": { + "error": { + "backend_changed": "Adatok törlése és újratöltés?", + "backend_changed_detail": "Nem sikerült hozzáférni a rendszerkulcstartó titkos kódjához, úgy tűnik, megváltozott.", + "backend_changed_title": "Nem sikerült betölteni az adatbázist", + "unknown_backend_override": "A rendszer nem támogatott kulcstartóval rendelkezik, ami azt jelenti, hogy az adatbázis nem nyitható meg.", + "unknown_backend_override_details": "További részletekért ellenőrizze a naplókat.", + "unknown_backend_override_title": "Nem sikerült betölteni az adatbázist", + "unsupported_keyring": "A rendszer nem támogatott kulcstartóval rendelkezik, ami azt jelenti, hogy az adatbázis nem nyitható meg.", + "unsupported_keyring_cta": "Gyengébb titkosítás használata", + "unsupported_keyring_detail": "Az Electron kulcstartóészlelése nem talált támogatott háttérrendszert. Megpróbálhatja kézileg beállítani a háttérrendszert az %(brand)s egyszeri, parancssori argumentummal való indításával. Lásd: %(link)s.", + "unsupported_keyring_title": "A rendszer nem támogatott" + } + }, "view_menu": { "actual_size": "Jelenlegi méret", "toggle_developer_tools": "Fejlesztői eszközök", diff --git a/src/i18n/strings/id.json b/src/i18n/strings/id.json index ced8aeb..da85d6f 100644 --- a/src/i18n/strings/id.json +++ b/src/i18n/strings/id.json @@ -22,7 +22,9 @@ "about": "Tentang", "brand_help": "Bantuan %(brand)s", "help": "Bantuan", - "preferences": "Preferensi" + "no": "Tidak", + "preferences": "Preferensi", + "yes": "Ya" }, "confirm_quit": "Apakah Anda yakin ingin keluar?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "Gambar gagal disimpan", "save_image_as_error_title": "Gagal menyimpan gambar" }, + "store": { + "error": { + "backend_changed": "Hapus data dan muat ulang?", + "backend_changed_detail": "Tidak dapat mengakses rahasia dari keyring sistem, tampaknya telah berubah.", + "backend_changed_title": "Gagal memuat basis data", + "unknown_backend_override": "Sistem Anda memiliki keyring yang tidak didukung yang berarti basis data tidak dapat dibuka.", + "unknown_backend_override_details": "Silakan periksa log untuk detail lebih lanjut.", + "unknown_backend_override_title": "Gagal memuat basis data", + "unsupported_keyring": "Sistem Anda memiliki keyring yang tidak didukung yang berarti basis data tidak dapat dibuka.", + "unsupported_keyring_cta": "Gunakan enkripsi yang lebih lemah", + "unsupported_keyring_detail": "Deteksi keyring Electron tidak menemukan backend yang didukung. Anda dapat mencoba mengonfigurasi backend secara manual dengan memulai %(brand)s dengan argumen baris perintah, operasi satu kali. Lihat %(link)s.", + "unsupported_keyring_title": "Sistem tidak didukung" + } + }, "view_menu": { "actual_size": "Ukuran Sebenarnya", "toggle_developer_tools": "Beralih Alat Pengembang", diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json index 7311f7a..2daac96 100644 --- a/src/i18n/strings/nb_NO.json +++ b/src/i18n/strings/nb_NO.json @@ -22,7 +22,9 @@ "about": "Om", "brand_help": "%(brand)s Hjelp", "help": "Hjelp", - "preferences": "Brukervalg" + "no": "Nei", + "preferences": "Brukervalg", + "yes": "Ja" }, "confirm_quit": "Er du sikker på at du vil slutte?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "Bildet kunne ikke lagres", "save_image_as_error_title": "Kunne ikke lagre bildet" }, + "store": { + "error": { + "backend_changed": "Tøm data og last inn på nytt?", + "backend_changed_detail": "Kan ikke få tilgang til hemmeligheten fra systemnøkkelringen, den ser ut til å ha blitt endret.", + "backend_changed_title": "Kunne ikke laste inn databasen", + "unknown_backend_override": "Systemet ditt har en nøkkelring som ikke støttes, noe som betyr at databasen ikke kan åpnes.", + "unknown_backend_override_details": "Vennligst sjekk loggene for mer informasjon.", + "unknown_backend_override_title": "Kunne ikke laste inn databasen", + "unsupported_keyring": "Systemet ditt har en nøkkelring som ikke støttes, noe som betyr at databasen ikke kan åpnes.", + "unsupported_keyring_cta": "Bruk svakere kryptering", + "unsupported_keyring_detail": "Electrons nøkkelringdeteksjon fant ikke en støttet backend. Du kan prøve å konfigurere backend manuelt ved å starte %(brand)s med et kommandolinjeargument, en engangsoperasjon. Se%(link)s.", + "unsupported_keyring_title": "Systemet støttes ikke" + } + }, "view_menu": { "actual_size": "Faktisk størrelse", "toggle_developer_tools": "Veksle Utvikleralternativer", diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index 8a3b7db..790b9bb 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -61,7 +61,7 @@ "unknown_backend_override_title": "Falha ao carregar o banco de dados", "unsupported_keyring": "Seu sistema possui um cofre não compatível, o que impede a abertura do banco de dados.", "unsupported_keyring_cta": "Use criptografia mais fraca", - "unsupported_keyring_detail": "A detecção de cofre do Electron não encontrou um back-end compatível. Talvez você consiga convencê-lo a usar um em seu sistema de qualquer maneira, veja %(link)s.", + "unsupported_keyring_detail": "A detecção de chaveiro do Electron não encontrou um backend compatível. Você pode tentar configurar manualmente o backend iniciando %(brand)s com um argumento de linha de comando, uma operação única. Consulte %(link)s.", "unsupported_keyring_title": "Sistema não suportado" } }, diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index 166a55e..776bc5b 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -22,7 +22,9 @@ "about": "Informácie", "brand_help": "%(brand)s Pomoc", "help": "Pomocník", - "preferences": "Predvoľby" + "no": "Nie", + "preferences": "Predvoľby", + "yes": "Áno" }, "confirm_quit": "Naozaj chcete zavrieť aplikáciu?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "Obrázok sa nepodarilo uložiť", "save_image_as_error_title": "Chyba pri ukladaní obrázka" }, + "store": { + "error": { + "backend_changed": "Vymazať údaje a znova načítať?", + "backend_changed_detail": "Nepodarilo sa získať prístup k tajnému kľúču zo systémového zväzku kľúčov, zdá sa, že sa zmenil.", + "backend_changed_title": "Nepodarilo sa načítať databázu", + "unknown_backend_override": "Váš systém má nepodporovaný zväzok kľúčov, čo znamená, že databázu nemožno otvoriť.", + "unknown_backend_override_details": "Pre viac informácií si pozrite protokoly.", + "unknown_backend_override_title": "Nepodarilo sa načítať databázu", + "unsupported_keyring": "Váš systém má nepodporovaný zväzok kľúčov, čo znamená, že databázu nemožno otvoriť.", + "unsupported_keyring_cta": "Použiť slabšie šifrovanie", + "unsupported_keyring_detail": "Detekcia zväzku kľúčov aplikácie Electron nenašla podporovaný backend. Môžete sa pokúsiť manuálne nastaviť backend spustením aplikácie %(brand)s s argumentom príkazového riadka, je to jednorazová operácia. Pozrite si %(link)s .", + "unsupported_keyring_title": "Systém nie je podporovaný" + } + }, "view_menu": { "actual_size": "Aktuálna veľkosť", "toggle_developer_tools": "Nástroje pre vývojárov", diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index b380555..544f440 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -22,7 +22,9 @@ "about": "Про застосунок", "brand_help": "Довідка %(brand)s", "help": "Довідка", - "preferences": "Параметри" + "no": "Ні", + "preferences": "Параметри", + "yes": "Так" }, "confirm_quit": "Ви впевнені, що хочете вийти?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "Не вдалося зберегти зображення", "save_image_as_error_title": "Не вдалося зберегти зображення" }, + "store": { + "error": { + "backend_changed": "Очистити дані та перезавантажити?", + "backend_changed_detail": "Не вдається отримати доступ до таємного ключа з системного набору ключів, видається, він змінився.", + "backend_changed_title": "Не вдалося завантажити базу даних", + "unknown_backend_override": "Ваша система має непідтримуваний ключ, що означає, що базу даних неможливо відкрити.", + "unknown_backend_override_details": "Перегляньте журнал, щоб дізнатися подробиці.", + "unknown_backend_override_title": "Не вдалося завантажити базу даних", + "unsupported_keyring": "Ваша система має непідтримуваний набір ключів. Це означає, що базу даних неможливо відкрити.", + "unsupported_keyring_cta": "Використовувати слабше шифрування", + "unsupported_keyring_detail": "Electron не виявив підтримуваного бекенда для роботи зі сховищем паролів. Ви можете вручну налаштувати його, запустивши %(brand)s з відповідним аргументом у командному рядку. Цю дію потрібно виконати лише один раз. Докладніше – %(link)s.", + "unsupported_keyring_title": "Система не підтримується" + } + }, "view_menu": { "actual_size": "Фактичний розмір", "toggle_developer_tools": "Перемкнути інструменти розробника", From c0efe2334b422a88ebe03fbd2538fa8e244a7b06 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 8 May 2025 08:32:35 +0100 Subject: [PATCH 23/58] Rely on @electron/universal for macOS ASAR integrity (#2169) --- electron-builder.ts | 30 +--------- package.json | 7 +-- yarn.lock | 135 +++++++++++++++++++++----------------------- 3 files changed, 68 insertions(+), 104 deletions(-) diff --git a/electron-builder.ts b/electron-builder.ts index 660721d..683cc2b 100644 --- a/electron-builder.ts +++ b/electron-builder.ts @@ -1,10 +1,6 @@ import * as os from "node:os"; import * as fs from "node:fs"; -import * as path from "node:path"; -import * as plist from "plist"; -import { AfterPackContext, Arch, Configuration as BaseConfiguration, Platform } from "electron-builder"; -import { computeData } from "app-builder-lib/out/asar/integrity"; -import { readFile, writeFile } from "node:fs/promises"; +import { Configuration as BaseConfiguration } from "electron-builder"; /** * This script has different outputs depending on your os platform. @@ -46,26 +42,6 @@ interface Configuration extends BaseConfiguration { } & BaseConfiguration["deb"]; } -async function injectAsarIntegrity(context: AfterPackContext) { - const packager = context.packager; - - // We only need to re-generate asar on universal Mac builds, due to https://github.com/electron/universal/issues/116 - if (packager.platform !== Platform.MAC || context.arch !== Arch.universal) return; - - const resourcesPath = packager.getResourcesDir(context.appOutDir); - const asarIntegrity = await computeData({ - resourcesPath, - resourcesRelativePath: "Resources", - resourcesDestinationPath: resourcesPath, - extraResourceMatchers: [], - }); - - const plistPath = path.join(resourcesPath, "..", "Info.plist"); - const data = plist.parse(await readFile(plistPath, "utf8")) as unknown as Writable; - data["ElectronAsarIntegrity"] = asarIntegrity as unknown as Writable; - await writeFile(plistPath, plist.build(data)); -} - /** * @type {import('electron-builder').Configuration} * @see https://www.electron.build/configuration/configuration @@ -90,9 +66,6 @@ const config: Omit, "electronFuses"> & { loadBrowserProcessSpecificV8Snapshot: false, enableEmbeddedAsarIntegrityValidation: true, }, - afterPack: async (context: AfterPackContext) => { - await injectAsarIntegrity(context); - }, files: [ "package.json", { @@ -154,6 +127,7 @@ const config: Omit, "electronFuses"> & { entitlements: "./build/entitlements.mac.plist", icon: "build/icons/icon.icns", mergeASARs: true, + x64ArchFiles: "**/matrix-seshat/*.node", // hak already runs lipo }, win: { target: ["squirrel", "msi"], diff --git a/package.json b/package.json index 7ae48e7..ca4e647 100644 --- a/package.json +++ b/package.json @@ -84,12 +84,12 @@ "@types/pacote": "^11.1.1", "@typescript-eslint/eslint-plugin": "^8.0.0", "@typescript-eslint/parser": "^8.0.0", - "app-builder-lib": "26.0.12", + "app-builder-lib": "26.0.15", "chokidar": "^4.0.0", "detect-libc": "^2.0.0", "electron": "36.0.0", - "electron-builder": "26.0.12", - "electron-builder-squirrel-windows": "26.0.12", + "electron-builder": "26.0.15", + "electron-builder-squirrel-windows": "26.0.15", "electron-devtools-installer": "^4.0.0", "eslint": "^8.26.0", "eslint-config-google": "^0.14.0", @@ -105,7 +105,6 @@ "matrix-web-i18n": "^3.2.1", "mkdirp": "^3.0.0", "pacote": "^21.0.0", - "plist": "^3.1.0", "prettier": "^3.0.0", "rimraf": "^6.0.0", "tar": "^7.0.0", diff --git a/yarn.lock b/yarn.lock index 7c31f10..d7a2297 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1017,16 +1017,7 @@ ajv "^6.12.0" ajv-keywords "^3.4.1" -"@electron/asar@3.2.18", "@electron/asar@^3.2.7": - version "3.2.18" - resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.18.tgz#fa607f829209bab8b9e0ce6658d3fe81b2cba517" - integrity sha512-2XyvMe3N3Nrs8cV39IKELRHTYUWFKrmqqSY1U+GMlc0jvqjIVnoxhNd2H4JolWQncbJi1DCvb5TNxZuI2fEjWg== - dependencies: - commander "^5.0.0" - glob "^7.1.6" - minimatch "^3.0.4" - -"@electron/asar@3.4.1": +"@electron/asar@3.4.1", "@electron/asar@^3.3.1": version "3.4.1" resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.4.1.tgz#4e9196a4b54fba18c56cd8d5cac67c5bdc588065" integrity sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA== @@ -1068,9 +1059,9 @@ optionalDependencies: global-agent "^3.0.0" -"@electron/node-gyp@https://github.com/electron/node-gyp#06b29aafb7708acef8b3669835c8a7857ebc92d2": +"@electron/node-gyp@git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2": version "10.2.0-electron.1" - resolved "https://github.com/electron/node-gyp#06b29aafb7708acef8b3669835c8a7857ebc92d2" + resolved "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2" dependencies: env-paths "^2.2.0" exponential-backoff "^3.1.1" @@ -1092,10 +1083,10 @@ fs-extra "^9.0.1" promise-retry "^2.0.1" -"@electron/osx-sign@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@electron/osx-sign/-/osx-sign-1.3.1.tgz#faf7eeca7ca004a6be541dc4cf7a1bd59ec59b1c" - integrity sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw== +"@electron/osx-sign@1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@electron/osx-sign/-/osx-sign-1.3.3.tgz#af751510488318d9f7663694af85819690d75583" + integrity sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg== dependencies: compare-version "^0.1.2" debug "^4.3.4" @@ -1104,10 +1095,10 @@ minimist "^1.2.6" plist "^3.0.5" -"@electron/rebuild@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-3.7.0.tgz#82e20c467ddedbb295d7f641592c52e68c141e9f" - integrity sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw== +"@electron/rebuild@3.7.2": + version "3.7.2" + resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-3.7.2.tgz#8d808b29159c50086d27a5dec72b40bf16b4b582" + integrity sha512-19/KbIR/DAxbsCkiaGMXIdPnMCJLkcf8AvGnduJtWBs/CBwiAjY1apCqOLVxrXg+rtXFCngbXhBanWjxLUt1Mg== dependencies: "@electron/node-gyp" "https://github.com/electron/node-gyp#06b29aafb7708acef8b3669835c8a7857ebc92d2" "@malept/cross-spawn-promise" "^2.0.0" @@ -1124,12 +1115,12 @@ tar "^6.0.5" yargs "^17.0.1" -"@electron/universal@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-2.0.1.tgz#7b070ab355e02957388f3dbd68e2c3cd08c448ae" - integrity sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA== +"@electron/universal@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-2.0.3.tgz#1680df6ced8f128ca0ff24e29c2165d41d78b3ce" + integrity sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g== dependencies: - "@electron/asar" "^3.2.7" + "@electron/asar" "^3.3.1" "@malept/cross-spawn-promise" "^2.0.0" debug "^4.3.1" dir-compare "^4.2.0" @@ -2555,30 +2546,30 @@ app-builder-bin@5.0.0-alpha.12: resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-5.0.0-alpha.12.tgz#2daf82f8badc698e0adcc95ba36af4ff0650dc80" integrity sha512-j87o0j6LqPL3QRr8yid6c+Tt5gC7xNfYo6uQIQkorAC6MpeayVMZrEDzKmJJ/Hlv7EnOQpaRm53k6ktDYZyB6w== -app-builder-lib@26.0.12: - version "26.0.12" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-26.0.12.tgz#2e33df936e0f78d4266b058ece90308ea981eefb" - integrity sha512-+/CEPH1fVKf6HowBUs6LcAIoRcjeqgvAeoSE+cl7Y7LndyQ9ViGPYibNk7wmhMHzNgHIuIbw4nWADPO+4mjgWw== +app-builder-lib@26.0.15: + version "26.0.15" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-26.0.15.tgz#3b68b71d6d9d75eb6b318bcf0c830fd3fc1147d3" + integrity sha512-KVIsAHkBLaO2fvYVAccGbQPlbGFeGkx7IJXi/nDSBDXaMwHxauIXpAtf/NpopgudG6Ovyixl4QIWeHMPIvx0kg== dependencies: "@develar/schema-utils" "~2.6.5" - "@electron/asar" "3.2.18" + "@electron/asar" "3.4.1" "@electron/fuses" "^1.8.0" "@electron/notarize" "2.5.0" - "@electron/osx-sign" "1.3.1" - "@electron/rebuild" "3.7.0" - "@electron/universal" "2.0.1" + "@electron/osx-sign" "1.3.3" + "@electron/rebuild" "3.7.2" + "@electron/universal" "2.0.3" "@malept/flatpak-bundler" "^0.4.0" "@types/fs-extra" "9.0.13" async-exit-hook "^2.0.1" - builder-util "26.0.11" - builder-util-runtime "9.3.1" + builder-util "26.0.13" + builder-util-runtime "9.3.2" chromium-pickle-js "^0.2.0" config-file-ts "0.2.8-rc1" debug "^4.3.4" dotenv "^16.4.5" dotenv-expand "^11.0.6" ejs "^3.1.8" - electron-publish "26.0.11" + electron-publish "26.0.13" fs-extra "^10.1.0" hosted-git-info "^4.1.0" is-ci "^3.0.0" @@ -2824,23 +2815,23 @@ buffer@^5.1.0, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builder-util-runtime@9.3.1: - version "9.3.1" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.3.1.tgz#0daedde0f6d381f2a00a50a407b166fe7dca1a67" - integrity sha512-2/egrNDDnRaxVwK3A+cJq6UOlqOdedGA7JPqCeJjN2Zjk1/QB/6QUi3b714ScIGS7HafFXTyzJEOr5b44I3kvQ== +builder-util-runtime@9.3.2: + version "9.3.2" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.3.2.tgz#2a69a239b50e26accf4ed4ea1730406a3117213c" + integrity sha512-7QDXJ1FwT6d9ZhG4kuObUUPY8/ENBS/Ky26O4hR5vbeoRGavgekS2Jxv+8sCn/v23aPGU2DXRWEeJuijN2ooYA== dependencies: debug "^4.3.4" sax "^1.2.4" -builder-util@26.0.11: - version "26.0.11" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-26.0.11.tgz#ad85b92c93f2b976b973e1d87337e0c6813fcb8f" - integrity sha512-xNjXfsldUEe153h1DraD0XvDOpqGR0L5eKFkdReB7eFW5HqysDZFfly4rckda6y9dF39N3pkPlOblcfHKGw+uA== +builder-util@26.0.13: + version "26.0.13" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-26.0.13.tgz#a2c11f8e89e5392719e540d610d70d8413943d74" + integrity sha512-6b64uHzywaL2KAG+rVcqk/Prta1m3I2Jo1d4d2CrApb6EeSk2V384tmSL0EniH+P8jaNbMp6qhg7cIALw32zRA== dependencies: "7zip-bin" "~5.2.0" "@types/debug" "^4.1.6" app-builder-bin "5.0.0-alpha.12" - builder-util-runtime "9.3.1" + builder-util-runtime "9.3.2" chalk "^4.1.2" cross-spawn "^7.0.6" debug "^4.3.4" @@ -3387,14 +3378,14 @@ dir-compare@^4.2.0: minimatch "^3.0.5" p-limit "^3.1.0 " -dmg-builder@26.0.12: - version "26.0.12" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-26.0.12.tgz#6996ad0bab80a861c9a7b33ee9734d4f60566b46" - integrity sha512-59CAAjAhTaIMCN8y9kD573vDkxbs1uhDcrFLHSgutYdPcGOU35Rf95725snvzEOy4BFB7+eLJ8djCNPmGwG67w== +dmg-builder@26.0.15: + version "26.0.15" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-26.0.15.tgz#0cc63db379f9713e8726d5f4ac30709b86720506" + integrity sha512-RXbDCcrPw2B0q2HIcPI2H7pIFeQiDsLW+ykRVKkW2ke2H3pTgI36r86xLmQZ6397uFCNUjpegRFv6bB+BCWJIA== dependencies: - app-builder-lib "26.0.12" - builder-util "26.0.11" - builder-util-runtime "9.3.1" + app-builder-lib "26.0.15" + builder-util "26.0.13" + builder-util-runtime "9.3.2" fs-extra "^10.1.0" iconv-lite "^0.6.2" js-yaml "^4.1.0" @@ -3478,25 +3469,25 @@ ejs@^3.1.8: dependencies: jake "^10.8.5" -electron-builder-squirrel-windows@26.0.12: - version "26.0.12" - resolved "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.0.12.tgz#21ff5d8b764a4feb73f7c25fabcaab5109d60385" - integrity sha512-kpwXM7c/ayRUbYVErQbsZ0nQZX4aLHQrPEG9C4h9vuJCXylwFH8a7Jgi2VpKIObzCXO7LKHiCw4KdioFLFOgqA== +electron-builder-squirrel-windows@26.0.15: + version "26.0.15" + resolved "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.0.15.tgz#34458b57db75bbaec9a3263bf678517438a19aea" + integrity sha512-NAPShr9weifHIn2JXdnZ8P4DfQg60NCiYPF42S1yR+S9YQQ/8cG3lSeoZ/LGPFO9Cf3MoXlbwqa+SSpEb3xXYw== dependencies: - app-builder-lib "26.0.12" - builder-util "26.0.11" + app-builder-lib "26.0.15" + builder-util "26.0.13" electron-winstaller "5.4.0" -electron-builder@26.0.12: - version "26.0.12" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-26.0.12.tgz#797af2e70efdd96c9ea5d8a8164b8728c90d65ff" - integrity sha512-cD1kz5g2sgPTMFHjLxfMjUK5JABq3//J4jPswi93tOPFz6btzXYtK5NrDt717NRbukCUDOrrvmYVOWERlqoiXA== +electron-builder@26.0.15: + version "26.0.15" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-26.0.15.tgz#db1cd0569e079686107c0c6315435b57fbcb7bb0" + integrity sha512-1nDY/7bbbORdWPQkIyFPfLfEHR4d22QfI5yec+etFL0y/PdmVz/wcxXc2KRpTQeIt75njm2/ocrtgp7LJvZC3Q== dependencies: - app-builder-lib "26.0.12" - builder-util "26.0.11" - builder-util-runtime "9.3.1" + app-builder-lib "26.0.15" + builder-util "26.0.13" + builder-util-runtime "9.3.2" chalk "^4.1.2" - dmg-builder "26.0.12" + dmg-builder "26.0.15" fs-extra "^10.1.0" is-ci "^3.0.0" lazy-val "^1.0.5" @@ -3510,14 +3501,14 @@ electron-devtools-installer@^4.0.0: dependencies: unzip-crx-3 "^0.2.0" -electron-publish@26.0.11: - version "26.0.11" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-26.0.11.tgz#92c9329a101af2836d9d228c82966eca1eee9a7b" - integrity sha512-a8QRH0rAPIWH9WyyS5LbNvW9Ark6qe63/LqDB7vu2JXYpi0Gma5Q60Dh4tmTqhOBQt0xsrzD8qE7C+D7j+B24A== +electron-publish@26.0.13: + version "26.0.13" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-26.0.13.tgz#04340520e6e9de5262fecfa011658cfcc3fc8917" + integrity sha512-O5hfHSwli5cegQ4JS3Dp0dZcheex6UCRE/qYyRQvhB6DhSwojiwTnAGEuQCJXc8K8Zxz2lku5Du3VwYHf8d5Lw== dependencies: "@types/fs-extra" "^9.0.11" - builder-util "26.0.11" - builder-util-runtime "9.3.1" + builder-util "26.0.13" + builder-util-runtime "9.3.2" chalk "^4.1.2" form-data "^4.0.0" fs-extra "^10.1.0" From bb2435b529802891d276e1ab1fcc189e33eacf06 Mon Sep 17 00:00:00 2001 From: t3chguy <2403652+t3chguy@users.noreply.github.com> Date: Mon, 12 May 2025 06:07:37 +0000 Subject: [PATCH 24/58] [create-pull-request] automated change --- src/i18n/strings/pl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json index c98db57..76a4377 100644 --- a/src/i18n/strings/pl.json +++ b/src/i18n/strings/pl.json @@ -61,8 +61,8 @@ "unknown_backend_override_title": "Nie udało się załadować bazy danych", "unsupported_keyring": "System zawiera niewspierany keyring, nie można otworzyć bazy danych.", "unsupported_keyring_cta": "Użyj słabszego szyfrowania", - "unsupported_keyring_detail": "Wykrywanie keyring'u electron nie znalazł wspieranego backendu, możesz spróbować wymusić wybrany przez siebie, zobacz %(link)s.", - "unsupported_keyring_title": "Brak wsparcia systemu" + "unsupported_keyring_detail": "Wykrywanie keyringu Electron nie znalazł wspieranego backendu. Możesz spróbować ręcznie ustawić backed, uruchamiając %(brand)s za pomocą wiesza poleceń. Zobacz %(link)s.", + "unsupported_keyring_title": "System niewspierany" } }, "view_menu": { From 68216568b0db1c2ace2b7cad7e7859b4962cb067 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 13 May 2025 11:03:12 +0000 Subject: [PATCH 25/58] v1.11.101-rc.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ca4e647..61bfaf0 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "productName": "Element", "main": "lib/electron-main.js", "exports": "./lib/electron-main.js", - "version": "1.11.100", + "version": "1.11.101-rc.0", "description": "Element: the future of secure communication", "author": "Element", "homepage": "https://element.io", From 194798497fb881ea8f3e330ff03440f724b5becc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 11:15:42 +0000 Subject: [PATCH 26/58] Update dependency lint-staged to v16 (#2317) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 100 +++++++++++---------------------------------------- 2 files changed, 22 insertions(+), 80 deletions(-) diff --git a/package.json b/package.json index ca4e647..03b100f 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "glob": "^11.0.0", "husky": "^9.1.6", "knip": "^5.0.0", - "lint-staged": "^15.2.10", + "lint-staged": "^16.0.0", "matrix-web-i18n": "^3.2.1", "mkdirp": "^3.0.0", "pacote": "^21.0.0", diff --git a/yarn.lock b/yarn.lock index d7a2297..fd36953 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1059,9 +1059,10 @@ optionalDependencies: global-agent "^3.0.0" -"@electron/node-gyp@git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2": +"@electron/node-gyp@https://github.com/electron/node-gyp#06b29aafb7708acef8b3669835c8a7857ebc92d2": version "10.2.0-electron.1" - resolved "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2" + uid "06b29aafb7708acef8b3669835c8a7857ebc92d2" + resolved "https://github.com/electron/node-gyp#06b29aafb7708acef8b3669835c8a7857ebc92d2" dependencies: env-paths "^2.2.0" exponential-backoff "^3.1.1" @@ -3234,7 +3235,7 @@ cross-dirname@^0.1.0: resolved "https://registry.yarnpkg.com/cross-dirname/-/cross-dirname-0.1.0.tgz#b899599f30a5389f59e78c150e19f957ad16a37c" integrity sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q== -cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6: +cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -3991,21 +3992,6 @@ except@^0.1.3: dependencies: indexof "0.0.1" -execa@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" - expand-template@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" @@ -4324,11 +4310,6 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-stream@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" - integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== - get-symbol-description@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" @@ -4623,11 +4604,6 @@ https-proxy-agent@^7.0.1: agent-base "^7.0.2" debug "4" -human-signals@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" - integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== - humanize-ms@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" @@ -4911,11 +4887,6 @@ is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: dependencies: call-bind "^1.0.7" -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -5200,26 +5171,26 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^15.2.10: - version "15.5.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.5.1.tgz#6de35298964641b8b6e060d3db0fb6ac866c6e24" - integrity sha512-6m7u8mue4Xn6wK6gZvSCQwBvMBR36xfY24nF5bMTf2MHDYG6S3yhJuOgdYVw99hsjyDt2d4z168b3naI8+NWtQ== +lint-staged@^16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-16.0.0.tgz#31826709bde6a62542431da3055f038e386a20db" + integrity sha512-sUCprePs6/rbx4vKC60Hez6X10HPkpDJaGcy3D1NdwR7g1RcNkWL8q9mJMreOqmHBTs+1sNFp+wOiX9fr+hoOQ== dependencies: chalk "^5.4.1" commander "^13.1.0" debug "^4.4.0" - execa "^8.0.1" lilconfig "^3.1.3" - listr2 "^8.2.5" + listr2 "^8.3.3" micromatch "^4.0.8" + nano-spawn "^1.0.0" pidtree "^0.6.0" string-argv "^0.3.2" - yaml "^2.7.0" + yaml "^2.7.1" -listr2@^8.2.5: - version "8.3.2" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.3.2.tgz#c252ec9a3334950bfca9238457d0ad2c1a5cc867" - integrity sha512-vsBzcU4oE+v0lj4FhVLzr9dBTv4/fHIa57l+GCwovP8MoFNZJTOhGU8PXd4v2VJCbECAaijBiHntiekFMLvo0g== +listr2@^8.3.3: + version "8.3.3" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.3.3.tgz#815fc8f738260ff220981bf9e866b3e11e8121bf" + integrity sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ== dependencies: cli-truncate "^4.0.0" colorette "^2.0.20" @@ -5390,11 +5361,6 @@ matrix-web-i18n@^3.2.1: minimist "^1.2.8" walk "^2.3.15" -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" @@ -5430,11 +5396,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - mimic-function@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" @@ -5621,6 +5582,11 @@ ms@^2.0.0, ms@^2.1.1, ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +nano-spawn@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/nano-spawn/-/nano-spawn-1.0.1.tgz#c8e4c1e133e567e3efba44041dcfb12113d861b6" + integrity sha512-BfcvzBlUTxSDWfT+oH7vd6CbUV+rThLLHCIym/QO6GGLBsyVXleZs00fto2i2jzC/wPiBYk5jyOmpXWg4YopiA== + napi-build-utils@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-2.0.0.tgz#13c22c0187fcfccce1461844136372a47ddc027e" @@ -5825,13 +5791,6 @@ npm-registry-fetch@^18.0.0: npm-package-arg "^12.0.0" proc-log "^5.0.0" -npm-run-path@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" - integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== - dependencies: - path-key "^4.0.0" - object-inspect@^1.13.1: version "1.13.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" @@ -5899,13 +5858,6 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - onetime@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" @@ -6060,11 +6012,6 @@ path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -7052,11 +6999,6 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -7653,7 +7595,7 @@ yallist@^5.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533" integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== -yaml@^2.7.0: +yaml@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.7.1.tgz#44a247d1b88523855679ac7fa7cda6ed7e135cf6" integrity sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ== From 69cfe0bda651dae4abcd750fc04123a8bff95f59 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 11:27:16 +0000 Subject: [PATCH 27/58] Update dependency electron to v36.2.0 (#2316) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 03b100f..05c7b0c 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "app-builder-lib": "26.0.15", "chokidar": "^4.0.0", "detect-libc": "^2.0.0", - "electron": "36.0.0", + "electron": "36.2.0", "electron-builder": "26.0.15", "electron-builder-squirrel-windows": "26.0.15", "electron-devtools-installer": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index fd36953..df2f302 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3550,10 +3550,10 @@ electron-winstaller@5.4.0: optionalDependencies: "@electron/windows-sign" "^1.1.2" -electron@36.0.0: - version "36.0.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-36.0.0.tgz#ffbe7ca9edecaee53617f29a088be10bbed9a45f" - integrity sha512-MhBL5tgzqLsiw++YXxzXRvF5s90gelcEZP4Upz/aaRmmoscmCw/EtimxMSH6EPnKt+8KwBY9RVAdlcffFPYkyw== +electron@36.2.0: + version "36.2.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-36.2.0.tgz#05bb179eb4c5de0412fc6d49628abc949fd679c1" + integrity sha512-5yldoRjBKxPQfI0QMX+qq750o3Nl8N1SZnJqOPMq0gZ6rIJ+7y4ZLp808GrFwjfTm05TYgq3GSD8FGuKQZqwEw== dependencies: "@electron/get" "^2.0.0" "@types/node" "^22.7.7" From 3116f596f20abc2cb0030b429516177fa334e844 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 11:45:01 +0000 Subject: [PATCH 28/58] Update dependency @types/node to v18.19.100 (#2318) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- yarn.lock | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 05c7b0c..318d149 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@types/auto-launch": "^5.0.1", "@types/counterpart": "^0.18.1", "@types/minimist": "^1.2.1", - "@types/node": "18.19.87", + "@types/node": "18.19.100", "@types/pacote": "^11.1.1", "@typescript-eslint/eslint-plugin": "^8.0.0", "@typescript-eslint/parser": "^8.0.0", @@ -115,7 +115,7 @@ "matrix-seshat": "^4.0.1" }, "resolutions": { - "@types/node": "18.19.87", + "@types/node": "18.19.100", "config-file-ts": "0.2.8-rc1", "node-abi": "4.4.0" } diff --git a/yarn.lock b/yarn.lock index df2f302..aefc364 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2158,10 +2158,10 @@ "@types/node" "*" form-data "^4.0.0" -"@types/node@*", "@types/node@18.19.87", "@types/node@^17.0.36", "@types/node@^22.7.7": - version "18.19.87" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.87.tgz#690f000cc51e3c7f48bc00f7e86fac6eb550b709" - integrity sha512-OIAAu6ypnVZHmsHCeJ+7CCSub38QNBS9uceMQeg7K5Ur0Jr+wG9wEOEvvMbhp09pxD5czIUy/jND7s7Tb6Nw7A== +"@types/node@*", "@types/node@18.19.100", "@types/node@^17.0.36", "@types/node@^22.7.7": + version "18.19.100" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.100.tgz#7f3aefbb6911099ab7e0902a1f373b1a4d2c1947" + integrity sha512-ojmMP8SZBKprc3qGrGk8Ujpo80AXkrP7G2tOT4VWr5jlr5DHjsJF+emXJz+Wm0glmy4Js62oKMdZZ6B9Y+tEcA== dependencies: undici-types "~5.26.4" From 689179c5aeb9b6f8caf9fc5e8925ed35b3143547 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 12:52:41 +0100 Subject: [PATCH 29/58] Update all non-major dependencies (#2321) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 337 +++++++++++++++++++++++++-------------------------- 2 files changed, 168 insertions(+), 171 deletions(-) diff --git a/package.json b/package.json index 318d149..27142c1 100644 --- a/package.json +++ b/package.json @@ -117,6 +117,6 @@ "resolutions": { "@types/node": "18.19.100", "config-file-ts": "0.2.8-rc1", - "node-abi": "4.4.0" + "node-abi": "4.8.0" } } diff --git a/yarn.lock b/yarn.lock index aefc364..6760dcc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1140,130 +1140,130 @@ minimist "^1.2.8" postject "^1.0.0-alpha.6" -"@esbuild/aix-ppc64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz#499600c5e1757a524990d5d92601f0ac3ce87f64" - integrity sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ== +"@esbuild/aix-ppc64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz#830d6476cbbca0c005136af07303646b419f1162" + integrity sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q== -"@esbuild/android-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz#b9b8231561a1dfb94eb31f4ee056b92a985c324f" - integrity sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g== +"@esbuild/android-arm64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz#d11d4fc299224e729e2190cacadbcc00e7a9fd67" + integrity sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A== -"@esbuild/android-arm@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.0.tgz#ca6e7888942505f13e88ac9f5f7d2a72f9facd2b" - integrity sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g== +"@esbuild/android-arm@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.4.tgz#5660bd25080553dd2a28438f2a401a29959bd9b1" + integrity sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ== -"@esbuild/android-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.0.tgz#e765ea753bac442dfc9cb53652ce8bd39d33e163" - integrity sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg== +"@esbuild/android-x64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.4.tgz#18ddde705bf984e8cd9efec54e199ac18bc7bee1" + integrity sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ== -"@esbuild/darwin-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz#fa394164b0d89d4fdc3a8a21989af70ef579fa2c" - integrity sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw== +"@esbuild/darwin-arm64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz#b0b7fb55db8fc6f5de5a0207ae986eb9c4766e67" + integrity sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g== -"@esbuild/darwin-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz#91979d98d30ba6e7d69b22c617cc82bdad60e47a" - integrity sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg== +"@esbuild/darwin-x64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz#e6813fdeba0bba356cb350a4b80543fbe66bf26f" + integrity sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A== -"@esbuild/freebsd-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz#b97e97073310736b430a07b099d837084b85e9ce" - integrity sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w== +"@esbuild/freebsd-arm64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz#dc11a73d3ccdc308567b908b43c6698e850759be" + integrity sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ== -"@esbuild/freebsd-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz#f3b694d0da61d9910ec7deff794d444cfbf3b6e7" - integrity sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A== +"@esbuild/freebsd-x64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz#91da08db8bd1bff5f31924c57a81dab26e93a143" + integrity sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ== -"@esbuild/linux-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz#f921f699f162f332036d5657cad9036f7a993f73" - integrity sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg== +"@esbuild/linux-arm64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz#efc15e45c945a082708f9a9f73bfa8d4db49728a" + integrity sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ== -"@esbuild/linux-arm@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz#cc49305b3c6da317c900688995a4050e6cc91ca3" - integrity sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg== +"@esbuild/linux-arm@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz#9b93c3e54ac49a2ede6f906e705d5d906f6db9e8" + integrity sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ== -"@esbuild/linux-ia32@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz#3e0736fcfab16cff042dec806247e2c76e109e19" - integrity sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg== +"@esbuild/linux-ia32@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz#be8ef2c3e1d99fca2d25c416b297d00360623596" + integrity sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ== -"@esbuild/linux-loong64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz#ea2bf730883cddb9dfb85124232b5a875b8020c7" - integrity sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw== +"@esbuild/linux-loong64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz#b0840a2707c3fc02eec288d3f9defa3827cd7a87" + integrity sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA== -"@esbuild/linux-mips64el@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz#4cababb14eede09248980a2d2d8b966464294ff1" - integrity sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ== +"@esbuild/linux-mips64el@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz#2a198e5a458c9f0e75881a4e63d26ba0cf9df39f" + integrity sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg== -"@esbuild/linux-ppc64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz#8860a4609914c065373a77242e985179658e1951" - integrity sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw== +"@esbuild/linux-ppc64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz#64f4ae0b923d7dd72fb860b9b22edb42007cf8f5" + integrity sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag== -"@esbuild/linux-riscv64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz#baf26e20bb2d38cfb86ee282dff840c04f4ed987" - integrity sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA== +"@esbuild/linux-riscv64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz#fb2844b11fdddd39e29d291c7cf80f99b0d5158d" + integrity sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA== -"@esbuild/linux-s390x@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz#8323afc0d6cb1b6dc6e9fd21efd9e1542c3640a4" - integrity sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA== +"@esbuild/linux-s390x@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz#1466876e0aa3560c7673e63fdebc8278707bc750" + integrity sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g== -"@esbuild/linux-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz#08fcf60cb400ed2382e9f8e0f5590bac8810469a" - integrity sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw== +"@esbuild/linux-x64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz#c10fde899455db7cba5f11b3bccfa0e41bf4d0cd" + integrity sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA== -"@esbuild/netbsd-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz#935c6c74e20f7224918fbe2e6c6fe865b6c6ea5b" - integrity sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw== +"@esbuild/netbsd-arm64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz#02e483fbcbe3f18f0b02612a941b77be76c111a4" + integrity sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ== -"@esbuild/netbsd-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz#414677cef66d16c5a4d210751eb2881bb9c1b62b" - integrity sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA== +"@esbuild/netbsd-x64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz#ec401fb0b1ed0ac01d978564c5fc8634ed1dc2ed" + integrity sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw== -"@esbuild/openbsd-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz#8fd55a4d08d25cdc572844f13c88d678c84d13f7" - integrity sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw== +"@esbuild/openbsd-arm64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz#f272c2f41cfea1d91b93d487a51b5c5ca7a8c8c4" + integrity sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A== -"@esbuild/openbsd-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz#0c48ddb1494bbc2d6bcbaa1429a7f465fa1dedde" - integrity sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg== +"@esbuild/openbsd-x64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz#2e25950bc10fa9db1e5c868e3d50c44f7c150fd7" + integrity sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw== -"@esbuild/sunos-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz#86ff9075d77962b60dd26203d7352f92684c8c92" - integrity sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg== +"@esbuild/sunos-x64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz#cd596fa65a67b3b7adc5ecd52d9f5733832e1abd" + integrity sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q== -"@esbuild/win32-arm64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz#849c62327c3229467f5b5cd681bf50588442e96c" - integrity sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw== +"@esbuild/win32-arm64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz#b4dbcb57b21eeaf8331e424c3999b89d8951dc88" + integrity sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ== -"@esbuild/win32-ia32@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz#f62eb480cd7cca088cb65bb46a6db25b725dc079" - integrity sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA== +"@esbuild/win32-ia32@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz#410842e5d66d4ece1757634e297a87635eb82f7a" + integrity sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg== -"@esbuild/win32-x64@0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz#c8e119a30a7c8d60b9d2e22d2073722dde3b710b" - integrity sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ== +"@esbuild/win32-x64@0.25.4": + version "0.25.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz#0b17ec8a70b2385827d52314c1253160a0b9bacc" + integrity sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ== "@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.4.1": version "4.5.1" @@ -3454,15 +3454,6 @@ eastasianwidth@^0.2.0: resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -easy-table@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/easy-table/-/easy-table-1.2.0.tgz#ba9225d7138fee307bfd4f0b5bc3c04bdc7c54eb" - integrity sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww== - dependencies: - ansi-regex "^5.0.1" - optionalDependencies: - wcwidth "^1.0.1" - ejs@^3.1.8: version "3.1.10" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" @@ -3723,35 +3714,35 @@ es6-error@^4.1.1: integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== esbuild@~0.25.0: - version "0.25.0" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.0.tgz#0de1787a77206c5a79eeb634a623d39b5006ce92" - integrity sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw== + version "0.25.4" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.4.tgz#bb9a16334d4ef2c33c7301a924b8b863351a0854" + integrity sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q== optionalDependencies: - "@esbuild/aix-ppc64" "0.25.0" - "@esbuild/android-arm" "0.25.0" - "@esbuild/android-arm64" "0.25.0" - "@esbuild/android-x64" "0.25.0" - "@esbuild/darwin-arm64" "0.25.0" - "@esbuild/darwin-x64" "0.25.0" - "@esbuild/freebsd-arm64" "0.25.0" - "@esbuild/freebsd-x64" "0.25.0" - "@esbuild/linux-arm" "0.25.0" - "@esbuild/linux-arm64" "0.25.0" - "@esbuild/linux-ia32" "0.25.0" - "@esbuild/linux-loong64" "0.25.0" - "@esbuild/linux-mips64el" "0.25.0" - "@esbuild/linux-ppc64" "0.25.0" - "@esbuild/linux-riscv64" "0.25.0" - "@esbuild/linux-s390x" "0.25.0" - "@esbuild/linux-x64" "0.25.0" - "@esbuild/netbsd-arm64" "0.25.0" - "@esbuild/netbsd-x64" "0.25.0" - "@esbuild/openbsd-arm64" "0.25.0" - "@esbuild/openbsd-x64" "0.25.0" - "@esbuild/sunos-x64" "0.25.0" - "@esbuild/win32-arm64" "0.25.0" - "@esbuild/win32-ia32" "0.25.0" - "@esbuild/win32-x64" "0.25.0" + "@esbuild/aix-ppc64" "0.25.4" + "@esbuild/android-arm" "0.25.4" + "@esbuild/android-arm64" "0.25.4" + "@esbuild/android-x64" "0.25.4" + "@esbuild/darwin-arm64" "0.25.4" + "@esbuild/darwin-x64" "0.25.4" + "@esbuild/freebsd-arm64" "0.25.4" + "@esbuild/freebsd-x64" "0.25.4" + "@esbuild/linux-arm" "0.25.4" + "@esbuild/linux-arm64" "0.25.4" + "@esbuild/linux-ia32" "0.25.4" + "@esbuild/linux-loong64" "0.25.4" + "@esbuild/linux-mips64el" "0.25.4" + "@esbuild/linux-ppc64" "0.25.4" + "@esbuild/linux-riscv64" "0.25.4" + "@esbuild/linux-s390x" "0.25.4" + "@esbuild/linux-x64" "0.25.4" + "@esbuild/netbsd-arm64" "0.25.4" + "@esbuild/netbsd-x64" "0.25.4" + "@esbuild/openbsd-arm64" "0.25.4" + "@esbuild/openbsd-x64" "0.25.4" + "@esbuild/sunos-x64" "0.25.4" + "@esbuild/win32-arm64" "0.25.4" + "@esbuild/win32-ia32" "0.25.4" + "@esbuild/win32-x64" "0.25.4" escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" @@ -3781,9 +3772,9 @@ eslint-config-google@^0.14.0: integrity sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw== eslint-config-prettier@^10.0.0: - version "10.1.2" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-10.1.2.tgz#31a4b393c40c4180202c27e829af43323bf85276" - integrity sha512-Epgp/EofAUeEpIdZkW60MHKvPyru1ruQJxPL+WIycnaPApuseK0Zpkrh/FwL9oIpQvIhJwV7ptOy0DWUjTlCiA== + version "10.1.5" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz#00c18d7225043b6fbce6a665697377998d453782" + integrity sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw== eslint-import-resolver-node@^0.3.9: version "0.3.9" @@ -4061,6 +4052,13 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fd-package-json@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fd-package-json/-/fd-package-json-1.2.0.tgz#4f218bb8ff65c21011d1f4f17cb3d0c9e72f8da7" + integrity sha512-45LSPmWf+gC5tdCQMNH4s9Sr00bIkiD9aN7dc5hqkrEw1geRYyDQS1v1oMHAW3ysfxfndqGsrDREHHjNNbKUfA== + dependencies: + walk-up-path "^3.0.1" + fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -4148,6 +4146,13 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +formatly@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/formatly/-/formatly-0.2.3.tgz#30c4d3605c4f66d97a97a7dafbd9bb4a2467b26f" + integrity sha512-WH01vbXEjh9L3bqn5V620xUAWs32CmK4IzWRRY6ep5zpa/mrisL4d9+pRVuETORVDTQw8OycSO1WC68PL51RaA== + dependencies: + fd-package-json "^1.2.0" + forwarded-parse@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/forwarded-parse/-/forwarded-parse-2.1.2.tgz#08511eddaaa2ddfd56ba11138eee7df117a09325" @@ -5122,20 +5127,19 @@ keyv@^4.0.0, keyv@^4.5.3: json-buffer "3.0.1" knip@^5.0.0: - version "5.51.0" - resolved "https://registry.yarnpkg.com/knip/-/knip-5.51.0.tgz#b9d477d32811da292c03cd74c55e5ea8862ea4c8" - integrity sha512-gw5TzLt9FikIk1oPWDc7jPRb/+L3Aw1ia25hWUQBb+hXS/Rbdki/0rrzQygjU5/CVYnRWYqc1kgdNi60Jm1lPg== + version "5.55.1" + resolved "https://registry.yarnpkg.com/knip/-/knip-5.55.1.tgz#8eb293935623274ea62962041a921ba6ac06b3d6" + integrity sha512-NYXjgGrXgMdabUKCP2TlBH/e83m9KnLc1VLyWHUtoRrCEJ/C15YtbafrpTvm3td+jE4VdDPgudvXT1IMtCx8lw== dependencies: "@nodelib/fs.walk" "^1.2.3" - easy-table "1.2.0" enhanced-resolve "^5.18.1" fast-glob "^3.3.3" + formatly "^0.2.3" jiti "^2.4.2" js-yaml "^4.1.0" minimist "^1.2.8" picocolors "^1.1.0" picomatch "^4.0.1" - pretty-ms "^9.0.0" smol-toml "^1.3.1" strip-json-comments "5.0.1" zod "^3.22.4" @@ -5607,10 +5611,10 @@ negotiator@^1.0.0: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== -node-abi@4.4.0, node-abi@^3.3.0, node-abi@^3.45.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-4.4.0.tgz#f17a2880a556337030a02b7f92e308946cdbbfc9" - integrity sha512-+sBEWs/HZ3ZDBtPSPKfYndkTF9ebr1BJm/z2TBDJj/upiOx9J6BeGXRtFyOXz1r6vUqzsCRM5pUr+K83i64agg== +node-abi@4.8.0, node-abi@^3.3.0, node-abi@^3.45.0: + version "4.8.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-4.8.0.tgz#6e284ed89eab8eb679601da0800d388eaf9dc6fd" + integrity sha512-+P1Mf1XNURT+wN9UK8cjtHSwmmG02iAsX0JaYDDdXgMUe5eybde3AKpGGxOrkDmPkuonYJ6WjIRrNVQe0kjmFg== dependencies: semver "^7.6.3" @@ -5992,11 +5996,6 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse-ms@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-4.0.0.tgz#c0c058edd47c2a590151a718990533fd62803df4" - integrity sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw== - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -6238,13 +6237,6 @@ prettier@^3.0.0: resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.3.tgz#4fc2ce0d657e7a02e602549f053b239cb7dfe1b5" integrity sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw== -pretty-ms@^9.0.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-9.2.0.tgz#e14c0aad6493b69ed63114442a84133d7e560ef0" - integrity sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg== - dependencies: - parse-ms "^4.0.0" - proc-log@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" @@ -7177,9 +7169,9 @@ tsconfig-paths@^3.15.0: strip-bom "^3.0.0" tsx@^4.19.2: - version "4.19.3" - resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.19.3.tgz#2bdbcb87089374d933596f8645615142ed727666" - integrity sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ== + version "4.19.4" + resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.19.4.tgz#647b4141f4fdd9d773a9b564876773d2846901f4" + integrity sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q== dependencies: esbuild "~0.25.0" get-tsconfig "^4.7.5" @@ -7454,6 +7446,11 @@ verror@^1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +walk-up-path@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886" + integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA== + walk@^2.3.15: version "2.3.15" resolved "https://registry.yarnpkg.com/walk/-/walk-2.3.15.tgz#1b4611e959d656426bc521e2da5db3acecae2424" @@ -7632,11 +7629,11 @@ yocto-queue@^0.1.0: integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== zod-validation-error@^3.0.3: - version "3.4.0" - resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" - integrity sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ== + version "3.4.1" + resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.1.tgz#fb0a64f15d90f4aafe9ccc804331853609aad408" + integrity sha512-1KP64yqDPQ3rupxNv7oXhf7KdhHHgaqbKuspVoiN93TT0xrBjql+Svjkdjq/Qh/7GSMmgQs3AfvBT0heE35thw== zod@^3.22.4: - version "3.24.3" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.3.tgz#1f40f750a05e477396da64438e0e1c0995dafd87" - integrity sha512-HhY1oqzWCQWuUqvBFnsyrtZRhyPeR7SUGv+C4+MsisMuVfSPx8HpwWqH8tRahSlt6M3PiFAcoeFhZAqIXTxoSg== + version "3.24.4" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.4.tgz#e2e2cca5faaa012d76e527d0d36622e0a90c315f" + integrity sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg== From 5507f2859f7e4e6b8bf7bfb612c864b67c5f1395 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 11:55:08 +0000 Subject: [PATCH 30/58] Update babel monorepo (#2319) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 1279 ++++++++++++++++++++++++++--------------------------- 1 file changed, 615 insertions(+), 664 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6760dcc..d4eadd7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -27,7 +27,7 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.26.2": +"@babel/code-frame@^7.0.0": version "7.26.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== @@ -44,26 +44,35 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.26.5", "@babel/compat-data@^7.26.8": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367" - integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== +"@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== + dependencies: + "@babel/helper-validator-identifier" "^7.27.1" + js-tokens "^4.0.0" + picocolors "^1.1.1" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.2.tgz#4183f9e642fd84e74e3eea7ffa93a412e3b102c9" + integrity sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ== "@babel/core@^7.18.10": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.10.tgz#5c876f83c8c4dcb233ee4b670c0606f2ac3000f9" - integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ== + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.1.tgz#89de51e86bd12246003e3524704c49541b16c3e6" + integrity sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.10" - "@babel/helper-compilation-targets" "^7.26.5" - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helpers" "^7.26.10" - "@babel/parser" "^7.26.10" - "@babel/template" "^7.26.9" - "@babel/traverse" "^7.26.10" - "@babel/types" "^7.26.10" + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.1" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helpers" "^7.27.1" + "@babel/parser" "^7.27.1" + "@babel/template" "^7.27.1" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -80,74 +89,61 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" -"@babel/generator@^7.26.10", "@babel/generator@^7.26.9", "@babel/generator@^7.27.0": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.0.tgz#764382b5392e5b9aff93cadb190d0745866cbc2c" - integrity sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw== +"@babel/generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.1.tgz#862d4fad858f7208edd487c28b58144036b76230" + integrity sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w== dependencies: - "@babel/parser" "^7.27.0" - "@babel/types" "^7.27.0" + "@babel/parser" "^7.27.1" + "@babel/types" "^7.27.1" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" -"@babel/helper-annotate-as-pure@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" - integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== +"@babel/helper-annotate-as-pure@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz#4345d81a9a46a6486e24d069469f13e60445c05d" + integrity sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow== dependencies: - "@babel/types" "^7.25.9" + "@babel/types" "^7.27.1" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9", "@babel/helper-compilation-targets@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz#75d92bb8d8d51301c0d49e52a65c9a7fe94514d8" - integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" + integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== dependencies: - "@babel/compat-data" "^7.26.5" - "@babel/helper-validator-option" "^7.25.9" + "@babel/compat-data" "^7.27.2" + "@babel/helper-validator-option" "^7.27.1" browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.25.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz#d6f83e3039547fbb39967e78043cd3c8b7820c71" - integrity sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg== +"@babel/helper-create-class-features-plugin@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz#5bee4262a6ea5ddc852d0806199eb17ca3de9281" + integrity sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/helper-replace-supers" "^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/traverse" "^7.26.9" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-member-expression-to-functions" "^7.27.1" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/traverse" "^7.27.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.27.0": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.0.tgz#518fad6a307c6a96f44af14912b2c20abe9bfc30" - integrity sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53" + integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/helper-replace-supers" "^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/traverse" "^7.27.0" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9": - version "7.26.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz#5169756ecbe1d95f7866b90bb555b022595302a0" - integrity sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-annotate-as-pure" "^7.27.1" regexpu-core "^6.2.0" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.3": - version "0.6.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz#f4f2792fae2ef382074bc2d713522cf24e6ddb21" - integrity sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg== +"@babel/helper-define-polyfill-provider@^0.6.3", "@babel/helper-define-polyfill-provider@^0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz#15e8746368bfa671785f5926ff74b3064c291fab" + integrity sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -177,68 +173,68 @@ dependencies: "@babel/types" "^7.24.7" -"@babel/helper-member-expression-to-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3" - integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== +"@babel/helper-member-expression-to-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44" + integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA== dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/helper-module-imports@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" - integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== +"@babel/helper-module-imports@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" + integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" - integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== +"@babel/helper-module-transforms@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz#e1663b8b71d2de948da5c4fb2a20ca4f3ec27a6f" + integrity sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g== dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/helper-optimise-call-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" - integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== +"@babel/helper-optimise-call-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200" + integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw== dependencies: - "@babel/types" "^7.25.9" + "@babel/types" "^7.27.1" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz#18580d00c9934117ad719392c4f6585c9333cc35" - integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" + integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== -"@babel/helper-remap-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz#e53956ab3d5b9fb88be04b3e2f31b523afd34b92" - integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw== +"@babel/helper-remap-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6" + integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-wrap-function" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-wrap-function" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/helper-replace-supers@^7.25.9", "@babel/helper-replace-supers@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz#6cb04e82ae291dae8e72335dfe438b0725f14c8d" - integrity sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg== +"@babel/helper-replace-supers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0" + integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA== dependencies: - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/traverse" "^7.26.5" + "@babel/helper-member-expression-to-functions" "^7.27.1" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/helper-skip-transparent-expression-wrappers@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" - integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== +"@babel/helper-skip-transparent-expression-wrappers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56" + integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg== dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" "@babel/helper-split-export-declaration@^7.24.7": version "7.24.7" @@ -252,37 +248,47 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54" integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g== -"@babel/helper-string-parser@^7.25.7", "@babel/helper-string-parser@^7.25.9": +"@babel/helper-string-parser@^7.25.7": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== -"@babel/helper-validator-identifier@^7.24.7", "@babel/helper-validator-identifier@^7.25.7", "@babel/helper-validator-identifier@^7.25.9": +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== + +"@babel/helper-validator-identifier@^7.24.7", "@babel/helper-validator-identifier@^7.25.7": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== -"@babel/helper-validator-option@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" - integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== +"@babel/helper-validator-identifier@^7.25.9", "@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== -"@babel/helper-wrap-function@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz#d99dfd595312e6c894bd7d237470025c85eea9d0" - integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g== - dependencies: - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" +"@babel/helper-validator-option@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== -"@babel/helpers@^7.26.10": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.10.tgz#6baea3cd62ec2d0c1068778d63cb1314f6637384" - integrity sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g== +"@babel/helper-wrap-function@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz#b88285009c31427af318d4fe37651cd62a142409" + integrity sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ== dependencies: - "@babel/template" "^7.26.9" - "@babel/types" "^7.26.10" + "@babel/template" "^7.27.1" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helpers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.1.tgz#ffc27013038607cdba3288e692c3611c06a18aa4" + integrity sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ== + dependencies: + "@babel/template" "^7.27.1" + "@babel/types" "^7.27.1" "@babel/highlight@^7.24.7": version "7.25.9" @@ -306,84 +312,84 @@ dependencies: "@babel/types" "^7.25.4" -"@babel/parser@^7.26.10", "@babel/parser@^7.26.9", "@babel/parser@^7.27.0": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.0.tgz#3d7d6ee268e41d2600091cbd4e145ffee85a44ec" - integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg== +"@babel/parser@^7.27.1", "@babel/parser@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.2.tgz#577518bedb17a2ce4212afd052e01f7df0941127" + integrity sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw== dependencies: - "@babel/types" "^7.27.0" + "@babel/types" "^7.27.1" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" - integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz#61dd8a8e61f7eb568268d1b5f129da3eee364bf9" + integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30" - integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d" + integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137" - integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72" + integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1" - integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd" + integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e" - integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz#bb1c25af34d75115ce229a1de7fa44bf8f955670" + integrity sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== -"@babel/plugin-syntax-import-assertions@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz#620412405058efa56e4a564903b79355020f445f" - integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg== +"@babel/plugin-syntax-import-assertions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd" + integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-import-attributes@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7" - integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== +"@babel/plugin-syntax-import-attributes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" + integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-jsx@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" - integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== +"@babel/plugin-syntax-jsx@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" + integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-typescript@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" - integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== +"@babel/plugin-syntax-typescript@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" + integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" @@ -393,472 +399,472 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845" - integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== +"@babel/plugin-transform-arrow-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a" + integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-async-generator-functions@^7.26.8": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz#5e3991135e3b9c6eaaf5eff56d1ae5a11df45ff8" - integrity sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg== +"@babel/plugin-transform-async-generator-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz#ca433df983d68e1375398e7ca71bf2a4f6fd89d7" + integrity sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-remap-async-to-generator" "^7.25.9" - "@babel/traverse" "^7.26.8" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71" - integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== +"@babel/plugin-transform-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7" + integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA== dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-remap-async-to-generator" "^7.25.9" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" -"@babel/plugin-transform-block-scoped-functions@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz#3dc4405d31ad1cbe45293aa57205a6e3b009d53e" - integrity sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ== +"@babel/plugin-transform-block-scoped-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9" + integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-block-scoping@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz#c33665e46b06759c93687ca0f84395b80c0473a1" - integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg== +"@babel/plugin-transform-block-scoping@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz#bc0dbe8ac6de5602981ba58ef68c6df8ef9bfbb3" + integrity sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-class-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f" - integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== +"@babel/plugin-transform-class-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925" + integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-class-static-block@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz#6c8da219f4eb15cae9834ec4348ff8e9e09664a0" - integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ== +"@babel/plugin-transform-class-static-block@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz#7e920d5625b25bbccd3061aefbcc05805ed56ce4" + integrity sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-classes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52" - integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== +"@babel/plugin-transform-classes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz#03bb04bea2c7b2f711f0db7304a8da46a85cced4" + integrity sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/traverse" "^7.27.1" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b" - integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== +"@babel/plugin-transform-computed-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa" + integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/template" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/template" "^7.27.1" -"@babel/plugin-transform-destructuring@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1" - integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== +"@babel/plugin-transform-destructuring@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz#d5916ef7089cb254df0418ae524533c1b72ba656" + integrity sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-dotall-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a" - integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== +"@babel/plugin-transform-dotall-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d" + integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-duplicate-keys@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d" - integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== +"@babel/plugin-transform-duplicate-keys@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1" + integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31" - integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz#5043854ca620a94149372e69030ff8cb6a9eb0ec" + integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-dynamic-import@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8" - integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== +"@babel/plugin-transform-dynamic-import@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4" + integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-exponentiation-operator@^7.26.3": - version "7.26.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz#e29f01b6de302c7c2c794277a48f04a9ca7f03bc" - integrity sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ== +"@babel/plugin-transform-exponentiation-operator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz#fc497b12d8277e559747f5a3ed868dd8064f83e1" + integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-export-namespace-from@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2" - integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== +"@babel/plugin-transform-export-namespace-from@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23" + integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-for-of@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz#27231f79d5170ef33b5111f07fe5cafeb2c96a56" - integrity sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg== +"@babel/plugin-transform-for-of@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a" + integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-function-name@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97" - integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== +"@babel/plugin-transform-function-name@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7" + integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ== dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-json-strings@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660" - integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== +"@babel/plugin-transform-json-strings@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c" + integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de" - integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== +"@babel/plugin-transform-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24" + integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-logical-assignment-operators@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7" - integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== +"@babel/plugin-transform-logical-assignment-operators@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz#890cb20e0270e0e5bebe3f025b434841c32d5baa" + integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-member-expression-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de" - integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== +"@babel/plugin-transform-member-expression-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9" + integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-amd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5" - integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== +"@babel/plugin-transform-modules-amd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f" + integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA== dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-commonjs@^7.26.3": - version "7.26.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz#8f011d44b20d02c3de44d8850d971d8497f981fb" - integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== +"@babel/plugin-transform-modules-commonjs@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832" + integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw== dependencies: - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-systemjs@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8" - integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== +"@babel/plugin-transform-modules-systemjs@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz#00e05b61863070d0f3292a00126c16c0e024c4ed" + integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA== dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-modules-umd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9" - integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== +"@babel/plugin-transform-modules-umd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334" + integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w== dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a" - integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1" + integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-new-target@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd" - integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== +"@babel/plugin-transform-new-target@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb" + integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-nullish-coalescing-operator@^7.26.6": - version "7.26.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz#fbf6b3c92cb509e7b319ee46e3da89c5bedd31fe" - integrity sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw== +"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d" + integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-numeric-separator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1" - integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== +"@babel/plugin-transform-numeric-separator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6" + integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-rest-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" - integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== +"@babel/plugin-transform-object-rest-spread@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz#67f9ab822347aa2bcee91e8996763da79bdea973" + integrity sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g== dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.27.1" + "@babel/plugin-transform-parameters" "^7.27.1" -"@babel/plugin-transform-object-super@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03" - integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== +"@babel/plugin-transform-object-super@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5" + integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" -"@babel/plugin-transform-optional-catch-binding@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3" - integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== +"@babel/plugin-transform-optional-catch-binding@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c" + integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz#e142eb899d26ef715435f201ab6e139541eee7dd" - integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== +"@babel/plugin-transform-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz#874ce3c4f06b7780592e946026eb76a32830454f" + integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-parameters@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz#b856842205b3e77e18b7a7a1b94958069c7ba257" - integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== +"@babel/plugin-transform-parameters@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz#80334b54b9b1ac5244155a0c8304a187a618d5a7" + integrity sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-private-methods@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57" - integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== +"@babel/plugin-transform-private-methods@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af" + integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-private-property-in-object@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33" - integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== +"@babel/plugin-transform-private-property-in-object@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11" + integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-property-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f" - integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== +"@babel/plugin-transform-property-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424" + integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-regenerator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz#03a8a4670d6cebae95305ac6defac81ece77740b" - integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg== +"@babel/plugin-transform-regenerator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz#0a471df9213416e44cd66bf67176b66f65768401" + integrity sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - regenerator-transform "^0.15.2" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-regexp-modifiers@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz#2f5837a5b5cd3842a919d8147e9903cc7455b850" - integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw== +"@babel/plugin-transform-regexp-modifiers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz#df9ba5577c974e3f1449888b70b76169998a6d09" + integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-reserved-words@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce" - integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== +"@babel/plugin-transform-reserved-words@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4" + integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-shorthand-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2" - integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== +"@babel/plugin-transform-shorthand-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90" + integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9" - integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== +"@babel/plugin-transform-spread@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08" + integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-sticky-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32" - integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== +"@babel/plugin-transform-sticky-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280" + integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-template-literals@^7.26.8": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz#966b15d153a991172a540a69ad5e1845ced990b5" - integrity sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q== +"@babel/plugin-transform-template-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8" + integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-typeof-symbol@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz#d0e33acd9223744c1e857dbd6fa17bd0a3786937" - integrity sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw== +"@babel/plugin-transform-typeof-symbol@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369" + integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-typescript@^7.27.0": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.0.tgz#a29fd3481da85601c7e34091296e9746d2cccba8" - integrity sha512-fRGGjO2UEGPjvEcyAZXRXAS8AfdaQoq7HnxAbJoAoW10B9xOKesmmndJv+Sym2a+9FHWZ9KbyyLCe9s0Sn5jtg== +"@babel/plugin-transform-typescript@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.1.tgz#d3bb65598bece03f773111e88cc4e8e5070f1140" + integrity sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.27.0" - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-syntax-typescript" "^7.25.9" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-syntax-typescript" "^7.27.1" -"@babel/plugin-transform-unicode-escapes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82" - integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== +"@babel/plugin-transform-unicode-escapes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806" + integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-unicode-property-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3" - integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== +"@babel/plugin-transform-unicode-property-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956" + integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-unicode-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1" - integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== +"@babel/plugin-transform-unicode-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97" + integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-unicode-sets-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe" - integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== +"@babel/plugin-transform-unicode-sets-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1" + integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" "@babel/preset-env@^7.18.10": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.26.9.tgz#2ec64e903d0efe743699f77a10bdf7955c2123c3" - integrity sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ== + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.27.2.tgz#106e6bfad92b591b1f6f76fd4cf13b7725a7bf9a" + integrity sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ== dependencies: - "@babel/compat-data" "^7.26.8" - "@babel/helper-compilation-targets" "^7.26.5" - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" + "@babel/compat-data" "^7.27.2" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.27.1" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions" "^7.26.0" - "@babel/plugin-syntax-import-attributes" "^7.26.0" + "@babel/plugin-syntax-import-assertions" "^7.27.1" + "@babel/plugin-syntax-import-attributes" "^7.27.1" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.25.9" - "@babel/plugin-transform-async-generator-functions" "^7.26.8" - "@babel/plugin-transform-async-to-generator" "^7.25.9" - "@babel/plugin-transform-block-scoped-functions" "^7.26.5" - "@babel/plugin-transform-block-scoping" "^7.25.9" - "@babel/plugin-transform-class-properties" "^7.25.9" - "@babel/plugin-transform-class-static-block" "^7.26.0" - "@babel/plugin-transform-classes" "^7.25.9" - "@babel/plugin-transform-computed-properties" "^7.25.9" - "@babel/plugin-transform-destructuring" "^7.25.9" - "@babel/plugin-transform-dotall-regex" "^7.25.9" - "@babel/plugin-transform-duplicate-keys" "^7.25.9" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-dynamic-import" "^7.25.9" - "@babel/plugin-transform-exponentiation-operator" "^7.26.3" - "@babel/plugin-transform-export-namespace-from" "^7.25.9" - "@babel/plugin-transform-for-of" "^7.26.9" - "@babel/plugin-transform-function-name" "^7.25.9" - "@babel/plugin-transform-json-strings" "^7.25.9" - "@babel/plugin-transform-literals" "^7.25.9" - "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" - "@babel/plugin-transform-member-expression-literals" "^7.25.9" - "@babel/plugin-transform-modules-amd" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.26.3" - "@babel/plugin-transform-modules-systemjs" "^7.25.9" - "@babel/plugin-transform-modules-umd" "^7.25.9" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-new-target" "^7.25.9" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.26.6" - "@babel/plugin-transform-numeric-separator" "^7.25.9" - "@babel/plugin-transform-object-rest-spread" "^7.25.9" - "@babel/plugin-transform-object-super" "^7.25.9" - "@babel/plugin-transform-optional-catch-binding" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" - "@babel/plugin-transform-private-methods" "^7.25.9" - "@babel/plugin-transform-private-property-in-object" "^7.25.9" - "@babel/plugin-transform-property-literals" "^7.25.9" - "@babel/plugin-transform-regenerator" "^7.25.9" - "@babel/plugin-transform-regexp-modifiers" "^7.26.0" - "@babel/plugin-transform-reserved-words" "^7.25.9" - "@babel/plugin-transform-shorthand-properties" "^7.25.9" - "@babel/plugin-transform-spread" "^7.25.9" - "@babel/plugin-transform-sticky-regex" "^7.25.9" - "@babel/plugin-transform-template-literals" "^7.26.8" - "@babel/plugin-transform-typeof-symbol" "^7.26.7" - "@babel/plugin-transform-unicode-escapes" "^7.25.9" - "@babel/plugin-transform-unicode-property-regex" "^7.25.9" - "@babel/plugin-transform-unicode-regex" "^7.25.9" - "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" + "@babel/plugin-transform-arrow-functions" "^7.27.1" + "@babel/plugin-transform-async-generator-functions" "^7.27.1" + "@babel/plugin-transform-async-to-generator" "^7.27.1" + "@babel/plugin-transform-block-scoped-functions" "^7.27.1" + "@babel/plugin-transform-block-scoping" "^7.27.1" + "@babel/plugin-transform-class-properties" "^7.27.1" + "@babel/plugin-transform-class-static-block" "^7.27.1" + "@babel/plugin-transform-classes" "^7.27.1" + "@babel/plugin-transform-computed-properties" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.27.1" + "@babel/plugin-transform-dotall-regex" "^7.27.1" + "@babel/plugin-transform-duplicate-keys" "^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-dynamic-import" "^7.27.1" + "@babel/plugin-transform-exponentiation-operator" "^7.27.1" + "@babel/plugin-transform-export-namespace-from" "^7.27.1" + "@babel/plugin-transform-for-of" "^7.27.1" + "@babel/plugin-transform-function-name" "^7.27.1" + "@babel/plugin-transform-json-strings" "^7.27.1" + "@babel/plugin-transform-literals" "^7.27.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.27.1" + "@babel/plugin-transform-member-expression-literals" "^7.27.1" + "@babel/plugin-transform-modules-amd" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.27.1" + "@babel/plugin-transform-modules-systemjs" "^7.27.1" + "@babel/plugin-transform-modules-umd" "^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-new-target" "^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1" + "@babel/plugin-transform-numeric-separator" "^7.27.1" + "@babel/plugin-transform-object-rest-spread" "^7.27.2" + "@babel/plugin-transform-object-super" "^7.27.1" + "@babel/plugin-transform-optional-catch-binding" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + "@babel/plugin-transform-parameters" "^7.27.1" + "@babel/plugin-transform-private-methods" "^7.27.1" + "@babel/plugin-transform-private-property-in-object" "^7.27.1" + "@babel/plugin-transform-property-literals" "^7.27.1" + "@babel/plugin-transform-regenerator" "^7.27.1" + "@babel/plugin-transform-regexp-modifiers" "^7.27.1" + "@babel/plugin-transform-reserved-words" "^7.27.1" + "@babel/plugin-transform-shorthand-properties" "^7.27.1" + "@babel/plugin-transform-spread" "^7.27.1" + "@babel/plugin-transform-sticky-regex" "^7.27.1" + "@babel/plugin-transform-template-literals" "^7.27.1" + "@babel/plugin-transform-typeof-symbol" "^7.27.1" + "@babel/plugin-transform-unicode-escapes" "^7.27.1" + "@babel/plugin-transform-unicode-property-regex" "^7.27.1" + "@babel/plugin-transform-unicode-regex" "^7.27.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.27.1" "@babel/preset-modules" "0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2 "^0.4.10" babel-plugin-polyfill-corejs3 "^0.11.0" @@ -876,22 +882,15 @@ esutils "^2.0.2" "@babel/preset-typescript@^7.18.6": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.27.0.tgz#4dcb8827225975f4290961b0b089f9c694ca50c7" - integrity sha512-vxaPFfJtHhgeOVXRKuHpHPAOgymmy8V8I65T1q53R7GCZlefKeCaTyDs3zOPHTTbmquvNlQYC5klEvWsBAtrBQ== + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz#190742a6428d282306648a55b0529b561484f912" + integrity sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-syntax-jsx" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.26.3" - "@babel/plugin-transform-typescript" "^7.27.0" - -"@babel/runtime@^7.8.4": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.9.tgz#aa4c6facc65b9cb3f87d75125ffd47781b475433" - integrity sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg== - dependencies: - regenerator-runtime "^0.14.0" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-syntax-jsx" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.27.1" + "@babel/plugin-transform-typescript" "^7.27.1" "@babel/template@^7.24.7": version "7.25.0" @@ -902,23 +901,14 @@ "@babel/parser" "^7.25.0" "@babel/types" "^7.25.0" -"@babel/template@^7.25.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.26.9.tgz#4577ad3ddf43d194528cff4e1fa6b232fa609bb2" - integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA== +"@babel/template@^7.27.1": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" + integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/parser" "^7.26.9" - "@babel/types" "^7.26.9" - -"@babel/template@^7.26.9", "@babel/template@^7.27.0": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.0.tgz#b253e5406cc1df1c57dcd18f11760c2dbf40c0b4" - integrity sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/parser" "^7.27.0" - "@babel/types" "^7.27.0" + "@babel/code-frame" "^7.27.1" + "@babel/parser" "^7.27.2" + "@babel/types" "^7.27.1" "@babel/traverse@^7.18.5": version "7.24.8" @@ -936,42 +926,16 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/traverse@^7.25.9", "@babel/traverse@^7.26.5", "@babel/traverse@^7.27.0": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.0.tgz#11d7e644779e166c0442f9a07274d02cd91d4a70" - integrity sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA== +"@babel/traverse@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.1.tgz#4db772902b133bbddd1c4f7a7ee47761c1b9f291" + integrity sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg== dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.27.0" - "@babel/parser" "^7.27.0" - "@babel/template" "^7.27.0" - "@babel/types" "^7.27.0" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/traverse@^7.26.10": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.10.tgz#43cca33d76005dbaa93024fae536cc1946a4c380" - integrity sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.10" - "@babel/parser" "^7.26.10" - "@babel/template" "^7.26.9" - "@babel/types" "^7.26.10" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/traverse@^7.26.8", "@babel/traverse@^7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.9.tgz#4398f2394ba66d05d988b2ad13c219a2c857461a" - integrity sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg== - dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.9" - "@babel/parser" "^7.26.9" - "@babel/template" "^7.26.9" - "@babel/types" "^7.26.9" + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.1" + "@babel/parser" "^7.27.1" + "@babel/template" "^7.27.1" + "@babel/types" "^7.27.1" debug "^4.3.1" globals "^11.1.0" @@ -993,21 +957,13 @@ "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" -"@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.26.9", "@babel/types@^7.27.0": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.0.tgz#ef9acb6b06c3173f6632d993ecb6d4ae470b4559" - integrity sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg== +"@babel/types@^7.27.1", "@babel/types@^7.4.4": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.1.tgz#9defc53c16fc899e46941fc6901a9eea1c9d8560" + integrity sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q== dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@babel/types@^7.4.4": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.9.tgz#08b43dec79ee8e682c2ac631c010bdcac54a21ce" - integrity sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" "@develar/schema-utils@~2.6.5": version "2.6.5" @@ -2719,12 +2675,12 @@ available-typed-arrays@^1.0.7: possible-typed-array-names "^1.0.0" babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.12" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz#ca55bbec8ab0edeeef3d7b8ffd75322e210879a9" - integrity sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og== + version "0.4.13" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz#7d445f0e0607ebc8fb6b01d7e8fb02069b91dd8b" + integrity sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.3" + "@babel/helper-define-polyfill-provider" "^0.6.4" semver "^6.3.1" babel-plugin-polyfill-corejs3@^0.11.0: @@ -2736,11 +2692,11 @@ babel-plugin-polyfill-corejs3@^0.11.0: core-js-compat "^3.40.0" babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz#abeb1f3f1c762eace37587f42548b08b57789bc8" - integrity sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q== + version "0.6.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz#428c615d3c177292a22b4f93ed99e358d7906a9b" + integrity sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.3" + "@babel/helper-define-polyfill-provider" "^0.6.4" balanced-match@^1.0.0: version "1.0.2" @@ -2788,15 +2744,15 @@ braces@^3.0.3: dependencies: fill-range "^7.1.1" -browserslist@^4.24.0, browserslist@^4.24.3: - version "4.24.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b" - integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== +browserslist@^4.24.0, browserslist@^4.24.3, browserslist@^4.24.4: + version "4.24.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.5.tgz#aa0f5b8560fe81fde84c6dcb38f759bafba0e11b" + integrity sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw== dependencies: - caniuse-lite "^1.0.30001688" - electron-to-chromium "^1.5.73" + caniuse-lite "^1.0.30001716" + electron-to-chromium "^1.5.149" node-releases "^2.0.19" - update-browserslist-db "^1.1.1" + update-browserslist-db "^1.1.3" buffer-crc32@~0.2.3: version "0.2.13" @@ -2964,10 +2920,10 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -caniuse-lite@^1.0.30001688: - version "1.0.30001706" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001706.tgz#902c3f896f4b2968031c3a546ab2ef8b465a2c8f" - integrity sha512-3ZczoTApMAZwPKYWmwVbQMFpXBDds3/0VciVoUwPUbldlYyVLmRVuRs/PcUZtHpbLRpzzDvrvnFuREsGt6lUug== +caniuse-lite@^1.0.30001716: + version "1.0.30001718" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz#dae13a9c80d517c30c6197515a96131c194d8f82" + integrity sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw== chalk@5.2.0: version "5.2.0" @@ -3195,13 +3151,20 @@ convert-source-map@^2.0.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -core-js-compat@^3.38.1, core-js-compat@^3.40.0: +core-js-compat@^3.38.1: version "3.40.0" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.40.0.tgz#7485912a5a4a4315c2fdb2cbdc623e6881c88b38" integrity sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ== dependencies: browserslist "^4.24.3" +core-js-compat@^3.40.0: + version "3.42.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.42.0.tgz#ce19c29706ee5806e26d3cb3c542d4cfc0ed51bb" + integrity sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ== + dependencies: + browserslist "^4.24.4" + core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -3515,10 +3478,10 @@ electron-store@^10.0.0: conf "^13.0.0" type-fest "^4.20.0" -electron-to-chromium@^1.5.73: - version "1.5.120" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.120.tgz#ccfdd28e9795fb8c2221cefa2c9a071501c86247" - integrity sha512-oTUp3gfX1gZI+xfD2djr2rzQdHCwHzPQrrK0CD7WpTdF0nPdQ/INcRVjWgLdCT4a9W3jFObR9DAfsuyFQnI8CQ== +electron-to-chromium@^1.5.149: + version "1.5.152" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.152.tgz#bcdd39567e291b930ec26b930031137a05593695" + integrity sha512-xBOfg/EBaIlVsHipHl2VdTPJRSvErNUaqW8ejTq5OlOlIYx1wOllCHsAvAIrr55jD1IYEfdR86miUEt8H5IeJg== electron-window-state@^5.0.3: version "5.0.3" @@ -6373,18 +6336,6 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - regexp-tree@^0.1.27: version "0.1.27" resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd" @@ -7389,7 +7340,7 @@ unzip-crx-3@^0.2.0: mkdirp "^0.5.1" yaku "^0.16.6" -update-browserslist-db@^1.1.1: +update-browserslist-db@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== From 32cf6b2ebf0d210f9c1d26c2ff3ceb30ca3a2b74 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 11:57:12 +0000 Subject: [PATCH 31/58] Update typescript-eslint monorepo to v8.32.0 (#2320) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 129 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 73 insertions(+), 56 deletions(-) diff --git a/yarn.lock b/yarn.lock index d4eadd7..d73d4e0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1242,6 +1242,13 @@ dependencies: eslint-visitor-keys "^3.4.3" +"@eslint-community/eslint-utils@^4.7.0": + version "4.7.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz#607084630c6c033992a082de6e6fbc1a8b52175a" + integrity sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw== + dependencies: + eslint-visitor-keys "^3.4.3" + "@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.11.0": version "4.12.1" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" @@ -2231,29 +2238,29 @@ "@types/node" "*" "@typescript-eslint/eslint-plugin@^8.0.0": - version "8.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz#62f1befe59647524994e89de4516d8dcba7a850a" - integrity sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ== + version "8.32.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.32.1.tgz#9185b3eaa3b083d8318910e12d56c68b3c4f45b4" + integrity sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.31.1" - "@typescript-eslint/type-utils" "8.31.1" - "@typescript-eslint/utils" "8.31.1" - "@typescript-eslint/visitor-keys" "8.31.1" + "@typescript-eslint/scope-manager" "8.32.1" + "@typescript-eslint/type-utils" "8.32.1" + "@typescript-eslint/utils" "8.32.1" + "@typescript-eslint/visitor-keys" "8.32.1" graphemer "^1.4.0" - ignore "^5.3.1" + ignore "^7.0.0" natural-compare "^1.4.0" - ts-api-utils "^2.0.1" + ts-api-utils "^2.1.0" "@typescript-eslint/parser@^8.0.0": - version "8.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.31.1.tgz#e9b0ccf30d37dde724ee4d15f4dbc195995cce1b" - integrity sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q== + version "8.32.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.32.1.tgz#18b0e53315e0bc22b2619d398ae49a968370935e" + integrity sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg== dependencies: - "@typescript-eslint/scope-manager" "8.31.1" - "@typescript-eslint/types" "8.31.1" - "@typescript-eslint/typescript-estree" "8.31.1" - "@typescript-eslint/visitor-keys" "8.31.1" + "@typescript-eslint/scope-manager" "8.32.1" + "@typescript-eslint/types" "8.32.1" + "@typescript-eslint/typescript-estree" "8.32.1" + "@typescript-eslint/visitor-keys" "8.32.1" debug "^4.3.4" "@typescript-eslint/scope-manager@8.29.0": @@ -2264,33 +2271,33 @@ "@typescript-eslint/types" "8.29.0" "@typescript-eslint/visitor-keys" "8.29.0" -"@typescript-eslint/scope-manager@8.31.1": - version "8.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz#1eb52e76878f545e4add142e0d8e3e97e7aa443b" - integrity sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw== +"@typescript-eslint/scope-manager@8.32.1": + version "8.32.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.32.1.tgz#9a6bf5fb2c5380e14fe9d38ccac6e4bbe17e8afc" + integrity sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA== dependencies: - "@typescript-eslint/types" "8.31.1" - "@typescript-eslint/visitor-keys" "8.31.1" + "@typescript-eslint/types" "8.32.1" + "@typescript-eslint/visitor-keys" "8.32.1" -"@typescript-eslint/type-utils@8.31.1": - version "8.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.31.1.tgz#be0f438fb24b03568e282a0aed85f776409f970c" - integrity sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA== +"@typescript-eslint/type-utils@8.32.1": + version "8.32.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.32.1.tgz#b9292a45f69ecdb7db74d1696e57d1a89514d21e" + integrity sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA== dependencies: - "@typescript-eslint/typescript-estree" "8.31.1" - "@typescript-eslint/utils" "8.31.1" + "@typescript-eslint/typescript-estree" "8.32.1" + "@typescript-eslint/utils" "8.32.1" debug "^4.3.4" - ts-api-utils "^2.0.1" + ts-api-utils "^2.1.0" "@typescript-eslint/types@8.29.0": version "8.29.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.29.0.tgz#65add70ab4ef66beaa42a5addf87dab2b05b1f33" integrity sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg== -"@typescript-eslint/types@8.31.1": - version "8.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.31.1.tgz#478ed6f7e8aee1be7b63a60212b6bffe1423b5d4" - integrity sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ== +"@typescript-eslint/types@8.32.1": + version "8.32.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.32.1.tgz#b19fe4ac0dc08317bae0ce9ec1168123576c1d4b" + integrity sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg== "@typescript-eslint/typescript-estree@8.29.0": version "8.29.0" @@ -2306,29 +2313,29 @@ semver "^7.6.0" ts-api-utils "^2.0.1" -"@typescript-eslint/typescript-estree@8.31.1": - version "8.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz#37792fe7ef4d3021c7580067c8f1ae66daabacdf" - integrity sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag== +"@typescript-eslint/typescript-estree@8.32.1": + version "8.32.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.1.tgz#9023720ca4ecf4f59c275a05b5fed69b1276face" + integrity sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg== dependencies: - "@typescript-eslint/types" "8.31.1" - "@typescript-eslint/visitor-keys" "8.31.1" + "@typescript-eslint/types" "8.32.1" + "@typescript-eslint/visitor-keys" "8.32.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" minimatch "^9.0.4" semver "^7.6.0" - ts-api-utils "^2.0.1" + ts-api-utils "^2.1.0" -"@typescript-eslint/utils@8.31.1": - version "8.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.31.1.tgz#5628ea0393598a0b2f143d0fc6d019f0dee9dd14" - integrity sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ== +"@typescript-eslint/utils@8.32.1": + version "8.32.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.32.1.tgz#4d6d5d29b9e519e9a85e9a74e9f7bdb58abe9704" + integrity sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA== dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.31.1" - "@typescript-eslint/types" "8.31.1" - "@typescript-eslint/typescript-estree" "8.31.1" + "@eslint-community/eslint-utils" "^4.7.0" + "@typescript-eslint/scope-manager" "8.32.1" + "@typescript-eslint/types" "8.32.1" + "@typescript-eslint/typescript-estree" "8.32.1" "@typescript-eslint/utils@^8.23.0": version "8.29.0" @@ -2348,12 +2355,12 @@ "@typescript-eslint/types" "8.29.0" eslint-visitor-keys "^4.2.0" -"@typescript-eslint/visitor-keys@8.31.1": - version "8.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz#6742b0e3ba1e0c1e35bdaf78c03e759eb8dd8e75" - integrity sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw== +"@typescript-eslint/visitor-keys@8.32.1": + version "8.32.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.1.tgz#4321395cc55c2eb46036cbbb03e101994d11ddca" + integrity sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w== dependencies: - "@typescript-eslint/types" "8.31.1" + "@typescript-eslint/types" "8.32.1" eslint-visitor-keys "^4.2.0" "@ungap/structured-clone@^1.2.0": @@ -4611,11 +4618,16 @@ ignore-walk@^7.0.0: dependencies: minimatch "^9.0.0" -ignore@^5.2.0, ignore@^5.3.1, ignore@^5.3.2: +ignore@^5.2.0, ignore@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== +ignore@^7.0.0: + version "7.0.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.4.tgz#a12c70d0f2607c5bf508fb65a40c75f037d7a078" + integrity sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A== + immediate@~3.0.5: version "3.0.6" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" @@ -6593,11 +6605,16 @@ semver@^7.1.1, semver@^7.3.2: resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== -semver@^7.3.5, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3: +semver@^7.3.5, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3: version "7.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== +semver@^7.6.0: + version "7.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" + integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== + serialize-error@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" @@ -7104,7 +7121,7 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-api-utils@^2.0.1: +ts-api-utils@^2.0.1, ts-api-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91" integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ== From 660ccd414acae34fe934eacb23faf4a964ea0b3d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 12:32:11 +0000 Subject: [PATCH 32/58] Pin mcr.microsoft.com/playwright Docker tag to ff29461 (#2323) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- playwright/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright/Dockerfile b/playwright/Dockerfile index 99b2d57..8d7236d 100644 --- a/playwright/Dockerfile +++ b/playwright/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/playwright:v1.52.0-jammy +FROM mcr.microsoft.com/playwright:v1.52.0-jammy@sha256:ff2946177f0756c87482c0ef958b7cfbf389b92525ace78a1c9890281d0d60f4 WORKDIR /work/element-desktop From 2aaf42b8e8c6d787fac1f368f735551ce0e150fe Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 12:38:54 +0000 Subject: [PATCH 33/58] Pin dependencies (#2322) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/build_and_deploy.yaml | 10 +++++----- .github/workflows/build_and_test.yaml | 8 ++++---- .github/workflows/build_linux.yaml | 10 +++++----- .github/workflows/build_macos.yaml | 12 ++++++------ .github/workflows/build_prepare.yaml | 6 +++--- .github/workflows/build_test.yaml | 10 +++++----- .github/workflows/build_windows.yaml | 10 +++++----- .github/workflows/dockerbuild.yaml | 2 +- .github/workflows/static_analysis.yaml | 16 ++++++++-------- .github/workflows/triage-stale.yml | 2 +- dockerbuild/Dockerfile | 2 +- 11 files changed, 44 insertions(+), 44 deletions(-) diff --git a/.github/workflows/build_and_deploy.yaml b/.github/workflows/build_and_deploy.yaml index b91f644..e7cef75 100644 --- a/.github/workflows/build_and_deploy.yaml +++ b/.github/workflows/build_and_deploy.yaml @@ -107,7 +107,7 @@ jobs: environment: ${{ needs.prepare.outputs.deploy == 'true' && 'packages.element.io' || '' }} steps: - name: Download artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 - name: Prepare artifacts for deployment run: | @@ -197,7 +197,7 @@ jobs: - name: Stash packages.element.io if: needs.prepare.outputs.deploy == 'false' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: packages.element.io path: packages.element.io @@ -235,7 +235,7 @@ jobs: - name: Stash debs if: needs.prepare.outputs.deploy == 'false' && needs.linux.result == 'success' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: debs path: | @@ -274,14 +274,14 @@ jobs: id-token: write # This is required for requesting the JWT steps: - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4 with: role-to-assume: arn:aws:iam::264135176173:role/Push-ElementDesktop-MSI role-session-name: githubaction-run-${{ github.run_id }} aws-region: ${{ env.AWS_REGION }} - name: Download artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 with: pattern: win-* diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index a78b2ad..2fd9971 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -52,9 +52,9 @@ jobs: runs-on: ubuntu-24.04 if: always() steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: cache: "yarn" node-version: "lts/*" @@ -63,7 +63,7 @@ jobs: run: yarn install --frozen-lockfile - name: Download blob reports from GitHub Actions Artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 with: pattern: blob-report-* path: all-blob-reports @@ -74,7 +74,7 @@ jobs: - name: Upload HTML report if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: html-report path: playwright-report diff --git a/.github/workflows/build_linux.yaml b/.github/workflows/build_linux.yaml index d56f6a8..0a3cad1 100644 --- a/.github/workflows/build_linux.yaml +++ b/.github/workflows/build_linux.yaml @@ -60,21 +60,21 @@ jobs: } } - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 with: name: webapp - name: Cache .hak id: cache - uses: actions/cache@v4 + uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4 with: key: ${{ runner.os }}-${{ github.ref_name }}-${{ inputs.sqlcipher }}-${{ inputs.arch }}-${{ hashFiles('hakHash', 'electronVersion', 'dockerbuild/*') }} path: | ./.hak - - uses: actions/setup-node@v4 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: node-version-file: .node-version cache: "yarn" @@ -173,7 +173,7 @@ jobs: # We exclude *-unpacked as it loses permissions and the tarball contains it with correct permissions - name: Upload Artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: linux-${{ inputs.arch }}-sqlcipher-${{ inputs.sqlcipher }} path: | diff --git a/.github/workflows/build_macos.yaml b/.github/workflows/build_macos.yaml index 1ea5d4c..325a98d 100644 --- a/.github/workflows/build_macos.yaml +++ b/.github/workflows/build_macos.yaml @@ -37,15 +37,15 @@ jobs: runs-on: macos-14 # M1 environment: ${{ inputs.sign && 'packages.element.io' || '' }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 with: name: webapp - name: Cache .hak id: cache - uses: actions/cache@v4 + uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4 with: key: ${{ runner.os }}-${{ hashFiles('hakHash', 'electronVersion') }} path: | @@ -60,11 +60,11 @@ jobs: rustup target add x86_64-apple-darwin # M1 macos-14 comes without Python preinstalled - - uses: actions/setup-python@v5 + - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 with: python-version: "3.13" - - uses: actions/setup-node@v4 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: node-version-file: .node-version cache: "yarn" @@ -137,7 +137,7 @@ jobs: # We exclude mac-universal as the unpacked app takes forever to upload and zip and dmg already contains it - name: Upload Artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: macos path: | diff --git a/.github/workflows/build_prepare.yaml b/.github/workflows/build_prepare.yaml index 7e4011f..64253f5 100644 --- a/.github/workflows/build_prepare.yaml +++ b/.github/workflows/build_prepare.yaml @@ -49,9 +49,9 @@ jobs: outputs: nightly-version: ${{ steps.versions.outputs.nightly }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: node-version-file: .node-version cache: "yarn" @@ -137,7 +137,7 @@ jobs: echo "| Element Web | [$WEB_VERSION](https://github.com/element-hq/element-web/commit/$WEB_VERSION) |" >> $GITHUB_STEP_SUMMARY echo "| JS SDK | [$JS_VERSION](https://github.com/matrix-org/matrix-js-sdk/commit/$JS_VERSION) |" >> $GITHUB_STEP_SUMMARY - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: webapp retention-days: 1 diff --git a/.github/workflows/build_test.yaml b/.github/workflows/build_test.yaml index b19e9cd..ab00dd2 100644 --- a/.github/workflows/build_test.yaml +++ b/.github/workflows/build_test.yaml @@ -27,9 +27,9 @@ jobs: test: runs-on: ${{ inputs.runs-on }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: node-version-file: .node-version cache: "yarn" @@ -37,7 +37,7 @@ jobs: - name: Install Deps run: "yarn install --frozen-lockfile" - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 with: name: ${{ inputs.artifact }} path: dist @@ -75,7 +75,7 @@ jobs: - name: Upload blob report if: always() && inputs.blob_report - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: blob-report-${{ inputs.artifact }} path: blob-report @@ -83,7 +83,7 @@ jobs: - name: Upload HTML report if: always() && inputs.blob_report == false - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: ${{ inputs.artifact }}-test path: playwright-report diff --git a/.github/workflows/build_windows.yaml b/.github/workflows/build_windows.yaml index 35a6b11..44a28c3 100644 --- a/.github/workflows/build_windows.yaml +++ b/.github/workflows/build_windows.yaml @@ -65,15 +65,15 @@ jobs: } } - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 with: name: webapp - name: Cache .hak id: cache - uses: actions/cache@v4 + uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4 with: key: ${{ runner.os }}-${{ inputs.arch }}-${{ hashFiles('hakHash', 'electronVersion') }} path: | @@ -102,7 +102,7 @@ jobs: rustup default stable rustup target add ${{ steps.config.outputs.target }} - - uses: actions/setup-node@v4 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: node-version-file: .node-version cache: "yarn" @@ -206,7 +206,7 @@ jobs: | ForEach-Object -Process {. $env:SIGNTOOL_PATH verify /pa $_.FullName; if(!$?) { throw }} - name: Upload Artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: win-${{ inputs.arch }} path: | diff --git a/.github/workflows/dockerbuild.yaml b/.github/workflows/dockerbuild.yaml index d4e37c3..f0d98f5 100644 --- a/.github/workflows/dockerbuild.yaml +++ b/.github/workflows/dockerbuild.yaml @@ -19,7 +19,7 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Set up QEMU uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3 diff --git a/.github/workflows/static_analysis.yaml b/.github/workflows/static_analysis.yaml index 5812b9b..146cf8b 100644 --- a/.github/workflows/static_analysis.yaml +++ b/.github/workflows/static_analysis.yaml @@ -9,9 +9,9 @@ jobs: name: "Typescript Syntax Check" runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: node-version-file: package.json cache: "yarn" @@ -35,9 +35,9 @@ jobs: name: "ESLint" runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: node-version-file: package.json cache: "yarn" @@ -53,9 +53,9 @@ jobs: name: "Workflow Lint" runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: node-version-file: package.json cache: "yarn" @@ -71,9 +71,9 @@ jobs: name: "Analyse Dead Code" runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: node-version-file: package.json cache: "yarn" diff --git a/.github/workflows/triage-stale.yml b/.github/workflows/triage-stale.yml index 5921d92..46aa4ae 100644 --- a/.github/workflows/triage-stale.yml +++ b/.github/workflows/triage-stale.yml @@ -12,7 +12,7 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/stale@v9 + - uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9 with: operations-per-run: 250 days-before-issue-stale: -1 diff --git a/dockerbuild/Dockerfile b/dockerbuild/Dockerfile index ecd61fc..00d2e3c 100644 --- a/dockerbuild/Dockerfile +++ b/dockerbuild/Dockerfile @@ -1,6 +1,6 @@ # Docker image to facilitate building Element Desktop's native bits using a glibc version (2.31) # with broader compatibility, down to Debian bullseye & Ubuntu focal. -FROM rust:bullseye +FROM rust:bullseye@sha256:f40b8cc3195deda321031e8dfe23c7d2586e3db7c4103fa36946982d9fd6d588 ENV DEBIAN_FRONTEND=noninteractive From 80b88583b82334eb39934e0d466ad538c174bd93 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 14 May 2025 15:52:33 +0100 Subject: [PATCH 34/58] Update dependency @sentry/electron to v6.6.0 (#2324) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 186 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 97 insertions(+), 89 deletions(-) diff --git a/yarn.lock b/yarn.lock index d73d4e0..420ee56 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1279,6 +1279,16 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== +"@fastify/otel@github:getsentry/fastify-otel#otel-v1": + version "0.8.0" + uid ae3088d65e286bdc94ac5d722573537d6a6671bb + resolved "https://codeload.github.com/getsentry/fastify-otel/tar.gz/ae3088d65e286bdc94ac5d722573537d6a6671bb" + dependencies: + "@opentelemetry/core" "^1.30.1" + "@opentelemetry/instrumentation" "^0.57.2" + "@opentelemetry/semantic-conventions" "^1.28.0" + minimatch "^9" + "@gar/promisify@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" @@ -1603,15 +1613,6 @@ "@opentelemetry/instrumentation" "^0.57.1" "@opentelemetry/semantic-conventions" "^1.27.0" -"@opentelemetry/instrumentation-fastify@0.44.2": - version "0.44.2" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.44.2.tgz#80bb33fa266560b0a7474f7bebcdb77eb49fc1c3" - integrity sha512-arSp97Y4D2NWogoXRb8CzFK3W2ooVdvqRRtQDljFt9uC3zI6OuShgey6CVFC0JxT1iGjkAr1r4PDz23mWrFULQ== - dependencies: - "@opentelemetry/core" "^1.8.0" - "@opentelemetry/instrumentation" "^0.57.1" - "@opentelemetry/semantic-conventions" "^1.27.0" - "@opentelemetry/instrumentation-fs@0.19.1": version "0.19.1" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.19.1.tgz#ebfe40781949574a66a82b8511d9bcd414dbfe98" @@ -1807,10 +1808,10 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz#337fb2bca0453d0726696e745f50064411f646d6" integrity sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA== -"@opentelemetry/semantic-conventions@^1.27.0", "@opentelemetry/semantic-conventions@^1.30.0": - version "1.32.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.32.0.tgz#a15e8f78f32388a7e4655e7f539570e40958ca3f" - integrity sha512-s0OpmpQFSfMrmedAn9Lhg4KWJELHCU6uU9dtIJ28N8UGhf9Y55im5X8fEzwhwDwiSqN+ZPSNrDJF7ivf/AuRPQ== +"@opentelemetry/semantic-conventions@^1.27.0", "@opentelemetry/semantic-conventions@^1.28.0", "@opentelemetry/semantic-conventions@^1.30.0": + version "1.33.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.33.0.tgz#ec8ebd2ac768ab366aff94e0e7f27e8ae24fa49f" + integrity sha512-TIpZvE8fiEILFfTlfPnltpBaD3d9/+uQHVCyC3vfdh6WfCXKhNFzoP5RyDDIndfvZC5GrA4pyEDNyjPloJud+w== "@opentelemetry/sql-common@^0.40.1": version "0.40.1" @@ -1831,10 +1832,10 @@ dependencies: playwright "1.52.0" -"@prisma/instrumentation@6.5.0": - version "6.5.0" - resolved "https://registry.yarnpkg.com/@prisma/instrumentation/-/instrumentation-6.5.0.tgz#ce6c160365dfccbe0f4e7c57a4afc4f946fee562" - integrity sha512-morJDtFRoAp5d/KENEm+K6Y3PQcn5bCvpJ5a9y3V3DNMrNy/ZSn2zulPGj+ld+Xj2UYVoaMJ8DpBX/o6iF6OiA== +"@prisma/instrumentation@6.7.0": + version "6.7.0" + resolved "https://registry.yarnpkg.com/@prisma/instrumentation/-/instrumentation-6.7.0.tgz#5fd97be1f89e9d9268148424a812deaea491f80a" + integrity sha512-3NuxWlbzYNevgPZbV0ktA2z6r0bfh0g22ONTxcK09a6+6MdIPjHsYx1Hnyu4yOq+j7LmupO5J69hhuOnuvj8oQ== dependencies: "@opentelemetry/instrumentation" "^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0" @@ -1843,67 +1844,68 @@ resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@sentry-internal/browser-utils@9.11.0": - version "9.11.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-9.11.0.tgz#b4d89fbf1a41ee04ddf5a0058433b6b996d39a41" - integrity sha512-XS71kRf7lw5St/Jc9G2Viy1cKgqGoPHqUAykXEtFt38JVXdf1TY/dSbKv/PAgNqMvC1xvdTsN0HF/81o7DNUEA== +"@sentry-internal/browser-utils@9.18.0": + version "9.18.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-9.18.0.tgz#b5d469e62a6b21591d75df242e176f0fd2149dd9" + integrity sha512-TwSlmgYpHhe55JpOcVApkM0XcXZh1/cYuEPKPFgeaaPD8BrQrLJJvwKxnonSWXOhdnkJxi4GgK7j7mw57PS4aA== dependencies: - "@sentry/core" "9.11.0" + "@sentry/core" "9.18.0" -"@sentry-internal/feedback@9.11.0": - version "9.11.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-9.11.0.tgz#fefbfb318aef251c3dd02540ce524807dbb59bc3" - integrity sha512-50KiRmrF1Ldr+KoRawqcCYVk7TAVP8K/I81Jk9YWwlp1+Pu1ArpYDmTNCLXTgoyiyO38aHefKGZJX6AKFuSsUQ== +"@sentry-internal/feedback@9.18.0": + version "9.18.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-9.18.0.tgz#dde323572a576c3e49290ef695c9bafd426bcd3a" + integrity sha512-QlrB8oQK+5bfhbgK6yHF6rLwLNJ9XuGblTc51yVkm4d4jn4W/HDyaNqMfQF+JXdTiFatl8oz2xdKR8kGK8kXyg== dependencies: - "@sentry/core" "9.11.0" + "@sentry/core" "9.18.0" -"@sentry-internal/replay-canvas@9.11.0": - version "9.11.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-9.11.0.tgz#56db491058dc7005291c45f3e1777afc87637db5" - integrity sha512-ZcRg8TWfF0ucjK2i+4TY/blRNJ7YKrgMpx19pFj6eCOJ1K8geSkAFPIfDHcQEwIU1ZTN+HiCwx0JvTI9YZxjfg== +"@sentry-internal/replay-canvas@9.18.0": + version "9.18.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-9.18.0.tgz#307aebe286080f3c526b82de893d7a7faedbb9a3" + integrity sha512-3DEyQLmHcYgcwJ8n8eMhI6bhhawPuMc2xTT+Az8gXMqCO/X9ZACpipAmhXFjYP9Ptl+w0Vh3nllJw+gXc/DOsg== dependencies: - "@sentry-internal/replay" "9.11.0" - "@sentry/core" "9.11.0" + "@sentry-internal/replay" "9.18.0" + "@sentry/core" "9.18.0" -"@sentry-internal/replay@9.11.0": - version "9.11.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-9.11.0.tgz#ef591263b516415a40b0954e17b29c7a1a83b4c0" - integrity sha512-0k24h58O/2VQw1dwT/zQiWvUzLNQxpxbrVN/MYPT7czSEhI+1bX8fxMHXZORl2JqhetImMXzxH3XkuHQPEqQMg== +"@sentry-internal/replay@9.18.0": + version "9.18.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-9.18.0.tgz#d1a007951c219be2f9a428c63b619bc0353d6241" + integrity sha512-2A32FFwrlZtdpBruvpcLEfucu6BpyqOk3F4Bo5smM/5q7u0pa7q5d9FSY5l3nwKEAFAoLGv3hcCb+8wxMm50xA== dependencies: - "@sentry-internal/browser-utils" "9.11.0" - "@sentry/core" "9.11.0" + "@sentry-internal/browser-utils" "9.18.0" + "@sentry/core" "9.18.0" -"@sentry/browser@9.11.0": - version "9.11.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-9.11.0.tgz#3126223289949d4b63bfad1fc2c0fc2fdc035cbe" - integrity sha512-DSDj8wQJoiLqqOcntl+7phjd8l8KN9A0vaV7mZNHWbrHU3MVwXqTyLyERRLC6wi0t7F5kqczqa3xLmKjK/fMZg== +"@sentry/browser@9.18.0": + version "9.18.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-9.18.0.tgz#396c903c4a3808f4bec7427a3f46c5a109dddf6b" + integrity sha512-0SWfp4J2+mH4lZOcHfyIwt9VoGD7yCGQE1cm0BPcLwKnrVQeXHtUXNYNy8HTHSjTGyoFDhEAYelE/tdA3OLcWQ== dependencies: - "@sentry-internal/browser-utils" "9.11.0" - "@sentry-internal/feedback" "9.11.0" - "@sentry-internal/replay" "9.11.0" - "@sentry-internal/replay-canvas" "9.11.0" - "@sentry/core" "9.11.0" + "@sentry-internal/browser-utils" "9.18.0" + "@sentry-internal/feedback" "9.18.0" + "@sentry-internal/replay" "9.18.0" + "@sentry-internal/replay-canvas" "9.18.0" + "@sentry/core" "9.18.0" -"@sentry/core@9.11.0": - version "9.11.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-9.11.0.tgz#4cedb0d549e98f4e259f9a48b129e3a46001aba4" - integrity sha512-qfb4ahGZubbrNh1MnbEqyHFp87rIwQIZapyQLCaYpudXrP1biEpLOV3mMDvDJWCdX460hoOwQ3SkwipV3We/7w== +"@sentry/core@9.18.0": + version "9.18.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-9.18.0.tgz#3ab58bf2dcdd8338e101aeb86034abf4924a67aa" + integrity sha512-kRVH8BqMiaU2FTHYa68zNlAloS43jl4XtIEHkLKVH/7gUtwRmM4Gqj8P7RTrZdO1Lo7ksYnGj+AG05Z09CRbOw== "@sentry/electron@^6.0.0": - version "6.5.0" - resolved "https://registry.yarnpkg.com/@sentry/electron/-/electron-6.5.0.tgz#6b3f7f6f779adb390e288731f3bcad66f33216d1" - integrity sha512-VFwIr8ovbJGWW3rdnWGEVkRHTVLFj9IiTjguzcCKGGDS3Q1oBqhbxPjX6EKaIubVSKjE1G2gtt+Q9CfM/tMDdg== + version "6.6.0" + resolved "https://registry.yarnpkg.com/@sentry/electron/-/electron-6.6.0.tgz#786c8a69f7a37753cecd23694246eaad4b6d33a3" + integrity sha512-zqFjBTZN3T1CcJLzde/cw0EMZ6jUnKa8XoLC9wvTlm54vImggeQ/e+vracawgDqyWg8kBmvsfBBsQZH1f0cDuA== dependencies: - "@sentry/browser" "9.11.0" - "@sentry/core" "9.11.0" - "@sentry/node" "9.11.0" + "@sentry/browser" "9.18.0" + "@sentry/core" "9.18.0" + "@sentry/node" "9.18.0" deepmerge "4.3.1" -"@sentry/node@9.11.0": - version "9.11.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-9.11.0.tgz#5d42d698a7e2a53075288806a2ad1b31c68f89da" - integrity sha512-luDsNDHsHkoXbL2Rf1cEKijh6hBfjzGQe09iP6kdZr+HB0bO+qoLe+nZLzSIQTWgWSt2XYNQyiLAsaMlbJZhJg== +"@sentry/node@9.18.0": + version "9.18.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-9.18.0.tgz#682ad11030548eb0e0674ff091afc65319da6d8d" + integrity sha512-n0H13YVfynZJnKQLHoTlyBK2P960X8+B08za9VaRnJ4zikDx23Xk2Owtj006ZUItUKtKLFi70NyQGGDp7gVAyw== dependencies: + "@fastify/otel" "github:getsentry/fastify-otel#otel-v1" "@opentelemetry/api" "^1.9.0" "@opentelemetry/context-async-hooks" "^1.30.1" "@opentelemetry/core" "^1.30.1" @@ -1912,7 +1914,6 @@ "@opentelemetry/instrumentation-connect" "0.43.1" "@opentelemetry/instrumentation-dataloader" "0.16.1" "@opentelemetry/instrumentation-express" "0.47.1" - "@opentelemetry/instrumentation-fastify" "0.44.2" "@opentelemetry/instrumentation-fs" "0.19.1" "@opentelemetry/instrumentation-generic-pool" "0.43.1" "@opentelemetry/instrumentation-graphql" "0.47.1" @@ -1934,17 +1935,17 @@ "@opentelemetry/resources" "^1.30.1" "@opentelemetry/sdk-trace-base" "^1.30.1" "@opentelemetry/semantic-conventions" "^1.30.0" - "@prisma/instrumentation" "6.5.0" - "@sentry/core" "9.11.0" - "@sentry/opentelemetry" "9.11.0" - import-in-the-middle "^1.13.0" + "@prisma/instrumentation" "6.7.0" + "@sentry/core" "9.18.0" + "@sentry/opentelemetry" "9.18.0" + import-in-the-middle "^1.13.1" -"@sentry/opentelemetry@9.11.0": - version "9.11.0" - resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-9.11.0.tgz#5e3215cc98ee58d458f504d368fd3e15600814a9" - integrity sha512-B6RumUFGb1+Q4MymY7IZbdl1Ayz2srqf46itFr1ohE/IpwY7OWKMntop8fxyccUW3ptmPp9cPkBJOaa9UdJhSg== +"@sentry/opentelemetry@9.18.0": + version "9.18.0" + resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-9.18.0.tgz#7c8e2aafb1b262513a8e76564dd0431010a15d32" + integrity sha512-983AvD9uJvT/yDdDDidILgu2kzgZudGv9ne6ThfsqVN+CNb8z+LnNgWTpDng+mlI4JqUvPOfk2hIm4l5X8wptg== dependencies: - "@sentry/core" "9.11.0" + "@sentry/core" "9.18.0" "@sigstore/bundle@^3.0.0": version "3.0.0" @@ -2174,9 +2175,9 @@ "@types/pg" "*" "@types/pg@*": - version "8.11.13" - resolved "https://registry.yarnpkg.com/@types/pg/-/pg-8.11.13.tgz#ab785528b173d9bf8623406d7611ee0c0c715914" - integrity sha512-6kXByGkvRvwXLuyaWzsebs2du6+XuAB2CuMsuzP7uaihQahshVgSmB22Pmh0vQMkQ1h5+PZU0d+Di1o+WpVWJg== + version "8.15.1" + resolved "https://registry.yarnpkg.com/@types/pg/-/pg-8.15.1.tgz#ee6fad7608d2348f55226a5fb5118efdab97ecf9" + integrity sha512-YKHrkGWBX5+ivzvOQ66I0fdqsQTsvxqM0AGP2i0XrVZ9DP5VA/deEbTf7VuLPGpY7fJB9uGbkZ6KjVhuHcrTkQ== dependencies: "@types/node" "*" pg-protocol "*" @@ -3253,7 +3254,7 @@ debounce-fn@^6.0.0: dependencies: mimic-function "^5.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3, debug@^4.3.4, debug@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== @@ -3274,6 +3275,13 @@ debug@^4.3.2, debug@^4.3.6: dependencies: ms "^2.1.3" +debug@^4.3.5: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== + dependencies: + ms "^2.1.3" + decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" @@ -4641,10 +4649,10 @@ import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" -import-in-the-middle@^1.13.0, import-in-the-middle@^1.8.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.13.1.tgz#789651f9e93dd902a5a306f499ab51eb72b03a12" - integrity sha512-k2V9wNm9B+ysuelDTHjI9d5KPc4l8zAZTGqj+pcynvWkypZd857ryzN8jNC7Pg2YZXNMJcHRPpaDyCBbNyVRpA== +import-in-the-middle@^1.13.1, import-in-the-middle@^1.8.1: + version "1.13.2" + resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.13.2.tgz#b8d873708ab121996da6842fa7740ac5cd437f9e" + integrity sha512-Yjp9X7s2eHSXvZYQ0aye6UvwYPrVB5C2k47fuXjFKnYinAByaDZjh4t9MT2wEga9775n6WaIqyHnQhBxYtX2mg== dependencies: acorn "^8.14.0" acorn-import-attributes "^1.9.5" @@ -5416,7 +5424,7 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.0, minimatch@^9.0.3, minimatch@^9.0.4, minimatch@^9.0.5: +minimatch@^9, minimatch@^9.0.0, minimatch@^9.0.3, minimatch@^9.0.4, minimatch@^9.0.5: version "9.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== @@ -5552,9 +5560,9 @@ mkdirp@^3.0.0, mkdirp@^3.0.1: integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== module-details-from-path@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" - integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== + version "1.0.4" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.4.tgz#b662fdcd93f6c83d3f25289da0ce81c8d9685b94" + integrity sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w== ms@^2.0.0, ms@^2.1.1, ms@^2.1.3: version "2.1.3" @@ -6028,9 +6036,9 @@ pg-numeric@1.0.2: integrity sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== pg-protocol@*: - version "1.8.0" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.8.0.tgz#c707101dd07813868035a44571488e4b98639d48" - integrity sha512-jvuYlEkL03NRvOoyoRktBK7+qU5kOvlAwvmrH8sr3wbLrOdVWsRxQfz8mMy9sZFsqJ1hEWNfdWKI4SAmoL+j7g== + version "1.10.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.10.0.tgz#a473afcbb1c6e5dc3ac24869ba3dd563f8a1ae1b" + integrity sha512-IpdytjudNuLv8nhlHs/UrVBhU0e78J0oIS/0AVdTbWxSOkFUVdsHC/NrorO6nXsQNDTT1kzDSOMJubBQviX18Q== pg-types@^2.2.0: version "2.2.0" @@ -6605,12 +6613,12 @@ semver@^7.1.1, semver@^7.3.2: resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== -semver@^7.3.5, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3: +semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3: version "7.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== -semver@^7.6.0: +semver@^7.5.2, semver@^7.6.0: version "7.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== From 46080c66d072b6c12b4812fdc350bd66a2e3bebd Mon Sep 17 00:00:00 2001 From: t3chguy <2403652+t3chguy@users.noreply.github.com> Date: Mon, 19 May 2025 06:07:51 +0000 Subject: [PATCH 35/58] [create-pull-request] automated change --- src/i18n/strings/cy.json | 18 +++++++++++++++++- src/i18n/strings/fi.json | 13 ++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/cy.json b/src/i18n/strings/cy.json index 416a387..fe378a6 100644 --- a/src/i18n/strings/cy.json +++ b/src/i18n/strings/cy.json @@ -22,7 +22,9 @@ "about": "Ynghylch", "brand_help": "Cymorth %(brand)s", "help": "Cymorth", - "preferences": "Dewisiadau" + "no": "Na", + "preferences": "Dewisiadau", + "yes": "Iawn" }, "confirm_quit": "Ydych chi'n siŵr eich bod am roi'r gorau iddi?", "edit_menu": { @@ -49,6 +51,20 @@ "save_image_as_error_description": "Methodd cadw'r ddelwedd", "save_image_as_error_title": "Methodd cadw'r ddelwedd" }, + "store": { + "error": { + "backend_changed": "Clirio data ac ail-lwytho?", + "backend_changed_detail": "Methu cael mynediad at y gyfrinach o allweddi'r system, mae'n ymddangos ei fod wedi newid.", + "backend_changed_title": "Methwyd llwytho'r gronfa ddata", + "unknown_backend_override": "Mae gan eich system allweddell nad yw'n cael ei chefnogi sy'n golygu na ellir agor y gronfa ddata.", + "unknown_backend_override_details": "Gwiriwch y logiau am fwy o fanylion.", + "unknown_backend_override_title": "Methwyd llwytho'r gronfa ddata", + "unsupported_keyring": "Mae gan eich system allweddell nad yw'n cael ei chefnogi sy'n golygu nad oes modd agor y gronfa ddata.", + "unsupported_keyring_cta": "Defnyddiwch amgryptio gwannach", + "unsupported_keyring_detail": "Heb ganfod allweddell Electron gefn. Gallwch geisio ffurfweddu'r gefn â llaw trwy gychwyn %(brand)s gyda dadl llinell orchymyn, gweithrediad untro. Gweler %(link)s.", + "unsupported_keyring_title": "System heb ei chefnogi" + } + }, "view_menu": { "actual_size": "Maint Gwirioneddol", "toggle_developer_tools": "Toglo Offer Datblygwyr", diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json index 4b265f7..8fa8990 100644 --- a/src/i18n/strings/fi.json +++ b/src/i18n/strings/fi.json @@ -22,7 +22,9 @@ "about": "Tietoa", "brand_help": "%(brand)s-tuki", "help": "Ohje", - "preferences": "Valinnat" + "no": "Ei", + "preferences": "Valinnat", + "yes": "Kyllä" }, "confirm_quit": "Haluatko varmasti poistua?", "edit_menu": { @@ -49,6 +51,15 @@ "save_image_as_error_description": "Kuvan tallennus epäonnistui", "save_image_as_error_title": "Kuvan tallennus epäonnistui" }, + "store": { + "error": { + "backend_changed_title": "Tietokannan lataaminen epäonnistui", + "unknown_backend_override_details": "Katso tarkemmat tiedot lokeista.", + "unknown_backend_override_title": "Tietokannan lataaminen epäonnistui", + "unsupported_keyring_cta": "Käytä heikompaa salausta", + "unsupported_keyring_title": "Järjestelmä ei ole tuettu" + } + }, "view_menu": { "actual_size": "Alkuperäinen koko", "toggle_developer_tools": "Näytä tai piilota kehittäjätyökalut", From 28e558162a6b0d59342e6c21ecfed3c833fa821b Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 20 May 2025 14:18:54 +0100 Subject: [PATCH 36/58] Add branch matching (#2329) --- .github/workflows/build_and_test.yaml | 1 + .github/workflows/build_prepare.yaml | 25 +++++++++++++- scripts/branch-match.sh | 48 +++++++++++++++++++++++++++ scripts/fetchdep.sh | 41 ----------------------- 4 files changed, 73 insertions(+), 42 deletions(-) create mode 100755 scripts/branch-match.sh delete mode 100755 scripts/fetchdep.sh diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index 2fd9971..24fcd86 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -15,6 +15,7 @@ jobs: with: config: ${{ (github.event.pull_request.base.ref || github.ref_name) == 'develop' && 'element.io/nightly' || 'element.io/release' }} version: ${{ (github.event.pull_request.base.ref || github.ref_name) == 'develop' && 'develop' || '' }} + branch-matching: true windows: needs: fetch diff --git a/.github/workflows/build_prepare.yaml b/.github/workflows/build_prepare.yaml index 64253f5..8be9200 100644 --- a/.github/workflows/build_prepare.yaml +++ b/.github/workflows/build_prepare.yaml @@ -20,6 +20,11 @@ on: required: false default: false description: "Whether the build should be deployed to production" + branch-matching: + type: boolean + required: false + default: false + description: "Whether the branch name should be matched to find the element-web commit" secrets: # Required if `nightly` is set CF_R2_ACCESS_KEY_ID: @@ -59,7 +64,25 @@ jobs: - name: Install Deps run: "yarn install --frozen-lockfile" - - name: Fetch Element Web + - name: Fetch Element Web (matching branch) + id: branch-matching + if: inputs.branch-matching + continue-on-error: true + run: | + scripts/branch-match.sh + cp "$CONFIG_DIR/config.json" element-web/ + yarn --cwd element-web install --frozen-lockfile + yarn --cwd element-web run build + mv element-web/webapp . + yarn asar-webapp + env: + # These must be set for branch-match.sh to get the right branch + REPOSITORY: ${{ github.repository }} + PR_NUMBER: ${{ github.event.pull_request.number }} + CONFIG_DIR: ${{ inputs.config }} + + - name: Fetch Element Web (${{ inputs.version }}) + if: steps.branch-matching.outcome == 'failure' || steps.branch-matching.outcome == 'skipped' run: yarn run fetch --noverify -d ${{ inputs.config }} ${{ inputs.version }} # We split this out to save the build_* scripts having to do it to make use of `hashFiles` in the cache action diff --git a/scripts/branch-match.sh b/scripts/branch-match.sh new file mode 100755 index 0000000..c42073d --- /dev/null +++ b/scripts/branch-match.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +# Script for downloading a branch of element-web matching the branch a PR is contributed from + +set -x + +deforg="element-hq" +defrepo="element-web" + +# The PR_NUMBER variable must be set explicitly. +default_org_repo=${GITHUB_REPOSITORY:-"$deforg/$defrepo"} +PR_ORG=${PR_ORG:-${default_org_repo%%/*}} +PR_REPO=${PR_REPO:-${default_org_repo##*/}} + +# A function that clones a branch of a repo based on the org, repo and branch +clone() { + org=$1 + repo=$2 + branch=$3 + if [ -n "$branch" ] + then + echo "Trying to use $org/$repo#$branch" + # Disable auth prompts: https://serverfault.com/a/665959 + GIT_TERMINAL_PROMPT=0 git clone https://github.com/$org/$repo.git $repo --branch "$branch" --depth 1 && exit 0 + fi +} + +echo "Getting info about a PR with number $PR_NUMBER" +apiEndpoint="https://api.github.com/repos/$PR_ORG/$PR_REPO/pulls/$PR_NUMBER" +head=$(curl "$apiEndpoint" | jq -r '.head.label') + +# for forks, $head will be in the format "fork:branch", so we split it by ":" +# into an array. On non-forks, this has the effect of splitting into a single +# element array given ":" shouldn't appear in the head - it'll just be the +# branch name. Based on the results, we clone. +BRANCH_ARRAY=(${head//:/ }) +TRY_ORG=$deforg +TRY_BRANCH=${BRANCH_ARRAY[0]} +if [[ "$head" == *":"* ]]; then + # ... but only match that fork if it's a real fork + if [ "${BRANCH_ARRAY[0]}" != "$PR_ORG" ]; then + TRY_ORG=${BRANCH_ARRAY[0]} + fi + TRY_BRANCH=${BRANCH_ARRAY[1]} +fi +clone "$TRY_ORG" "$defrepo" "$TRY_BRANCH" + +exit 1 diff --git a/scripts/fetchdep.sh b/scripts/fetchdep.sh deleted file mode 100755 index 517ed89..0000000 --- a/scripts/fetchdep.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -set -x - -deforg="$1" -defrepo="$2" -defbranch="$3" - -[ -z "$defbranch" ] && defbranch="develop" - -rm -r "$defrepo" || true - -clone() { - org=$1 - repo=$2 - branch=$3 - if [ -n "$branch" ] - then - echo "Trying to use $org/$repo#$branch" - # Disable auth prompts: https://serverfault.com/a/665959 - GIT_TERMINAL_PROMPT=0 git clone https://github.com/$org/$repo.git $repo --branch "$branch" --depth 1 && exit 0 - fi -} - -# Try the PR author's branch in case it exists on the deps as well. -# If BUILDKITE_BRANCH is set, it will contain either: -# * "branch" when the author's branch and target branch are in the same repo -# * "author:branch" when the author's branch is in their fork -# We can split on `:` into an array to check. -BUILDKITE_BRANCH_ARRAY=(${BUILDKITE_BRANCH//:/ }) -if [[ "${#BUILDKITE_BRANCH_ARRAY[@]}" == "1" ]]; then - clone $deforg $defrepo $BUILDKITE_BRANCH -elif [[ "${#BUILDKITE_BRANCH_ARRAY[@]}" == "2" ]]; then - clone ${BUILDKITE_BRANCH_ARRAY[0]} $defrepo ${BUILDKITE_BRANCH_ARRAY[1]} -fi -# Try the target branch of the push or PR. -clone $deforg $defrepo $BUILDKITE_PULL_REQUEST_BASE_BRANCH -# Try the current branch from Jenkins. -clone $deforg $defrepo `"echo $GIT_BRANCH" | sed -e 's/^origin\///'` -# Use the default branch as the last resort. -clone $deforg $defrepo $defbranch From 827d514628250aca81219cec4fd53ee917ec21cd Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 20 May 2025 14:01:24 +0000 Subject: [PATCH 37/58] v1.11.101 --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eeeaaba..9debd82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ +Changes in [1.11.101](https://github.com/element-hq/element-desktop/releases/tag/v1.11.101) (2025-05-20) +======================================================================================================== +## ✨ Features + +* Migrate from keytar to safeStorage ([#2227](https://github.com/element-hq/element-desktop/pull/2227)). Contributed by @t3chguy. +* New room list: add keyboard navigation support ([#29805](https://github.com/element-hq/element-web/pull/29805)). Contributed by @florianduros. +* Use the JoinRuleSettings component for the guest link access prompt. ([#28614](https://github.com/element-hq/element-web/pull/28614)). Contributed by @toger5. +* Add loading state to the new room list view ([#29725](https://github.com/element-hq/element-web/pull/29725)). Contributed by @langleyd. +* Make OIDC identity reset consistent with EX ([#29854](https://github.com/element-hq/element-web/pull/29854)). Contributed by @andybalaam. +* Support error code for email / phone adding unsupported (MSC4178) ([#29855](https://github.com/element-hq/element-web/pull/29855)). Contributed by @dbkr. +* Update identity reset UI (Make consistent with EX) ([#29701](https://github.com/element-hq/element-web/pull/29701)). Contributed by @andybalaam. +* Add secondary filters to the new room list ([#29818](https://github.com/element-hq/element-web/pull/29818)). Contributed by @dbkr. +* Fix battery drain from Web Audio ([#29203](https://github.com/element-hq/element-web/pull/29203)). Contributed by @mbachry. + +## 🐛 Bug Fixes + +* Fix go home shortcut on macos and change toggle action events shortcut ([#29929](https://github.com/element-hq/element-web/pull/29929)). Contributed by @florianduros. +* New room list: fix outdated message preview when space or filter change ([#29925](https://github.com/element-hq/element-web/pull/29925)). Contributed by @florianduros. +* Stop migrating to MSC4278 if the config exists. ([#29924](https://github.com/element-hq/element-web/pull/29924)). Contributed by @Half-Shot. +* Ensure consistent download file name on download from ImageView ([#29913](https://github.com/element-hq/element-web/pull/29913)). Contributed by @t3chguy. +* Add error toast when service worker registration fails ([#29895](https://github.com/element-hq/element-web/pull/29895)). Contributed by @t3chguy. +* New Room List: Prevent old tombstoned rooms from appearing in the list ([#29881](https://github.com/element-hq/element-web/pull/29881)). Contributed by @MidhunSureshR. +* Remove lag in search field ([#29885](https://github.com/element-hq/element-web/pull/29885)). Contributed by @florianduros. +* Respect UIFeature.Voip ([#29873](https://github.com/element-hq/element-web/pull/29873)). Contributed by @langleyd. +* Allow jumping to message search from spotlight ([#29850](https://github.com/element-hq/element-web/pull/29850)). Contributed by @t3chguy. + + + Changes in [1.11.100](https://github.com/element-hq/element-desktop/releases/tag/v1.11.100) (2025-05-06) ======================================================================================================== ## ✨ Features diff --git a/package.json b/package.json index 61bfaf0..7f35d1f 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "productName": "Element", "main": "lib/electron-main.js", "exports": "./lib/electron-main.js", - "version": "1.11.101-rc.0", + "version": "1.11.101", "description": "Element: the future of secure communication", "author": "Element", "homepage": "https://element.io", From a0db96d50d6fc9738d7e4790e4cf4ee59bd531bd Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 21 May 2025 12:54:58 +0100 Subject: [PATCH 38/58] Add docs for debugging element desktop mostly for the magic to flip the fuses --- docs/SUMMARY.md | 1 + docs/debugging.md | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 docs/debugging.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index e476b2f..339b00e 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -6,6 +6,7 @@ - [Native Node modules](native-node-modules.md) - [Windows requirements](windows-requirements.md) +- [Debugging](debugging.md) - [Using gdb](gdb.md) # Distribution diff --git a/docs/debugging.md b/docs/debugging.md new file mode 100644 index 0000000..a028c88 --- /dev/null +++ b/docs/debugging.md @@ -0,0 +1,24 @@ +# Debugging Element-Desktop + +There are two parts of the desktop app that you might want to debug. + +## The renderer process +This is the regular element-web codeand can be debugged by just selecting 'toggle developer tools' +from the menu, even on ppackaged builds. This then works the same as chrome dev tools for element web. + +## The main process +This is debugged as a node app, so: + 1. Open any chrome dev tools window + 1. Start element with the `--inspect-brk` flag + 1. Notice that you now have a little green icon in the top left of your chrome devtools window, click it. + +You are now debugging the code of the desktop app itself. + +## The main process of a package app +When the app is shipped, electron's "fuses" are flipped, editing the electron binary itself to prevent certain features from being usable, one of which is debugging using `--inspect-brk` as above. You can flip the fuse back on Linux as follows: + +``` +sudo npx @electron/fuses write --app /opt/Element/element-desktop EnableNodeCliInspectArguments=on +``` + +A similar command will work, in theory, on mac and windows, except that this will break code signing (which is the point of fuses) so you would have to re-sign the app or somesuch. From 20f28abb4754164f17867fe40dec547c9db94dba Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 21 May 2025 13:00:45 +0100 Subject: [PATCH 39/58] prettier --- docs/debugging.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/debugging.md b/docs/debugging.md index a028c88..0cbab96 100644 --- a/docs/debugging.md +++ b/docs/debugging.md @@ -3,18 +3,22 @@ There are two parts of the desktop app that you might want to debug. ## The renderer process + This is the regular element-web codeand can be debugged by just selecting 'toggle developer tools' from the menu, even on ppackaged builds. This then works the same as chrome dev tools for element web. ## The main process + This is debugged as a node app, so: - 1. Open any chrome dev tools window - 1. Start element with the `--inspect-brk` flag - 1. Notice that you now have a little green icon in the top left of your chrome devtools window, click it. + +1. Open any chrome dev tools window +1. Start element with the `--inspect-brk` flag +1. Notice that you now have a little green icon in the top left of your chrome devtools window, click it. You are now debugging the code of the desktop app itself. ## The main process of a package app + When the app is shipped, electron's "fuses" are flipped, editing the electron binary itself to prevent certain features from being usable, one of which is debugging using `--inspect-brk` as above. You can flip the fuse back on Linux as follows: ``` From e32624666987e75fa9db772a913433c98f0f371e Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Thu, 22 May 2025 11:57:51 +0530 Subject: [PATCH 40/58] Use `basic_text` as fallback when encryption not available Show the user a dialog and fallback to using basic_text temporarily when a valid backend is available but encryption support is not. --- src/i18n/strings/en_EN.json | 3 +++ src/store.ts | 38 +++++++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 28a81bd..60ec188 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -56,6 +56,9 @@ "backend_changed": "Clear data and reload?", "backend_changed_detail": "Unable to access secret from system keyring, it appears to have changed.", "backend_changed_title": "Failed to load database", + "backend_no_encryption": "Your system has a supported keyring but encryption is not available.", + "backend_no_encryption_detail": "Electron has detected that encryption is not available on your keyring %(backend)s. Please ensure that you have the keyring installed. If you do have the keyring installed, please reboot and try again. Optionally, you can allow %(brand)s to use a weaker form of encryption.", + "backend_no_encryption_title": "No encryption support", "unknown_backend_override": "Your system has an unsupported keyring meaning the database cannot be opened.", "unknown_backend_override_details": "Please check the logs for more details.", "unknown_backend_override_title": "Failed to load database", diff --git a/src/store.ts b/src/store.ts index d78c615..c7cc9bf 100644 --- a/src/store.ts +++ b/src/store.ts @@ -241,8 +241,9 @@ class Store extends ElectronStore { // Linux safeStorage support is hellish, the support varies on the Desktop Environment used rather than the store itself. // https://github.com/electron/electron/issues/39789 https://github.com/microsoft/vscode/issues/185212 const selectedSafeStorageBackend = safeStorage.getSelectedStorageBackend(); + const isEncryptionAvailable = safeStorage.isEncryptionAvailable(); console.info( - `safeStorage backend '${selectedSafeStorageBackend}' selected, '${safeStorageBackend}' in config.`, + `safeStorage backend '${selectedSafeStorageBackend}' selected, '${safeStorageBackend}' in config, isEncryptionAvailable = ${isEncryptionAvailable}.`, ); if (selectedSafeStorageBackend === "unknown") { @@ -257,10 +258,42 @@ class Store extends ElectronStore { } if (this.get("safeStorageBackendMigrate")) { + this.secrets = new PlaintextStorageWriter(this); return this.upgradeLinuxBackend2(); } - if (!safeStorageBackend) { + // Whether we were using basic_text as a fallback before + const usingFallback = this.get("safeStorageBackendOverride") && safeStorageBackend === "basic_text"; + + if (this.mode === Mode.Encrypted && !isEncryptionAvailable && !usingFallback) { + // Sometimes we may have a working backend that for some reason does not support encryption at the moment. + // This may be because electron reported an incorrect backend or because of some known issues with the keyring itself. + // In any case, when this happens, we give the user an option to use a weaker form of encryption. + const { response } = await dialog.showMessageBox({ + title: _t("store|error|backend_no_encryption_title"), + message: _t("store|error|backend_no_encryption"), + detail: _t("store|error|backend_no_encryption_detail", { + backend: safeStorageBackend, + brand: global.vectorConfig.brand || "Element", + }), + type: "error", + buttons: [_t("action|cancel"), _t("store|error|unsupported_keyring_cta")], + defaultId: 0, + cancelId: 0, + }); + if (response === 0) { + throw new Error( + `Encryption support not available on backend ${safeStorageBackend} and user prohibits using weaker encryption.`, + ); + } + this.recordSafeStorageBackend("basic_text"); + this.set("safeStorageBackendOverride", true); + relaunchApp(); + } else if (usingFallback) { + // On the next run, don't use the fallback. + // This is so that we can check if the problems with the keyring fixed itself. + this.set("safeStorageBackendOverride", false); + } else if (!safeStorageBackend) { if (selectedSafeStorageBackend === "basic_text" && this.mode === Mode.Encrypted) { const { response } = await dialog.showMessageBox({ title: _t("store|error|unsupported_keyring_title"), @@ -289,6 +322,7 @@ class Store extends ElectronStore { if (safeStorageBackend === "basic_text") { return this.upgradeLinuxBackend1(); } else if (safeStorageBackend === "plaintext") { + this.secrets = new PlaintextStorageWriter(this); this.upgradeLinuxBackend3(); } else if (safeStorageBackend in safeStorageBackendMap) { this.set("safeStorageBackendOverride", true); From 63e1e0d894ddb19bf48c444ebfd7f0e9abbd3c06 Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Thu, 22 May 2025 14:33:48 +0530 Subject: [PATCH 41/58] Move store creation into migration methods --- src/store.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/store.ts b/src/store.ts index c7cc9bf..c061298 100644 --- a/src/store.ts +++ b/src/store.ts @@ -258,7 +258,6 @@ class Store extends ElectronStore { } if (this.get("safeStorageBackendMigrate")) { - this.secrets = new PlaintextStorageWriter(this); return this.upgradeLinuxBackend2(); } @@ -322,7 +321,6 @@ class Store extends ElectronStore { if (safeStorageBackend === "basic_text") { return this.upgradeLinuxBackend1(); } else if (safeStorageBackend === "plaintext") { - this.secrets = new PlaintextStorageWriter(this); this.upgradeLinuxBackend3(); } else if (safeStorageBackend in safeStorageBackendMap) { this.set("safeStorageBackendOverride", true); @@ -383,7 +381,7 @@ class Store extends ElectronStore { relaunchApp(); } private upgradeLinuxBackend2(): void { - if (!this.secrets) throw new Error("safeStorage not ready"); + this.secrets = new PlaintextStorageWriter(this); console.info("Performing safeStorage migration"); const data = this.get("safeStorage"); if (data) { @@ -396,7 +394,7 @@ class Store extends ElectronStore { relaunchApp(); } private upgradeLinuxBackend3(): void { - if (!this.secrets) throw new Error("safeStorage not ready"); + this.secrets = new PlaintextStorageWriter(this); const selectedSafeStorageBackend = safeStorage.getSelectedStorageBackend(); console.info(`Finishing safeStorage migration to ${selectedSafeStorageBackend}`); const data = this.get("safeStorage"); From ec4c6101583093088c85ec7076cb1b5685912836 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 22 May 2025 11:40:28 +0100 Subject: [PATCH 42/58] Support build-time specified protocol scheme for oidc callback (#2285) --- electron-builder.ts | 29 +++--- src/@types/global.d.ts | 4 +- src/build-config.ts | 26 ++++++ src/electron-main.ts | 14 +-- src/ipc.ts | 11 +-- src/preload.cts | 12 +++ src/protocol.ts | 199 ++++++++++++++++++++++------------------- src/utils.ts | 2 +- 8 files changed, 181 insertions(+), 116 deletions(-) create mode 100644 src/build-config.ts diff --git a/electron-builder.ts b/electron-builder.ts index 683cc2b..6e48290 100644 --- a/electron-builder.ts +++ b/electron-builder.ts @@ -1,6 +1,6 @@ import * as os from "node:os"; import * as fs from "node:fs"; -import { Configuration as BaseConfiguration } from "electron-builder"; +import { type Configuration as BaseConfiguration, type Protocol } from "electron-builder"; /** * This script has different outputs depending on your os platform. @@ -16,9 +16,13 @@ import { Configuration as BaseConfiguration } from "electron-builder"; * Passes $ED_DEBIAN_CHANGELOG to build.deb.fpm if specified */ +const DEFAULT_APP_ID = "im.riot.app"; const NIGHTLY_APP_ID = "im.riot.nightly"; const NIGHTLY_DEB_NAME = "element-nightly"; +const DEFAULT_PROTOCOL_SCHEME = "io.element.desktop"; +const NIGHTLY_PROTOCOL_SCHEME = "io.element.nightly"; + interface Pkg { name: string; productName: string; @@ -33,7 +37,11 @@ type Writable = NonNullable< const pkg: Pkg = JSON.parse(fs.readFileSync("package.json", "utf8")); interface Configuration extends BaseConfiguration { - extraMetadata: Partial> & Omit; + extraMetadata: Partial> & + Omit & { + electron_appId: string; + electron_protocol: string; + }; linux: BaseConfiguration["linux"]; win: BaseConfiguration["win"]; mac: BaseConfiguration["mac"]; @@ -50,7 +58,7 @@ const config: Omit, "electronFuses"> & { // Make all fuses required to ensure they are all explicitly specified electronFuses: Required; } = { - appId: "im.riot.app", + appId: DEFAULT_APP_ID, asarUnpack: "**/*.node", electronFuses: { enableCookieEncryption: true, @@ -85,6 +93,8 @@ const config: Omit, "electronFuses"> & { name: pkg.name, productName: pkg.productName, description: pkg.description, + electron_appId: DEFAULT_APP_ID, + electron_protocol: DEFAULT_PROTOCOL_SCHEME, }, linux: { target: ["tar.gz", "deb"], @@ -142,12 +152,10 @@ const config: Omit, "electronFuses"> & { directories: { output: "dist", }, - protocols: [ - { - name: "element", - schemes: ["io.element.desktop", "element"], - }, - ], + protocols: { + name: "element", + schemes: [DEFAULT_PROTOCOL_SCHEME, "element"], + }, nativeRebuilder: "sequential", nodeGypRebuild: false, npmRebuild: true, @@ -170,11 +178,12 @@ if (process.env.ED_SIGNTOOL_SUBJECT_NAME && process.env.ED_SIGNTOOL_THUMBPRINT) if (process.env.ED_NIGHTLY) { config.deb.fpm = []; // Clear the fpm as the breaks deb fields don't apply to nightly - config.appId = NIGHTLY_APP_ID; + config.appId = config.extraMetadata.electron_appId = NIGHTLY_APP_ID; config.extraMetadata.productName += " Nightly"; config.extraMetadata.name += "-nightly"; config.extraMetadata.description += " (nightly unstable build)"; config.deb.fpm.push("--name", NIGHTLY_DEB_NAME); + (config.protocols as Protocol).schemes[0] = config.extraMetadata.electron_protocol = NIGHTLY_PROTOCOL_SCHEME; let version = process.env.ED_NIGHTLY; if (os.platform() === "win32") { diff --git a/src/@types/global.d.ts b/src/@types/global.d.ts index 68514bc..722a9b8 100644 --- a/src/@types/global.d.ts +++ b/src/@types/global.d.ts @@ -13,11 +13,13 @@ import { type AppLocalization } from "../language-helper.js"; // global type extensions need to use var for whatever reason /* eslint-disable no-var */ declare global { + type IConfigOptions = Record; + var mainWindow: BrowserWindow | null; var appQuitting: boolean; var appLocalization: AppLocalization; var launcher: AutoLaunch; - var vectorConfig: Record; + var vectorConfig: IConfigOptions; var trayConfig: { // eslint-disable-next-line camelcase icon_path: string; diff --git a/src/build-config.ts b/src/build-config.ts new file mode 100644 index 0000000..09e83e0 --- /dev/null +++ b/src/build-config.ts @@ -0,0 +1,26 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import path, { dirname } from "node:path"; +import { fileURLToPath } from "node:url"; + +import { type JsonObject, loadJsonFile } from "./utils.js"; + +const __dirname = dirname(fileURLToPath(import.meta.url)); + +interface BuildConfig { + appId: string; + protocol: string; +} + +export function readBuildConfig(): BuildConfig { + const packageJson = loadJsonFile(path.join(__dirname, "..", "package.json")) as JsonObject; + return { + appId: (packageJson["electron_appId"] as string) || "im.riot.app", + protocol: (packageJson["electron_protocol"] as string) || "io.element.desktop", + }; +} diff --git a/src/electron-main.ts b/src/electron-main.ts index 8bb7f4b..a00166c 100644 --- a/src/electron-main.ts +++ b/src/electron-main.ts @@ -10,7 +10,7 @@ Please see LICENSE files in the repository root for full details. // Squirrel on windows starts the app with various flags as hooks to tell us when we've been installed/uninstalled etc. import "./squirrelhooks.js"; -import { app, BrowserWindow, Menu, autoUpdater, protocol, dialog, type Input, type Event, session } from "electron"; +import { app, BrowserWindow, Menu, autoUpdater, dialog, type Input, type Event, session, protocol } from "electron"; // eslint-disable-next-line n/file-extension-in-import import * as Sentry from "@sentry/electron/main"; import AutoLaunch from "auto-launch"; @@ -28,12 +28,13 @@ import Store from "./store.js"; import { buildMenuTemplate } from "./vectormenu.js"; import webContentsHandler from "./webcontents-handler.js"; import * as updater from "./updater.js"; -import { getProfileFromDeeplink, protocolInit } from "./protocol.js"; +import ProtocolHandler from "./protocol.js"; import { _t, AppLocalization } from "./language-helper.js"; import { setDisplayMediaCallback } from "./displayMediaCallback.js"; import { setupMacosTitleBar } from "./macos-titlebar.js"; import { type Json, loadJsonFile } from "./utils.js"; import { setupMediaAuth } from "./media-auth.js"; +import { readBuildConfig } from "./build-config.js"; const __dirname = dirname(fileURLToPath(import.meta.url)); @@ -72,10 +73,13 @@ function isRealUserDataDir(d: string): boolean { return fs.existsSync(path.join(d, "IndexedDB")); } +const buildConfig = readBuildConfig(); +const protocolHandler = new ProtocolHandler(buildConfig.protocol); + // check if we are passed a profile in the SSO callback url let userDataPath: string; -const userDataPathInProtocol = getProfileFromDeeplink(argv["_"]); +const userDataPathInProtocol = protocolHandler.getProfileFromDeeplink(argv["_"]); if (userDataPathInProtocol) { userDataPath = userDataPathInProtocol; } else if (argv["profile-dir"]) { @@ -311,7 +315,7 @@ if (!gotLock) { } // do this after we know we are the primary instance of the app -protocolInit(); +protocolHandler.initialise(userDataPath); // Register the scheme the app is served from as 'standard' // which allows things like relative URLs and IndexedDB to @@ -616,4 +620,4 @@ app.on("second-instance", (ev, commandLine, workingDirectory) => { // It must also match the ID found in 'electron-builder' // in order to get the title and icon to show up correctly. // Ref: https://stackoverflow.com/a/77314604/3525780 -app.setAppUserModelId("im.riot.app"); +app.setAppUserModelId(buildConfig.appId); diff --git a/src/ipc.ts b/src/ipc.ts index 6cbd49e..eee1c06 100644 --- a/src/ipc.ts +++ b/src/ipc.ts @@ -8,7 +8,6 @@ Please see LICENSE files in the repository root for full details. import { app, autoUpdater, desktopCapturer, ipcMain, powerSaveBlocker, TouchBar, nativeImage } from "electron"; import IpcMainEvent = Electron.IpcMainEvent; -import { recordSSOSession } from "./protocol.js"; import { randomArray } from "./utils.js"; import { Settings } from "./settings.js"; import { getDisplayMediaCallback, setDisplayMediaCallback } from "./displayMediaCallback.js"; @@ -96,9 +95,7 @@ ipcMain.on("ipcCall", async function (_ev: IpcMainEvent, payload) { global.mainWindow.focus(); } break; - case "getConfig": - ret = global.vectorConfig; - break; + case "navigateBack": if (global.mainWindow.webContents.canGoBack()) { global.mainWindow.webContents.goBack(); @@ -135,10 +132,6 @@ ipcMain.on("ipcCall", async function (_ev: IpcMainEvent, payload) { ret = global.mainWindow.webContents.session.availableSpellCheckerLanguages; break; - case "startSSOFlow": - recordSSOSession(args[0]); - break; - case "getPickleKey": try { ret = await store.getSecret(`${args[0]}|${args[1]}`); @@ -248,3 +241,5 @@ ipcMain.on("ipcCall", async function (_ev: IpcMainEvent, payload) { reply: ret, }); }); + +ipcMain.handle("getConfig", () => global.vectorConfig); diff --git a/src/preload.cts b/src/preload.cts index 5ab287d..e879ed5 100644 --- a/src/preload.cts +++ b/src/preload.cts @@ -49,4 +49,16 @@ contextBridge.exposeInMainWorld("electron", { } ipcRenderer.send(channel, ...args); }, + + async initialise(): Promise<{ + protocol: string; + sessionId: string; + config: IConfigOptions; + }> { + const [{ protocol, sessionId }, config] = await Promise.all([ + ipcRenderer.invoke("getProtocol"), + ipcRenderer.invoke("getConfig"), + ]); + return { protocol, sessionId, config }; + }, }); diff --git a/src/protocol.ts b/src/protocol.ts index 837f85d..292a4a0 100644 --- a/src/protocol.ts +++ b/src/protocol.ts @@ -6,119 +6,136 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ -import { app } from "electron"; +import { app, ipcMain } from "electron"; import { URL } from "node:url"; import path from "node:path"; import fs from "node:fs"; +import { randomUUID } from "node:crypto"; const LEGACY_PROTOCOL = "element"; -const PROTOCOL = "io.element.desktop"; const SEARCH_PARAM = "element-desktop-ssoid"; const STORE_FILE_NAME = "sso-sessions.json"; // we getPath userData before electron-main changes it, so this is the default value const storePath = path.join(app.getPath("userData"), STORE_FILE_NAME); -function processUrl(url: string): void { - if (!global.mainWindow) return; +export default class ProtocolHandler { + private readonly store: Record = {}; + private readonly sessionId: string; - const parsed = new URL(url); - // sanity check: we only register for the one protocol, so we shouldn't - // be getting anything else unless the user is forcing a URL to open - // with the Element app. - if (parsed.protocol !== `${PROTOCOL}:` && parsed.protocol !== `${LEGACY_PROTOCOL}:`) { - console.log("Ignoring unexpected protocol: ", parsed.protocol); - return; + public constructor(private readonly protocol: string) { + // get all args except `hidden` as it'd mean the app would not get focused + // XXX: passing args to protocol handlers only works on Windows, so unpackaged deep-linking + // --profile/--profile-dir are passed via the SEARCH_PARAM var in the callback url + const args = process.argv.slice(1).filter((arg) => arg !== "--hidden" && arg !== "-hidden"); + if (app.isPackaged) { + app.setAsDefaultProtocolClient(this.protocol, process.execPath, args); + app.setAsDefaultProtocolClient(LEGACY_PROTOCOL, process.execPath, args); + } else if (process.platform === "win32") { + // on Mac/Linux this would just cause the electron binary to open + // special handler for running without being packaged, e.g `electron .` by passing our app path to electron + app.setAsDefaultProtocolClient(this.protocol, process.execPath, [app.getAppPath(), ...args]); + app.setAsDefaultProtocolClient(LEGACY_PROTOCOL, process.execPath, [app.getAppPath(), ...args]); + } + + if (process.platform === "darwin") { + // Protocol handler for macos + app.on("open-url", (ev, url) => { + ev.preventDefault(); + this.processUrl(url); + }); + } else { + // Protocol handler for win32/Linux + app.on("second-instance", (ev, commandLine) => { + const url = commandLine[commandLine.length - 1]; + if (!url.startsWith(`${this.protocol}:/`) && !url.startsWith(`${LEGACY_PROTOCOL}://`)) return; + this.processUrl(url); + }); + } + + this.store = this.readStore(); + this.sessionId = randomUUID(); + + ipcMain.handle("getProtocol", this.onGetProtocol); } - const urlToLoad = new URL("vector://vector/webapp/"); - // ignore anything other than the search (used for SSO login redirect) - // and the hash (for general element deep links) - // There's no reason to allow anything else, particularly other paths, - // since this would allow things like the internal jitsi wrapper to - // be loaded, which would get the app stuck on that page and generally - // be a bit strange and confusing. - urlToLoad.search = parsed.search; - urlToLoad.hash = parsed.hash; + private readonly onGetProtocol = (): { protocol: string; sessionId: string } => { + return { + protocol: this.protocol, + sessionId: this.sessionId, + }; + }; - console.log("Opening URL: ", urlToLoad.href); - void global.mainWindow.loadURL(urlToLoad.href); -} + private processUrl(url: string): void { + if (!global.mainWindow) return; -function readStore(): Record { - try { - const s = fs.readFileSync(storePath, { encoding: "utf8" }); - const o = JSON.parse(s); - return typeof o === "object" ? o : {}; - } catch { - return {}; + const parsed = new URL(url); + // sanity check: we only register for the one protocol, so we shouldn't + // be getting anything else unless the user is forcing a URL to open + // with the Element app. + if (parsed.protocol !== `${this.protocol}:` && parsed.protocol !== `${LEGACY_PROTOCOL}:`) { + console.log("Ignoring unexpected protocol: ", parsed.protocol); + return; + } + + const urlToLoad = new URL("vector://vector/webapp/"); + // ignore anything other than the search (used for SSO login redirect) + // and the hash (for general element deep links) + // There's no reason to allow anything else, particularly other paths, + // since this would allow things like the internal jitsi wrapper to + // be loaded, which would get the app stuck on that page and generally + // be a bit strange and confusing. + urlToLoad.search = parsed.search; + urlToLoad.hash = parsed.hash; + + console.log("Opening URL: ", urlToLoad.href); + void global.mainWindow.loadURL(urlToLoad.href); } -} -function writeStore(data: Record): void { - fs.writeFileSync(storePath, JSON.stringify(data)); -} - -export function recordSSOSession(sessionID: string): void { - const userDataPath = app.getPath("userData"); - const store = readStore(); - for (const key in store) { - // ensure each instance only has one (the latest) session ID to prevent the file growing unbounded - if (store[key] === userDataPath) { - delete store[key]; - break; + private readStore(): Record { + try { + const s = fs.readFileSync(storePath, { encoding: "utf8" }); + const o = JSON.parse(s); + return typeof o === "object" ? o : {}; + } catch { + return {}; } } - store[sessionID] = userDataPath; - writeStore(store); -} -export function getProfileFromDeeplink(args: string[]): string | undefined { - // check if we are passed a profile in the SSO callback url - const deeplinkUrl = args.find((arg) => arg.startsWith(`${PROTOCOL}://`) || arg.startsWith(`${LEGACY_PROTOCOL}://`)); - if (deeplinkUrl?.includes(SEARCH_PARAM)) { - const parsedUrl = new URL(deeplinkUrl); - if (parsedUrl.protocol === `${PROTOCOL}:` || parsedUrl.protocol === `${LEGACY_PROTOCOL}:`) { - const store = readStore(); - let ssoID = parsedUrl.searchParams.get(SEARCH_PARAM); - if (!ssoID) { - // In OIDC, we must shuttle the value in the `state` param rather than `element-desktop-ssoid` - // We encode it as a suffix like `:element-desktop-ssoid:XXYYZZ` - ssoID = parsedUrl.searchParams.get("state")!.split(`:${SEARCH_PARAM}:`)[1]; + private writeStore(): void { + fs.writeFileSync(storePath, JSON.stringify(this.store)); + } + + public initialise(userDataPath: string): void { + for (const key in this.store) { + // ensure each instance only has one (the latest) session ID to prevent the file growing unbounded + if (this.store[key] === userDataPath) { + delete this.store[key]; + break; + } + } + this.store[this.sessionId] = userDataPath; + this.writeStore(); + } + + public getProfileFromDeeplink(args: string[]): string | undefined { + // check if we are passed a profile in the SSO callback url + const deeplinkUrl = args.find( + (arg) => arg.startsWith(`${this.protocol}://`) || arg.startsWith(`${LEGACY_PROTOCOL}://`), + ); + if (deeplinkUrl?.includes(SEARCH_PARAM)) { + const parsedUrl = new URL(deeplinkUrl); + if (parsedUrl.protocol === `${this.protocol}:` || parsedUrl.protocol === `${LEGACY_PROTOCOL}:`) { + const store = this.readStore(); + let sessionId = parsedUrl.searchParams.get(SEARCH_PARAM); + if (!sessionId) { + // In OIDC, we must shuttle the value in the `state` param rather than `element-desktop-ssoid` + // We encode it as a suffix like `:element-desktop-ssoid:XXYYZZ` + sessionId = parsedUrl.searchParams.get("state")!.split(`:${SEARCH_PARAM}:`)[1]; + } + console.log("Forwarding to profile: ", store[sessionId]); + return store[sessionId]; } - console.log("Forwarding to profile: ", store[ssoID]); - return store[ssoID]; } } } - -export function protocolInit(): void { - // get all args except `hidden` as it'd mean the app would not get focused - // XXX: passing args to protocol handlers only works on Windows, so unpackaged deep-linking - // --profile/--profile-dir are passed via the SEARCH_PARAM var in the callback url - const args = process.argv.slice(1).filter((arg) => arg !== "--hidden" && arg !== "-hidden"); - if (app.isPackaged) { - app.setAsDefaultProtocolClient(PROTOCOL, process.execPath, args); - app.setAsDefaultProtocolClient(LEGACY_PROTOCOL, process.execPath, args); - } else if (process.platform === "win32") { - // on Mac/Linux this would just cause the electron binary to open - // special handler for running without being packaged, e.g `electron .` by passing our app path to electron - app.setAsDefaultProtocolClient(PROTOCOL, process.execPath, [app.getAppPath(), ...args]); - app.setAsDefaultProtocolClient(LEGACY_PROTOCOL, process.execPath, [app.getAppPath(), ...args]); - } - - if (process.platform === "darwin") { - // Protocol handler for macos - app.on("open-url", function (ev, url) { - ev.preventDefault(); - processUrl(url); - }); - } else { - // Protocol handler for win32/Linux - app.on("second-instance", (ev, commandLine) => { - const url = commandLine[commandLine.length - 1]; - if (!url.startsWith(`${PROTOCOL}:/`) && !url.startsWith(`${LEGACY_PROTOCOL}://`)) return; - processUrl(url); - }); - } -} diff --git a/src/utils.ts b/src/utils.ts index 77cefb8..5b89cf7 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -23,7 +23,7 @@ export async function randomArray(size: number): Promise { type JsonValue = null | string | number; type JsonArray = Array; -interface JsonObject { +export interface JsonObject { [key: string]: JsonObject | JsonArray | JsonValue; } export type Json = JsonArray | JsonObject; From 1d79fa633a66445a9e652136a9be31842500db5d Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Thu, 22 May 2025 16:56:34 +0530 Subject: [PATCH 43/58] Enable plain text encryption as early as possible --- src/store.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/store.ts b/src/store.ts index c061298..1171dbe 100644 --- a/src/store.ts +++ b/src/store.ts @@ -261,6 +261,12 @@ class Store extends ElectronStore { return this.upgradeLinuxBackend2(); } + // The following enables plain text encryption if the backend used is basic_text. + // It has no significance for any other backend. + // We do this early so that in case we end up using the basic_text backend (either because that's the only one available + // or as a fallback when the configured backend lacks encryption support), encryption is already turned on. + safeStorage.setUsePlainTextEncryption(true); + // Whether we were using basic_text as a fallback before const usingFallback = this.get("safeStorageBackendOverride") && safeStorageBackend === "basic_text"; @@ -343,12 +349,6 @@ class Store extends ElectronStore { await clearDataAndRelaunch(); } } - - // We do not check allowPlaintextStorage here as it was already checked above if the storage is new - // and if the storage is existing then we should continue to honour the backend used to write the data - if (safeStorageBackend === "basic_text" && selectedSafeStorageBackend === safeStorageBackend) { - safeStorage.setUsePlainTextEncryption(true); - } } else if (!safeStorageBackend) { safeStorageBackend = this.mode === Mode.Encrypted ? "system" : "plaintext"; this.recordSafeStorageBackend(safeStorageBackend); From 8e4826b4e916df2b0dd27dd181667a0b48fa40bf Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 22 May 2025 13:24:11 +0100 Subject: [PATCH 44/58] Fix test for Element Nightly variant (#2342) --- playwright/e2e/launch/oidc.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright/e2e/launch/oidc.spec.ts b/playwright/e2e/launch/oidc.spec.ts index 4b32127..c741217 100644 --- a/playwright/e2e/launch/oidc.spec.ts +++ b/playwright/e2e/launch/oidc.spec.ts @@ -31,6 +31,6 @@ test.describe("OIDC Native", () => { page.evaluate(() => { return window.mxPlatformPeg.get().getOidcCallbackUrl().toString(); }), - ).resolves.toBe("io.element.desktop:/vector/webapp/"); + ).resolves.toMatch(/io\.element\.(desktop|nightly):\/vector\/webapp\//); }); }); From abd508fc0d7e040cef205b8785981a0c7a315704 Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Thu, 22 May 2025 18:22:05 +0530 Subject: [PATCH 45/58] Enable encryption before checking if encryption is available --- src/store.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/store.ts b/src/store.ts index 1171dbe..69945e2 100644 --- a/src/store.ts +++ b/src/store.ts @@ -241,6 +241,13 @@ class Store extends ElectronStore { // Linux safeStorage support is hellish, the support varies on the Desktop Environment used rather than the store itself. // https://github.com/electron/electron/issues/39789 https://github.com/microsoft/vscode/issues/185212 const selectedSafeStorageBackend = safeStorage.getSelectedStorageBackend(); + + // The following enables plain text encryption if the backend used is basic_text. + // It has no significance for any other backend. + // We do this early so that in case we end up using the basic_text backend (either because that's the only one available + // or as a fallback when the configured backend lacks encryption support), encryption is already turned on. + safeStorage.setUsePlainTextEncryption(true); + const isEncryptionAvailable = safeStorage.isEncryptionAvailable(); console.info( `safeStorage backend '${selectedSafeStorageBackend}' selected, '${safeStorageBackend}' in config, isEncryptionAvailable = ${isEncryptionAvailable}.`, @@ -261,12 +268,6 @@ class Store extends ElectronStore { return this.upgradeLinuxBackend2(); } - // The following enables plain text encryption if the backend used is basic_text. - // It has no significance for any other backend. - // We do this early so that in case we end up using the basic_text backend (either because that's the only one available - // or as a fallback when the configured backend lacks encryption support), encryption is already turned on. - safeStorage.setUsePlainTextEncryption(true); - // Whether we were using basic_text as a fallback before const usingFallback = this.get("safeStorageBackendOverride") && safeStorageBackend === "basic_text"; From cfea34766a0aaf0d4309f1e030e17762a76a3f8e Mon Sep 17 00:00:00 2001 From: t3chguy <2403652+t3chguy@users.noreply.github.com> Date: Fri, 23 May 2025 06:07:19 +0000 Subject: [PATCH 46/58] [create-pull-request] automated change --- src/i18n/strings/cy.json | 3 +++ src/i18n/strings/et.json | 3 +++ src/i18n/strings/nb_NO.json | 3 +++ src/i18n/strings/pt_BR.json | 5 ++++- src/i18n/strings/sk.json | 3 +++ 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/cy.json b/src/i18n/strings/cy.json index fe378a6..92f95e9 100644 --- a/src/i18n/strings/cy.json +++ b/src/i18n/strings/cy.json @@ -56,6 +56,9 @@ "backend_changed": "Clirio data ac ail-lwytho?", "backend_changed_detail": "Methu cael mynediad at y gyfrinach o allweddi'r system, mae'n ymddangos ei fod wedi newid.", "backend_changed_title": "Methwyd llwytho'r gronfa ddata", + "backend_no_encryption": "Mae gan eich system cylch allwedd sy'n cael ei gefnogi ond nid yw amgryptio ar gael.", + "backend_no_encryption_detail": "Mae Electron wedi canfod nad yw amgryptio ar gael ar eich cylch allweddi %(backend)s. Gwnewch yn siŵr bod y cylch allweddi wedi'i osod. Os oes y cylch allweddi wedi'i osod, ail gychwynnwch a cheisiwch eto. Yn ddewisol, gallwch ganiatáu i %(brand)s ddefnyddio ffurf wannach o amgryptio.", + "backend_no_encryption_title": "Dim cefnogaeth amgryptio", "unknown_backend_override": "Mae gan eich system allweddell nad yw'n cael ei chefnogi sy'n golygu na ellir agor y gronfa ddata.", "unknown_backend_override_details": "Gwiriwch y logiau am fwy o fanylion.", "unknown_backend_override_title": "Methwyd llwytho'r gronfa ddata", diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index c71aa74..d769527 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -56,6 +56,9 @@ "backend_changed": "Kas kustutame andmed ja laadime uuesti?", "backend_changed_detail": "Süsteemsest võtmerõngast ei õnnestu laadida vajalikku saladust, tundub et ta on muutunud.", "backend_changed_title": "Andmebaasi ei õnnestunud laadida", + "backend_no_encryption": "Sinu süsteem kasutab toetatud võtmerõngast, kuid krüptimist pole saadaval.", + "backend_no_encryption_detail": "Electron on tuvastanud, et krüptimine pole sinu %(backend)s võtmerõnga jaoks saadaval. Palun kontrolli, et võtmerõngas oleks korrektselt paigaldatud. Kui sul on võtmerõngas paigaldatud, siis palun taaskäivita ta ja proovi uuesti. Lisavõimalusena saad lubada, et %(brand)s kasutab nõrgemat krüptimislahendust.", + "backend_no_encryption_title": "Krüptimise tugi puudub", "unknown_backend_override": "Sinu süsteemis on kasutusel mittetoetatud võtmerõnga versioon ning see tähendab, et andmebaasi ei saa avada.", "unknown_backend_override_details": "Lisateavet leiad logidest.", "unknown_backend_override_title": "Andmebaasi ei õnnestunud laadida", diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json index 2daac96..a1198bc 100644 --- a/src/i18n/strings/nb_NO.json +++ b/src/i18n/strings/nb_NO.json @@ -56,6 +56,9 @@ "backend_changed": "Tøm data og last inn på nytt?", "backend_changed_detail": "Kan ikke få tilgang til hemmeligheten fra systemnøkkelringen, den ser ut til å ha blitt endret.", "backend_changed_title": "Kunne ikke laste inn databasen", + "backend_no_encryption": "Systemet ditt har en støttet nøkkelring, men kryptering er ikke tilgjengelig.", + "backend_no_encryption_detail": "Electron har oppdaget at kryptering ikke er tilgjengelig på nøkkelringen %(backend)s din. Forsikre deg om at du har nøkkelringen installert. Hvis du har nøkkelringen installert, vennligst start på nytt og prøv igjen. Eventuelt kan du tillate %(brand)s å bruke en svakere form for kryptering.", + "backend_no_encryption_title": "Ingen støtte for kryptering", "unknown_backend_override": "Systemet ditt har en nøkkelring som ikke støttes, noe som betyr at databasen ikke kan åpnes.", "unknown_backend_override_details": "Vennligst sjekk loggene for mer informasjon.", "unknown_backend_override_title": "Kunne ikke laste inn databasen", diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index 790b9bb..c477719 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -56,12 +56,15 @@ "backend_changed": "Limpar dados e recarregar?", "backend_changed_detail": "Não foi possível acessar o segredo no cofre do sistema, parece que ele foi alterado.", "backend_changed_title": "Falha ao carregar o banco de dados", + "backend_no_encryption": "Seu sistema tem um cofre compatível, mas a criptografia não está disponível.", + "backend_no_encryption_detail": "O Electron detetou que a encriptação não está disponível no seu cofre %(backend)s. Certifique-se de que tem o cofre instalado. Se tiver o cofre instalado, reinicie e tente novamente. Opcionalmente, você pode permitir que %(brand)s use uma forma mais fraca de criptografia.", + "backend_no_encryption_title": "Sem suporte para criptografia", "unknown_backend_override": "Seu sistema possui um cofre não compatível, o que impede a abertura do banco de dados.", "unknown_backend_override_details": "Verifique os logs para obter mais detalhes.", "unknown_backend_override_title": "Falha ao carregar o banco de dados", "unsupported_keyring": "Seu sistema possui um cofre não compatível, o que impede a abertura do banco de dados.", "unsupported_keyring_cta": "Use criptografia mais fraca", - "unsupported_keyring_detail": "A detecção de chaveiro do Electron não encontrou um backend compatível. Você pode tentar configurar manualmente o backend iniciando %(brand)s com um argumento de linha de comando, uma operação única. Consulte %(link)s.", + "unsupported_keyring_detail": "A detecção de cofre do Electron não encontrou um backend compatível. Você pode tentar configurar manualmente o backend iniciando %(brand)s com um argumento de linha de comando, uma operação única. Consulte %(link)s.", "unsupported_keyring_title": "Sistema não suportado" } }, diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index 776bc5b..4b5dbd5 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -56,6 +56,9 @@ "backend_changed": "Vymazať údaje a znova načítať?", "backend_changed_detail": "Nepodarilo sa získať prístup k tajnému kľúču zo systémového zväzku kľúčov, zdá sa, že sa zmenil.", "backend_changed_title": "Nepodarilo sa načítať databázu", + "backend_no_encryption": "Váš systém má podporovaný zväzok kľúčov, ale šifrovanie nie je k dispozícii.", + "backend_no_encryption_detail": "Electron zistil, že šifrovanie nie je k dispozícii na vašom zväzku kľúčov %(backend)s. Uistite sa, že máte nainštalovaný zväzok kľúčov. Ak máte zväzok kľúčov nainštalovaný, reštartujte počítač a skúste to znova. Voliteľne môžete povoliť aplikácii %(brand)s používať slabšiu formu šifrovania.", + "backend_no_encryption_title": "Žiadna podpora šifrovania", "unknown_backend_override": "Váš systém má nepodporovaný zväzok kľúčov, čo znamená, že databázu nemožno otvoriť.", "unknown_backend_override_details": "Pre viac informácií si pozrite protokoly.", "unknown_backend_override_title": "Nepodarilo sa načítať databázu", From 9660c4b2be900b3e481f25cdc1866ecc880f2170 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 23 May 2025 14:33:17 +0100 Subject: [PATCH 47/58] Refactor store and fix bugs with it (#2348) --- src/i18n/strings/en_EN.json | 8 +- src/store.ts | 272 +++++++++++++++++++----------------- 2 files changed, 147 insertions(+), 133 deletions(-) diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 60ec188..27690be 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -59,13 +59,11 @@ "backend_no_encryption": "Your system has a supported keyring but encryption is not available.", "backend_no_encryption_detail": "Electron has detected that encryption is not available on your keyring %(backend)s. Please ensure that you have the keyring installed. If you do have the keyring installed, please reboot and try again. Optionally, you can allow %(brand)s to use a weaker form of encryption.", "backend_no_encryption_title": "No encryption support", - "unknown_backend_override": "Your system has an unsupported keyring meaning the database cannot be opened.", - "unknown_backend_override_details": "Please check the logs for more details.", - "unknown_backend_override_title": "Failed to load database", "unsupported_keyring": "Your system has an unsupported keyring meaning the database cannot be opened.", - "unsupported_keyring_cta": "Use weaker encryption", "unsupported_keyring_detail": "Electron's keyring detection did not find a supported backend. You can attempt to manually configure the backend by starting %(brand)s with a command-line argument, a one-time operation. See %(link)s.", - "unsupported_keyring_title": "System unsupported" + "unsupported_keyring_title": "System unsupported", + "unsupported_keyring_use_basic_text": "Use weaker encryption", + "unsupported_keyring_use_plaintext": "Use no encryption" } }, "view_menu": { diff --git a/src/store.ts b/src/store.ts index 69945e2..357e479 100644 --- a/src/store.ts +++ b/src/store.ts @@ -41,6 +41,10 @@ const LEGACY_KEYTAR_SERVICE = "riot.im"; * + All other backends are linux-specific and are encrypted using the keychain */ type SafeStorageBackend = ReturnType | "system" | "plaintext"; +/** + * The "unknown" backend is not a valid backend, so we exclude it from the type. + */ +type SaneSafeStorageBackend = Exclude; /** * Map of safeStorage backends to their command line arguments. @@ -85,7 +89,7 @@ interface StoreData { /** * Fallback storage writer for secrets, mainly used for automated tests and systems without any safeStorage support. */ -class PlaintextStorageWriter { +class StorageWriter { public constructor(protected readonly store: ElectronStore) {} public getKey(key: string): `safeStorage.${string}` { @@ -108,7 +112,7 @@ class PlaintextStorageWriter { /** * Storage writer for secrets using safeStorage. */ -class SafeStorageWriter extends PlaintextStorageWriter { +class SafeStorageWriter extends StorageWriter { public set(key: string, secret: string): void { this.store.set(this.getKey(key), safeStorage.encryptString(secret).toString("base64")); } @@ -157,7 +161,10 @@ class Store extends ElectronStore { const store = new Store(mode ?? Mode.Encrypted); Store.internalInstance = store; - if (process.platform === "linux" && store.get("safeStorageBackendOverride")) { + if ( + process.platform === "linux" && + (store.get("safeStorageBackendOverride") || store.get("safeStorageBackendMigrate")) + ) { const backend = store.get("safeStorageBackend")!; if (backend in safeStorageBackendMap) { // If the safeStorage backend which was used to write the data is one we can specify via the commandLine @@ -174,7 +181,7 @@ class Store extends ElectronStore { // Provides "raw" access to the underlying secrets storage, // should be avoided in favour of the getSecret/setSecret/deleteSecret methods. - private secrets?: PlaintextStorageWriter | SafeStorageWriter; + private secrets?: StorageWriter; private constructor(private mode: Mode) { super({ @@ -228,6 +235,37 @@ class Store extends ElectronStore { await this.safeStorageReadyPromise; } + /** + * Normalise the backend to a sane value (exclude `unknown`), respect forcePlaintext mode, + * and ensure that if an encrypted backend is picked that encryption is available, falling back to plaintext if not. + * @param forcePlaintext - whether to force plaintext mode + * @private + */ + private chooseBackend(forcePlaintext: boolean): SaneSafeStorageBackend { + if (forcePlaintext) { + return "plaintext"; + } + + if (process.platform === "linux") { + // The following enables plain text encryption if the backend used is basic_text. + // It has no significance for any other backend. + // We do this early so that in case we end up using the basic_text backend (either because that's the only one available + // or as a fallback when the configured backend lacks encryption support), encryption is already turned on. + safeStorage.setUsePlainTextEncryption(true); + + // Linux safeStorage support is hellish, the support varies on the Desktop Environment used rather than the store itself. + // https://github.com/electron/electron/issues/39789 https://github.com/microsoft/vscode/issues/185212 + const selectedBackend = safeStorage.getSelectedStorageBackend(); + + if (selectedBackend === "unknown" || !safeStorage.isEncryptionAvailable()) { + return "plaintext"; + } + return selectedBackend; + } + + return safeStorage.isEncryptionAvailable() ? "system" : "plaintext"; + } + /** * Prepare the safeStorage backend for use. * We don't eagerly import from keytar as that would bring in data for all Element profiles and not just the current one, @@ -236,134 +274,110 @@ class Store extends ElectronStore { private async prepareSafeStorage(): Promise { await app.whenReady(); - let safeStorageBackend = this.get("safeStorageBackend"); - if (process.platform === "linux") { - // Linux safeStorage support is hellish, the support varies on the Desktop Environment used rather than the store itself. - // https://github.com/electron/electron/issues/39789 https://github.com/microsoft/vscode/issues/185212 - const selectedSafeStorageBackend = safeStorage.getSelectedStorageBackend(); + // The backend the existing data is written with if any + let existingSafeStorageBackend = this.get("safeStorageBackend"); + // The backend and encryption status of the currently loaded backend + const backend = this.chooseBackend(this.mode === Mode.ForcePlaintext); - // The following enables plain text encryption if the backend used is basic_text. - // It has no significance for any other backend. - // We do this early so that in case we end up using the basic_text backend (either because that's the only one available - // or as a fallback when the configured backend lacks encryption support), encryption is already turned on. - safeStorage.setUsePlainTextEncryption(true); - - const isEncryptionAvailable = safeStorage.isEncryptionAvailable(); - console.info( - `safeStorage backend '${selectedSafeStorageBackend}' selected, '${safeStorageBackend}' in config, isEncryptionAvailable = ${isEncryptionAvailable}.`, - ); - - if (selectedSafeStorageBackend === "unknown") { - // This should never happen but good to be safe - await dialog.showMessageBox({ - title: _t("store|error|unknown_backend_override_title"), - message: _t("store|error|unknown_backend_override"), - detail: _t("store|error|unknown_backend_override_details"), - type: "error", - }); - throw new Error("safeStorage backend unknown"); + // Handle migrations + if (existingSafeStorageBackend) { + if (existingSafeStorageBackend === "basic_text" && backend !== "plaintext" && backend !== "basic_text") { + return this.prepareMigrateBasicTextToPlaintext(); } - if (this.get("safeStorageBackendMigrate")) { - return this.upgradeLinuxBackend2(); + if (this.get("safeStorageBackendMigrate") && backend === "basic_text") { + return this.migrateBasicTextToPlaintext(); } - // Whether we were using basic_text as a fallback before - const usingFallback = this.get("safeStorageBackendOverride") && safeStorageBackend === "basic_text"; + if (existingSafeStorageBackend === "plaintext" && backend !== "plaintext") { + this.migratePlaintextToEncrypted(); + // Ensure we update existingSafeStorageBackend so we don't fall into the "backend changed" clause below + existingSafeStorageBackend = this.get("safeStorageBackend"); + } + } - if (this.mode === Mode.Encrypted && !isEncryptionAvailable && !usingFallback) { - // Sometimes we may have a working backend that for some reason does not support encryption at the moment. - // This may be because electron reported an incorrect backend or because of some known issues with the keyring itself. - // In any case, when this happens, we give the user an option to use a weaker form of encryption. - const { response } = await dialog.showMessageBox({ - title: _t("store|error|backend_no_encryption_title"), - message: _t("store|error|backend_no_encryption"), - detail: _t("store|error|backend_no_encryption_detail", { - backend: safeStorageBackend, - brand: global.vectorConfig.brand || "Element", - }), - type: "error", - buttons: [_t("action|cancel"), _t("store|error|unsupported_keyring_cta")], - defaultId: 0, - cancelId: 0, - }); - if (response === 0) { - throw new Error( - `Encryption support not available on backend ${safeStorageBackend} and user prohibits using weaker encryption.`, - ); - } - this.recordSafeStorageBackend("basic_text"); + if (!existingSafeStorageBackend) { + // First launch of the app or first launch since the update + if (this.mode === Mode.Encrypted && (backend === "plaintext" || backend === "basic_text")) { + // Ask the user for consent to use a degraded mode + await this.consultUserConsentDegradedMode(backend); + } + // Store the backend used for the safeStorage data so we can detect if it changes, and we know how the data is encoded + this.recordSafeStorageBackend(backend); + } else if (existingSafeStorageBackend !== backend) { + console.warn(`safeStorage backend changed from ${existingSafeStorageBackend} to ${backend}`); + + if (existingSafeStorageBackend in safeStorageBackendMap) { this.set("safeStorageBackendOverride", true); - relaunchApp(); - } else if (usingFallback) { - // On the next run, don't use the fallback. - // This is so that we can check if the problems with the keyring fixed itself. - this.set("safeStorageBackendOverride", false); - } else if (!safeStorageBackend) { - if (selectedSafeStorageBackend === "basic_text" && this.mode === Mode.Encrypted) { - const { response } = await dialog.showMessageBox({ - title: _t("store|error|unsupported_keyring_title"), - message: _t("store|error|unsupported_keyring"), - detail: _t("store|error|unsupported_keyring_detail", { - brand: global.vectorConfig.brand || "Element", - link: "https://www.electronjs.org/docs/latest/api/safe-storage#safestoragegetselectedstoragebackend-linux", - }), - type: "error", - buttons: [_t("action|cancel"), _t("store|error|unsupported_keyring_cta")], - defaultId: 0, - cancelId: 0, - }); - if (response === 0) { - throw new Error("safeStorage backend basic_text and user rejected it"); - } - this.mode = Mode.AllowPlaintext; - } - - // Store the backend used for the safeStorage data so we can detect if it changes - this.recordSafeStorageBackend(selectedSafeStorageBackend); - safeStorageBackend = selectedSafeStorageBackend; - } else if (safeStorageBackend !== selectedSafeStorageBackend) { - console.warn(`safeStorage backend changed from ${safeStorageBackend} to ${selectedSafeStorageBackend}`); - - if (safeStorageBackend === "basic_text") { - return this.upgradeLinuxBackend1(); - } else if (safeStorageBackend === "plaintext") { - this.upgradeLinuxBackend3(); - } else if (safeStorageBackend in safeStorageBackendMap) { - this.set("safeStorageBackendOverride", true); - relaunchApp(); - return; - } else { - // Warn the user that the backend has changed and tell them that we cannot migrate - const { response } = await dialog.showMessageBox({ - title: _t("store|error|backend_changed_title"), - message: _t("store|error|backend_changed"), - detail: _t("store|error|backend_changed_detail"), - type: "question", - buttons: [_t("common|no"), _t("common|yes")], - defaultId: 0, - cancelId: 0, - }); - if (response === 0) { - throw new Error("safeStorage backend changed and cannot migrate"); - } - await clearDataAndRelaunch(); - } + return relaunchApp(); + } else { + await this.consultUserBackendChangedUnableToMigrate(); } - } else if (!safeStorageBackend) { - safeStorageBackend = this.mode === Mode.Encrypted ? "system" : "plaintext"; - this.recordSafeStorageBackend(safeStorageBackend); } - if (this.mode !== Mode.ForcePlaintext && safeStorage.isEncryptionAvailable()) { + console.info(`Using storage mode '${this.mode}' with backend '${backend}'`); + if (backend !== "plaintext") { this.secrets = new SafeStorageWriter(this); - } else if (this.mode !== Mode.Encrypted) { - this.secrets = new PlaintextStorageWriter(this); } else { - throw new Error(`safeStorage is not available`); + this.secrets = new StorageWriter(this); } + } - console.info(`Using storage mode '${this.mode}' with backend '${safeStorageBackend}'`); + private async consultUserBackendChangedUnableToMigrate(): Promise { + const { response } = await dialog.showMessageBox({ + title: _t("store|error|backend_changed_title"), + message: _t("store|error|backend_changed"), + detail: _t("store|error|backend_changed_detail"), + type: "question", + buttons: [_t("common|no"), _t("common|yes")], + defaultId: 0, + cancelId: 0, + }); + if (response === 0) { + throw new Error("safeStorage backend changed and cannot migrate"); + } + return clearDataAndRelaunch(); + } + + private async consultUserConsentDegradedMode(backend: "plaintext" | "basic_text"): Promise { + if (backend === "plaintext") { + // Sometimes we may have a working backend that for some reason does not support encryption at the moment. + // This may be because electron reported an incorrect backend or because of some known issues with the keyring itself. + // Or the environment specified `--storage-mode=force-plaintext`. + // In any case, when this happens, we give the user an option to use a weaker form of encryption. + const { response } = await dialog.showMessageBox({ + title: _t("store|error|backend_no_encryption_title"), + message: _t("store|error|backend_no_encryption"), + detail: _t("store|error|backend_no_encryption_detail", { + backend: safeStorage.getSelectedStorageBackend(), + brand: global.vectorConfig.brand || "Element", + }), + type: "error", + buttons: [_t("action|cancel"), _t("store|error|unsupported_keyring_use_plaintext")], + defaultId: 0, + cancelId: 0, + }); + if (response === 0) { + throw new Error("isEncryptionAvailable=false and user rejected plaintext"); + } + } else { + // Electron did not identify a compatible encrypted backend, ask user for consent to degraded mode + const { response } = await dialog.showMessageBox({ + title: _t("store|error|unsupported_keyring_title"), + message: _t("store|error|unsupported_keyring"), + detail: _t("store|error|unsupported_keyring_detail", { + brand: global.vectorConfig.brand || "Element", + link: "https://www.electronjs.org/docs/latest/api/safe-storage#safestoragegetselectedstoragebackend-linux", + }), + type: "error", + buttons: [_t("action|cancel"), _t("store|error|unsupported_keyring_use_basic_text")], + defaultId: 0, + cancelId: 0, + }); + if (response === 0) { + throw new Error("safeStorage backend basic_text and user rejected it"); + } + } } private recordSafeStorageBackend(backend: SafeStorageBackend): void { @@ -373,35 +387,37 @@ class Store extends ElectronStore { /** * Linux support for upgrading the backend from basic_text to one of the encrypted backends, * this is quite a tricky process as the backend is not known until the app is ready & cannot be changed once it is. - * First we restart the app in basic_text backend mode, then decrypt the data & restart back in default backend mode, - * and re-encrypt the data. + * 1. We restart the app in safeStorageBackendMigrate mode + * 2. Now that we are in the mode which our data is written in we decrypt the data, write it back in plaintext + * & restart back in default backend mode, + * 3. Finally, we load the plaintext data & encrypt it. */ - private upgradeLinuxBackend1(): void { + private prepareMigrateBasicTextToPlaintext(): void { console.info(`Starting safeStorage migration to ${safeStorage.getSelectedStorageBackend()}`); this.set("safeStorageBackendMigrate", true); relaunchApp(); } - private upgradeLinuxBackend2(): void { - this.secrets = new PlaintextStorageWriter(this); + private migrateBasicTextToPlaintext(): void { + const secrets = new SafeStorageWriter(this); console.info("Performing safeStorage migration"); const data = this.get("safeStorage"); if (data) { for (const key in data) { - this.set(this.secrets.getKey(key), this.secrets!.get(key)); + this.set(secrets.getKey(key), secrets.get(key)); } this.recordSafeStorageBackend("plaintext"); } - this.set("safeStorageBackendMigrate", false); + this.delete("safeStorageBackendMigrate"); relaunchApp(); } - private upgradeLinuxBackend3(): void { - this.secrets = new PlaintextStorageWriter(this); + private migratePlaintextToEncrypted(): void { + const secrets = new SafeStorageWriter(this); const selectedSafeStorageBackend = safeStorage.getSelectedStorageBackend(); console.info(`Finishing safeStorage migration to ${selectedSafeStorageBackend}`); const data = this.get("safeStorage"); if (data) { for (const key in data) { - this.secrets.set(key, data[key]); + secrets.set(key, data[key]); } } this.recordSafeStorageBackend(selectedSafeStorageBackend); From 0c4c950fc710d05490d4516dca383fa0107b4b6e Mon Sep 17 00:00:00 2001 From: t3chguy <2403652+t3chguy@users.noreply.github.com> Date: Mon, 26 May 2025 06:07:53 +0000 Subject: [PATCH 48/58] [create-pull-request] automated change --- src/i18n/strings/cs.json | 11 ++++++----- src/i18n/strings/cy.json | 4 ---- src/i18n/strings/de_DE.json | 7 +++---- src/i18n/strings/et.json | 8 +++----- src/i18n/strings/fi.json | 3 --- src/i18n/strings/fr.json | 4 ---- src/i18n/strings/hu.json | 4 ---- src/i18n/strings/id.json | 11 ++++++----- src/i18n/strings/nb_NO.json | 8 +++----- src/i18n/strings/pl.json | 4 ---- src/i18n/strings/pt_BR.json | 8 +++----- src/i18n/strings/sk.json | 8 +++----- src/i18n/strings/uk.json | 4 ---- 13 files changed, 27 insertions(+), 57 deletions(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 1fbc844..028b9f8 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -56,13 +56,14 @@ "backend_changed": "Vymazat data a znovu načíst?", "backend_changed_detail": "Nelze získat přístup k tajnému klíči ze systémové klíčenky, zdá se, že se změnil.", "backend_changed_title": "Nepodařilo se načíst databázi", - "unknown_backend_override": "Váš systém má nepodporovanou klíčenku, což znamená, že databázi nelze otevřít.", - "unknown_backend_override_details": "Další podrobnosti naleznete v protokolech.", - "unknown_backend_override_title": "Nepodařilo se načíst databázi", + "backend_no_encryption": "Váš systém má podporovanou klíčenku, ale šifrování není k dispozici.", + "backend_no_encryption_detail": "Electron zjistil, že pro vaši klíčenku %(backend)s není k dispozici šifrování. Ujistěte se, že máte nainstalovanou klíčenku. Pokud ji máte, restartujte počítač a zkuste to znovu. Volitelně můžete povolit %(brand)s použít slabší formu šifrování.", + "backend_no_encryption_title": "Bez podpory šifrování", "unsupported_keyring": "Váš systém má nepodporovanou klíčenku, což znamená, že databázi nelze otevřít.", - "unsupported_keyring_cta": "Používat slabší šifrování", "unsupported_keyring_detail": "Detekce klíčenky Electronu nenalezla podporovaný backend. Můžete se pokusit ručně nakonfigurovat backend spuštěním %(brand)s s argumentem příkazového řádku, jednorázovou operací. Viz %(link)s.", - "unsupported_keyring_title": "Systém není podporován" + "unsupported_keyring_title": "Systém není podporován", + "unsupported_keyring_use_basic_text": "Používat slabší šifrování", + "unsupported_keyring_use_plaintext": "Nepoužívat žádné šifrování" } }, "view_menu": { diff --git a/src/i18n/strings/cy.json b/src/i18n/strings/cy.json index 92f95e9..4e0c0a7 100644 --- a/src/i18n/strings/cy.json +++ b/src/i18n/strings/cy.json @@ -59,11 +59,7 @@ "backend_no_encryption": "Mae gan eich system cylch allwedd sy'n cael ei gefnogi ond nid yw amgryptio ar gael.", "backend_no_encryption_detail": "Mae Electron wedi canfod nad yw amgryptio ar gael ar eich cylch allweddi %(backend)s. Gwnewch yn siŵr bod y cylch allweddi wedi'i osod. Os oes y cylch allweddi wedi'i osod, ail gychwynnwch a cheisiwch eto. Yn ddewisol, gallwch ganiatáu i %(brand)s ddefnyddio ffurf wannach o amgryptio.", "backend_no_encryption_title": "Dim cefnogaeth amgryptio", - "unknown_backend_override": "Mae gan eich system allweddell nad yw'n cael ei chefnogi sy'n golygu na ellir agor y gronfa ddata.", - "unknown_backend_override_details": "Gwiriwch y logiau am fwy o fanylion.", - "unknown_backend_override_title": "Methwyd llwytho'r gronfa ddata", "unsupported_keyring": "Mae gan eich system allweddell nad yw'n cael ei chefnogi sy'n golygu nad oes modd agor y gronfa ddata.", - "unsupported_keyring_cta": "Defnyddiwch amgryptio gwannach", "unsupported_keyring_detail": "Heb ganfod allweddell Electron gefn. Gallwch geisio ffurfweddu'r gefn â llaw trwy gychwyn %(brand)s gyda dadl llinell orchymyn, gweithrediad untro. Gweler %(link)s.", "unsupported_keyring_title": "System heb ei chefnogi" } diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index c5242bc..6a9c1fb 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -56,11 +56,10 @@ "backend_changed": "Daten löschen und neu laden?", "backend_changed_detail": "Zugriff auf Schlüssel im Systemschlüsselbund nicht möglich, er scheint sich geändert zu haben.", "backend_changed_title": "Datenbank konnte nicht geladen werden", - "unknown_backend_override": "Der Schlüsselbund ihres Systems wird nicht unterstützt, wodurch die Datenbank nicht geöffnet werden kann.", - "unknown_backend_override_details": "Weitere Informationen finden Sie in den Protokollen.", - "unknown_backend_override_title": "Die Datenbank konnte nicht geladen werden", + "backend_no_encryption": "Ihr System verfügt über einen unterstützten Keyring, aber die Verschlüsselung ist nicht verfügbar.", + "backend_no_encryption_detail": "Electron hat festgestellt, dass Verschlüsselung in Ihrem Keyring %(backend)s nicht verfügbar ist. Bitte stellen Sie sicher, dass Sie den Keyringinstalliert haben. Wenn Sie den Keyring installiert haben, starten Sie ihn bitte neu und versuchen Sie es erneut. Optional können Sie die Verwendung einer schwächeren Form der Verschlüsselung zulassen %(brand)s.", + "backend_no_encryption_title": "Keine Verschlüsselungsunterstützung", "unsupported_keyring": "Der Schlüsselbund ihres Systems wird nicht unterstützt, wodurch die Datenbank nicht geöffnet werden kann.", - "unsupported_keyring_cta": "Schwächere Verschlüsselung verwenden", "unsupported_keyring_detail": "Die Schlüsselbunderkennung von Electron hat kein unterstütztes Backend gefunden. Möglicherweise können sie dennoch den ihres Systemes verwenden. Infos unter %(link)s.", "unsupported_keyring_title": "System nicht unterstützt" } diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index d769527..8e3418b 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -59,13 +59,11 @@ "backend_no_encryption": "Sinu süsteem kasutab toetatud võtmerõngast, kuid krüptimist pole saadaval.", "backend_no_encryption_detail": "Electron on tuvastanud, et krüptimine pole sinu %(backend)s võtmerõnga jaoks saadaval. Palun kontrolli, et võtmerõngas oleks korrektselt paigaldatud. Kui sul on võtmerõngas paigaldatud, siis palun taaskäivita ta ja proovi uuesti. Lisavõimalusena saad lubada, et %(brand)s kasutab nõrgemat krüptimislahendust.", "backend_no_encryption_title": "Krüptimise tugi puudub", - "unknown_backend_override": "Sinu süsteemis on kasutusel mittetoetatud võtmerõnga versioon ning see tähendab, et andmebaasi ei saa avada.", - "unknown_backend_override_details": "Lisateavet leiad logidest.", - "unknown_backend_override_title": "Andmebaasi ei õnnestunud laadida", "unsupported_keyring": "Sinu süsteemis on kasutusel mittetoetatud võtmerõnga versioon ning see tähendab, et andmebaasi ei saa avada.", - "unsupported_keyring_cta": "Kasuta nõrgemat krüptimist", "unsupported_keyring_detail": "Electroni võtmerõnga tuvastamine ei leidnud toetatud taustateenust. Kui käivitad rakenduse %(brand)s käsurealt õigete argumentidega, siis võib taustateenuse käsitsi seadistamine õnnestuda ning seda tegevust peaksid vaid üks kord tegema. Lisateave: %(link)s.", - "unsupported_keyring_title": "Süsteem pole toetatud" + "unsupported_keyring_title": "Süsteem pole toetatud", + "unsupported_keyring_use_basic_text": "Kasuta nõrgemat krüptimist", + "unsupported_keyring_use_plaintext": "Ära üldse kasuta krüptimist" } }, "view_menu": { diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json index 8fa8990..726e3e6 100644 --- a/src/i18n/strings/fi.json +++ b/src/i18n/strings/fi.json @@ -54,9 +54,6 @@ "store": { "error": { "backend_changed_title": "Tietokannan lataaminen epäonnistui", - "unknown_backend_override_details": "Katso tarkemmat tiedot lokeista.", - "unknown_backend_override_title": "Tietokannan lataaminen epäonnistui", - "unsupported_keyring_cta": "Käytä heikompaa salausta", "unsupported_keyring_title": "Järjestelmä ei ole tuettu" } }, diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index ba0b6da..32eceff 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -56,11 +56,7 @@ "backend_changed": "Effacer les données et recharger ?", "backend_changed_detail": "Impossible d'accéder aux secrets depuis le trousseau de clés du système, il semble avoir changé.", "backend_changed_title": "Impossible de charger la base de données", - "unknown_backend_override": "Votre système possède un trousseau de clés non pris en charge, ce qui signifie que la base de données ne peut pas être ouverte.", - "unknown_backend_override_details": "Veuillez consulter les journaux pour plus de détails.", - "unknown_backend_override_title": "Impossible de charger la base de données", "unsupported_keyring": "Votre système possède un trousseau de clés non pris en charge, la base de données ne peut pas être ouverte.", - "unsupported_keyring_cta": "Utiliser un chiffrement plus faible", "unsupported_keyring_detail": "La détection du porte-clés par Electron n'a pas permis de trouver de backend compatible. Vous pouvez essayer de configurer manuellement le backend en utilisant %(brand)s avec un argument de ligne de commande. Cette opération doit être effectuer une seule fois. Voir%(link)s.", "unsupported_keyring_title": "Système non pris en charge" } diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 91638d2..a986afa 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -56,11 +56,7 @@ "backend_changed": "Adatok törlése és újratöltés?", "backend_changed_detail": "Nem sikerült hozzáférni a rendszerkulcstartó titkos kódjához, úgy tűnik, megváltozott.", "backend_changed_title": "Nem sikerült betölteni az adatbázist", - "unknown_backend_override": "A rendszer nem támogatott kulcstartóval rendelkezik, ami azt jelenti, hogy az adatbázis nem nyitható meg.", - "unknown_backend_override_details": "További részletekért ellenőrizze a naplókat.", - "unknown_backend_override_title": "Nem sikerült betölteni az adatbázist", "unsupported_keyring": "A rendszer nem támogatott kulcstartóval rendelkezik, ami azt jelenti, hogy az adatbázis nem nyitható meg.", - "unsupported_keyring_cta": "Gyengébb titkosítás használata", "unsupported_keyring_detail": "Az Electron kulcstartóészlelése nem talált támogatott háttérrendszert. Megpróbálhatja kézileg beállítani a háttérrendszert az %(brand)s egyszeri, parancssori argumentummal való indításával. Lásd: %(link)s.", "unsupported_keyring_title": "A rendszer nem támogatott" } diff --git a/src/i18n/strings/id.json b/src/i18n/strings/id.json index da85d6f..696a73c 100644 --- a/src/i18n/strings/id.json +++ b/src/i18n/strings/id.json @@ -56,13 +56,14 @@ "backend_changed": "Hapus data dan muat ulang?", "backend_changed_detail": "Tidak dapat mengakses rahasia dari keyring sistem, tampaknya telah berubah.", "backend_changed_title": "Gagal memuat basis data", - "unknown_backend_override": "Sistem Anda memiliki keyring yang tidak didukung yang berarti basis data tidak dapat dibuka.", - "unknown_backend_override_details": "Silakan periksa log untuk detail lebih lanjut.", - "unknown_backend_override_title": "Gagal memuat basis data", + "backend_no_encryption": "Sistem Anda memiliki keyring yang didukung tetapi enkripsi tidak tersedia.", + "backend_no_encryption_detail": "Electron telah mendeteksi bahwa enkripsi tidak tersedia pada keyring %(backend)s Anda. Harap pastikan bahwa Anda telah memasang keyring. Jika Anda telah memasang keyring, silakan mulai ulang dan coba lagi. Secara opsional, Anda dapat mengizinkan %(brand)s untuk menggunakan bentuk enkripsi yang lebih lemah.", + "backend_no_encryption_title": "Tidak ada dukungan enkripsi", "unsupported_keyring": "Sistem Anda memiliki keyring yang tidak didukung yang berarti basis data tidak dapat dibuka.", - "unsupported_keyring_cta": "Gunakan enkripsi yang lebih lemah", "unsupported_keyring_detail": "Deteksi keyring Electron tidak menemukan backend yang didukung. Anda dapat mencoba mengonfigurasi backend secara manual dengan memulai %(brand)s dengan argumen baris perintah, operasi satu kali. Lihat %(link)s.", - "unsupported_keyring_title": "Sistem tidak didukung" + "unsupported_keyring_title": "Sistem tidak didukung", + "unsupported_keyring_use_basic_text": "Gunakan enkripsi yang lebih lemah", + "unsupported_keyring_use_plaintext": "Jangan gunakan enkripsi" } }, "view_menu": { diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json index a1198bc..944be3b 100644 --- a/src/i18n/strings/nb_NO.json +++ b/src/i18n/strings/nb_NO.json @@ -59,13 +59,11 @@ "backend_no_encryption": "Systemet ditt har en støttet nøkkelring, men kryptering er ikke tilgjengelig.", "backend_no_encryption_detail": "Electron har oppdaget at kryptering ikke er tilgjengelig på nøkkelringen %(backend)s din. Forsikre deg om at du har nøkkelringen installert. Hvis du har nøkkelringen installert, vennligst start på nytt og prøv igjen. Eventuelt kan du tillate %(brand)s å bruke en svakere form for kryptering.", "backend_no_encryption_title": "Ingen støtte for kryptering", - "unknown_backend_override": "Systemet ditt har en nøkkelring som ikke støttes, noe som betyr at databasen ikke kan åpnes.", - "unknown_backend_override_details": "Vennligst sjekk loggene for mer informasjon.", - "unknown_backend_override_title": "Kunne ikke laste inn databasen", "unsupported_keyring": "Systemet ditt har en nøkkelring som ikke støttes, noe som betyr at databasen ikke kan åpnes.", - "unsupported_keyring_cta": "Bruk svakere kryptering", "unsupported_keyring_detail": "Electrons nøkkelringdeteksjon fant ikke en støttet backend. Du kan prøve å konfigurere backend manuelt ved å starte %(brand)s med et kommandolinjeargument, en engangsoperasjon. Se%(link)s.", - "unsupported_keyring_title": "Systemet støttes ikke" + "unsupported_keyring_title": "Systemet støttes ikke", + "unsupported_keyring_use_basic_text": "Bruk svakere kryptering", + "unsupported_keyring_use_plaintext": "Ikke bruk kryptering" } }, "view_menu": { diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json index 76a4377..de5e305 100644 --- a/src/i18n/strings/pl.json +++ b/src/i18n/strings/pl.json @@ -56,11 +56,7 @@ "backend_changed": "Wyczyścić dane i przeładować?", "backend_changed_detail": "Nie można uzyskać dostępu do sekretnego magazynu, wygląda na to, że uległ zmianie.", "backend_changed_title": "Nie udało się załadować bazy danych", - "unknown_backend_override": "System zawiera niewspierany keyring, nie można otworzyć bazy danych.", - "unknown_backend_override_details": "Sprawdź dziennik, aby uzyskać więcej informacji.", - "unknown_backend_override_title": "Nie udało się załadować bazy danych", "unsupported_keyring": "System zawiera niewspierany keyring, nie można otworzyć bazy danych.", - "unsupported_keyring_cta": "Użyj słabszego szyfrowania", "unsupported_keyring_detail": "Wykrywanie keyringu Electron nie znalazł wspieranego backendu. Możesz spróbować ręcznie ustawić backed, uruchamiając %(brand)s za pomocą wiesza poleceń. Zobacz %(link)s.", "unsupported_keyring_title": "System niewspierany" } diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index c477719..5709abf 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -59,13 +59,11 @@ "backend_no_encryption": "Seu sistema tem um cofre compatível, mas a criptografia não está disponível.", "backend_no_encryption_detail": "O Electron detetou que a encriptação não está disponível no seu cofre %(backend)s. Certifique-se de que tem o cofre instalado. Se tiver o cofre instalado, reinicie e tente novamente. Opcionalmente, você pode permitir que %(brand)s use uma forma mais fraca de criptografia.", "backend_no_encryption_title": "Sem suporte para criptografia", - "unknown_backend_override": "Seu sistema possui um cofre não compatível, o que impede a abertura do banco de dados.", - "unknown_backend_override_details": "Verifique os logs para obter mais detalhes.", - "unknown_backend_override_title": "Falha ao carregar o banco de dados", "unsupported_keyring": "Seu sistema possui um cofre não compatível, o que impede a abertura do banco de dados.", - "unsupported_keyring_cta": "Use criptografia mais fraca", "unsupported_keyring_detail": "A detecção de cofre do Electron não encontrou um backend compatível. Você pode tentar configurar manualmente o backend iniciando %(brand)s com um argumento de linha de comando, uma operação única. Consulte %(link)s.", - "unsupported_keyring_title": "Sistema não suportado" + "unsupported_keyring_title": "Sistema não suportado", + "unsupported_keyring_use_basic_text": "Use criptografia mais fraca", + "unsupported_keyring_use_plaintext": "Não usar criptografia" } }, "view_menu": { diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index 4b5dbd5..32a6759 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -59,13 +59,11 @@ "backend_no_encryption": "Váš systém má podporovaný zväzok kľúčov, ale šifrovanie nie je k dispozícii.", "backend_no_encryption_detail": "Electron zistil, že šifrovanie nie je k dispozícii na vašom zväzku kľúčov %(backend)s. Uistite sa, že máte nainštalovaný zväzok kľúčov. Ak máte zväzok kľúčov nainštalovaný, reštartujte počítač a skúste to znova. Voliteľne môžete povoliť aplikácii %(brand)s používať slabšiu formu šifrovania.", "backend_no_encryption_title": "Žiadna podpora šifrovania", - "unknown_backend_override": "Váš systém má nepodporovaný zväzok kľúčov, čo znamená, že databázu nemožno otvoriť.", - "unknown_backend_override_details": "Pre viac informácií si pozrite protokoly.", - "unknown_backend_override_title": "Nepodarilo sa načítať databázu", "unsupported_keyring": "Váš systém má nepodporovaný zväzok kľúčov, čo znamená, že databázu nemožno otvoriť.", - "unsupported_keyring_cta": "Použiť slabšie šifrovanie", "unsupported_keyring_detail": "Detekcia zväzku kľúčov aplikácie Electron nenašla podporovaný backend. Môžete sa pokúsiť manuálne nastaviť backend spustením aplikácie %(brand)s s argumentom príkazového riadka, je to jednorazová operácia. Pozrite si %(link)s .", - "unsupported_keyring_title": "Systém nie je podporovaný" + "unsupported_keyring_title": "Systém nie je podporovaný", + "unsupported_keyring_use_basic_text": "Použiť slabšie šifrovanie", + "unsupported_keyring_use_plaintext": "Nepoužiť žiadne šifrovanie" } }, "view_menu": { diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index 544f440..c556fbf 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -56,11 +56,7 @@ "backend_changed": "Очистити дані та перезавантажити?", "backend_changed_detail": "Не вдається отримати доступ до таємного ключа з системного набору ключів, видається, він змінився.", "backend_changed_title": "Не вдалося завантажити базу даних", - "unknown_backend_override": "Ваша система має непідтримуваний ключ, що означає, що базу даних неможливо відкрити.", - "unknown_backend_override_details": "Перегляньте журнал, щоб дізнатися подробиці.", - "unknown_backend_override_title": "Не вдалося завантажити базу даних", "unsupported_keyring": "Ваша система має непідтримуваний набір ключів. Це означає, що базу даних неможливо відкрити.", - "unsupported_keyring_cta": "Використовувати слабше шифрування", "unsupported_keyring_detail": "Electron не виявив підтримуваного бекенда для роботи зі сховищем паролів. Ви можете вручну налаштувати його, запустивши %(brand)s з відповідним аргументом у командному рядку. Цю дію потрібно виконати лише один раз. Докладніше – %(link)s.", "unsupported_keyring_title": "Система не підтримується" } From 044de246a1ec2c532cf35cf3b300e918f0bf5c1e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 15:46:37 +0100 Subject: [PATCH 49/58] Update dependency @types/node to v18.19.103 (#2357) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- yarn.lock | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index d2b2dca..3661019 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@types/auto-launch": "^5.0.1", "@types/counterpart": "^0.18.1", "@types/minimist": "^1.2.1", - "@types/node": "18.19.100", + "@types/node": "18.19.103", "@types/pacote": "^11.1.1", "@typescript-eslint/eslint-plugin": "^8.0.0", "@typescript-eslint/parser": "^8.0.0", @@ -115,7 +115,7 @@ "matrix-seshat": "^4.0.1" }, "resolutions": { - "@types/node": "18.19.100", + "@types/node": "18.19.103", "config-file-ts": "0.2.8-rc1", "node-abi": "4.8.0" } diff --git a/yarn.lock b/yarn.lock index 420ee56..d303b32 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2122,10 +2122,10 @@ "@types/node" "*" form-data "^4.0.0" -"@types/node@*", "@types/node@18.19.100", "@types/node@^17.0.36", "@types/node@^22.7.7": - version "18.19.100" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.100.tgz#7f3aefbb6911099ab7e0902a1f373b1a4d2c1947" - integrity sha512-ojmMP8SZBKprc3qGrGk8Ujpo80AXkrP7G2tOT4VWr5jlr5DHjsJF+emXJz+Wm0glmy4Js62oKMdZZ6B9Y+tEcA== +"@types/node@*", "@types/node@18.19.103", "@types/node@^17.0.36", "@types/node@^22.7.7": + version "18.19.103" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.103.tgz#9bbd31a54e240fc469cca409d7507ebc77536458" + integrity sha512-hHTHp+sEz6SxFsp+SA+Tqrua3AbmlAw+Y//aEwdHrdZkYVRWdvWD3y5uPZ0flYOkgskaFWqZ/YGFm3FaFQ0pRw== dependencies: undici-types "~5.26.4" From dea64f7e38c8bfeb6702e326a9295921ecc00670 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 14:48:05 +0000 Subject: [PATCH 50/58] Update dependency @babel/core to v7.27.3 (#2356) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 122 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 72 insertions(+), 50 deletions(-) diff --git a/yarn.lock b/yarn.lock index d303b32..01ab0c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -53,26 +53,31 @@ js-tokens "^4.0.0" picocolors "^1.1.1" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.27.2": +"@babel/compat-data@^7.22.6": version "7.27.2" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.2.tgz#4183f9e642fd84e74e3eea7ffa93a412e3b102c9" integrity sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ== +"@babel/compat-data@^7.27.2": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.3.tgz#cc49c2ac222d69b889bf34c795f537c0c6311111" + integrity sha512-V42wFfx1ymFte+ecf6iXghnnP8kWTO+ZLXIyZq+1LAXHHvTZdVxicn4yiVYdYMGaCO3tmqub11AorKkv+iodqw== + "@babel/core@^7.18.10": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.1.tgz#89de51e86bd12246003e3524704c49541b16c3e6" - integrity sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ== + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.3.tgz#d7d05502bccede3cab36373ed142e6a1df554c2f" + integrity sha512-hyrN8ivxfvJ4i0fIJuV4EOlV0WDMz5Ui4StRTgVaAvWeiRCilXgwVvxJKtFQ3TKtHgJscB2YiXKGNJuVwhQMtA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.27.1" - "@babel/helper-compilation-targets" "^7.27.1" - "@babel/helper-module-transforms" "^7.27.1" - "@babel/helpers" "^7.27.1" - "@babel/parser" "^7.27.1" - "@babel/template" "^7.27.1" - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" + "@babel/generator" "^7.27.3" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-module-transforms" "^7.27.3" + "@babel/helpers" "^7.27.3" + "@babel/parser" "^7.27.3" + "@babel/template" "^7.27.2" + "@babel/traverse" "^7.27.3" + "@babel/types" "^7.27.3" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -89,13 +94,13 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" -"@babel/generator@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.1.tgz#862d4fad858f7208edd487c28b58144036b76230" - integrity sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w== +"@babel/generator@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.3.tgz#ef1c0f7cfe3b5fc8cbb9f6cc69f93441a68edefc" + integrity sha512-xnlJYj5zepml8NXtjkG0WquFUv8RskFqyFcVgTBp5k+NaA/8uw/K+OSVf8AMGw5e9HKP2ETd5xpK5MLZQD6b4Q== dependencies: - "@babel/parser" "^7.27.1" - "@babel/types" "^7.27.1" + "@babel/parser" "^7.27.3" + "@babel/types" "^7.27.3" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" @@ -198,6 +203,15 @@ "@babel/helper-validator-identifier" "^7.27.1" "@babel/traverse" "^7.27.1" +"@babel/helper-module-transforms@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz#db0bbcfba5802f9ef7870705a7ef8788508ede02" + integrity sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg== + dependencies: + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.3" + "@babel/helper-optimise-call-expression@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200" @@ -282,13 +296,13 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/helpers@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.1.tgz#ffc27013038607cdba3288e692c3611c06a18aa4" - integrity sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ== +"@babel/helpers@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.3.tgz#387d65d279290e22fe7a47a8ffcd2d0c0184edd0" + integrity sha512-h/eKy9agOya1IGuLaZ9tEUgz+uIRXcbtOhRtUyyMf8JFmn1iT13vnl/IGVWSkdOCG/pC57U4S1jnAabAavTMwg== dependencies: - "@babel/template" "^7.27.1" - "@babel/types" "^7.27.1" + "@babel/template" "^7.27.2" + "@babel/types" "^7.27.3" "@babel/highlight@^7.24.7": version "7.25.9" @@ -312,12 +326,12 @@ dependencies: "@babel/types" "^7.25.4" -"@babel/parser@^7.27.1", "@babel/parser@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.2.tgz#577518bedb17a2ce4212afd052e01f7df0941127" - integrity sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw== +"@babel/parser@^7.27.2", "@babel/parser@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.3.tgz#1b7533f0d908ad2ac545c4d05cbe2fb6dc8cfaaf" + integrity sha512-xyYxRj6+tLNDTWi0KCBcZ9V7yg3/lwL9DWh9Uwh/RIVlIfFidggcgxKX3GCXwCiswwcGRawBKbEg2LG/Y8eJhw== dependencies: - "@babel/types" "^7.27.1" + "@babel/types" "^7.27.3" "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1": version "7.27.1" @@ -901,7 +915,7 @@ "@babel/parser" "^7.25.0" "@babel/types" "^7.25.0" -"@babel/template@^7.27.1": +"@babel/template@^7.27.1", "@babel/template@^7.27.2": version "7.27.2" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== @@ -926,16 +940,16 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/traverse@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.1.tgz#4db772902b133bbddd1c4f7a7ee47761c1b9f291" - integrity sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg== +"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.3.tgz#8b62a6c2d10f9d921ba7339c90074708509cffae" + integrity sha512-lId/IfN/Ye1CIu8xG7oKBHXd2iNb2aW1ilPszzGcJug6M8RCKfVNcYhpI5+bMvFYjK7lXIM0R+a+6r8xhHp2FQ== dependencies: "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.27.1" - "@babel/parser" "^7.27.1" - "@babel/template" "^7.27.1" - "@babel/types" "^7.27.1" + "@babel/generator" "^7.27.3" + "@babel/parser" "^7.27.3" + "@babel/template" "^7.27.2" + "@babel/types" "^7.27.3" debug "^4.3.1" globals "^11.1.0" @@ -957,7 +971,15 @@ "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" -"@babel/types@^7.27.1", "@babel/types@^7.4.4": +"@babel/types@^7.27.1", "@babel/types@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.3.tgz#c0257bedf33aad6aad1f406d35c44758321eb3ec" + integrity sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw== + dependencies: + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + +"@babel/types@^7.4.4": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.1.tgz#9defc53c16fc899e46941fc6901a9eea1c9d8560" integrity sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q== @@ -3254,7 +3276,7 @@ debounce-fn@^6.0.0: dependencies: mimic-function "^5.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3, debug@^4.3.4, debug@^4.4.0: +debug@4, debug@^4.1.1, debug@^4.3.3, debug@^4.3.4, debug@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== @@ -3268,6 +3290,13 @@ debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.1.0, debug@^4.3.1, debug@^4.3.5: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== + dependencies: + ms "^2.1.3" + debug@^4.3.2, debug@^4.3.6: version "4.3.7" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" @@ -3275,13 +3304,6 @@ debug@^4.3.2, debug@^4.3.6: dependencies: ms "^2.1.3" -debug@^4.3.5: - version "4.4.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" - integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== - dependencies: - ms "^2.1.3" - decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" @@ -3494,9 +3516,9 @@ electron-store@^10.0.0: type-fest "^4.20.0" electron-to-chromium@^1.5.149: - version "1.5.152" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.152.tgz#bcdd39567e291b930ec26b930031137a05593695" - integrity sha512-xBOfg/EBaIlVsHipHl2VdTPJRSvErNUaqW8ejTq5OlOlIYx1wOllCHsAvAIrr55jD1IYEfdR86miUEt8H5IeJg== + version "1.5.159" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.159.tgz#b909c4a5dbd00674f18419199f71c945a199effe" + integrity sha512-CEvHptWAMV5p6GJ0Lq8aheyvVbfzVrv5mmidu1D3pidoVNkB3tTBsTMVtPJ+rzRK5oV229mCLz9Zj/hNvU8GBA== electron-window-state@^5.0.3: version "5.0.3" From 8559a740f4e6bcc96532354e9da8db8a63bb2344 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 16:11:37 +0100 Subject: [PATCH 51/58] Update dependency @electron/asar to v4 (#2362) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 3661019..7e7362b 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "@babel/core": "^7.18.10", "@babel/preset-env": "^7.18.10", "@babel/preset-typescript": "^7.18.6", - "@electron/asar": "3.4.1", + "@electron/asar": "4.0.0", "@playwright/test": "1.52.0", "@stylistic/eslint-plugin": "^4.0.0", "@types/auto-launch": "^5.0.1", diff --git a/yarn.lock b/yarn.lock index 01ab0c7..a001799 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1004,6 +1004,15 @@ glob "^7.1.6" minimatch "^3.0.4" +"@electron/asar@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-4.0.0.tgz#9818aa14637b09782aa617284195eeb79545585a" + integrity sha512-tBqVW/Z/iZ88ZGCXtg8jaGVlip6HzVIRUm0RHZ6+YtBMmWQG8jQxF68yLWlNxYXnndBVpwwofQNdt0EicmD0Vg== + dependencies: + commander "^13.1.0" + glob "^11.0.1" + minimatch "^10.0.1" + "@electron/asar@^3.2.1": version "3.3.1" resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.3.1.tgz#cd14e897770d9844673dd7c1dc8944e086e1e0ea" @@ -4362,7 +4371,7 @@ glob@^10.2.2, glob@^10.3.10, glob@^10.3.12, glob@^10.3.7: package-json-from-dist "^1.0.0" path-scurry "^1.11.1" -glob@^11.0.0: +glob@^11.0.0, glob@^11.0.1: version "11.0.2" resolved "https://registry.yarnpkg.com/glob/-/glob-11.0.2.tgz#3261e3897bbc603030b041fd77ba636022d51ce0" integrity sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ== @@ -5425,7 +5434,7 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@^10.0.0: +minimatch@^10.0.0, minimatch@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.0.1.tgz#ce0521856b453c86e25f2c4c0d03e6ff7ddc440b" integrity sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ== From b4a23ff505232be2aaf3873a6e81ded681ba3678 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 15:14:33 +0000 Subject: [PATCH 52/58] Update dependency electron to v36.3.1 (#2360) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 7e7362b..0d2a78d 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "app-builder-lib": "26.0.15", "chokidar": "^4.0.0", "detect-libc": "^2.0.0", - "electron": "36.2.0", + "electron": "36.3.1", "electron-builder": "26.0.15", "electron-builder-squirrel-windows": "26.0.15", "electron-devtools-installer": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index a001799..67092a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3550,10 +3550,10 @@ electron-winstaller@5.4.0: optionalDependencies: "@electron/windows-sign" "^1.1.2" -electron@36.2.0: - version "36.2.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-36.2.0.tgz#05bb179eb4c5de0412fc6d49628abc949fd679c1" - integrity sha512-5yldoRjBKxPQfI0QMX+qq750o3Nl8N1SZnJqOPMq0gZ6rIJ+7y4ZLp808GrFwjfTm05TYgq3GSD8FGuKQZqwEw== +electron@36.3.1: + version "36.3.1" + resolved "https://registry.yarnpkg.com/electron/-/electron-36.3.1.tgz#12a8c1b1cd9163a4bd0cb60f89816243b26ab788" + integrity sha512-LeOZ+tVahmctHaAssLCGRRUa2SAO09GXua3pKdG+WzkbSDMh+3iOPONNVPTqGp8HlWnzGj4r6mhsIbM2RgH+eQ== dependencies: "@electron/get" "^2.0.0" "@types/node" "^22.7.7" From bd194306dd1e04d53d9e4ec753f85ea30787fc43 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 15:15:01 +0000 Subject: [PATCH 53/58] Update dependency @stylistic/eslint-plugin to v4.4.0 (#2359) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 110 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 63 insertions(+), 47 deletions(-) diff --git a/yarn.lock b/yarn.lock index 67092a5..642c3c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2035,11 +2035,11 @@ integrity sha512-R0YivtSwSQpNt5nPOi7YRTGlk6kpcz6/2/sAQZf6ZCU8vIGm1cBMo++6kkGQcDEumkwbmagxmLWinL9d1W5g3Q== "@stylistic/eslint-plugin@^4.0.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-4.2.0.tgz#7860ea84aa7ee3b21757907b863eb62f4f8b0455" - integrity sha512-8hXezgz7jexGHdo5WN6JBEIPHCSFyyU4vgbxevu4YLVS5vl+sxqAAGyXSzfNDyR6xMNSH5H1x67nsXcYMOHtZA== + version "4.4.0" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-4.4.0.tgz#e1a3c9fd7109411d32dc0bcb575d2b4066fbbc63" + integrity sha512-bIh/d9X+OQLCAMdhHtps+frvyjvAM4B1YlSJzcEEhl7wXLIqPar3ngn9DrHhkBOrTA/z9J0bUMtctAspe0dxdQ== dependencies: - "@typescript-eslint/utils" "^8.23.0" + "@typescript-eslint/utils" "^8.32.1" eslint-visitor-keys "^4.2.0" espree "^10.3.0" estraverse "^5.3.0" @@ -2295,13 +2295,14 @@ "@typescript-eslint/visitor-keys" "8.32.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz#8fd9872823aef65ff71d3f6d1ec9316ace0b6bf3" - integrity sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw== +"@typescript-eslint/project-service@8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.33.0.tgz#71f37ef9010de47bf20963914743c5cbef851e08" + integrity sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A== dependencies: - "@typescript-eslint/types" "8.29.0" - "@typescript-eslint/visitor-keys" "8.29.0" + "@typescript-eslint/tsconfig-utils" "^8.33.0" + "@typescript-eslint/types" "^8.33.0" + debug "^4.3.4" "@typescript-eslint/scope-manager@8.32.1": version "8.32.1" @@ -2311,6 +2312,19 @@ "@typescript-eslint/types" "8.32.1" "@typescript-eslint/visitor-keys" "8.32.1" +"@typescript-eslint/scope-manager@8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.33.0.tgz#459cf0c49d410800b1a023b973c62d699b09bf4c" + integrity sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw== + dependencies: + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" + +"@typescript-eslint/tsconfig-utils@8.33.0", "@typescript-eslint/tsconfig-utils@^8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.0.tgz#316adab038bbdc43e448781d5a816c2973eab73e" + integrity sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug== + "@typescript-eslint/type-utils@8.32.1": version "8.32.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.32.1.tgz#b9292a45f69ecdb7db74d1696e57d1a89514d21e" @@ -2321,29 +2335,15 @@ debug "^4.3.4" ts-api-utils "^2.1.0" -"@typescript-eslint/types@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.29.0.tgz#65add70ab4ef66beaa42a5addf87dab2b05b1f33" - integrity sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg== - "@typescript-eslint/types@8.32.1": version "8.32.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.32.1.tgz#b19fe4ac0dc08317bae0ce9ec1168123576c1d4b" integrity sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg== -"@typescript-eslint/typescript-estree@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz#d201a4f115327ec90496307c9958262285065b00" - integrity sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow== - dependencies: - "@typescript-eslint/types" "8.29.0" - "@typescript-eslint/visitor-keys" "8.29.0" - debug "^4.3.4" - fast-glob "^3.3.2" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^2.0.1" +"@typescript-eslint/types@8.33.0", "@typescript-eslint/types@^8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.33.0.tgz#02a7dbba611a8abf1ad2a9e00f72f7b94b5ab0ee" + integrity sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg== "@typescript-eslint/typescript-estree@8.32.1": version "8.32.1" @@ -2359,6 +2359,22 @@ semver "^7.6.0" ts-api-utils "^2.1.0" +"@typescript-eslint/typescript-estree@8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.0.tgz#abcc1d3db75a8e9fd2e274ee8c4099fa2399abfd" + integrity sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ== + dependencies: + "@typescript-eslint/project-service" "8.33.0" + "@typescript-eslint/tsconfig-utils" "8.33.0" + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" + debug "^4.3.4" + fast-glob "^3.3.2" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^2.1.0" + "@typescript-eslint/utils@8.32.1": version "8.32.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.32.1.tgz#4d6d5d29b9e519e9a85e9a74e9f7bdb58abe9704" @@ -2369,23 +2385,15 @@ "@typescript-eslint/types" "8.32.1" "@typescript-eslint/typescript-estree" "8.32.1" -"@typescript-eslint/utils@^8.23.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.29.0.tgz#d6d22b19c8c4812a874f00341f686b45b9fe895f" - integrity sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA== +"@typescript-eslint/utils@^8.32.1": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.33.0.tgz#574ad5edee371077b9e28ca6fb804f2440f447c1" + integrity sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw== dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.29.0" - "@typescript-eslint/types" "8.29.0" - "@typescript-eslint/typescript-estree" "8.29.0" - -"@typescript-eslint/visitor-keys@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz#2356336c9efdc3597ffcd2aa1ce95432852b743d" - integrity sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg== - dependencies: - "@typescript-eslint/types" "8.29.0" - eslint-visitor-keys "^4.2.0" + "@eslint-community/eslint-utils" "^4.7.0" + "@typescript-eslint/scope-manager" "8.33.0" + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/typescript-estree" "8.33.0" "@typescript-eslint/visitor-keys@8.32.1": version "8.32.1" @@ -2395,6 +2403,14 @@ "@typescript-eslint/types" "8.32.1" eslint-visitor-keys "^4.2.0" +"@typescript-eslint/visitor-keys@8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.0.tgz#fbae16fd3594531f8cad95d421125d634e9974fe" + integrity sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ== + dependencies: + "@typescript-eslint/types" "8.33.0" + eslint-visitor-keys "^4.2.0" + "@ungap/structured-clone@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" @@ -3285,7 +3301,7 @@ debounce-fn@^6.0.0: dependencies: mimic-function "^5.0.0" -debug@4, debug@^4.1.1, debug@^4.3.3, debug@^4.3.4, debug@^4.4.0: +debug@4, debug@^4.1.1, debug@^4.3.3, debug@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== @@ -3299,7 +3315,7 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.1.0, debug@^4.3.1, debug@^4.3.5: +debug@^4.1.0, debug@^4.3.1, debug@^4.3.4, debug@^4.3.5: version "4.4.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== @@ -7160,7 +7176,7 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-api-utils@^2.0.1, ts-api-utils@^2.1.0: +ts-api-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91" integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ== From 93c0b81cc4656bc5d5291bd8d6e5cfe9deb7f3f3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 17:00:23 +0100 Subject: [PATCH 54/58] Update typescript-eslint monorepo to v8.33.0 (#2361) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 87 ++++++++++++++----------------------------------------- 1 file changed, 21 insertions(+), 66 deletions(-) diff --git a/yarn.lock b/yarn.lock index 642c3c5..7a7ffd0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2270,29 +2270,29 @@ "@types/node" "*" "@typescript-eslint/eslint-plugin@^8.0.0": - version "8.32.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.32.1.tgz#9185b3eaa3b083d8318910e12d56c68b3c4f45b4" - integrity sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg== + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.0.tgz#51ed03649575ba51bcee7efdbfd85283249b5447" + integrity sha512-CACyQuqSHt7ma3Ns601xykeBK/rDeZa3w6IS6UtMQbixO5DWy+8TilKkviGDH6jtWCo8FGRKEK5cLLkPvEammQ== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.32.1" - "@typescript-eslint/type-utils" "8.32.1" - "@typescript-eslint/utils" "8.32.1" - "@typescript-eslint/visitor-keys" "8.32.1" + "@typescript-eslint/scope-manager" "8.33.0" + "@typescript-eslint/type-utils" "8.33.0" + "@typescript-eslint/utils" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" graphemer "^1.4.0" ignore "^7.0.0" natural-compare "^1.4.0" ts-api-utils "^2.1.0" "@typescript-eslint/parser@^8.0.0": - version "8.32.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.32.1.tgz#18b0e53315e0bc22b2619d398ae49a968370935e" - integrity sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg== + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.33.0.tgz#8e523c2b447ad7cd6ac91b719d8b37449481784d" + integrity sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ== dependencies: - "@typescript-eslint/scope-manager" "8.32.1" - "@typescript-eslint/types" "8.32.1" - "@typescript-eslint/typescript-estree" "8.32.1" - "@typescript-eslint/visitor-keys" "8.32.1" + "@typescript-eslint/scope-manager" "8.33.0" + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/typescript-estree" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" debug "^4.3.4" "@typescript-eslint/project-service@8.33.0": @@ -2304,14 +2304,6 @@ "@typescript-eslint/types" "^8.33.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.32.1": - version "8.32.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.32.1.tgz#9a6bf5fb2c5380e14fe9d38ccac6e4bbe17e8afc" - integrity sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA== - dependencies: - "@typescript-eslint/types" "8.32.1" - "@typescript-eslint/visitor-keys" "8.32.1" - "@typescript-eslint/scope-manager@8.33.0": version "8.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.33.0.tgz#459cf0c49d410800b1a023b973c62d699b09bf4c" @@ -2325,40 +2317,21 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.0.tgz#316adab038bbdc43e448781d5a816c2973eab73e" integrity sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug== -"@typescript-eslint/type-utils@8.32.1": - version "8.32.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.32.1.tgz#b9292a45f69ecdb7db74d1696e57d1a89514d21e" - integrity sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA== +"@typescript-eslint/type-utils@8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.33.0.tgz#f06124b2d6db8a51b24990cb123c9543af93fef5" + integrity sha512-lScnHNCBqL1QayuSrWeqAL5GmqNdVUQAAMTaCwdYEdWfIrSrOGzyLGRCHXcCixa5NK6i5l0AfSO2oBSjCjf4XQ== dependencies: - "@typescript-eslint/typescript-estree" "8.32.1" - "@typescript-eslint/utils" "8.32.1" + "@typescript-eslint/typescript-estree" "8.33.0" + "@typescript-eslint/utils" "8.33.0" debug "^4.3.4" ts-api-utils "^2.1.0" -"@typescript-eslint/types@8.32.1": - version "8.32.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.32.1.tgz#b19fe4ac0dc08317bae0ce9ec1168123576c1d4b" - integrity sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg== - "@typescript-eslint/types@8.33.0", "@typescript-eslint/types@^8.33.0": version "8.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.33.0.tgz#02a7dbba611a8abf1ad2a9e00f72f7b94b5ab0ee" integrity sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg== -"@typescript-eslint/typescript-estree@8.32.1": - version "8.32.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.1.tgz#9023720ca4ecf4f59c275a05b5fed69b1276face" - integrity sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg== - dependencies: - "@typescript-eslint/types" "8.32.1" - "@typescript-eslint/visitor-keys" "8.32.1" - debug "^4.3.4" - fast-glob "^3.3.2" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^2.1.0" - "@typescript-eslint/typescript-estree@8.33.0": version "8.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.0.tgz#abcc1d3db75a8e9fd2e274ee8c4099fa2399abfd" @@ -2375,17 +2348,7 @@ semver "^7.6.0" ts-api-utils "^2.1.0" -"@typescript-eslint/utils@8.32.1": - version "8.32.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.32.1.tgz#4d6d5d29b9e519e9a85e9a74e9f7bdb58abe9704" - integrity sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA== - dependencies: - "@eslint-community/eslint-utils" "^4.7.0" - "@typescript-eslint/scope-manager" "8.32.1" - "@typescript-eslint/types" "8.32.1" - "@typescript-eslint/typescript-estree" "8.32.1" - -"@typescript-eslint/utils@^8.32.1": +"@typescript-eslint/utils@8.33.0", "@typescript-eslint/utils@^8.32.1": version "8.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.33.0.tgz#574ad5edee371077b9e28ca6fb804f2440f447c1" integrity sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw== @@ -2395,14 +2358,6 @@ "@typescript-eslint/types" "8.33.0" "@typescript-eslint/typescript-estree" "8.33.0" -"@typescript-eslint/visitor-keys@8.32.1": - version "8.32.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.1.tgz#4321395cc55c2eb46036cbbb03e101994d11ddca" - integrity sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w== - dependencies: - "@typescript-eslint/types" "8.32.1" - eslint-visitor-keys "^4.2.0" - "@typescript-eslint/visitor-keys@8.33.0": version "8.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.0.tgz#fbae16fd3594531f8cad95d421125d634e9974fe" From 360665cd41dfddf37c2a3c141b7e51fabe212ef2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 17:41:51 +0100 Subject: [PATCH 55/58] Update rust:bullseye Docker digest to eb80936 (#2355) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <7t3chguy@gmail.com> --- dockerbuild/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerbuild/Dockerfile b/dockerbuild/Dockerfile index 00d2e3c..4a6a699 100644 --- a/dockerbuild/Dockerfile +++ b/dockerbuild/Dockerfile @@ -1,6 +1,6 @@ # Docker image to facilitate building Element Desktop's native bits using a glibc version (2.31) # with broader compatibility, down to Debian bullseye & Ubuntu focal. -FROM rust:bullseye@sha256:f40b8cc3195deda321031e8dfe23c7d2586e3db7c4103fa36946982d9fd6d588 +FROM rust:bullseye@sha256:eb809362961259a30f540857c3cac8423c466d558bea0f55f32e3a6354654353 ENV DEBIAN_FRONTEND=noninteractive From 89ead2e56f1e571693ef2251840507e6afc7d14d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 08:41:58 +0100 Subject: [PATCH 56/58] Update all non-major dependencies (#2358) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <7t3chguy@gmail.com> --- .node-version | 2 +- package.json | 2 +- yarn.lock | 153 ++++++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 143 insertions(+), 14 deletions(-) diff --git a/.node-version b/.node-version index 9158a6f..aebd91c 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -v22.15.0 +v22.16.0 diff --git a/package.json b/package.json index 0d2a78d..12480a4 100644 --- a/package.json +++ b/package.json @@ -117,6 +117,6 @@ "resolutions": { "@types/node": "18.19.103", "config-file-ts": "0.2.8-rc1", - "node-abi": "4.8.0" + "node-abi": "4.9.0" } } diff --git a/yarn.lock b/yarn.lock index 7a7ffd0..bb4d174 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1127,6 +1127,28 @@ minimist "^1.2.8" postject "^1.0.0-alpha.6" +"@emnapi/core@^1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.4.3.tgz#9ac52d2d5aea958f67e52c40a065f51de59b77d6" + integrity sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g== + dependencies: + "@emnapi/wasi-threads" "1.0.2" + tslib "^2.4.0" + +"@emnapi/runtime@^1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.4.3.tgz#c0564665c80dc81c448adac23f9dfbed6c838f7d" + integrity sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ== + dependencies: + tslib "^2.4.0" + +"@emnapi/wasi-threads@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz#977f44f844eac7d6c138a415a123818c655f874c" + integrity sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA== + dependencies: + tslib "^2.4.0" + "@esbuild/aix-ppc64@0.25.4": version "0.25.4" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz#830d6476cbbca0c005136af07303646b419f1162" @@ -1412,6 +1434,15 @@ lodash "^4.17.15" tmp-promise "^3.0.2" +"@napi-rs/wasm-runtime@^0.2.9": + version "0.2.10" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.10.tgz#f3b7109419c6670000b2401e0c778b98afc25f84" + integrity sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ== + dependencies: + "@emnapi/core" "^1.4.3" + "@emnapi/runtime" "^1.4.3" + "@tybys/wasm-util" "^0.9.0" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1851,6 +1882,73 @@ dependencies: "@opentelemetry/core" "^1.1.0" +"@oxc-resolver/binding-darwin-arm64@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-9.0.2.tgz#345ff11258dbec11d333bf088a79b864f5f03ec5" + integrity sha512-MVyRgP2gzJJtAowjG/cHN3VQXwNLWnY+FpOEsyvDepJki1SdAX/8XDijM1yN6ESD1kr9uhBKjGelC6h3qtT+rA== + +"@oxc-resolver/binding-darwin-x64@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-9.0.2.tgz#cd19f263a31b601356002ebd2eb8dda193753704" + integrity sha512-7kV0EOFEZ3sk5Hjy4+bfA6XOQpCwbDiDkkHN4BHHyrBHsXxUR05EcEJPPL1WjItefg+9+8hrBmoK0xRoDs41+A== + +"@oxc-resolver/binding-freebsd-x64@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-9.0.2.tgz#e6e0b9b9409cb4eb71307ca880f1d868cce88c94" + integrity sha512-6OvkEtRXrt8sJ4aVfxHRikjain9nV1clIsWtJ1J3J8NG1ZhjyJFgT00SCvqxbK+pzeWJq6XzHyTCN78ML+lY2w== + +"@oxc-resolver/binding-linux-arm-gnueabihf@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-9.0.2.tgz#e4ef8e0a831fa05101ca8fc0501cd7b536093e66" + integrity sha512-aYpNL6o5IRAUIdoweW21TyLt54Hy/ZS9tvzNzF6ya1ckOQ8DLaGVPjGpmzxdNja9j/bbV6aIzBH7lNcBtiOTkQ== + +"@oxc-resolver/binding-linux-arm64-gnu@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-9.0.2.tgz#c95345cf91b9597a469a8d3028d0b182e2e22055" + integrity sha512-RGFW4vCfKMFEIzb9VCY0oWyyY9tR1/o+wDdNePhiUXZU4SVniRPQaZ1SJ0sUFI1k25pXZmzQmIP6cBmazi/Dew== + +"@oxc-resolver/binding-linux-arm64-musl@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-9.0.2.tgz#d968aadd446a6c1d729764f3ddd0e1b66e3ec53f" + integrity sha512-lxx/PibBfzqYvut2Y8N2D0Ritg9H8pKO+7NUSJb9YjR/bfk2KRmP8iaUz3zB0JhPtf/W3REs65oKpWxgflGToA== + +"@oxc-resolver/binding-linux-riscv64-gnu@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-9.0.2.tgz#698f364bf15489e69c8441c842a09a468c7389ca" + integrity sha512-yD28ptS/OuNhwkpXRPNf+/FvrO7lwURLsEbRVcL1kIE0GxNJNMtKgIE4xQvtKDzkhk6ZRpLho5VSrkkF+3ARTQ== + +"@oxc-resolver/binding-linux-s390x-gnu@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-9.0.2.tgz#dfcbf0531f0ade1197275f40e6f8900635af187c" + integrity sha512-WBwEJdspoga2w+aly6JVZeHnxuPVuztw3fPfWrei2P6rNM5hcKxBGWKKT6zO1fPMCB4sdDkFohGKkMHVV1eryQ== + +"@oxc-resolver/binding-linux-x64-gnu@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-9.0.2.tgz#73f7157f3b052c44c206b672b970da060125c533" + integrity sha512-a2z3/cbOOTUq0UTBG8f3EO/usFcdwwXnCejfXv42HmV/G8GjrT4fp5+5mVDoMByH3Ce3iVPxj1LmS6OvItKMYQ== + +"@oxc-resolver/binding-linux-x64-musl@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-9.0.2.tgz#2b047ce69cb7fa1900174d43e4a7b6027146a449" + integrity sha512-bHZF+WShYQWpuswB9fyxcgMIWVk4sZQT0wnwpnZgQuvGTZLkYJ1JTCXJMtaX5mIFHf69ngvawnwPIUA4Feil0g== + +"@oxc-resolver/binding-wasm32-wasi@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-9.0.2.tgz#df8eab1815ae0da0c70f0f9dda4bcd84c70d7024" + integrity sha512-I5cSgCCh5nFozGSHz+PjIOfrqW99eUszlxKLgoNNzQ1xQ2ou9ZJGzcZ94BHsM9SpyYHLtgHljmOZxCT9bgxYNA== + dependencies: + "@napi-rs/wasm-runtime" "^0.2.9" + +"@oxc-resolver/binding-win32-arm64-msvc@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-9.0.2.tgz#9530c2e08ebb5d02870b004135ef0b4438a620b7" + integrity sha512-5IhoOpPr38YWDWRCA5kP30xlUxbIJyLAEsAK7EMyUgqygBHEYLkElaKGgS0X5jRXUQ6l5yNxuW73caogb2FYaw== + +"@oxc-resolver/binding-win32-x64-msvc@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-9.0.2.tgz#15dc9cecd2e89bbcad07247477fc04dd8c3ffbbe" + integrity sha512-Qc40GDkaad9rZksSQr2l/V9UubigIHsW69g94Gswc2sKYB3XfJXfIfyV8WTJ67u6ZMXsZ7BH1msSC6Aen75mCg== + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" @@ -2070,6 +2168,13 @@ "@tufjs/canonical-json" "2.0.0" minimatch "^9.0.5" +"@tybys/wasm-util@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.9.0.tgz#3e75eb00604c8d6db470bf18c37b7d984a0e3355" + integrity sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw== + dependencies: + tslib "^2.4.0" + "@types/auto-launch@^5.0.1": version "5.0.5" resolved "https://registry.yarnpkg.com/@types/auto-launch/-/auto-launch-5.0.5.tgz#439ed36aaaea501e2e2cfbddd8a20c366c34863b" @@ -3559,7 +3664,7 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enhanced-resolve@^5.17.1, enhanced-resolve@^5.18.1: +enhanced-resolve@^5.17.1: version "5.18.1" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg== @@ -5112,17 +5217,17 @@ keyv@^4.0.0, keyv@^4.5.3: json-buffer "3.0.1" knip@^5.0.0: - version "5.55.1" - resolved "https://registry.yarnpkg.com/knip/-/knip-5.55.1.tgz#8eb293935623274ea62962041a921ba6ac06b3d6" - integrity sha512-NYXjgGrXgMdabUKCP2TlBH/e83m9KnLc1VLyWHUtoRrCEJ/C15YtbafrpTvm3td+jE4VdDPgudvXT1IMtCx8lw== + version "5.58.1" + resolved "https://registry.yarnpkg.com/knip/-/knip-5.58.1.tgz#546afea96e8a3893ad04015dc73038549b13eead" + integrity sha512-9FKnuGhGFZ8wDgcjEYQ6btMmtGHa7dkvNU2ZHuMcv2NaxL7xDeFXZKjETbaiJBjWnLytrDXrh7a58lGXcE0Zfw== dependencies: "@nodelib/fs.walk" "^1.2.3" - enhanced-resolve "^5.18.1" fast-glob "^3.3.3" formatly "^0.2.3" jiti "^2.4.2" js-yaml "^4.1.0" minimist "^1.2.8" + oxc-resolver "^9.0.2" picocolors "^1.1.0" picomatch "^4.0.1" smol-toml "^1.3.1" @@ -5596,10 +5701,10 @@ negotiator@^1.0.0: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== -node-abi@4.8.0, node-abi@^3.3.0, node-abi@^3.45.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-4.8.0.tgz#6e284ed89eab8eb679601da0800d388eaf9dc6fd" - integrity sha512-+P1Mf1XNURT+wN9UK8cjtHSwmmG02iAsX0JaYDDdXgMUe5eybde3AKpGGxOrkDmPkuonYJ6WjIRrNVQe0kjmFg== +node-abi@4.9.0, node-abi@^3.3.0, node-abi@^3.45.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-4.9.0.tgz#ca6dabf7991e54bf3ba6d8d32641e1b84f305263" + integrity sha512-0isb3h+AXUblx5Iv0mnYy2WsErH+dk2e9iXJXdKAtS076Q5hP+scQhp6P4tvDeVlOBlG3ROKvkpQHtbORllq2A== dependencies: semver "^7.6.3" @@ -5881,6 +5986,25 @@ ora@^5.1.0: strip-ansi "^6.0.0" wcwidth "^1.0.1" +oxc-resolver@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/oxc-resolver/-/oxc-resolver-9.0.2.tgz#0a86ee1e26f6c3f5f2af73dece276f8f588d4ef8" + integrity sha512-w838ygc1p7rF+7+h5vR9A+Y9Fc4imy6C3xPthCMkdFUgFvUWkmABeNB8RBDQ6+afk44Q60/UMMQ+gfDUW99fBA== + optionalDependencies: + "@oxc-resolver/binding-darwin-arm64" "9.0.2" + "@oxc-resolver/binding-darwin-x64" "9.0.2" + "@oxc-resolver/binding-freebsd-x64" "9.0.2" + "@oxc-resolver/binding-linux-arm-gnueabihf" "9.0.2" + "@oxc-resolver/binding-linux-arm64-gnu" "9.0.2" + "@oxc-resolver/binding-linux-arm64-musl" "9.0.2" + "@oxc-resolver/binding-linux-riscv64-gnu" "9.0.2" + "@oxc-resolver/binding-linux-s390x-gnu" "9.0.2" + "@oxc-resolver/binding-linux-x64-gnu" "9.0.2" + "@oxc-resolver/binding-linux-x64-musl" "9.0.2" + "@oxc-resolver/binding-wasm32-wasi" "9.0.2" + "@oxc-resolver/binding-win32-arm64-msvc" "9.0.2" + "@oxc-resolver/binding-win32-x64-msvc" "9.0.2" + p-cancelable@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" @@ -7146,6 +7270,11 @@ tsconfig-paths@^3.15.0: minimist "^1.2.6" strip-bom "^3.0.0" +tslib@^2.4.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tsx@^4.19.2: version "4.19.4" resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.19.4.tgz#647b4141f4fdd9d773a9b564876773d2846901f4" @@ -7612,6 +7741,6 @@ zod-validation-error@^3.0.3: integrity sha512-1KP64yqDPQ3rupxNv7oXhf7KdhHHgaqbKuspVoiN93TT0xrBjql+Svjkdjq/Qh/7GSMmgQs3AfvBT0heE35thw== zod@^3.22.4: - version "3.24.4" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.4.tgz#e2e2cca5faaa012d76e527d0d36622e0a90c315f" - integrity sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg== + version "3.25.32" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.32.tgz#769cc684072df780fc8f38130b0cd9283a8d3818" + integrity sha512-OSm2xTIRfW8CV5/QKgngwmQW/8aPfGdaQFlrGoErlgg/Epm7cjb6K6VEyExfe65a3VybUOnu381edLb0dfJl0g== From 4ea7b679e936583b14bef9d835161d4899e7a286 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 07:58:32 +0000 Subject: [PATCH 57/58] Update dependency @types/node to v18.19.105 (#2363) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- yarn.lock | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 12480a4..1eecd97 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@types/auto-launch": "^5.0.1", "@types/counterpart": "^0.18.1", "@types/minimist": "^1.2.1", - "@types/node": "18.19.103", + "@types/node": "18.19.105", "@types/pacote": "^11.1.1", "@typescript-eslint/eslint-plugin": "^8.0.0", "@typescript-eslint/parser": "^8.0.0", @@ -115,7 +115,7 @@ "matrix-seshat": "^4.0.1" }, "resolutions": { - "@types/node": "18.19.103", + "@types/node": "18.19.105", "config-file-ts": "0.2.8-rc1", "node-abi": "4.9.0" } diff --git a/yarn.lock b/yarn.lock index bb4d174..f0594f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2258,10 +2258,10 @@ "@types/node" "*" form-data "^4.0.0" -"@types/node@*", "@types/node@18.19.103", "@types/node@^17.0.36", "@types/node@^22.7.7": - version "18.19.103" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.103.tgz#9bbd31a54e240fc469cca409d7507ebc77536458" - integrity sha512-hHTHp+sEz6SxFsp+SA+Tqrua3AbmlAw+Y//aEwdHrdZkYVRWdvWD3y5uPZ0flYOkgskaFWqZ/YGFm3FaFQ0pRw== +"@types/node@*", "@types/node@18.19.105", "@types/node@^17.0.36", "@types/node@^22.7.7": + version "18.19.105" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.105.tgz#44bae77ea9832da4357e1d35df37cb86927e1405" + integrity sha512-a+DrwD2VyzqQR2W0EVF8EaCh6Em4ilQAYLEPZnMNkQHXR7ziWW7RUhZMWZAgRpkDDAdUIcJOXSPJT/zBEwz3sA== dependencies: undici-types "~5.26.4" From b4c2bc7165d21d542c193035c9c65ac9722e41c9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 08:01:51 +0000 Subject: [PATCH 58/58] Update dependency electron to v36.3.2 (#2364) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1eecd97..9534fea 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "app-builder-lib": "26.0.15", "chokidar": "^4.0.0", "detect-libc": "^2.0.0", - "electron": "36.3.1", + "electron": "36.3.2", "electron-builder": "26.0.15", "electron-builder-squirrel-windows": "26.0.15", "electron-devtools-installer": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index f0594f1..ba3eccf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3626,10 +3626,10 @@ electron-winstaller@5.4.0: optionalDependencies: "@electron/windows-sign" "^1.1.2" -electron@36.3.1: - version "36.3.1" - resolved "https://registry.yarnpkg.com/electron/-/electron-36.3.1.tgz#12a8c1b1cd9163a4bd0cb60f89816243b26ab788" - integrity sha512-LeOZ+tVahmctHaAssLCGRRUa2SAO09GXua3pKdG+WzkbSDMh+3iOPONNVPTqGp8HlWnzGj4r6mhsIbM2RgH+eQ== +electron@36.3.2: + version "36.3.2" + resolved "https://registry.yarnpkg.com/electron/-/electron-36.3.2.tgz#4a60f95e8d3858d01570c03b58dc2fb2f17ee8b6" + integrity sha512-v0/j7n22CL3OYv9BIhq6JJz2+e1HmY9H4bjTk8/WzVT9JwVX/T/21YNdR7xuQ6XDSEo9gP5JnqmjOamE+CUY8Q== dependencies: "@electron/get" "^2.0.0" "@types/node" "^22.7.7"