diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index e6e1b7ac..13acfa72 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -122,12 +122,6 @@ jobs: # We need sudo on Linux as it is installed in /opt/ RUN_AS: ${{ runner.os == 'Linux' && 'sudo' || '' }} - - name: Workaround macOS GHA permission issues - if: runner.os == 'macOS' - run: | - sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);" - sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/opt/off/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);" - - name: Run tests uses: coactions/setup-xvfb@6b00cf1889f4e1d5a48635647013c0508128ee1a timeout-minutes: 5 diff --git a/.github/workflows/build_windows.yaml b/.github/workflows/build_windows.yaml index 2d43a34c..9e3f3416 100644 --- a/.github/workflows/build_windows.yaml +++ b/.github/workflows/build_windows.yaml @@ -37,7 +37,6 @@ jobs: environment: ${{ inputs.sign && 'packages.element.io' || '' }} env: SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.22000.0/x86/signtool.exe" - DEBUG: "electron-builder,electron-windows-sign" steps: - uses: nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f id: config @@ -82,26 +81,26 @@ jobs: # ActiveTCL package on choco is from 2015, # this one is newer but includes more than we need - # - name: Choco install tclsh - # if: steps.cache.outputs.cache-hit != 'true' - # shell: pwsh - # run: | - # choco install -y magicsplat-tcl-tk --no-progress - # echo "${HOME}/AppData/Local/Apps/Tcl86/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + - name: Choco install tclsh + if: steps.cache.outputs.cache-hit != 'true' + shell: pwsh + run: | + choco install -y magicsplat-tcl-tk --no-progress + echo "${HOME}/AppData/Local/Apps/Tcl86/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - # - name: Choco install NetWide Assembler - # if: steps.cache.outputs.cache-hit != 'true' - # shell: pwsh - # run: | - # choco install -y nasm --no-progress - # echo "C:/Program Files/NASM" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + - name: Choco install NetWide Assembler + if: steps.cache.outputs.cache-hit != 'true' + shell: pwsh + run: | + choco install -y nasm --no-progress + echo "C:/Program Files/NASM" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - # - name: Install Rust - # if: steps.cache.outputs.cache-hit != 'true' - # run: | - # rustup toolchain install stable --profile minimal --no-self-update - # rustup default stable - # rustup target add ${{ steps.config.outputs.target }} + - name: Install Rust + if: steps.cache.outputs.cache-hit != 'true' + run: | + rustup toolchain install stable --profile minimal --no-self-update + rustup default stable + rustup target add ${{ steps.config.outputs.target }} - uses: actions/setup-node@v4 with: @@ -112,11 +111,11 @@ jobs: - name: Install Deps run: "yarn install --frozen-lockfile" - # - name: Build Natives - # if: steps.cache.outputs.cache-hit != 'true' - # run: | - # refreshenv - # yarn build:native --target ${{ steps.config.outputs.target }} + - name: Build Natives + if: steps.cache.outputs.cache-hit != 'true' + run: | + refreshenv + yarn build:native --target ${{ steps.config.outputs.target }} - name: Install and configure eSigner CKA run: | diff --git a/package.json b/package.json index 3ed49ea1..00eabfd0 100644 --- a/package.json +++ b/package.json @@ -53,8 +53,7 @@ "test": "playwright test", "test:open": "yarn test --ui", "test:screenshots:build": "docker build playwright -t element-desktop-playwright --platform linux/amd64", - "test:screenshots:run": "docker run --rm --network host -v $(pwd):/work/element-desktop -v /var/run/docker.sock:/var/run/docker.sock --platform linux/amd64 -it element-desktop-playwright", - "postinstall": "patch-package" + "test:screenshots:run": "docker run --rm --network host -v $(pwd):/work/element-desktop -v /var/run/docker.sock:/var/run/docker.sock --platform linux/amd64 -it element-desktop-playwright" }, "dependencies": { "@sentry/electron": "^5.0.0", @@ -83,12 +82,12 @@ "@types/pacote": "^11.1.1", "@typescript-eslint/eslint-plugin": "^8.0.0", "@typescript-eslint/parser": "^8.0.0", - "app-builder-lib": "26.0.6", + "app-builder-lib": "26.0.7", "chokidar": "^4.0.0", "detect-libc": "^2.0.0", "electron": "34.0.2", - "electron-builder": "26.0.6", - "electron-builder-squirrel-windows": "26.0.6", + "electron-builder": "26.0.7", + "electron-builder-squirrel-windows": "26.0.7", "electron-devtools-installer": "^4.0.0", "eslint": "^8.26.0", "eslint-config-google": "^0.14.0", @@ -104,9 +103,7 @@ "matrix-web-i18n": "^3.2.1", "mkdirp": "^3.0.0", "pacote": "^21.0.0", - "patch-package": "^8.0.0", "plist": "^3.1.0", - "postinstall-postinstall": "^2.1.0", "prettier": "^3.0.0", "rimraf": "^6.0.0", "tar": "^7.0.0", diff --git a/patches/electron-builder-squirrel-windows+26.0.6.patch b/patches/electron-builder-squirrel-windows+26.0.6.patch deleted file mode 100644 index f23f69e4..00000000 --- a/patches/electron-builder-squirrel-windows+26.0.6.patch +++ /dev/null @@ -1,183 +0,0 @@ -diff --git a/node_modules/electron-builder-squirrel-windows/out/SquirrelWindowsTarget.js b/node_modules/electron-builder-squirrel-windows/out/SquirrelWindowsTarget.js -index 15312f4..7695162 100644 ---- a/node_modules/electron-builder-squirrel-windows/out/SquirrelWindowsTarget.js -+++ b/node_modules/electron-builder-squirrel-windows/out/SquirrelWindowsTarget.js -@@ -1,11 +1,11 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - const builder_util_1 = require("builder-util"); --const app_builder_lib_1 = require("app-builder-lib"); - const filename_1 = require("builder-util/out/filename"); -+const app_builder_lib_1 = require("app-builder-lib"); - const path = require("path"); - const fs = require("fs"); --const promises_1 = require("fs/promises"); -+const os = require("os"); - const electron_winstaller_1 = require("electron-winstaller"); - class SquirrelWindowsTarget extends app_builder_lib_1.Target { - constructor(packager, outDir) { -@@ -14,8 +14,28 @@ class SquirrelWindowsTarget extends app_builder_lib_1.Target { - this.outDir = outDir; - //tslint:disable-next-line:no-object-literal-type-assertion - this.options = { ...this.packager.platformSpecificBuildOptions, ...this.packager.config.squirrelWindows }; -- this.appDirectory = ""; -- this.outputDirectory = ""; -+ } -+ async prepareSignedVendorDirectory() { -+ // If not specified will use the Squirrel.Windows that is shipped with electron-installer(https://github.com/electron/windows-installer/tree/main/vendor) -+ // After https://github.com/electron-userland/electron-builder-binaries/pull/56 merged, will add `electron-builder-binaries` to get the latest version of squirrel. -+ let vendorDirectory = this.options.customSquirrelVendorDir || path.join(require.resolve("electron-winstaller/package.json"), "..", "vendor"); -+ if ((0, builder_util_1.isEmptyOrSpaces)(vendorDirectory) || !fs.existsSync(vendorDirectory)) { -+ builder_util_1.log.warn({ vendorDirectory }, "unable to access Squirrel.Windows vendor directory, falling back to default electron-winstaller"); -+ vendorDirectory = path.join(require.resolve("electron-winstaller/package.json"), "..", "vendor"); -+ } -+ const tmpVendorDirectory = await this.packager.info.tempDirManager.createTempDir({ prefix: "squirrel-windows-vendor" }); -+ // Copy entire vendor directory to temp directory -+ await fs.promises.cp(vendorDirectory, tmpVendorDirectory, { recursive: true }); -+ builder_util_1.log.debug({ from: vendorDirectory, to: tmpVendorDirectory }, "copied vendor directory"); -+ const files = await fs.promises.readdir(tmpVendorDirectory); -+ for (const file of files) { -+ if (["Squirrel.exe", "StubExecutable.exe"].includes(file)) { -+ const filePath = path.join(tmpVendorDirectory, file); -+ builder_util_1.log.debug({ file: filePath }, "signing vendor executable"); -+ await this.packager.sign(filePath); -+ } -+ } -+ return tmpVendorDirectory; - } - async build(appOutDir, arch) { - const packager = this.packager; -@@ -24,28 +44,35 @@ class SquirrelWindowsTarget extends app_builder_lib_1.Target { - const setupFile = packager.expandArtifactNamePattern(this.options, "exe", arch, "${productName} Setup ${version}.${ext}"); - const installerOutDir = path.join(this.outDir, `squirrel-windows${(0, app_builder_lib_1.getArchSuffix)(arch)}`); - const artifactPath = path.join(installerOutDir, setupFile); -+ const msiArtifactPath = path.join(installerOutDir, packager.expandArtifactNamePattern(this.options, "msi", arch, "${productName} Setup ${version}.${ext}")); - await packager.info.callArtifactBuildStarted({ - targetPresentableName: "Squirrel.Windows", - file: artifactPath, - arch, - }); -- if (arch === app_builder_lib_1.Arch.ia32) { -- builder_util_1.log.warn("For windows consider only distributing 64-bit or use nsis target, see https://github.com/electron-userland/electron-builder/issues/359#issuecomment-214851130"); -- } -- this.appDirectory = appOutDir; -- this.outputDirectory = installerOutDir; -- const distOptions = await this.computeEffectiveDistOptions(); -- if (distOptions.vendorDirectory) { -- this.select7zipArch(distOptions.vendorDirectory, arch); -- } -+ const distOptions = await this.computeEffectiveDistOptions(appOutDir, installerOutDir, setupFile, arch); - await (0, electron_winstaller_1.createWindowsInstaller)(distOptions); -+ await packager.signAndEditResources(artifactPath, arch, installerOutDir); -+ if (this.options.msi) { -+ await packager.sign(msiArtifactPath); -+ } -+ const safeArtifactName = (ext) => `${sanitizedName}-Setup-${version}${(0, app_builder_lib_1.getArchSuffix)(arch)}.${ext}`; - await packager.info.callArtifactBuildCompleted({ - file: artifactPath, - target: this, - arch, -- safeArtifactName: `${sanitizedName}-Setup-${version}${(0, app_builder_lib_1.getArchSuffix)(arch)}.exe`, -+ safeArtifactName: safeArtifactName("exe"), - packager: this.packager, - }); -+ if (this.options.msi) { -+ await packager.info.callArtifactBuildCompleted({ -+ file: msiArtifactPath, -+ target: this, -+ arch, -+ safeArtifactName: safeArtifactName("msi"), -+ packager: this.packager, -+ }); -+ } - const packagePrefix = `${this.appName}-${(0, electron_winstaller_1.convertVersion)(version)}-`; - packager.info.dispatchArtifactCreated({ - file: path.join(installerOutDir, `${packagePrefix}full.nupkg`), -@@ -71,13 +98,28 @@ class SquirrelWindowsTarget extends app_builder_lib_1.Target { - get appName() { - return this.options.name || this.packager.appInfo.name; - } -- select7zipArch(vendorDirectory, arch) { -- // Copy the 7-Zip executable for the configured architecture. -- const resolvedArch = (0, app_builder_lib_1.getArchSuffix)(arch) === "" ? process.arch : (0, app_builder_lib_1.getArchSuffix)(arch); -+ select7zipArch(vendorDirectory) { -+ // https://github.com/electron/windows-installer/blob/main/script/select-7z-arch.js -+ // Even if we're cross-compiling for a different arch like arm64, -+ // we still need to use the 7-Zip executable for the host arch -+ const resolvedArch = os.arch; - fs.copyFileSync(path.join(vendorDirectory, `7z-${resolvedArch}.exe`), path.join(vendorDirectory, "7z.exe")); - fs.copyFileSync(path.join(vendorDirectory, `7z-${resolvedArch}.dll`), path.join(vendorDirectory, "7z.dll")); - } -- async computeEffectiveDistOptions() { -+ async createNuspecTemplateWithProjectUrl() { -+ const templatePath = path.resolve(__dirname, "..", "template.nuspectemplate"); -+ const projectUrl = await this.packager.appInfo.computePackageUrl(); -+ if (projectUrl != null) { -+ const nuspecTemplate = await this.packager.info.tempDirManager.getTempFile({ prefix: "template", suffix: ".nuspectemplate" }); -+ let templateContent = await fs.promises.readFile(templatePath, "utf8"); -+ const searchString = "<%- copyright %>"; -+ templateContent = templateContent.replace(searchString, `${searchString}\n ${projectUrl}`); -+ await fs.promises.writeFile(nuspecTemplate, templateContent); -+ return nuspecTemplate; -+ } -+ return templatePath; -+ } -+ async computeEffectiveDistOptions(appDirectory, outputDirectory, setupFile, arch) { - const packager = this.packager; - let iconUrl = this.options.iconUrl; - if (iconUrl == null) { -@@ -91,42 +133,27 @@ class SquirrelWindowsTarget extends app_builder_lib_1.Target { - } - checkConflictingOptions(this.options); - const appInfo = packager.appInfo; -- // If not specified will use the Squirrel.Windows that is shipped with electron-installer(https://github.com/electron/windows-installer/tree/main/vendor) -- // After https://github.com/electron-userland/electron-builder-binaries/pull/56 merged, will add `electron-builder-binaries` to get the latest version of squirrel. -- let vendorDirectory = this.options.customSquirrelVendorDir; -- if ((0, builder_util_1.isEmptyOrSpaces)(vendorDirectory) || !fs.existsSync(vendorDirectory)) { -- builder_util_1.log.warn({ vendorDirectory }, "unable to access Squirrel.Windows vendor directory, falling back to default electron-winstaller"); -- vendorDirectory = undefined; -- } - const options = { -- appDirectory: this.appDirectory, -- outputDirectory: this.outputDirectory, -+ appDirectory: appDirectory, -+ outputDirectory: outputDirectory, - name: this.options.useAppIdAsId ? appInfo.id : this.appName, -+ title: appInfo.productName || appInfo.name, - version: appInfo.version, - description: appInfo.description, -- exe: `${this.packager.platformSpecificBuildOptions.executableName || this.options.name || appInfo.productName}.exe`, -+ exe: `${appInfo.productFilename || this.options.name || appInfo.productName}.exe`, - authors: appInfo.companyName || "", -+ nuspecTemplate: await this.createNuspecTemplateWithProjectUrl(), - iconUrl, - copyright: appInfo.copyright, -- vendorDirectory, -- nuspecTemplate: path.join(__dirname, "..", "template.nuspectemplate"), - noMsi: !this.options.msi, -+ usePackageJson: false, - }; -- const projectUrl = await appInfo.computePackageUrl(); -- if (projectUrl != null) { -- const nuspecTemplate = await this.packager.info.tempDirManager.getTempFile({ prefix: "template", suffix: ".nuspectemplate" }); -- let templateContent = await (0, promises_1.readFile)(path.resolve(__dirname, "..", "template.nuspectemplate"), "utf8"); -- const searchString = "<%- copyright %>"; -- templateContent = templateContent.replace(searchString, `${searchString}\n ${projectUrl}`); -- await (0, promises_1.writeFile)(nuspecTemplate, templateContent); -- options.nuspecTemplate = nuspecTemplate; -- } -- if (await (await packager.signingManager.value).cscInfo.value) { -- options.windowsSign = { -- hookFunction: async (file) => { -- await packager.sign(file); -- }, -- }; -+ options.vendorDirectory = await this.prepareSignedVendorDirectory(); -+ this.select7zipArch(options.vendorDirectory); -+ options.fixUpPaths = true; -+ options.setupExe = setupFile; -+ if (this.options.msi) { -+ options.setupMsi = setupFile.replace(".exe", ".msi"); - } - if ((0, builder_util_1.isEmptyOrSpaces)(options.description)) { - options.description = this.options.name || appInfo.productName; diff --git a/yarn.lock b/yarn.lock index d0fdeffd..165c9a82 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2416,11 +2416,6 @@ resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99" integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw== -"@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - abbrev@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -2558,10 +2553,10 @@ 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.6: - version "26.0.6" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-26.0.6.tgz#371dea7e67484ba290d4aea152dd0b9c02c9eead" - integrity sha512-RUjrxIUqPNHNg6xOaOApyUTqUxSHtQAfkYwGefy1VjP62E7HJHcccjGWRzylRKP+Xncul8zm+O5Ht5fzTZx0kg== +app-builder-lib@26.0.7: + version "26.0.7" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-26.0.7.tgz#c930a624c8184b39c1974b27505f84eaf89d17b7" + integrity sha512-Sa6qGtt2l9of+KEA2fxdRBNLcWld74xgaP+U3Zr3A0R529Z2jPfUTmLi0dDY3jwRF6uOrsQAEkN+JWWvw5WpPw== dependencies: "@develar/schema-utils" "~2.6.5" "@electron/asar" "3.2.18" @@ -2573,7 +2568,7 @@ app-builder-lib@26.0.6: "@malept/flatpak-bundler" "^0.4.0" "@types/fs-extra" "9.0.13" async-exit-hook "^2.0.1" - builder-util "26.0.4" + builder-util "26.0.7" builder-util-runtime "9.3.1" chromium-pickle-js "^0.2.0" config-file-ts "0.2.8-rc1" @@ -2581,7 +2576,7 @@ app-builder-lib@26.0.6: dotenv "^16.4.5" dotenv-expand "^11.0.6" ejs "^3.1.8" - electron-publish "26.0.4" + electron-publish "26.0.7" fs-extra "^10.1.0" hosted-git-info "^4.1.0" is-ci "^3.0.0" @@ -2834,10 +2829,10 @@ builder-util-runtime@9.3.1: debug "^4.3.4" sax "^1.2.4" -builder-util@26.0.4: - version "26.0.4" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-26.0.4.tgz#7be1333cdd1c5b345c9befc8d75b989628b45851" - integrity sha512-l3q/9sbCW/2+t7fLK2qCb3x+ZPdBOFlEjv4cauOkW3AinaS2KLIEiM0K8BWluHIZuaVc+xziAfTzz0o/6BPS4g== +builder-util@26.0.7: + version "26.0.7" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-26.0.7.tgz#ca420095038d30bd60c4bb1bc3c6879334b0f6cd" + integrity sha512-rZL8wTMtpAM8CZO4l6eIM36oie95LP7de4nEp7ZhQ94JsL7kKT4orPwp6weRzxldXPzNyalUPkhCxJcFDanFIg== dependencies: "7zip-bin" "~5.2.0" "@types/debug" "^4.1.6" @@ -2959,7 +2954,7 @@ call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6: get-intrinsic "^1.2.4" set-function-length "^1.2.1" -call-bind@^1.0.7, call-bind@^1.0.8: +call-bind@^1.0.7: version "1.0.8" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== @@ -2969,14 +2964,6 @@ call-bind@^1.0.7, call-bind@^1.0.8: get-intrinsic "^1.2.4" set-function-length "^1.2.2" -call-bound@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.3.tgz#41cfd032b593e39176a71533ab4f384aa04fd681" - integrity sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA== - dependencies: - call-bind-apply-helpers "^1.0.1" - get-intrinsic "^1.2.6" - callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -3036,7 +3023,7 @@ chromium-pickle-js@^0.2.0: resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw== -ci-info@^3.2.0, ci-info@^3.7.0: +ci-info@^3.2.0: version "3.9.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== @@ -3392,13 +3379,13 @@ dir-compare@^4.2.0: minimatch "^3.0.5" p-limit "^3.1.0 " -dmg-builder@26.0.6: - version "26.0.6" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-26.0.6.tgz#a3346ea7cb46c664c480a9c155b15dcd5b39c05e" - integrity sha512-LwUyKgzct1t6bHhfzx0VFUvmtkrZPfYN2viMAn2nPlGxrEnMDlupUwuvfkrLqs4UuIWHj4RxY7FiaaCsrSmj3w== +dmg-builder@26.0.7: + version "26.0.7" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-26.0.7.tgz#f1a2d7dcfd7cfdc143cabdaf78e9f94df9ce98a3" + integrity sha512-fsMjG/TmwcC7HzjSNi+3mlEUgo0RrWwq44VB9XKcGtTPPfqfSi3JvhWCCsAWzElZ0OtSO/DnK/TNgSqyaG/Ajw== dependencies: - app-builder-lib "26.0.6" - builder-util "26.0.4" + app-builder-lib "26.0.7" + builder-util "26.0.7" builder-util-runtime "9.3.1" fs-extra "^10.1.0" iconv-lite "^0.6.2" @@ -3483,25 +3470,25 @@ ejs@^3.1.8: dependencies: jake "^10.8.5" -electron-builder-squirrel-windows@26.0.6: - version "26.0.6" - resolved "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.0.6.tgz#8841a326fdad5d7a08b9773d0c0d6fe525d7c90c" - integrity sha512-C57NClVtO6RjETIjniCGOR7DE+s1cQ+FkoVzdxGniljlmCoyYD3MUH5LgoqhgKsaoGNP89dCO0e6lcFvt4OxEw== +electron-builder-squirrel-windows@26.0.7: + version "26.0.7" + resolved "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.0.7.tgz#66cb4a0bedea951b61378bd3bad0c60e7c1731ec" + integrity sha512-xNavcnsM55zkfk6gdyhED+eCOMDFK76B+cqYMANMmeoGH4Lcp6jM3nob6CPXrEsXc0yNMVa7enR3wkRsE5IpaA== dependencies: - app-builder-lib "26.0.6" - builder-util "26.0.4" + app-builder-lib "26.0.7" + builder-util "26.0.7" electron-winstaller "5.4.0" -electron-builder@26.0.6: - version "26.0.6" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-26.0.6.tgz#f0b05e285af671aa6c43c233200ddc85ed7e5c7c" - integrity sha512-CYM/8O46S5OaNK44O9NGZeNDVVrXAH9uDV1dcUNWmwq6gIjdEXsJMXZdMQ19PXHOPUZ9pVhnXTSWJrodIOFZ3Q== +electron-builder@26.0.7: + version "26.0.7" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-26.0.7.tgz#4f6724f41735b919514cd1b7462be7eb2d37078a" + integrity sha512-nVSaWw3dMLGGLrI/7WSifYzNGNseIpvmFwBRwi2E8tOUkcqN+em+3qYeRq8k/AYHRDcrmj6UCJJT6rBo+bikfw== dependencies: - app-builder-lib "26.0.6" - builder-util "26.0.4" + app-builder-lib "26.0.7" + builder-util "26.0.7" builder-util-runtime "9.3.1" chalk "^4.1.2" - dmg-builder "26.0.6" + dmg-builder "26.0.7" fs-extra "^10.1.0" is-ci "^3.0.0" lazy-val "^1.0.5" @@ -3515,13 +3502,13 @@ electron-devtools-installer@^4.0.0: dependencies: unzip-crx-3 "^0.2.0" -electron-publish@26.0.4: - version "26.0.4" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-26.0.4.tgz#c7171f959e940e64538225fa3a76931c3c870b5d" - integrity sha512-H6F4bjmL3r0hEnn2d8JLnS02TnRBh0HGmwPv2s5kuFbmyxCbwuOdU3q7aY3fS0jEiBO9B4We6nEdulVPdtoK0w== +electron-publish@26.0.7: + version "26.0.7" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-26.0.7.tgz#b16cd31122233c228c4459cc7ab8dc25c67b6cb3" + integrity sha512-zSCBtAXnLi1QhCDEomIEu22mjKgsf17VYW3fMyZ4Y9Q7s+Ftu9dqbTMaM/e/FBCn9VthnG7C/zPCr1yKpkI+dg== dependencies: "@types/fs-extra" "^9.0.11" - builder-util "26.0.4" + builder-util "26.0.7" builder-util-runtime "9.3.1" chalk "^4.1.2" form-data "^4.0.0" @@ -4127,13 +4114,6 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -find-yarn-workspace-root@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" - integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== - dependencies: - micromatch "^4.0.2" - flat-cache@^3.0.4: version "3.2.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" @@ -4303,7 +4283,7 @@ get-intrinsic@^1.2.1, get-intrinsic@^1.2.3: has-symbols "^1.0.3" hasown "^2.0.0" -get-intrinsic@^1.2.4, get-intrinsic@^1.2.6: +get-intrinsic@^1.2.4: version "1.2.7" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.7.tgz#dcfcb33d3272e15f445d15124bc0a216189b9044" integrity sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA== @@ -4487,7 +4467,7 @@ got@^11.7.0, got@^11.8.5: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -4842,11 +4822,6 @@ is-date-object@^1.0.1: dependencies: has-tostringtag "^1.0.0" -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -4961,13 +4936,6 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" @@ -5106,17 +5074,6 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json-stable-stringify@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.2.1.tgz#addb683c2b78014d0b78d704c2fcbdf0695a60e2" - integrity sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - isarray "^2.0.5" - jsonify "^0.0.1" - object-keys "^1.1.1" - json-stringify-safe@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -5150,11 +5107,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" - integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== - jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -5177,13 +5129,6 @@ keyv@^4.0.0, keyv@^4.5.3: dependencies: json-buffer "3.0.1" -klaw-sync@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" - integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== - dependencies: - graceful-fs "^4.1.11" - knip@^5.0.0: version "5.43.6" resolved "https://registry.yarnpkg.com/knip/-/knip-5.43.6.tgz#7faed2462ddc27e5b2f47a9224b7f51150b71f9b" @@ -5436,7 +5381,7 @@ merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^4.0.2, micromatch@^4.0.8: +micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -5934,14 +5879,6 @@ onetime@^7.0.0: dependencies: mimic-function "^5.0.0" -open@^7.4.2: - version "7.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" - integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - optionator@^0.9.3: version "0.9.4" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" @@ -5969,11 +5906,6 @@ ora@^5.1.0: strip-ansi "^6.0.0" wcwidth "^1.0.1" -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - p-cancelable@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" @@ -6079,27 +6011,6 @@ parse-ms@^4.0.0: resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-4.0.0.tgz#c0c058edd47c2a590151a718990533fd62803df4" integrity sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw== -patch-package@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-8.0.0.tgz#d191e2f1b6e06a4624a0116bcb88edd6714ede61" - integrity sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA== - dependencies: - "@yarnpkg/lockfile" "^1.1.0" - chalk "^4.1.2" - ci-info "^3.7.0" - cross-spawn "^7.0.3" - find-yarn-workspace-root "^2.0.0" - fs-extra "^9.0.0" - json-stable-stringify "^1.0.2" - klaw-sync "^6.0.0" - minimist "^1.2.6" - open "^7.4.2" - rimraf "^2.6.3" - semver "^7.5.3" - slash "^2.0.0" - tmp "^0.0.33" - yaml "^2.2.2" - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -6311,11 +6222,6 @@ postgres-range@^1.1.1: resolved "https://registry.yarnpkg.com/postgres-range/-/postgres-range-1.1.4.tgz#a59c5f9520909bcec5e63e8cf913a92e4c952863" integrity sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== -postinstall-postinstall@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3" - integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ== - postject@^1.0.0-alpha.6: version "1.0.0-alpha.6" resolved "https://registry.yarnpkg.com/postject/-/postject-1.0.0-alpha.6.tgz#9d022332272e2cfce8dea4cfce1ee6dd1b2ee135" @@ -6621,13 +6527,6 @@ rfdc@^1.4.1: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== -rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -6837,11 +6736,6 @@ simple-update-notifier@2.0.0: dependencies: semver "^7.5.3" -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -7204,13 +7098,6 @@ tmp-promise@^3.0.2: dependencies: tmp "^0.2.0" -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - tmp@^0.2.0: version "0.2.3" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" @@ -7667,7 +7554,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.2.2, yaml@^2.7.0: +yaml@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.7.0.tgz#aef9bb617a64c937a9a748803786ad8d3ffe1e98" integrity sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==