From 895ada1ac1bf46ea554a8133f372f3a0e0e73cb5 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 17 Dec 2025 15:59:58 +0100 Subject: [PATCH 01/38] feat(1.107): update patches and build (#2618) --- .github/workflows/insider-linux.yml | 5 + .github/workflows/insider-macos.yml | 2 +- .github/workflows/insider-windows.yml | 21 +- .github/workflows/stable-macos.yml | 2 +- build.sh | 14 +- build/alpine/package_reh.sh | 2 +- build/linux/loong64/electron.sh | 2 +- build/linux/loong64/electron.sha256sums | 20 +- build/linux/package_bin.sh | 11 +- build/linux/package_reh.sh | 54 +- build/linux/riscv64/electron.sh | 2 +- build/linux/riscv64/electron.sha256sums | 22 +- build/windows/package.sh | 9 +- build_cli.sh | 2 + dev/build.sh | 4 + dev/patch.sh | 52 +- dev/update_api.sh | 12 +- dev/update_patches.sh | 100 +- patches/add-remote-url.patch | 28 +- patches/alpine/reh/fix-node-docker.patch | 14 +- patches/binary-name.patch | 16 +- patches/brand.patch | 345 +- patches/cli.patch | 40 +- patches/disable-copilot.patch | 109 +- patches/ext-from-gh.patch | 12 +- patches/feat-user-product.patch | 10 +- patches/fix-build-vsce.patch | 280 ++ patches/fix-keymap.patch | 135 + patches/fix-npm-preinstall.patch | 14 + .../{policies.patch => fix-policies.patch} | 36 +- patches/fix-remote-libs.patch | 14 +- patches/helper/settings.patch | 39 +- patches/linux/arch-0-support.patch | 71 +- patches/linux/arch-1-ppc64le.patch | 298 +- patches/linux/arch-2-riscv64.patch | 184 +- patches/linux/arch-3-loong64.patch | 70 +- patches/linux/arch-4-s390x.patch | 180 +- patches/linux/cli.patch | 26 + patches/linux/client/disable-remote.patch | 12 +- patches/linux/fix-build.patch | 1106 ++++- patches/linux/fix-dependencies.patch | 3640 ----------------- patches/linux/fix-npm-postinstall.patch | 16 +- ...-package.json.patch => package.json.patch} | 0 patches/remove-mangle.patch | 40 +- patches/sourcemaps.patch | 94 +- patches/update-cache-path.patch | 6 +- ...lectron.patch => update-electron.patch.no} | 0 patches/version-0-release.patch | 27 +- patches/version-1-update.patch | 28 +- patches/windows/appx.patch | 51 +- patches/windows/cli.patch | 6 +- prepare_vscode.sh | 4 +- product.json | 21 +- release_notes.md | 4 +- upstream/insider.json | 4 +- 55 files changed, 2469 insertions(+), 4847 deletions(-) create mode 100644 patches/fix-build-vsce.patch create mode 100644 patches/fix-keymap.patch create mode 100644 patches/fix-npm-preinstall.patch rename patches/{policies.patch => fix-policies.patch} (94%) create mode 100644 patches/linux/cli.patch delete mode 100644 patches/linux/fix-dependencies.patch rename patches/linux/reh/s390x/{arch-4-s390x-package.json.patch => package.json.patch} (100%) rename patches/{update-electron.patch => update-electron.patch.no} (100%) diff --git a/.github/workflows/insider-linux.yml b/.github/workflows/insider-linux.yml index 128a208..8f6c6af 100644 --- a/.github/workflows/insider-linux.yml +++ b/.github/workflows/insider-linux.yml @@ -425,6 +425,11 @@ jobs: version: 10 platform: x64 + - name: Setup Node.js environment + uses: actions/setup-node@v6 + with: + node-version-file: '.nvmrc' + - name: Install GH run: ./build/linux/install_gh.sh if: env.SHOULD_DEPLOY == 'yes' diff --git a/.github/workflows/insider-macos.yml b/.github/workflows/insider-macos.yml index 0f18db6..6020c2d 100644 --- a/.github/workflows/insider-macos.yml +++ b/.github/workflows/insider-macos.yml @@ -44,7 +44,7 @@ jobs: fail-fast: false matrix: include: - - runner: macos-13 + - runner: macos-14 vscode_arch: x64 - runner: [self-hosted, macOS, ARM64] vscode_arch: arm64 diff --git a/.github/workflows/insider-windows.yml b/.github/workflows/insider-windows.yml index b103e54..4256fdb 100644 --- a/.github/workflows/insider-windows.yml +++ b/.github/workflows/insider-windows.yml @@ -72,7 +72,10 @@ jobs: compile: needs: - check - runs-on: ubuntu-22.04 + runs-on: windows-2022 + defaults: + run: + shell: bash env: MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }} MS_TAG: ${{ needs.check.outputs.MS_TAG }} @@ -93,11 +96,11 @@ jobs: PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }} run: ./get_pr.sh - - name: Setup GCC - uses: egor-tensin/setup-gcc@v1 - with: - version: 10 - platform: x64 + # - name: Setup GCC + # uses: egor-tensin/setup-gcc@v1 + # with: + # version: 10 + # platform: x64 - name: Setup Node.js environment uses: actions/setup-node@v6 @@ -111,9 +114,9 @@ jobs: python-version: '3.11' if: env.SHOULD_BUILD == 'yes' - - name: Install libkrb5-dev - run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev - if: env.SHOULD_BUILD == 'yes' + # - name: Install libkrb5-dev + # run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev + # if: env.SHOULD_BUILD == 'yes' - name: Clone VSCode repo run: ./get_repo.sh diff --git a/.github/workflows/stable-macos.yml b/.github/workflows/stable-macos.yml index a416810..15cc0b7 100644 --- a/.github/workflows/stable-macos.yml +++ b/.github/workflows/stable-macos.yml @@ -43,7 +43,7 @@ jobs: fail-fast: false matrix: include: - - runner: macos-13 + - runner: macos-14 vscode_arch: x64 - runner: [self-hosted, macOS, ARM64] vscode_arch: arm64 diff --git a/build.sh b/build.sh index 9a16331..bd78e0f 100755 --- a/build.sh +++ b/build.sh @@ -27,7 +27,8 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then rm -f .build/extensions/ms-vscode.js-debug/src/win32-app-container-tokens.*.node # generate Group Policy definitions - node build/lib/policies/policyGenerator build/lib/policies/policyData.jsonc darwin + npm run copy-policy-dto --prefix build + node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc darwin npm run gulp "vscode-darwin-${VSCODE_ARCH}-min-ci" @@ -37,13 +38,14 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then VSCODE_PLATFORM="darwin" elif [[ "${OS_NAME}" == "windows" ]]; then - # generate Group Policy definitions - node build/lib/policies/policyGenerator build/lib/policies/policyData.jsonc win32 - # in CI, packaging will be done by a different job if [[ "${CI_BUILD}" == "no" ]]; then . ../build/windows/rtf/make.sh + # generate Group Policy definitions + npm run copy-policy-dto --prefix build + node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc win32 + npm run gulp "vscode-win32-${VSCODE_ARCH}-min-ci" if [[ "${VSCODE_ARCH}" != "x64" ]]; then @@ -61,6 +63,10 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then # in CI, packaging will be done by a different job if [[ "${CI_BUILD}" == "no" ]]; then + # generate Group Policy definitions + npm run copy-policy-dto --prefix build + node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc linux + npm run gulp "vscode-linux-${VSCODE_ARCH}-min-ci" find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c diff --git a/build/alpine/package_reh.sh b/build/alpine/package_reh.sh index 4ba33e6..3f337f6 100755 --- a/build/alpine/package_reh.sh +++ b/build/alpine/package_reh.sh @@ -41,7 +41,7 @@ for i in {1..5}; do # try 5 times echo "Npm install failed $i, trying again..." done -node build/azure-pipelines/distro/mixin-npm +node build/azure-pipelines/distro/mixin-npm.ts if [[ "${VSCODE_ARCH}" == "x64" ]]; then PA_NAME="linux-alpine" diff --git a/build/linux/loong64/electron.sh b/build/linux/loong64/electron.sh index 5567239..63cb443 100644 --- a/build/linux/loong64/electron.sh +++ b/build/linux/loong64/electron.sh @@ -2,5 +2,5 @@ set -ex -export ELECTRON_VERSION="37.2.5" +export ELECTRON_VERSION="39.2.3" export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}" diff --git a/build/linux/loong64/electron.sha256sums b/build/linux/loong64/electron.sha256sums index 20ea0bd..a727d66 100644 --- a/build/linux/loong64/electron.sha256sums +++ b/build/linux/loong64/electron.sha256sums @@ -1,11 +1,9 @@ -0bc435a6989f120b1f748cd2f8d3fa7ed731c54a0ad797271e479539dca5c4fe *chromedriver-v37.2.5-linux-loong64.zip -6a355cac6c8b02deb413d024ff3224f03717cc0790e3f5a872891ecf79ade20e *electron-v37.2.5-linux-loong64-debug.zip -c091db1993b2bda5426a678c428c5ffc71af9228abc4891a493a1d318e250b0a *electron-v37.2.5-linux-loong64-symbols.zip -d3f615c3ec265a2adbc0ed9088a65e96aa90b392ecd1ea17e8e4dc82728f4a5d *electron-v37.2.5-linux-loong64.zip -17e05db81f5b0cff1327ac153bd20838b3332b78de1b2ffa235e27a30a15024d *ffmpeg-v37.2.5-linux-loong64.zip -eaf1efb230cd9bfee7acd8b553c602ff396c2f667837e968b4c1d5542448b0b3 *hunspell-dictionaries.zip -3eb8b3199f764c63f82960cb1e1945f70af348873133bf9fd70daeefa3ca1bfb *libcxx-headers.zip -2a5ad06e845d59d89b74a97cd2befcfad02f951f8083f02645a9edbb4e7fdcb7 *libcxx-objects-v37.2.5-linux-loong64.zip -24eec3c74d5a05eba53524866a009e257e52e65257caa8e6fda07b82321885eb *libcxxabi-headers.zip -a4015814d6651cf5511b04307aeef51b739d05eed7ff8ab819739dabd0047309 *mksnapshot-v37.2.5-linux-loong64.zip -d1ed2413e007d7adbcd7291158647cfd4908739b034d021c123ca3d11513c31a *node-v37.2.5-headers.tar.gz +d26b2189e7466a08c73861d0225c9b28730fdfc30918f3ea70853b43a2581dc4 *chromedriver-v39.2.3-linux-loong64.zip +8cc36f7468f5b2d98cde3f73c10c535555754c54be43e45c320a382c35b8e466 *electron-v39.2.3-linux-loong64.zip +f6e7462d6fd795ae2b08344ee0fdca817eba148b62a62717b3f512c845d96a64 *ffmpeg-v39.2.3-linux-loong64.zip +b122599dc84b81526ba4eecbca4794f3a2d25300242ad3829d1445cb6948f470 *hunspell-dictionaries.zip +76ef17d2810df5e77c5071863e2a375df914cfb7a362ad0582ee0eedca2441b9 *libcxx-headers.zip +9b61ba9f0780a57ee2749f7963759395784eadcaccc54af313de1a540240298e *libcxx-objects-v39.2.3-linux-loong64.zip +9ae64aff9e391eae401142e55654b5b8cf54d0611b1ecb540f2f4e89a2b4f772 *libcxxabi-headers.zip +7d7e6e08c84aa38b74037f5910534918bc792ffbe2ca6d667067f587f27f5118 *mksnapshot-v39.2.3-linux-loong64.zip +db48f8a9d2271e8b3a1c3f26ea1ae9bd489deb1b464b6ae424a15d5df7529fdc *node-v39.2.3-headers.tar.gz diff --git a/build/linux/package_bin.sh b/build/linux/package_bin.sh index 86eb222..ecb1ecc 100755 --- a/build/linux/package_bin.sh +++ b/build/linux/package_bin.sh @@ -22,7 +22,7 @@ export VSCODE_SYSROOT_PREFIX='-glibc-2.28-gcc-10.5.0' if [[ "${VSCODE_ARCH}" == "arm64" || "${VSCODE_ARCH}" == "armhf" ]]; then export VSCODE_SKIP_SYSROOT=1 - export USE_GNUPP2A=1 + # export USE_GNUPP2A=1 elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent' export VSCODE_SYSROOT_VERSION='20240129-253798' @@ -125,7 +125,14 @@ for i in {1..5}; do # try 5 times echo "Npm install failed $i, trying again..." done -node build/azure-pipelines/distro/mixin-npm +node build/azure-pipelines/distro/mixin-npm.ts + +# delete native files built in the `compile` step +find .build/extensions -type f -name '*.node' -print -delete + +# generate Group Policy definitions +npm run copy-policy-dto --prefix build +node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc linux npm run gulp "vscode-linux-${VSCODE_ARCH}-min-ci" diff --git a/build/linux/package_reh.sh b/build/linux/package_reh.sh index a8f8f4f..9deff45 100755 --- a/build/linux/package_reh.sh +++ b/build/linux/package_reh.sh @@ -18,14 +18,14 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; } GLIBC_VERSION="2.28" GLIBCXX_VERSION="3.4.26" -NODE_VERSION="22.15.1" +NODE_VERSION="22.20.0" export VSCODE_NODEJS_URLROOT='/download/release' export VSCODE_NODEJS_URLSUFFIX='' if [[ "${VSCODE_ARCH}" == "x64" ]]; then GLIBC_VERSION="2.17" - GLIBCXX_VERSION="3.4.22" + GLIBCXX_VERSION="3.4.30" VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-x64" @@ -48,6 +48,8 @@ elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then export VSCODE_SKIP_SYSROOT=1 export USE_GNUPP2A=1 elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then + GLIBC_VERSION="2.28" + VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-ppc64le" VSCODE_SYSROOT_PREFIX="-glibc-${GLIBC_VERSION}" @@ -66,6 +68,8 @@ elif [[ "${VSCODE_ARCH}" == "loong64" ]]; then export VSCODE_SKIP_SETUPENV=1 export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org' elif [[ "${VSCODE_ARCH}" == "s390x" ]]; then + GLIBC_VERSION="2.28" + VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-s390x" VSCODE_SYSROOT_PREFIX="-glibc-${GLIBC_VERSION}" @@ -130,9 +134,6 @@ EOF echo "${INCLUDES}" > "${HOME}/.gyp/include.gypi" fi -mv .npmrc .npmrc.bak -cp ../npmrc .npmrc - for i in {1..5}; do # try 5 times npm ci --prefix build && break if [[ $i == 5 ]]; then @@ -158,6 +159,11 @@ else export VSCODE_SYSROOT_DIR=".build" fi +node build/npm/preinstall.ts + +mv .npmrc .npmrc.bak +cp ../npmrc .npmrc + for i in {1..5}; do # try 5 times npm ci && break if [[ $i == 5 ]]; then @@ -170,26 +176,26 @@ for i in {1..5}; do # try 5 times rm -rf node_modules/@vscode node_modules/node-pty done -if [[ "${VSCODE_ARCH}" == "x64" ]]; then - pushd "remote" +# if [[ "${VSCODE_ARCH}" == "x64" ]]; then +# pushd "remote" - for LIB in @parcel/watcher @vscode/spdlog kerberos node-pty - do - pushd "node_modules/${LIB}" +# for LIB in @parcel/watcher @vscode/spdlog kerberos node-pty +# do +# pushd "node_modules/${LIB}" - CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" npx node-gyp rebuild +# CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" npx node-gyp rebuild - popd - done +# popd +# done - popd - - VERIFY_CXX11=1 -fi +# popd + +# VERIFY_CXX11=1 +# fi mv .npmrc.bak .npmrc -node build/azure-pipelines/distro/mixin-npm +node build/azure-pipelines/distro/mixin-npm.ts export VSCODE_NODE_GLIBC="-glibc-${GLIBC_VERSION}" @@ -200,9 +206,9 @@ if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh - if [[ -n "${VERIFY_CXX11}" ]]; then - SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh - fi + # if [[ -n "${VERIFY_CXX11}" ]]; then + # SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh + # fi pushd "../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" @@ -223,9 +229,9 @@ if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh - if [[ -n "${VERIFY_CXX11}" ]]; then - SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh - fi + # if [[ -n "${VERIFY_CXX11}" ]]; then + # SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh + # fi pushd "../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}" diff --git a/build/linux/riscv64/electron.sh b/build/linux/riscv64/electron.sh index 1fe8eba..277200b 100755 --- a/build/linux/riscv64/electron.sh +++ b/build/linux/riscv64/electron.sh @@ -2,5 +2,5 @@ set -ex -export ELECTRON_VERSION="37.2.3" +export ELECTRON_VERSION="39.2.7" export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}.riscv1" diff --git a/build/linux/riscv64/electron.sha256sums b/build/linux/riscv64/electron.sha256sums index d0ce976..5c501df 100644 --- a/build/linux/riscv64/electron.sha256sums +++ b/build/linux/riscv64/electron.sha256sums @@ -1,11 +1,11 @@ -bec3076d684af4ab7700f13861c3257dc17198970eb498ff2e388db71f61898e *chromedriver-v37.2.3-linux-riscv64.zip -c670aba1b907ef9cbcdb2dccd742604f897eef4719f7ad46f34925197f7ae208 *electron-v37.2.3-linux-riscv64-debug.tar.zst -3ee5a9d29c611a6c685caa291698c3b5f1041bd11b3726137d41931457d6a113 *electron-v37.2.3-linux-riscv64-symbols.tar.zst -33f16380975b2087308f096e4329639f839c58aa1b9cccbee0a915bf3ed7b976 *electron-v37.2.3-linux-riscv64.zip -0ef484d10dd15bb4b44e5862ff8070ec09d94ca0b7c6b062e88c64fa343e2408 *ffmpeg-v37.2.3-linux-riscv64.zip -218a633300feb50ed57ab751374bac8693615ff192c2437067a4bceef84c9cf8 *hunspell-dictionaries.zip -abe24654e394d057dc2bdea9533fcd1790becb822b53d543165c74470694e818 *libcxx-headers.zip -1e6972b9125d1864f32d0f5d1084cf4ea56f7dd2227505271dde15439942c0e4 *libcxx-objects-v37.2.3-linux-riscv64.zip -55fdbc0fc65e176e50c3492dd50a18c9d23e2bd0e45a00a34118d46ed583a8d0 *libcxxabi-headers.zip -b017a16c8f0d8c8076ec71fba5a043951dd88e4fc7d8e8720906a0b9b4a141aa *mksnapshot-v37.2.3-linux-riscv64.zip -0259b1abf0bc8aedb114bac75aadcbb1860fd13ae32a876702ca8e722581f8b2 *node-v37.2.3-headers.tar.gz +6759ef2bd69a2e31a3f0e17c4e4c0bf239b54f08525572201ae7760851168487 *chromedriver-v39.2.7-linux-riscv64.zip +89562e30982d8ac71fbc1e0f549a4a6e19abd5cb98ea904d5f3cfceb7c61e582 *electron-v39.2.7-linux-riscv64-debug.tar.zst +71c6f265a2ef065f478ef910a06466a21009c02783dcb7053767549a6dbeb80d *electron-v39.2.7-linux-riscv64-symbols.tar.zst +136804dbd04f1c6b9a6047c4e7bb648876214ff453b62fb3bdc81505b6f5aab2 *electron-v39.2.7-linux-riscv64.zip +1059d6cb97b87464b3bd415bb5f96fceaf91d6e3af1c9733724ab9f2e14e2a08 *ffmpeg-v39.2.7-linux-riscv64.zip +224a84d4aaceb5ed8be3c4f65f8404d492dc86ded8ab336c2562dfdd21752068 *hunspell-dictionaries.zip +b6cb4f8902aad5de811efd106ddbdbca79e43cb7c8fa67f7eeddaedf2efd82d5 *libcxx-headers.zip +0664e200ec1eab1ce1957bc6e17ad89f6c0d4d904a9492d64fcf4175cd81e537 *libcxx-objects-v39.2.7-linux-riscv64.zip +96f9b66be7ff11e79ec2e781a0025938eb5ef97cbab429c05e9b45d24d421abf *libcxxabi-headers.zip +be0774857454f81b9407f6b941200f8843a0b3ecb86e2bb072209ef9f9bfe74a *mksnapshot-v39.2.7-linux-riscv64.zip +a8fca541e8f9a18de73c78f6862cbf439723c80c5eb60fe50405dfb751d2ee13 *node-v39.2.7-headers.tar.gz diff --git a/build/windows/package.sh b/build/windows/package.sh index 6fa4628..4afa57f 100755 --- a/build/windows/package.sh +++ b/build/windows/package.sh @@ -20,10 +20,17 @@ for i in {1..5}; do # try 5 times echo "Npm install failed $i, trying again..." done -node build/azure-pipelines/distro/mixin-npm +node build/azure-pipelines/distro/mixin-npm.ts + +# delete native files built in the `compile` step +find .build/extensions -type f -name '*.node' -print -delete . ../build/windows/rtf/make.sh +# generate Group Policy definitions +npm run copy-policy-dto --prefix build +node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc win32 + npm run gulp "vscode-win32-${VSCODE_ARCH}-min-ci" . ../build_cli.sh diff --git a/build_cli.sh b/build_cli.sh index 6998735..a2af2d4 100755 --- a/build_cli.sh +++ b/build_cli.sh @@ -32,6 +32,8 @@ if [[ "${OS_NAME}" == "osx" ]]; then export OPENSSL_LIB_DIR="$( pwd )/openssl/out/${VSCODE_ARCH}-osx/lib" export OPENSSL_INCLUDE_DIR="$( pwd )/openssl/out/${VSCODE_ARCH}-osx/include" + rustup target add "${VSCODE_CLI_TARGET}" + cargo build --release --target "${VSCODE_CLI_TARGET}" --bin=code cp "target/${VSCODE_CLI_TARGET}/release/code" "../../VSCode-darwin-${VSCODE_ARCH}/${NAME_SHORT}.app/Contents/Resources/app/bin/${TUNNEL_APPLICATION_NAME}" diff --git a/dev/build.sh b/dev/build.sh index c57741d..4efd296 100755 --- a/dev/build.sh +++ b/dev/build.sh @@ -112,6 +112,10 @@ if [[ "${SKIP_BUILD}" == "no" ]]; then git add . git reset -q --hard HEAD + while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do + git reset -q --hard HEAD~ + done + rm -rf .build out* cd .. diff --git a/dev/patch.sh b/dev/patch.sh index 9ea19cd..123022f 100755 --- a/dev/patch.sh +++ b/dev/patch.sh @@ -13,28 +13,36 @@ while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do git reset -q --hard HEAD~ done -git apply --reject "../patches/helper/settings.patch" +if [[ "${1}" == *patch ]]; then + FILE="../patches/${1}" +else + FILE="../patches/${1}.patch" +fi + +if [[ "${FILE}" != "../patches/helper/settings.patch" ]]; then + git apply --reject "../patches/helper/settings.patch" + + while [ $# -gt 1 ]; do + echo "Parameter: $1" + if [[ "${1}" == *patch ]]; then + FILE="../patches/${1}" + else + FILE="../patches/${1}.patch" + fi + + git apply --reject "${FILE}" + + shift + done + + git add . + git commit --no-verify -q -m "VSCODIUM HELPER" -while [ $# -gt 1 ]; do - echo "Parameter: $1" if [[ "${1}" == *patch ]]; then FILE="../patches/${1}" else FILE="../patches/${1}.patch" fi - - git apply --reject "${FILE}" - - shift -done - -git add . -git commit --no-verify -q -m "VSCODIUM HELPER" - -if [[ "${1}" == *patch ]]; then - FILE="../patches/${1}" -else - FILE="../patches/${1}.patch" fi if [[ -f "${FILE}" ]]; then @@ -47,8 +55,18 @@ fi read -rp "Press any key when the conflict have been resolved..." -n1 -s +while [[ -n "$( find . -name '*.rej' -print )" ]]; do + echo + read -rp "Press any key when the conflict have been resolved..." -n1 -s +done + git add . git diff --staged -U1 > "${FILE}" -git reset -q --hard HEAD~ + +if [[ "${FILE}" != "../patches/helper/settings.patch" ]]; then + git reset -q --hard HEAD +else + git reset -q --hard HEAD~ +fi echo "The patch has been generated." diff --git a/dev/update_api.sh b/dev/update_api.sh index ba27d27..0333774 100755 --- a/dev/update_api.sh +++ b/dev/update_api.sh @@ -14,7 +14,6 @@ while getopts ":i" opt; do esac done - URL=$( curl -s "https://update.code.visualstudio.com/api/update/win32-x64-archive/${VSCODE_QUALITY}/0000000000000000000000000000000000000000" | jq -c '.url' | sed -E 's/.*"([^"]+)".*/\1/' ) # echo "url: ${URL}" FILE="${URL##*/}" @@ -30,10 +29,17 @@ if [[ ! -d "${DIRECTORY}" ]]; then unzip "${FILE}" -d "${DIRECTORY}" fi -APIS=$( jq -r '.extensionEnabledApiProposals' "${DIRECTORY}/resources/app/product.json" ) +BIN_PATH=$(find "${DIRECTORY}/bin" -type f ! -name "*.*") + +LINE="$( grep -E '^[[:space:]]*(export[[:space:]]+)?VERSIONFOLDER[[:space:]]*=' "$BIN_PATH" | tail -n1 )" +VERSIONFOLDER="${LINE#*=}" +VERSIONFOLDER="${VERSIONFOLDER#\"}" +VERSIONFOLDER="${VERSIONFOLDER%\"}" + +APIS=$( jq -r '.extensionEnabledApiProposals' "${DIRECTORY}/${VERSIONFOLDER}/resources/app/product.json" ) APIS=$( echo "${APIS}" | jq '. += {"jeanp413.open-remote-ssh": ["resolvers", "tunnels", "terminalDataWriteEvent", "contribRemoteHelp", "contribViewsRemote"]}' ) APIS=$( echo "${APIS}" | jq '. += {"jeanp413.open-remote-wsl": ["resolvers", "contribRemoteHelp", "contribViewsRemote"]}' ) echo "$( jq --argjson v "${APIS}" 'setpath(["extensionEnabledApiProposals"]; $v)' product.json )" > product.json -APIS=$( jq -r '.extensionsEnabledWithApiProposalVersion' "${DIRECTORY}/resources/app/product.json" ) +APIS=$( jq -r '.extensionsEnabledWithApiProposalVersion' "${DIRECTORY}/${VERSIONFOLDER}/resources/app/product.json" ) echo "$( jq --argjson v "${APIS}" 'setpath(["extensionsEnabledWithApiProposalVersion"]; $v)' product.json )" > product.json diff --git a/dev/update_patches.sh b/dev/update_patches.sh index 81cf5e7..45dd1e1 100755 --- a/dev/update_patches.sh +++ b/dev/update_patches.sh @@ -12,6 +12,75 @@ while getopts ":i" opt; do esac done +generate_rejects() { + local PATCH_FILE="$1" + + if ! command -v python3 >/dev/null 2>&1; then + echo "python3 not found; cannot create reject files for ${PATCH_FILE}" + return 1 + fi + + PATCH_FOR_REJECT="${PATCH_FILE}" python3 <<'PY' +import os +import pathlib +import re +import subprocess + + +def chunk_needs_reject(raw_chunk: str) -> bool: + """Return True when a patch chunk cannot be applied nor reversed.""" + + chunk = raw_chunk if raw_chunk.endswith("\n") else raw_chunk + "\n" + + def _run_git(extra_args): + return subprocess.run( + ["git", "apply", "--check", "--ignore-whitespace", *extra_args], + input=chunk, + text=True, + capture_output=True, + ) + + forward = _run_git([]) + if forward.returncode == 0: + return False + + reverse = _run_git(["--reverse"]) + if reverse.returncode == 0: + return False + + return True + +patch_path = os.environ["PATCH_FOR_REJECT"] +with open(patch_path, "r", encoding="utf-8", errors="ignore") as src: + content = src.read() + +chunks = re.split(r'(?m)^diff --git ', content) +for chunk in chunks: + chunk = chunk.strip() + if not chunk: + continue + chunk = "diff --git " + chunk + match = re.search(r'^diff --git a/(.*?) b/(.*?)$', chunk, re.MULTILINE) + if not match: + continue + a_path, b_path = match.groups() + candidate = b_path if b_path != "/dev/null" else a_path + if candidate in ("/dev/null", ""): + continue + if candidate.startswith("../") or candidate.startswith("..\\") or candidate.startswith("/"): + continue + dest = pathlib.Path(candidate + ".rej") + if not chunk_needs_reject(chunk): + continue + dest.parent.mkdir(parents=True, exist_ok=True) + with dest.open("w", encoding="utf-8") as fh: + fh.write(chunk) + if not chunk.endswith("\n"): + fh.write("\n") + print(f"generated reject: {dest}") +PY +} + check_file() { while [ $# -gt 1 ]; do git apply --reject "${1}" @@ -33,9 +102,26 @@ check_file() { if ! git apply --ignore-whitespace "${1}"; then echo failed to apply patch "${1}" - git apply --reject "${1}" + git apply --reject --verbose "${1}" - read -rp "Press any key when the conflict have been resolved..." -n1 -s + if [[ -z "$( find . -name '*.rej' -print )" ]]; then + echo "no .rej generated by git; creating fallback rejects for ${1}" + + if ! generate_rejects "${1}"; then + echo "failed to generate reject files for ${1}" + exit 1 + fi + + if [[ -z "$( find . -name '*.rej' -print )" ]]; then + echo "still no .rej after attempting to create them for ${1}" + exit 1 + fi + fi + + while [[ -n "$( find . -name '*.rej' -print )" ]]; do + read -rp "Press any key when the conflict have been resolved..." -n1 -s + echo + done git restore .vscode/settings.json git add . @@ -52,8 +138,16 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; } git add . git reset -q --hard HEAD +while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do + git reset -q --hard HEAD~ +done + for FILE in ../patches/*.patch; do - check_file "${FILE}" + if [[ "${FILE}" == *"/fix-policies.patch" ]]; then + check_file "../patches/fix-keymap.patch" "../patches/fix-policies.patch" + else + check_file "${FILE}" + fi done if [[ "${VSCODE_QUALITY}" == "insider" ]]; then diff --git a/patches/add-remote-url.patch b/patches/add-remote-url.patch index 9bf5306..3e86344 100644 --- a/patches/add-remote-url.patch +++ b/patches/add-remote-url.patch @@ -1,18 +1,18 @@ -diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js -index c1d64c0..3e60e80 100644 ---- a/build/gulpfile.reh.js -+++ b/build/gulpfile.reh.js -@@ -321,3 +321,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa +diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts +index cb1a0a5..dacedc3 100644 +--- a/build/gulpfile.reh.ts ++++ b/build/gulpfile.reh.ts +@@ -323,3 +323,3 @@ function packageTask(type: string, platform: string, arch: string, sourceFolderN const productJsonStream = gulp.src(['product.json'], { base: '.' }) -- .pipe(json({ commit, date: readISODate('out-build'), version })) -+ .pipe(json({ commit, date: readISODate('out-build'), version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' })) +- .pipe(jsonEditor({ commit, date: readISODate('out-build'), version })) ++ .pipe(jsonEditor({ commit, date: readISODate('out-build'), version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' })) .pipe(es.through(function (file) { -diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js -index 7046ee0..9aa7bb0 100644 ---- a/build/gulpfile.vscode.js -+++ b/build/gulpfile.vscode.js -@@ -288,3 +288,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op +diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts +index d3ab651..1000abc 100644 +--- a/build/gulpfile.vscode.ts ++++ b/build/gulpfile.vscode.ts +@@ -272,3 +272,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d const productJsonStream = gulp.src(['product.json'], { base: '.' }) -- .pipe(json({ commit, date: readISODate('out-build'), checksums, version })) -+ .pipe(json({ commit, date: readISODate('out-build'), checksums, version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' })) +- .pipe(jsonEditor({ commit, date: readISODate('out-build'), checksums, version })) ++ .pipe(jsonEditor({ commit, date: readISODate('out-build'), checksums, version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' })) .pipe(es.through(function (file) { diff --git a/patches/alpine/reh/fix-node-docker.patch b/patches/alpine/reh/fix-node-docker.patch index 0b3d191..5374668 100644 --- a/patches/alpine/reh/fix-node-docker.patch +++ b/patches/alpine/reh/fix-node-docker.patch @@ -1,9 +1,9 @@ -diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js -index e12a33e..9300d62 100644 ---- a/build/gulpfile.reh.js -+++ b/build/gulpfile.reh.js -@@ -188,5 +188,16 @@ function getNodeChecksum(expectedName) { - function extractAlpinefromDocker(nodeVersion, platform, arch) { +diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts +index cb1a0a5..375851e 100644 +--- a/build/gulpfile.reh.ts ++++ b/build/gulpfile.reh.ts +@@ -159,5 +159,16 @@ function getNodeChecksum(expectedName: string): string | undefined { + function extractAlpinefromDocker(nodeVersion: string, platform: string, arch: string) { - const imageName = arch === 'arm64' ? 'arm64v8/node' : 'node'; + let imageName = 'node'; + let dockerPlatform = ''; @@ -20,4 +20,4 @@ index e12a33e..9300d62 100644 log(`Downloading node.js ${nodeVersion} ${platform} ${arch} from docker image ${imageName}`); - const contents = cp.execSync(`docker run --rm ${imageName}:${nodeVersion}-alpine /bin/sh -c 'cat \`which node\`'`, { maxBuffer: 100 * 1024 * 1024, encoding: 'buffer' }); + const contents = cp.execSync(`docker run --rm ${dockerPlatform} ${imageName}:${nodeVersion}-alpine /bin/sh -c 'cat \`which node\`'`, { maxBuffer: 200 * 1024 * 1024, encoding: 'buffer' }); - return es.readArray([new File({ path: 'node', contents, stat: { mode: parseInt('755', 8) } })]); + // eslint-disable-next-line local/code-no-dangerous-type-assertions diff --git a/patches/binary-name.patch b/patches/binary-name.patch index fadbbc3..b8214df 100644 --- a/patches/binary-name.patch +++ b/patches/binary-name.patch @@ -1,22 +1,22 @@ -diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js -index 7046ee0..faca888 100644 ---- a/build/gulpfile.vscode.js -+++ b/build/gulpfile.vscode.js -@@ -376,3 +376,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op +diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts +index d3ab651..63cd71f 100644 +--- a/build/gulpfile.vscode.ts ++++ b/build/gulpfile.vscode.ts +@@ -369,3 +369,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d .pipe(replace('@@APPNAME@@', product.applicationName)) - .pipe(rename('bin/code')); + .pipe(rename('bin/' + product.applicationName)); const policyDest = gulp.src('.build/policies/darwin/**', { base: '.build/policies/darwin' }) diff --git a/src/vs/platform/native/electron-main/nativeHostMainService.ts b/src/vs/platform/native/electron-main/nativeHostMainService.ts -index 6324e98..3d2fba3 100644 +index 2c3b710..8041f08 100644 --- a/src/vs/platform/native/electron-main/nativeHostMainService.ts +++ b/src/vs/platform/native/electron-main/nativeHostMainService.ts -@@ -445,3 +445,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain +@@ -503,3 +503,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain private async getShellCommandLink(): Promise<{ readonly source: string; readonly target: string }> { - const target = resolve(this.environmentMainService.appRoot, 'bin', 'code'); + const target = resolve(this.environmentMainService.appRoot, 'bin', this.productService.applicationName); const source = `/usr/local/bin/${this.productService.applicationName}`; -@@ -680,3 +680,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain +@@ -772,3 +772,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain if (this.environmentMainService.isBuilt) { - return join(this.environmentMainService.appRoot, 'bin', 'code'); + return join(this.environmentMainService.appRoot, 'bin', `${this.productService.applicationName}`); diff --git a/patches/brand.patch b/patches/brand.patch index d9b7d4f..78c2543 100644 --- a/patches/brand.patch +++ b/patches/brand.patch @@ -73,37 +73,37 @@ index 187100b..7514367 100644 +const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75.0 as !!APP_NAME!! will generate these automatically from your package.json contribution declarations."); const starActivation = l10n.t("Using '*' activation is usually a bad idea as it impacts performance."); diff --git a/extensions/git/package.nls.json b/extensions/git/package.nls.json -index 4d037b4..7d0a991 100644 +index b216764..abc245d 100644 --- a/extensions/git/package.nls.json +++ b/extensions/git/package.nls.json -@@ -244,3 +244,3 @@ +@@ -245,3 +245,3 @@ "{Locked='](command:git.showOutput'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -272,4 +272,4 @@ +@@ -273,4 +273,4 @@ "config.showCommitInput": "Controls whether to show the commit input in the Git source control panel.", - "config.terminalAuthentication": "Controls whether to enable VS Code to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.", - "config.terminalGitEditor": "Controls whether to enable VS Code to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.", + "config.terminalAuthentication": "Controls whether to enable !!APP_NAME!! to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.", + "config.terminalGitEditor": "Controls whether to enable !!APP_NAME!! to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.", "config.timeline.showAuthor": "Controls whether to show the commit author in the Timeline view.", -@@ -341,3 +341,3 @@ +@@ -342,3 +342,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -351,3 +351,3 @@ +@@ -352,3 +352,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -361,3 +361,3 @@ +@@ -362,3 +362,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -373,6 +373,6 @@ +@@ -374,6 +374,6 @@ "view.workbench.scm.disabled": { - "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -112,7 +112,7 @@ index 4d037b4..7d0a991 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -381,6 +381,6 @@ +@@ -382,6 +382,6 @@ "view.workbench.scm.empty": { - "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -121,7 +121,7 @@ index 4d037b4..7d0a991 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -389,6 +389,6 @@ +@@ -390,6 +390,6 @@ "view.workbench.scm.folder": { - "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -130,7 +130,7 @@ index 4d037b4..7d0a991 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -397,6 +397,6 @@ +@@ -398,6 +398,6 @@ "view.workbench.scm.workspace": { - "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -139,7 +139,7 @@ index 4d037b4..7d0a991 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -405,6 +405,6 @@ +@@ -406,6 +406,6 @@ "view.workbench.scm.emptyWorkspace": { - "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -148,27 +148,27 @@ index 4d037b4..7d0a991 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -423,3 +423,3 @@ +@@ -424,3 +424,3 @@ "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -432,3 +432,3 @@ +@@ -433,3 +433,3 @@ "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -440,3 +440,3 @@ +@@ -441,3 +441,3 @@ "{Locked='](command:git.manageUnsafeRepositories'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -448,3 +448,3 @@ +@@ -449,3 +449,3 @@ "{Locked='](command:git.manageUnsafeRepositories'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -453,6 +453,6 @@ +@@ -454,6 +454,6 @@ "view.workbench.scm.closedRepository": { - "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -177,7 +177,7 @@ index 4d037b4..7d0a991 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -461,6 +461,6 @@ +@@ -462,6 +462,6 @@ "view.workbench.scm.closedRepositories": { - "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -186,12 +186,12 @@ index 4d037b4..7d0a991 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -472,3 +472,3 @@ +@@ -473,3 +473,3 @@ "{Locked='](command:git.clone'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -476,3 +476,3 @@ +@@ -477,3 +477,3 @@ }, - "view.workbench.learnMore": "To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm)." + "view.workbench.learnMore": "To learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm)." @@ -361,22 +361,22 @@ index a8bbe5d..00694dc 100644 + "comment": "The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks !!APP_NAME!! / Atom, see https://github.com/textmate/swift.tmbundle/issues/29", "name": "support.variable.swift", diff --git a/extensions/typescript-language-features/package.nls.json b/extensions/typescript-language-features/package.nls.json -index ceb221b..09fb65f 100644 +index fb28b2a..788780a 100644 --- a/extensions/typescript-language-features/package.nls.json +++ b/extensions/typescript-language-features/package.nls.json -@@ -80,4 +80,4 @@ +@@ -82,4 +82,4 @@ "configuration.tsserver.experimental.enableProjectDiagnostics": "Enables project wide error reporting.", - "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VS Code's locale.", - "typescript.locale.auto": "Use VS Code's configured display language.", + "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use !!APP_NAME!!'s locale.", + "typescript.locale.auto": "Use !!APP_NAME!!'s configured display language.", "configuration.implicitProjectConfig.module": "Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module.", -@@ -164,3 +164,3 @@ +@@ -166,3 +166,3 @@ "typescript.workspaceSymbols.excludeLibrarySymbols": "Exclude symbols that come from library files in `Go to Symbol in Workspace` results. Requires using TypeScript 5.3+ in the workspace.", - "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in VS Code.", + "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in !!APP_NAME!!.", "typescript.updateImportsOnFileMove.enabled.prompt": "Prompt on each rename.", -@@ -171,5 +171,5 @@ +@@ -173,5 +173,5 @@ "configuration.suggest.completeJSDocs": "Enable/disable suggestion to complete JSDoc comments.", - "configuration.tsserver.useVsCodeWatcher": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.", + "configuration.tsserver.useVsCodeWatcher": "Use !!APP_NAME!!'s file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.", @@ -384,7 +384,7 @@ index ceb221b..09fb65f 100644 - "configuration.tsserver.watchOptions.vscode": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.", + "configuration.tsserver.watchOptions.vscode": "Use !!APP_NAME!!'s file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.", "configuration.tsserver.watchOptions.watchFile": "Strategy for how individual files are watched.", -@@ -223,6 +223,6 @@ +@@ -225,6 +225,6 @@ "configuration.suggest.objectLiteralMethodSnippets.enabled": "Enable/disable snippet completions for methods in object literals.", - "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that VS Code is running in a trusted context.", + "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that !!APP_NAME!! is running in a trusted context.", @@ -393,7 +393,7 @@ index ceb221b..09fb65f 100644 - "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VS Code to detect a Node installation.", + "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want !!APP_NAME!! to detect a Node installation.", "configuration.updateImportsOnPaste": "Automatically update imports when pasting code. Requires TypeScript 5.6+.", -@@ -238,7 +238,7 @@ +@@ -240,7 +240,7 @@ "walkthroughs.nodejsWelcome.debugJsFile.title": "Run and Debug your JavaScript", - "walkthroughs.nodejsWelcome.debugJsFile.description": "Once you've installed Node.js, you can run JavaScript programs at a terminal by entering ``node your-file-name.js``\nAnother easy way to run Node.js programs is by using VS Code's debugger which lets you run your code, pause at different points, and help you understand what's going on step-by-step.\n[Start Debugging](command:javascript-walkthrough.commands.debugJsFile)", - "walkthroughs.nodejsWelcome.debugJsFile.altText": "Debug and run your JavaScript code in Node.js with Visual Studio Code.", @@ -406,10 +406,10 @@ index ceb221b..09fb65f 100644 + "walkthroughs.nodejsWelcome.learnMoreAboutJs.altText": "Learn more about JavaScript and Node.js in !!APP_NAME!!." } diff --git a/extensions/typescript-language-features/src/tsServer/versionManager.ts b/extensions/typescript-language-features/src/tsServer/versionManager.ts -index 43a2413..ba7934f 100644 +index dcfee49..35e9ef3 100644 --- a/extensions/typescript-language-features/src/tsServer/versionManager.ts +++ b/extensions/typescript-language-features/src/tsServer/versionManager.ts -@@ -100,3 +100,3 @@ export class TypeScriptVersionManager extends Disposable { +@@ -111,3 +111,3 @@ export class TypeScriptVersionManager extends Disposable { ? '• ' - : '') + vscode.l10n.t("Use VS Code's Version"), + : '') + vscode.l10n.t("Use !!APP_NAME!!'s Version"), @@ -452,7 +452,7 @@ index 207698d..9948527 100644 + vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList)); } else { diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json -index 10eb7e6..10c5a19 100644 +index f18cecc..e8b10ae 100644 --- a/extensions/vscode-api-tests/package.json +++ b/extensions/vscode-api-tests/package.json @@ -2,3 +2,3 @@ @@ -461,7 +461,7 @@ index 10eb7e6..10c5a19 100644 + "description": "API tests for !!APP_NAME!!", "version": "0.0.1", diff --git a/extensions/vscode-colorize-tests/package.json b/extensions/vscode-colorize-tests/package.json -index 4959276..41d5ae7 100644 +index 1abff3d..5d87461 100644 --- a/extensions/vscode-colorize-tests/package.json +++ b/extensions/vscode-colorize-tests/package.json @@ -2,3 +2,3 @@ @@ -487,7 +487,7 @@ index 6680753..da1795a 100644 + "c": "broken highlighting in !!APP_NAME!!", "t": "source.css.less meta.selector.less meta.group.less meta.property-value.less string.quoted.double.less", diff --git a/extensions/vscode-test-resolver/package.json b/extensions/vscode-test-resolver/package.json -index c96c1d5..3288347 100644 +index 0990d7c..e34d7c4 100644 --- a/extensions/vscode-test-resolver/package.json +++ b/extensions/vscode-test-resolver/package.json @@ -2,3 +2,3 @@ @@ -539,15 +539,15 @@ index 74d25c6..878e228 100644 + progress.report({ message: 'Installing !!APP_NAME!! Server' }); serverLocation = await downloadAndUnzipVSCodeServer(updateUrl, commit, quality, serverBin, m => outputChannel.appendLine(m)); diff --git a/src/main.ts b/src/main.ts -index 7b7e1da..f0a4f6c 100644 +index ec188d0..bb0f727 100644 --- a/src/main.ts +++ b/src/main.ts -@@ -409,3 +409,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -408,3 +408,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { const defaultArgvConfigContent = [ - '// This configuration file allows you to pass permanent command line arguments to VS Code.', + '// This configuration file allows you to pass permanent command line arguments to !!APP_NAME!!.', '// Only a subset of arguments is currently supported to reduce the likelihood of breaking', -@@ -415,6 +415,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -414,6 +414,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { '//', - '// NOTE: Changing this file requires a restart of VS Code.', + '// NOTE: Changing this file requires a restart of !!APP_NAME!!.', @@ -584,7 +584,7 @@ index c256dba..10a79c8 100644 +export const ProductQualityContext = new RawContextKey('productQualityType', '', localize('productQualityType', "Quality type of !!APP_NAME!!")); diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagement/node/extensionManagementService.ts -index 0b2e320..a6a37d1 100644 +index cdf0c67..d567815 100644 --- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts +++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts @@ -153,3 +153,3 @@ export class ExtensionManagementService extends AbstractExtensionManagementServi @@ -603,10 +603,10 @@ index 0b2e320..a6a37d1 100644 + throw new Error(nls.localize('restartCode', "Please restart !!APP_NAME!! before reinstalling {0}.", this.manifest.displayName || this.manifest.name)); } diff --git a/src/vs/platform/extensions/common/extensionValidator.ts b/src/vs/platform/extensions/common/extensionValidator.ts -index 0683f68..7e27873 100644 +index 8740151..dfa35a5 100644 --- a/src/vs/platform/extensions/common/extensionValidator.ts +++ b/src/vs/platform/extensions/common/extensionValidator.ts -@@ -374,5 +374,5 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: any): b +@@ -374,5 +374,5 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: string[ if (incompatibleProposals.length === 1) { - notices.push(nls.localize('apiProposalMismatch1', "This extension is using the API proposal '{0}' that is not compatible with the current version of VS Code.", incompatibleProposals[0])); + notices.push(nls.localize('apiProposalMismatch1', "This extension is using the API proposal '{0}' that is not compatible with the current version of !!APP_NAME!!.", incompatibleProposals[0])); @@ -615,7 +615,7 @@ index 0683f68..7e27873 100644 + notices.push(nls.localize('apiProposalMismatch2', "This extension is using the API proposals {0} and '{1}' that are not compatible with the current version of !!APP_NAME!!.", incompatibleProposals.slice(0, incompatibleProposals.length - 1).map(p => `'${p}'`).join(', '), diff --git a/src/vs/platform/externalTerminal/node/externalTerminalService.ts b/src/vs/platform/externalTerminal/node/externalTerminalService.ts -index ca6c82b..56fab2c 100644 +index 4813da4..9f8fd41 100644 --- a/src/vs/platform/externalTerminal/node/externalTerminalService.ts +++ b/src/vs/platform/externalTerminal/node/externalTerminalService.ts @@ -17,3 +17,3 @@ import { ITerminalEnvironment } from '../../terminal/common/terminal.js'; @@ -624,10 +624,10 @@ index ca6c82b..56fab2c 100644 +const TERMINAL_TITLE = nls.localize('console.title', "!!APP_NAME!! Console"); diff --git a/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts b/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts -index bbd4bee..ba81c21 100644 +index 30339af..da4d704 100644 --- a/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts +++ b/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts -@@ -338,3 +338,3 @@ const terminalPlatformConfiguration: IConfigurationNode = { +@@ -339,3 +339,3 @@ const terminalPlatformConfiguration: IConfigurationNode = { scope: ConfigurationScope.APPLICATION, - description: localize('terminal.integrated.inheritEnv', "Whether new shells should inherit their environment from VS Code, which may source a login shell to ensure $PATH and other development variables are initialized. This has no effect on Windows."), + description: localize('terminal.integrated.inheritEnv', "Whether new shells should inherit their environment from !!APP_NAME!!, which may source a login shell to ensure $PATH and other development variables are initialized. This has no effect on Windows."), @@ -642,7 +642,7 @@ index e5fb1ab..bd4740b 100644 + description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new !!APP_NAME!! versions in the background on Windows."), included: isWindows && !isWeb diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts -index 48d0d86..cbd5a33 100644 +index ed8043f..ca7a4dc 100644 --- a/src/vs/platform/update/electron-main/abstractUpdateService.ts +++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts @@ -23,3 +23,3 @@ export type UpdateErrorClassification = { @@ -662,25 +662,25 @@ index b78ebc5..9b0eb56 100644 + comment: 'This is used to know how often !!APP_NAME!! has successfully downloaded the update.'; }; diff --git a/src/vs/server/node/server.cli.ts b/src/vs/server/node/server.cli.ts -index 69b17e1..eaf400a 100644 +index 6a0eacf..2959dad 100644 --- a/src/vs/server/node/server.cli.ts +++ b/src/vs/server/node/server.cli.ts -@@ -469,3 +469,3 @@ function asExtensionIdOrVSIX(inputs: string[] | undefined) { +@@ -474,3 +474,3 @@ function asExtensionIdOrVSIX(inputs: string[] | undefined) { function fatal(message: string, err: unknown): void { - console.error('Unable to connect to VS Code server: ' + message); + console.error('Unable to connect to !!APP_NAME!! server: ' + message); console.error(err); diff --git a/src/vs/workbench/api/browser/mainThreadAuthentication.ts b/src/vs/workbench/api/browser/mainThreadAuthentication.ts -index af3845c..0f75728 100644 +index c982088..5e3d33e 100644 --- a/src/vs/workbench/api/browser/mainThreadAuthentication.ts +++ b/src/vs/workbench/api/browser/mainThreadAuthentication.ts -@@ -504,3 +504,3 @@ export class MainThreadAuthentication extends Disposable implements MainThreadAu +@@ -529,3 +529,3 @@ export class MainThreadAuthentication extends Disposable implements MainThreadAu owner: 'TylerLeonhardt'; - comment: 'Used to see which extensions are using the VSCode client id override'; + comment: 'Used to see which extensions are using the !!APP_NAME!! client id override'; extensionId: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The extension id.' }; diff --git a/src/vs/workbench/api/browser/viewsExtensionPoint.ts b/src/vs/workbench/api/browser/viewsExtensionPoint.ts -index c0ff40a..5b508f3 100644 +index ed0d099..0acc7b0 100644 --- a/src/vs/workbench/api/browser/viewsExtensionPoint.ts +++ b/src/vs/workbench/api/browser/viewsExtensionPoint.ts @@ -45,3 +45,3 @@ const viewsContainerSchema: IJSONSchema = { @@ -717,6 +717,15 @@ index 0d71384..ae8d169 100644 - test('Opening a notebook results in VS Code firing the event onDidChangeActiveNotebookEditor twice #118470', function () { + test('Opening a notebook results in !!APP_NAME!! firing the event onDidChangeActiveNotebookEditor twice #118470', function () { let count = 0; +diff --git a/src/vs/workbench/browser/actions/developerActions.ts b/src/vs/workbench/browser/actions/developerActions.ts +index 1fda3db..bbadf28 100644 +--- a/src/vs/workbench/browser/actions/developerActions.ts ++++ b/src/vs/workbench/browser/actions/developerActions.ts +@@ -688,3 +688,3 @@ class PolicyDiagnosticsAction extends Action2 { + +- let content = '# VS Code Policy Diagnostics\n\n'; ++ let content = '# !!APP_NAME!! Policy Diagnostics\n\n'; + content += '*WARNING: This file may contain sensitive information.*\n\n'; diff --git a/src/vs/workbench/browser/actions/helpActions.ts b/src/vs/workbench/browser/actions/helpActions.ts index 2487213..a22b4d1 100644 --- a/src/vs/workbench/browser/actions/helpActions.ts @@ -736,7 +745,7 @@ index e342f83..7c314e6 100644 + throw new Error('Unable to create the !!APP_NAME!! workbench more than once.'); } else { diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts -index d049eee..d1c4265 100644 +index 8715c5e..9070d95 100644 --- a/src/vs/workbench/browser/workbench.contribution.ts +++ b/src/vs/workbench/browser/workbench.contribution.ts @@ -724,3 +724,3 @@ const registry = Registry.as(ConfigurationExtensions.Con @@ -744,22 +753,85 @@ index d049eee..d1c4265 100644 - localize('appName', "`${appName}`: e.g. VS Code."), + localize('appName', "`${appName}`: e.g. !!APP_NAME!!."), localize('remoteName', "`${remoteName}`: e.g. SSH"), -diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup.ts b/src/vs/workbench/contrib/chat/browser/chatSetup.ts -index 45215b1..431716c 100644 ---- a/src/vs/workbench/contrib/chat/browser/chatSetup.ts -+++ b/src/vs/workbench/contrib/chat/browser/chatSetup.ts -@@ -158,3 +158,3 @@ class SetupAgent extends Disposable implements IChatAgentImplementation { +diff --git a/src/vs/workbench/common/contextkeys.ts b/src/vs/workbench/common/contextkeys.ts +index c0528fe..d1fd07f 100644 +--- a/src/vs/workbench/common/contextkeys.ts ++++ b/src/vs/workbench/common/contextkeys.ts +@@ -39,3 +39,3 @@ export const EmbedderIdentifierContext = new RawContextKey(' + +-export const InAutomationContext = new RawContextKey('inAutomation', false, localize('inAutomation', "Whether VS Code is running under automation/smoke test")); ++export const InAutomationContext = new RawContextKey('inAutomation', false, localize('inAutomation', "Whether !!APP_NAME!! is running under automation/smoke test")); + +diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +index ee0b4a4..38040b2 100644 +--- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts ++++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +@@ -409,3 +409,3 @@ configurationRegistry.registerConfiguration({ + nls.localize('chat.mcp.access.none', "No access to MCP servers."), +- nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), ++ nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), + nls.localize('chat.mcp.access.any', "Allow access to any installed MCP server.") +@@ -436,3 +436,3 @@ configurationRegistry.registerConfiguration({ + { +- key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), ++ key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), + }, +diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts +index 7e6f2a9..00be07b 100644 +--- a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts ++++ b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts +@@ -104,3 +104,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { // Register VSCode agent - const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Chat, undefined, context, controller); + const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Chat, undefined, context, controller); disposables.add(vscodeDisposable); -@@ -175,4 +175,4 @@ class SetupAgent extends Disposable implements IChatAgentImplementation { +@@ -121,4 +121,4 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { displayName: localize('setupToolDisplayName', "New Workspace"), -- modelDescription: localize('setupToolsDescription', "Scaffold a new workspace in VS Code"), +- modelDescription: 'Scaffold a new workspace in VS Code', - userDescription: localize('setupToolsDescription', "Scaffold a new workspace in VS Code"), -+ modelDescription: localize('setupToolsDescription', "Scaffold a new workspace in !!APP_NAME!!"), ++ modelDescription: 'Scaffold a new workspace in !!APP_NAME!!', + userDescription: localize('setupToolsDescription', "Scaffold a new workspace in !!APP_NAME!!"), canBeReferencedInPrompt: true, +diff --git a/src/vs/workbench/contrib/chat/browser/languageModelToolsService.ts b/src/vs/workbench/contrib/chat/browser/languageModelToolsService.ts +index 8823457..9beb9a7 100644 +--- a/src/vs/workbench/contrib/chat/browser/languageModelToolsService.ts ++++ b/src/vs/workbench/contrib/chat/browser/languageModelToolsService.ts +@@ -142,3 +142,3 @@ export class LanguageModelToolsService extends Disposable implements ILanguageMo + icon: ThemeIcon.fromId(Codicon.vscode.id), +- description: localize('copilot.toolSet.vscode.description', 'Use VS Code features'), ++ description: localize('copilot.toolSet.vscode.description', 'Use !!APP_NAME!! features'), + } +diff --git a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts +index cb05edd..9d91520 100644 +--- a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts ++++ b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts +@@ -179,5 +179,5 @@ export class PromptValidator { + if (validGithubCopilotAttributeNames.value.has(attribute.key)) { +- report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in VS Code.", attribute.key), attribute.range, MarkerSeverity.Info)); ++ report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in !!APP_NAME!!.", attribute.key), attribute.range, MarkerSeverity.Info)); + } else { +- report(toMarker(localize('promptValidator.unknownAttribute.vscode-agent', "Attribute '{0}' is not supported in VS Code agent files. Supported: {1}.", attribute.key, supportedNames.value), attribute.range, MarkerSeverity.Warning)); ++ report(toMarker(localize('promptValidator.unknownAttribute.vscode-agent', "Attribute '{0}' is not supported in !!APP_NAME!! agent files. Supported: {1}.", attribute.key, supportedNames.value), attribute.range, MarkerSeverity.Warning)); + } +diff --git a/src/vs/workbench/contrib/chat/test/browser/languageModelToolsService.test.ts b/src/vs/workbench/contrib/chat/test/browser/languageModelToolsService.test.ts +index 0fcdd88..55ac444 100644 +--- a/src/vs/workbench/contrib/chat/test/browser/languageModelToolsService.test.ts ++++ b/src/vs/workbench/contrib/chat/test/browser/languageModelToolsService.test.ts +@@ -1072,3 +1072,3 @@ suite('LanguageModelToolsService', () => { + const fullReferenceNames = service.toFullReferenceNames(result).sort(); +- assert.deepStrictEqual(fullReferenceNames, [SpecedToolAliases.agent, SpecedToolAliases.execute].sort(), 'toFullReferenceNames should return the VS Code tool names'); ++ assert.deepStrictEqual(fullReferenceNames, [SpecedToolAliases.agent, SpecedToolAliases.execute].sort(), 'toFullReferenceNames should return the !!APP_NAME!! tool names'); + +@@ -1086,3 +1086,3 @@ suite('LanguageModelToolsService', () => { + const fullReferenceNames = service.toFullReferenceNames(result).sort(); +- assert.deepStrictEqual(fullReferenceNames, ['github/*', 'playwright/*'], 'toFullReferenceNames should return the VS Code tool names'); ++ assert.deepStrictEqual(fullReferenceNames, ['github/*', 'playwright/*'], 'toFullReferenceNames should return the !!APP_NAME!! tool names'); + +@@ -1180,3 +1180,3 @@ suite('LanguageModelToolsService', () => { + const fullReferenceNames = service.toFullReferenceNames(result).sort(); +- assert.deepStrictEqual(fullReferenceNames, ['github/create_branch'], 'toFullReferenceNames should return the VS Code tool names'); ++ assert.deepStrictEqual(fullReferenceNames, ['github/create_branch'], 'toFullReferenceNames should return the !!APP_NAME!! tool names'); + diff --git a/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts b/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts index 7504a9c..2e485bb 100644 --- a/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts @@ -770,30 +842,30 @@ index 7504a9c..2e485bb 100644 + description: nls.localize('debugServer', "For debug extension development only: if a port is specified !!APP_NAME!! tries to connect to a debug adapter running in server mode"), default: 4711 diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -index 012c4d3..39dcb1b 100644 +index 147d30b..8a23398 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -@@ -346,3 +346,3 @@ CommandsRegistry.registerCommand({ +@@ -353,3 +353,3 @@ CommandsRegistry.registerCommand({ description: '(optional) Options for installing the extension. Object with the following properties: ' + - '`installOnlyNewlyAddedFromExtensionPackVSIX`: When enabled, VS Code installs only newly added extensions from the extension pack VSIX. This option is considered only when installing VSIX. ', + '`installOnlyNewlyAddedFromExtensionPackVSIX`: When enabled, !!APP_NAME!! installs only newly added extensions from the extension pack VSIX. This option is considered only when installing VSIX. ', isOptional: true, -@@ -353,3 +353,3 @@ CommandsRegistry.registerCommand({ +@@ -360,3 +360,3 @@ CommandsRegistry.registerCommand({ 'type': 'boolean', - 'description': localize('workbench.extensions.installExtension.option.installOnlyNewlyAddedFromExtensionPackVSIX', "When enabled, VS Code installs only newly added extensions from the extension pack VSIX. This option is considered only while installing a VSIX."), + 'description': localize('workbench.extensions.installExtension.option.installOnlyNewlyAddedFromExtensionPackVSIX', "When enabled, !!APP_NAME!! installs only newly added extensions from the extension pack VSIX. This option is considered only while installing a VSIX."), default: false -@@ -358,3 +358,3 @@ CommandsRegistry.registerCommand({ +@@ -365,3 +365,3 @@ CommandsRegistry.registerCommand({ 'type': 'boolean', - 'description': localize('workbench.extensions.installExtension.option.installPreReleaseVersion', "When enabled, VS Code installs the pre-release version of the extension if available."), + 'description': localize('workbench.extensions.installExtension.option.installPreReleaseVersion', "When enabled, !!APP_NAME!! installs the pre-release version of the extension if available."), default: false -@@ -363,3 +363,3 @@ CommandsRegistry.registerCommand({ +@@ -370,3 +370,3 @@ CommandsRegistry.registerCommand({ 'type': 'boolean', - 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, VS Code do not sync this extension when Settings Sync is on."), + 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, !!APP_NAME!! do not sync this extension when Settings Sync is on."), default: false -@@ -888,4 +888,4 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi +@@ -895,4 +895,4 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi Severity.Info, - vsixs.length > 1 ? localize('InstallVSIXs.successReload', "Completed installing extensions. Please reload Visual Studio Code to enable them.") - : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload Visual Studio Code to enable it."), @@ -801,7 +873,7 @@ index 012c4d3..39dcb1b 100644 + : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload VSCodium to enable it."), [{ diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts -index 96c8434..cfb1836 100644 +index 8daf558..583136a 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts @@ -109,3 +109,3 @@ export class PromptExtensionInstallFailureAction extends Action { @@ -852,6 +924,15 @@ index 818e662..2d2ead7 100644 - '\t// List of extensions recommended by VS Code that should not be recommended for users of this workspace.', + '\t// List of extensions recommended by !!APP_NAME!! that should not be recommended for users of this workspace.', '\t"unwantedRecommendations": [', +diff --git a/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.ts b/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.ts +index 2d86eda..35e8703 100644 +--- a/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.ts ++++ b/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.ts +@@ -23,3 +23,3 @@ export const SearchExtensionsToolData: IToolData = { + modelDescription: 'This is a tool for browsing Visual Studio Code Extensions Marketplace. It allows the model to search for extensions and retrieve detailed information about them. The model should use this tool whenever it needs to discover extensions or resolve information about known ones. To use the tool, the model has to provide the category of the extensions, relevant search keywords, or known extension IDs. Note that search results may include false positives, so reviewing and filtering is recommended.', +- userDescription: localize('searchExtensionsTool.userDescription', 'Search for VS Code extensions'), ++ userDescription: localize('searchExtensionsTool.userDescription', 'Search for !!APP_NAME!! extensions'), + source: ToolDataSource.Internal, diff --git a/src/vs/workbench/contrib/externalUriOpener/common/configuration.ts b/src/vs/workbench/contrib/externalUriOpener/common/configuration.ts index f54ddfe..946de6b 100644 --- a/src/vs/workbench/contrib/externalUriOpener/common/configuration.ts @@ -882,6 +963,15 @@ index 050dde4..a8a61bd 100644 - description: localize2('configureLocaleDescription', "Changes the locale of VS Code based on installed language packs. Common languages include French, Chinese, Spanish, Japanese, German, Korean, and more.") + description: localize2('configureLocaleDescription', "Changes the locale of !!APP_NAME!! based on installed language packs. Common languages include French, Chinese, Spanish, Japanese, German, Korean, and more.") } +diff --git a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts +index d8ddc37..3875647 100644 +--- a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts ++++ b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts +@@ -262,3 +262,3 @@ export class McpServersListView extends AbstractExtensionsListView = { +@@ -311,3 +311,3 @@ const terminalConfiguration: IStringDictionary = { [TerminalSettingId.DetectLocale]: { - markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since VS Code's terminal only supports UTF-8 encoded data coming from the shell."), + markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since !!APP_NAME!!'s terminal only supports UTF-8 encoded data coming from the shell."), type: 'string', -@@ -324,3 +324,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -325,3 +325,3 @@ const terminalConfiguration: IStringDictionary = { markdownEnumDescriptions: [ - localize('terminal.integrated.gpuAcceleration.auto', "Let VS Code detect which renderer will give the best experience."), + localize('terminal.integrated.gpuAcceleration.auto', "Let !!APP_NAME!! detect which renderer will give the best experience."), localize('terminal.integrated.gpuAcceleration.on', "Enable GPU acceleration within the terminal."), -@@ -412,3 +412,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -413,3 +413,3 @@ const terminalConfiguration: IStringDictionary = { 'terminal.integrated.commandsToSkipShell', - "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by VS Code. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n \n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n \n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n \n\nDefault Skipped Commands:\n\n{0}", + "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by !!APP_NAME!!. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n \n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n \n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n \n\nDefault Skipped Commands:\n\n{0}", DEFAULT_COMMANDS_TO_SKIP_SHELL.sort().map(command => `- ${command}`).join('\n'), -@@ -424,3 +424,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -425,3 +425,3 @@ const terminalConfiguration: IStringDictionary = { [TerminalSettingId.AllowChords]: { - markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not VS Code).", '`#terminal.integrated.commandsToSkipShell#`'), + markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not !!APP_NAME!!).", '`#terminal.integrated.commandsToSkipShell#`'), type: 'boolean', -@@ -435,3 +435,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -436,3 +436,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the VS Code process to be used by the terminal on macOS. Set to `null` to delete the environment variable."), + markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on macOS. Set to `null` to delete the environment variable."), type: 'object', -@@ -444,3 +444,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -445,3 +445,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Linux. Set to `null` to delete the environment variable."), + markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on Linux. Set to `null` to delete the environment variable."), type: 'object', -@@ -453,3 +453,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -454,3 +454,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Windows. Set to `null` to delete the environment variable."), + markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on Windows. Set to `null` to delete the environment variable."), type: 'object', -@@ -471,3 +471,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -472,3 +472,3 @@ const terminalConfiguration: IStringDictionary = { [TerminalSettingId.WindowsUseConptyDll]: { - markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.22.250204002) shipped with VS Code, instead of the one bundled with Windows."), + markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.22.250204002) shipped with !!APP_NAME!!, instead of the one bundled with Windows."), type: 'boolean', -@@ -578,3 +578,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -579,3 +579,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VS Code insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), + markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives !!APP_NAME!! insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), @@ -992,8 +1123,35 @@ index 4979520..30ae11b 100644 - markdownDescription: localize('terminal.integrated.autoReplies', "A set of messages that, when encountered in the terminal, will be automatically responded to. Provided the message is specific enough, this can help automate away common responses.\n\nRemarks:\n\n- Use {0} to automatically respond to the terminate batch job prompt on Windows.\n- The message includes escape sequences so the reply might not happen with styled text.\n- Each reply can only happen once every second.\n- Use {1} in the reply to mean the enter key.\n- To unset a default key, set the value to null.\n- Restart VS Code if new don't apply.", '`"Terminate batch job (Y/N)": "Y\\r"`', '`"\\r"`'), + markdownDescription: localize('terminal.integrated.autoReplies', "A set of messages that, when encountered in the terminal, will be automatically responded to. Provided the message is specific enough, this can help automate away common responses.\n\nRemarks:\n\n- Use {0} to automatically respond to the terminate batch job prompt on Windows.\n- The message includes escape sequences so the reply might not happen with styled text.\n- Each reply can only happen once every second.\n- Use {1} in the reply to mean the enter key.\n- To unset a default key, set the value to null.\n- Restart !!APP_NAME!! if new don't apply.", '`"Terminate batch job (Y/N)": "Y\\r"`', '`"\\r"`'), type: 'object', +diff --git a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts +index acc753f..8e791ff 100644 +--- a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts ++++ b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts +@@ -240,3 +240,3 @@ export const CreateAndRunTaskToolData: IToolData = { + 'type': 'array', +- 'description': `The problem matcher to use to parse task output for errors and warnings. Can be a predefined matcher like '$tsc' (TypeScript), '$eslint - stylish', '$gcc', etc., or a custom pattern defined in tasks.json. This helps VS Code display errors in the Problems panel and enables quick navigation to error locations.`, ++ 'description': `The problem matcher to use to parse task output for errors and warnings. Can be a predefined matcher like '$tsc' (TypeScript), '$eslint - stylish', '$gcc', etc., or a custom pattern defined in tasks.json. This helps !!APP_NAME!! display errors in the Problems panel and enables quick navigation to error locations.`, + 'items': { +diff --git a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts +index e04ec3a..f72ed53 100644 +--- a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts ++++ b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts +@@ -152,3 +152,3 @@ export const RunTaskToolData: IToolData = { + displayName: localize('runInTerminalTool.displayName', 'Run Task'), +- modelDescription: 'Runs a VS Code task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the run_in_terminal tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.', ++ modelDescription: 'Runs a !!APP_NAME!! task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the run_in_terminal tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.', + userDescription: localize('runInTerminalTool.userDescription', 'Run tasks in the workspace'), +diff --git a/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts b/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts +index 3e185e3..e855bef 100644 +--- a/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts ++++ b/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts +@@ -51,3 +51,3 @@ export function registerTerminalVoiceActions() { + } else { +- message = localize('terminal.voice.installSpeechExtension', "Would you like to install 'VS Code Speech' extension from 'Microsoft'?"); ++ message = localize('terminal.voice.installSpeechExtension', "Would you like to install '!!APP_NAME!! Speech' extension from 'Microsoft'?"); + run = () => commandService.executeCommand('workbench.extensions.installExtension', 'ms-vscode.vscode-speech'); diff --git a/src/vs/workbench/contrib/update/browser/update.ts b/src/vs/workbench/contrib/update/browser/update.ts -index a20d7ae..6861b35 100644 +index cc12ca6..056d2d8 100644 --- a/src/vs/workbench/contrib/update/browser/update.ts +++ b/src/vs/workbench/contrib/update/browser/update.ts @@ -583,4 +583,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor @@ -1023,7 +1181,7 @@ index 393c8c3..9268a6c 100644 + content += `// By default, !!APP_NAME!! trusts "localhost".\n`; } diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts -index 17258bd..6d4a638 100644 +index b63e894..2798ab1 100644 --- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts +++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts @@ -49,3 +49,3 @@ registerAction2(class extends Action2 { @@ -1031,7 +1189,7 @@ index 17258bd..6d4a638 100644 - description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in VS Code.') + description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in !!APP_NAME!!.') } -@@ -310,3 +310,3 @@ configurationRegistry.registerConfiguration({ +@@ -311,3 +311,3 @@ configurationRegistry.registerConfiguration({ localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.none' }, "Start without an editor."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with VS Code and extensions."), + localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with !!APP_NAME!! and extensions."), @@ -1228,6 +1386,20 @@ index c512b64..dfa2150 100644 - markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within VS Code. When used with `#{0}#`, you can enable the full functionality of VS Code without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES), + markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within !!APP_NAME!!. When used with `#{0}#`, you can enable the full functionality of !!APP_NAME!! without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES), tags: [WORKSPACE_TRUST_SETTING_TAG], +diff --git a/src/vs/workbench/electron-browser/desktop.contribution.ts b/src/vs/workbench/electron-browser/desktop.contribution.ts +index 5fad6f9..4edfd81 100644 +--- a/src/vs/workbench/electron-browser/desktop.contribution.ts ++++ b/src/vs/workbench/electron-browser/desktop.contribution.ts +@@ -447,3 +447,3 @@ import { MAX_ZOOM_LEVEL, MIN_ZOOM_LEVEL } from '../../platform/window/electron-b + type: 'boolean', +- description: localize('argv.disableChromiumSandbox', "Disables the Chromium sandbox. This is useful when running VS Code as elevated on Linux and running under Applocker on Windows.") ++ description: localize('argv.disableChromiumSandbox', "Disables the Chromium sandbox. This is useful when running !!APP_NAME!! as elevated on Linux and running under Applocker on Windows.") + }, +@@ -451,3 +451,3 @@ import { MAX_ZOOM_LEVEL, MIN_ZOOM_LEVEL } from '../../platform/window/electron-b + type: 'boolean', +- description: localize('argv.useInMemorySecretStorage', "Ensures that an in-memory store will be used for secret storage instead of using the OS's credential store. This is often used when running VS Code extension tests or when you're experiencing difficulties with the credential store.") ++ description: localize('argv.useInMemorySecretStorage', "Ensures that an in-memory store will be used for secret storage instead of using the OS's credential store. This is often used when running !!APP_NAME!! extension tests or when you're experiencing difficulties with the credential store.") + }, diff --git a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts index df1a6e3..14db691 100644 --- a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts @@ -1238,7 +1410,7 @@ index df1a6e3..14db691 100644 + const productName = localize('!!APP_NAME!! for Web', "{0} for the Web", this.productService.nameLong); const virtualWorkspaceSupport = this.extensionManifestPropertiesService.getExtensionVirtualWorkspaceSupportType(manifest); diff --git a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts -index c1fc3e3..1a6ff88 100644 +index f6c18c6..6d6b39c 100644 --- a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts +++ b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts @@ -181,3 +181,3 @@ export const schema: IJSONSchema = { @@ -1280,21 +1452,30 @@ index c1fc3e3..1a6ff88 100644 - description: nls.localize('vscode.extension.activationEvents', 'Activation events for the VS Code extension.'), + description: nls.localize('vscode.extension.activationEvents', 'Activation events for the !!APP_NAME!! extension.'), type: 'array', -@@ -428,3 +428,3 @@ export const schema: IJSONSchema = { +@@ -423,3 +423,3 @@ export const schema: IJSONSchema = { label: '*', - description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on VS Code startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'), + description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on !!APP_NAME!! startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'), body: '*' -@@ -600,3 +600,3 @@ export const schema: IJSONSchema = { +@@ -595,3 +595,3 @@ export const schema: IJSONSchema = { 'vscode:prepublish': { - description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a VS Code extension.'), + description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a !!APP_NAME!! extension.'), type: 'string' -@@ -604,3 +604,3 @@ export const schema: IJSONSchema = { +@@ -599,3 +599,3 @@ export const schema: IJSONSchema = { 'vscode:uninstall': { - description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for VS Code extension. Script that gets executed when the extension is completely uninstalled from VS Code which is when VS Code is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'), + description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for !!APP_NAME!! extension. Script that gets executed when the extension is completely uninstalled from !!APP_NAME!! which is when !!APP_NAME!! is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'), type: 'string' +diff --git a/src/vs/workbench/services/extensions/electron-browser/nativeExtensionService.ts b/src/vs/workbench/services/extensions/electron-browser/nativeExtensionService.ts +index 3080657..ca30404 100644 +--- a/src/vs/workbench/services/extensions/electron-browser/nativeExtensionService.ts ++++ b/src/vs/workbench/services/extensions/electron-browser/nativeExtensionService.ts +@@ -167,3 +167,3 @@ export class NativeExtensionService extends AbstractExtensionService implements + [{ +- label: nls.localize('relaunch', "Relaunch VS Code"), ++ label: nls.localize('relaunch', "Relaunch !!APP_NAME!!"), + run: () => { diff --git a/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts b/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts index cc56d9a..f446b8e 100644 --- a/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts diff --git a/patches/cli.patch b/patches/cli.patch index 05704c6..22ac8d4 100644 --- a/patches/cli.patch +++ b/patches/cli.patch @@ -58,10 +58,10 @@ index 7d152c0..c0f2fb2 100644 + Ok(server_name) } diff --git a/cli/src/tunnels/code_server.rs b/cli/src/tunnels/code_server.rs -index cf00bc4..b564330 100644 +index bbabadc..b454d0e 100644 --- a/cli/src/tunnels/code_server.rs +++ b/cli/src/tunnels/code_server.rs -@@ -457,3 +457,3 @@ impl<'a> ServerBuilder<'a> { +@@ -462,3 +462,3 @@ impl<'a> ServerBuilder<'a> { .join("bin") - .join(self.server_params.release.quality.server_entrypoint()), + .join(self.server_params.release.quality.server_entrypoint().unwrap()), @@ -76,7 +76,7 @@ index 3d7d718..98529bc 100644 + .join(self.quality.server_entrypoint().unwrap()) }, diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs -index 9033914..a39bbf7 100644 +index 55f1dad..3b7ef5c 100644 --- a/cli/src/update_service.rs +++ b/cli/src/update_service.rs @@ -10,3 +10,3 @@ use serde::{Deserialize, Serialize}; @@ -89,7 +89,7 @@ index 9033914..a39bbf7 100644 - }, + } }; -@@ -58,4 +58,12 @@ fn quality_download_segment(quality: options::Quality) -> &'static str { +@@ -58,2 +58,10 @@ fn quality_download_segment(quality: options::Quality) -> &'static str { +fn get_app_name() -> Result<&'static str, CodeError> { + VSCODE_CLI_APP_NAME.ok_or_else(|| CodeError::UpdatesNotConfigured("no app name")) @@ -99,17 +99,19 @@ index 9033914..a39bbf7 100644 + VSCODE_CLI_DOWNLOAD_ENDPOINT.ok_or_else(|| CodeError::UpdatesNotConfigured("no download url")) +} + - fn get_update_endpoint() -> Result<&'static str, CodeError> { -- VSCODE_CLI_UPDATE_ENDPOINT.ok_or_else(|| CodeError::UpdatesNotConfigured("no service url")) -+ VSCODE_CLI_UPDATE_ENDPOINT.ok_or_else(|| CodeError::UpdatesNotConfigured("no update url")) + fn get_update_endpoint() -> Result { +@@ -66,3 +74,3 @@ fn get_update_endpoint() -> Result { + .map(|s| s.to_string()) +- .ok_or_else(|| CodeError::UpdatesNotConfigured("no service url")) ++ .ok_or_else(|| CodeError::UpdatesNotConfigured("no update url")) } -@@ -67,3 +75,4 @@ impl UpdateService { +@@ -74,3 +82,4 @@ impl UpdateService { - pub async fn get_release_by_semver_version( + /// Gets the latest commit for the target of the given quality. + pub async fn get_latest_commit( &self, -@@ -72,14 +81,10 @@ impl UpdateService { +@@ -79,14 +88,10 @@ impl UpdateService { quality: options::Quality, - version: &str, ) -> Result { @@ -120,19 +122,19 @@ index 9033914..a39bbf7 100644 let download_url = format!( - "{}/api/versions/{}/{}/{}", + "{}/{}/{}/{}/latest.json", - update_endpoint, + &update_endpoint, - version, - download_segment, quality_download_segment(quality), + platform.os(), + platform.arch(), ); -@@ -97,3 +102,3 @@ impl UpdateService { +@@ -104,3 +109,3 @@ impl UpdateService { let res = response.json::().await?; - debug!(self.log, "Resolved version {} to {}", version, res.version); + debug!(self.log, "Resolved quality {} to {}", quality, res.version); -@@ -108,40 +113,17 @@ impl UpdateService { +@@ -115,40 +120,17 @@ impl UpdateService { - /// Gets the latest commit for the target of the given quality. - pub async fn get_latest_commit( @@ -151,7 +153,7 @@ index 9033914..a39bbf7 100644 + let download_url = format!( - "{}/api/latest/{}/{}", -- update_endpoint, +- &update_endpoint, - download_segment, - quality_download_segment(quality), + "{}/download/{}/{}-reh-web-{}-{}-{}.tar.gz", @@ -185,7 +187,7 @@ index 9033914..a39bbf7 100644 - }) + Ok(download_url) } -@@ -150,15 +132,3 @@ impl UpdateService { +@@ -157,15 +139,3 @@ impl UpdateService { pub async fn get_download_stream(&self, release: &Release) -> Result { - let update_endpoint = get_update_endpoint()?; - let download_segment = release @@ -195,14 +197,14 @@ index 9033914..a39bbf7 100644 - - let download_url = format!( - "{}/commit:{}/{}/{}", -- update_endpoint, +- &update_endpoint, - release.commit, - download_segment, - quality_download_segment(release.quality), - ); + let download_url = self.get_download_url(release)?; -@@ -196,13 +166,2 @@ pub enum TargetKind { +@@ -203,13 +173,2 @@ pub enum TargetKind { -impl TargetKind { - fn download_segment(&self, platform: Platform) -> Option { @@ -216,7 +218,7 @@ index 9033914..a39bbf7 100644 -} - #[derive(Debug, Copy, Clone, Eq, PartialEq, Serialize, Deserialize)] -@@ -225,30 +184,17 @@ pub enum Platform { +@@ -232,30 +191,17 @@ pub enum Platform { impl Platform { - pub fn archive(&self) -> Option { - match self { @@ -261,7 +263,7 @@ index 9033914..a39bbf7 100644 + Platform::WindowsX86 => "ia42", + Platform::WindowsARM64 => "arm64", } -@@ -257,17 +203,17 @@ impl Platform { +@@ -264,17 +210,17 @@ impl Platform { - pub fn cli(&self) -> String { + pub fn os(&self) -> String { @@ -293,7 +295,7 @@ index 9033914..a39bbf7 100644 + Platform::WindowsX86 => "win32", + Platform::WindowsARM64 => "win32", } -@@ -276,6 +222,2 @@ impl Platform { +@@ -283,6 +229,2 @@ impl Platform { - pub fn web(&self) -> String { - format!("{}-web", self.headless()) diff --git a/patches/disable-copilot.patch b/patches/disable-copilot.patch index 83afbfc..60fa8ef 100644 --- a/patches/disable-copilot.patch +++ b/patches/disable-copilot.patch @@ -1,5 +1,5 @@ diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts -index f425d24..ef3ba1f 100644 +index 43eea51..4ce6918 100644 --- a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts +++ b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts @@ -181,3 +181,4 @@ abstract class OpenChatGlobalAction extends Action2 { @@ -8,135 +8,76 @@ index f425d24..ef3ba1f 100644 + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ) -@@ -1416,3 +1417,3 @@ export function registerChatActions() { +@@ -1395,3 +1396,3 @@ export function registerChatActions() { precondition: ContextKeyExpr.and( - ChatContextKeys.Setup.installed, + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.disabled.negate(), -@@ -1629,3 +1630,4 @@ MenuRegistry.appendMenuItem(MenuId.CommandCenter, { +@@ -1608,3 +1609,4 @@ MenuRegistry.appendMenuItem(MenuId.CommandCenter, { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ), -@@ -1646,3 +1648,4 @@ MenuRegistry.appendMenuItem(MenuId.TitleBar, { +@@ -1625,3 +1627,4 @@ MenuRegistry.appendMenuItem(MenuId.TitleBar, { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ), -@@ -1663,3 +1666,4 @@ registerAction2(class ToggleCopilotControl extends ToggleTitleBarConfigAction { +@@ -1642,3 +1645,4 @@ registerAction2(class ToggleCopilotControl extends ToggleTitleBarConfigAction { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ), -@@ -1804,3 +1808,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, { +@@ -1779,3 +1783,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ) -@@ -1837,3 +1842,3 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, { - ChatContextKeys.Setup.disabled.negate(), -- ChatContextKeys.Setup.installed.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), - ); diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -index bfcab77..f0013a4 100644 +index ee0b4a4..c6243b8 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -179,3 +179,3 @@ configurationRegistry.registerConfiguration({ +@@ -187,3 +187,3 @@ configurationRegistry.registerConfiguration({ markdownDescription: nls.localize('chat.commandCenter.enabled', "Controls whether the command center shows a menu for actions to control chat (requires {0}).", '`#window.commandCenter#`'), - default: true + default: false }, -@@ -701,3 +701,3 @@ configurationRegistry.registerConfiguration({ +@@ -801,3 +801,3 @@ configurationRegistry.registerConfiguration({ description: nls.localize('chat.disableAIFeatures', "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."), - default: false, + default: true, scope: ConfigurationScope.WINDOW diff --git a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts -index a1c2acb..e41068d 100644 +index 9573667..f71e066 100644 --- a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts -@@ -67,9 +67,8 @@ const chatViewDescriptor: IViewDescriptor = { - ctorDescriptor: new SyncDescriptor(ChatViewPane, [{ location: ChatAgentLocation.Chat }]), +@@ -67,10 +67,9 @@ const chatViewDescriptor: IViewDescriptor = { + ctorDescriptor: new SyncDescriptor(ChatViewPane), - when: ContextKeyExpr.or( - ContextKeyExpr.or( - ChatContextKeys.Setup.hidden, - ChatContextKeys.Setup.disabled - )?.negate(), +- ChatContextKeys.panelParticipantRegistered, +- ChatContextKeys.extensionInvalid +- ) + when: ContextKeyExpr.and( + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), + ChatContextKeys.Setup.disabled.negate(), + ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.panelParticipantRegistered, -- ChatContextKeys.extensionInvalid ++ ChatContextKeys.panelParticipantRegistered, + ChatContextKeys.extensionInvalid.negate() - ) -diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup.ts b/src/vs/workbench/contrib/chat/browser/chatSetup.ts -index 1053f71..586705d 100644 ---- a/src/vs/workbench/contrib/chat/browser/chatSetup.ts -+++ b/src/vs/workbench/contrib/chat/browser/chatSetup.ts -@@ -1020,7 +1020,9 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr - f1: true, -- precondition: ContextKeyExpr.or( -- ChatContextKeys.Setup.hidden, -- ChatContextKeys.Setup.disabled, -- ChatContextKeys.Setup.untrusted, -- ChatContextKeys.Setup.installed.negate(), -+ precondition: ContextKeyExpr.and( -+ ContextKeyExpr.or( -+ ChatContextKeys.Setup.hidden, -+ ChatContextKeys.Setup.disabled, -+ ChatContextKeys.Setup.untrusted, -+ ), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), - ChatContextKeys.Entitlement.canSignUp -@@ -1136,3 +1138,3 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr - ChatContextKeys.Setup.hidden.negate(), -- ChatContextKeys.Setup.installed.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), - ChatContextKeys.Entitlement.signedOut -@@ -1163,2 +1165,3 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr - ChatContextKeys.Setup.hidden.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), - ContextKeyExpr.or( -@@ -1219,2 +1222,3 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr - ChatContextKeys.Setup.hidden.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), - ContextKeyExpr.or( -@@ -1435,3 +1439,3 @@ export class ChatTeardownContribution extends Disposable implements IWorkbenchCo - order: 1, -- when: ChatContextKeys.Setup.installed.negate() -+ when: ContextKeyExpr.has('config.chat.disableAIFeatures').negate() - } -diff --git a/src/vs/workbench/contrib/chat/browser/chatStatus.ts b/src/vs/workbench/contrib/chat/browser/chatStatus.ts -index 1a4419a..eaa7466 100644 ---- a/src/vs/workbench/contrib/chat/browser/chatStatus.ts -+++ b/src/vs/workbench/contrib/chat/browser/chatStatus.ts -@@ -49,2 +49,3 @@ import { MarkdownString } from '../../../../base/common/htmlContent.js'; - import { AGENT_SESSIONS_VIEWLET_ID } from '../common/constants.js'; -+import { ContextKeyExpr, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js'; - -@@ -129,2 +130,3 @@ export class ChatStatusBarEntry extends Disposable implements IWorkbenchContribu - @IChatSessionsService private readonly chatSessionsService: IChatSessionsService, -+ @IContextKeyService private readonly contextKeyService: IContextKeyService, - ) { -@@ -132,2 +134,7 @@ export class ChatStatusBarEntry extends Disposable implements IWorkbenchContribu - -+ const rule = ContextKeyExpr.has('config.chat.disableAIFeatures'); -+ if (this.contextKeyService.contextMatchesRules(rule)) { -+ return; // disabled -+ } -+ - this.update(); ++ ) + }; diff --git a/src/vs/workbench/contrib/chat/common/chatContextKeys.ts b/src/vs/workbench/contrib/chat/common/chatContextKeys.ts -index f51121a..db21afb 100644 +index 09aef7e..daf6437 100644 --- a/src/vs/workbench/contrib/chat/common/chatContextKeys.ts +++ b/src/vs/workbench/contrib/chat/common/chatContextKeys.ts -@@ -108,4 +108,4 @@ export namespace ChatContextKeyExprs { +@@ -113,4 +113,4 @@ export namespace ChatContextKeyExprs { */ - export const chatSetupTriggerContext = ContextKeyExpr.or( - ChatContextKeys.Setup.installed.negate(), @@ -144,7 +85,7 @@ index f51121a..db21afb 100644 + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Entitlement.canSignUp diff --git a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts -index 7eb3689..be00ca2 100644 +index d8ddc37..f48fd86 100644 --- a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts +++ b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts @@ -540,3 +540,3 @@ export class McpServersViewsContribution extends Disposable implements IWorkbenc @@ -158,19 +99,19 @@ index 7eb3689..be00ca2 100644 + when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`).negate(), ProductQualityContext.isEqualTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`).negate()), weight: 40, diff --git a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -index 606bda0..191df32 100644 +index fe12782..06b1b76 100644 --- a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts +++ b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts @@ -685,3 +685,3 @@ registerAction2(class extends Action2 { ChatContextKeys.Setup.disabled.negate(), - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), - ContextKeyExpr.equals('git.activeResourceHasMergeConflicts', true) + ContextKeyExpr.in(ResourceContextKey.Resource.key, 'git.mergeChanges'), diff --git a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts -index 4d8907e..7df25af 100644 +index 4260a28..6ac55b6 100644 --- a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts +++ b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts -@@ -1361,3 +1361,3 @@ registerAction2(class extends Action2 { +@@ -1383,3 +1383,3 @@ registerAction2(class extends Action2 { ChatContextKeys.Setup.disabled.negate(), - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), diff --git a/patches/ext-from-gh.patch b/patches/ext-from-gh.patch index c2d7c14..e5bf77d 100644 --- a/patches/ext-from-gh.patch +++ b/patches/ext-from-gh.patch @@ -1,15 +1,5 @@ -diff --git a/build/lib/builtInExtensions.js b/build/lib/builtInExtensions.js -index 249777c..129af8a 100644 ---- a/build/lib/builtInExtensions.js -+++ b/build/lib/builtInExtensions.js -@@ -87,5 +87,2 @@ function getExtensionDownloadStream(extension) { - } -- else if (productjson.extensionsGallery?.serviceUrl) { -- input = ext.fromMarketplace(productjson.extensionsGallery.serviceUrl, extension); -- } - else { diff --git a/build/lib/builtInExtensions.ts b/build/lib/builtInExtensions.ts -index e9a1180..b8348e3 100644 +index d52567b..fe5b988 100644 --- a/build/lib/builtInExtensions.ts +++ b/build/lib/builtInExtensions.ts @@ -75,4 +75,2 @@ function getExtensionDownloadStream(extension: IExtensionDefinition) { diff --git a/patches/feat-user-product.patch b/patches/feat-user-product.patch index 5f8acfe..87fe5be 100644 --- a/patches/feat-user-product.patch +++ b/patches/feat-user-product.patch @@ -35,7 +35,7 @@ index b643e34..2f228ef 100644 +} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts -index 7b7e1da..f07b015 100644 +index ec188d0..0160be6 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,2 +8,3 @@ import * as fs from 'original-fs'; @@ -67,13 +67,13 @@ index 7b7e1da..f07b015 100644 + resolveUserProduct(); diff --git a/src/typings/vscode-globals-product.d.ts b/src/typings/vscode-globals-product.d.ts -index 2cd632e..dbb25e3 100644 +index ab169bd..2155f5c 100644 --- a/src/typings/vscode-globals-product.d.ts +++ b/src/typings/vscode-globals-product.d.ts -@@ -29,2 +29,4 @@ declare global { - -+ var _VSCODE_USER_PRODUCT_JSON: Record; +@@ -43,2 +43,4 @@ declare global { + var _VSCODE_USE_RELATIVE_IMPORTS: boolean | undefined; + ++ var _VSCODE_USER_PRODUCT_JSON: Record; } diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts index 6f093e9..b63af55 100644 diff --git a/patches/fix-build-vsce.patch b/patches/fix-build-vsce.patch new file mode 100644 index 0000000..6e3d407 --- /dev/null +++ b/patches/fix-build-vsce.patch @@ -0,0 +1,280 @@ +diff --git a/build/lib/extensions.ts b/build/lib/extensions.ts +index 24462a3..ecb43fd 100644 +--- a/build/lib/extensions.ts ++++ b/build/lib/extensions.ts +@@ -94,3 +94,3 @@ function fromLocal(extensionPath: string, forWeb: boolean, disableMangle: boolea + function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string, disableMangle: boolean): Stream { +- const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce'); ++ const vsce = require('@vscodium/vsce') as typeof import('@vscodium/vsce'); + const webpack = require('webpack'); +@@ -208,3 +208,3 @@ function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string, + function fromLocalNormal(extensionPath: string): Stream { +- const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce'); ++ const vsce = require('@vscodium/vsce') as typeof import('@vscodium/vsce'); + const result = es.through(); +diff --git a/build/package-lock.json b/build/package-lock.json +index fe9be0c..9747dca 100644 +--- a/build/package-lock.json ++++ b/build/package-lock.json +@@ -51,3 +51,3 @@ + "@vscode/ripgrep": "^1.15.13", +- "@vscode/vsce": "3.6.1", ++ "@vscodium/vsce": "3.6.1-258428", + "ansi-colors": "^3.2.3", +@@ -1944,6 +1944,6 @@ + }, +- "node_modules/@vscode/vsce": { +- "version": "3.6.1", +- "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.6.1.tgz", +- "integrity": "sha512-UXtMgeCBl/t5zjn1TX1v1sl5L/oIv3Xc3pkKPGzaqeFCIkp5+wfFFDBXTWDt3d5uUulHnZKORHkMIsKNe9+k5A==", ++ "node_modules/@vscodium/vsce": { ++ "version": "3.6.1-258428", ++ "resolved": "https://registry.npmjs.org/@vscodium/vsce/-/vsce-3.6.1-258428.tgz", ++ "integrity": "sha512-B2uys5YU5MGNmzQPHsMsRXxzlQvZanhxE8Sfkd4Sr/LBN9BaV5yhMCppV7jyLUOQajj9K3YZThLqUYm4CCBy3A==", + "dev": true, +@@ -1956,3 +1956,2 @@ + "@secretlint/secretlint-rule-preset-recommend": "^10.1.2", +- "@vscode/vsce-sign": "^2.0.0", + "azure-devops-node-api": "^12.5.0", +@@ -1991,148 +1990,3 @@ + }, +- "node_modules/@vscode/vsce-sign": { +- "version": "2.0.7", +- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign/-/vsce-sign-2.0.7.tgz", +- "integrity": "sha512-cz0GFW8qCxpypOy3y509u26K1FIPMlDIHBwGmDyvEbgoma2v3y5YIHHuijr8zCYBp9kzCCOJd28s/0PG7cA7ew==", +- "dev": true, +- "hasInstallScript": true, +- "license": "SEE LICENSE IN LICENSE.txt", +- "optionalDependencies": { +- "@vscode/vsce-sign-alpine-arm64": "2.0.6", +- "@vscode/vsce-sign-alpine-x64": "2.0.6", +- "@vscode/vsce-sign-darwin-arm64": "2.0.6", +- "@vscode/vsce-sign-darwin-x64": "2.0.6", +- "@vscode/vsce-sign-linux-arm": "2.0.6", +- "@vscode/vsce-sign-linux-arm64": "2.0.6", +- "@vscode/vsce-sign-linux-x64": "2.0.6", +- "@vscode/vsce-sign-win32-arm64": "2.0.6", +- "@vscode/vsce-sign-win32-x64": "2.0.6" +- } +- }, +- "node_modules/@vscode/vsce-sign-alpine-arm64": { +- "version": "2.0.6", +- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.6.tgz", +- "integrity": "sha512-wKkJBsvKF+f0GfsUuGT0tSW0kZL87QggEiqNqK6/8hvqsXvpx8OsTEc3mnE1kejkh5r+qUyQ7PtF8jZYN0mo8Q==", +- "cpu": [ +- "arm64" +- ], +- "dev": true, +- "license": "SEE LICENSE IN LICENSE.txt", +- "optional": true, +- "os": [ +- "alpine" +- ] +- }, +- "node_modules/@vscode/vsce-sign-alpine-x64": { +- "version": "2.0.6", +- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.6.tgz", +- "integrity": "sha512-YoAGlmdK39vKi9jA18i4ufBbd95OqGJxRvF3n6ZbCyziwy3O+JgOpIUPxv5tjeO6gQfx29qBivQ8ZZTUF2Ba0w==", +- "cpu": [ +- "x64" +- ], +- "dev": true, +- "license": "SEE LICENSE IN LICENSE.txt", +- "optional": true, +- "os": [ +- "alpine" +- ] +- }, +- "node_modules/@vscode/vsce-sign-darwin-arm64": { +- "version": "2.0.6", +- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.6.tgz", +- "integrity": "sha512-5HMHaJRIQuozm/XQIiJiA0W9uhdblwwl2ZNDSSAeXGO9YhB9MH5C4KIHOmvyjUnKy4UCuiP43VKpIxW1VWP4tQ==", +- "cpu": [ +- "arm64" +- ], +- "dev": true, +- "license": "SEE LICENSE IN LICENSE.txt", +- "optional": true, +- "os": [ +- "darwin" +- ] +- }, +- "node_modules/@vscode/vsce-sign-darwin-x64": { +- "version": "2.0.6", +- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.6.tgz", +- "integrity": "sha512-25GsUbTAiNfHSuRItoQafXOIpxlYj+IXb4/qarrXu7kmbH94jlm5sdWSCKrrREs8+GsXF1b+l3OB7VJy5jsykw==", +- "cpu": [ +- "x64" +- ], +- "dev": true, +- "license": "SEE LICENSE IN LICENSE.txt", +- "optional": true, +- "os": [ +- "darwin" +- ] +- }, +- "node_modules/@vscode/vsce-sign-linux-arm": { +- "version": "2.0.6", +- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.6.tgz", +- "integrity": "sha512-UndEc2Xlq4HsuMPnwu7420uqceXjs4yb5W8E2/UkaHBB9OWCwMd3/bRe/1eLe3D8kPpxzcaeTyXiK3RdzS/1CA==", +- "cpu": [ +- "arm" +- ], +- "dev": true, +- "license": "SEE LICENSE IN LICENSE.txt", +- "optional": true, +- "os": [ +- "linux" +- ] +- }, +- "node_modules/@vscode/vsce-sign-linux-arm64": { +- "version": "2.0.6", +- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.6.tgz", +- "integrity": "sha512-cfb1qK7lygtMa4NUl2582nP7aliLYuDEVpAbXJMkDq1qE+olIw/es+C8j1LJwvcRq1I2yWGtSn3EkDp9Dq5FdA==", +- "cpu": [ +- "arm64" +- ], +- "dev": true, +- "license": "SEE LICENSE IN LICENSE.txt", +- "optional": true, +- "os": [ +- "linux" +- ] +- }, +- "node_modules/@vscode/vsce-sign-linux-x64": { +- "version": "2.0.6", +- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.6.tgz", +- "integrity": "sha512-/olerl1A4sOqdP+hjvJ1sbQjKN07Y3DVnxO4gnbn/ahtQvFrdhUi0G1VsZXDNjfqmXw57DmPi5ASnj/8PGZhAA==", +- "cpu": [ +- "x64" +- ], +- "dev": true, +- "license": "SEE LICENSE IN LICENSE.txt", +- "optional": true, +- "os": [ +- "linux" +- ] +- }, +- "node_modules/@vscode/vsce-sign-win32-arm64": { +- "version": "2.0.6", +- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.6.tgz", +- "integrity": "sha512-ivM/MiGIY0PJNZBoGtlRBM/xDpwbdlCWomUWuLmIxbi1Cxe/1nooYrEQoaHD8ojVRgzdQEUzMsRbyF5cJJgYOg==", +- "cpu": [ +- "arm64" +- ], +- "dev": true, +- "license": "SEE LICENSE IN LICENSE.txt", +- "optional": true, +- "os": [ +- "win32" +- ] +- }, +- "node_modules/@vscode/vsce-sign-win32-x64": { +- "version": "2.0.6", +- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.6.tgz", +- "integrity": "sha512-mgth9Kvze+u8CruYMmhHw6Zgy3GRX2S+Ed5oSokDEK5vPEwGGKnmuXua9tmFhomeAnhgJnL4DCna3TiNuGrBTQ==", +- "cpu": [ +- "x64" +- ], +- "dev": true, +- "license": "SEE LICENSE IN LICENSE.txt", +- "optional": true, +- "os": [ +- "win32" +- ] +- }, +- "node_modules/@vscode/vsce/node_modules/ansi-styles": { ++ "node_modules/@vscodium/vsce/node_modules/ansi-styles": { + "version": "4.3.0", +@@ -2152,3 +2006,3 @@ + }, +- "node_modules/@vscode/vsce/node_modules/chalk": { ++ "node_modules/@vscodium/vsce/node_modules/chalk": { + "version": "4.1.2", +@@ -2169,3 +2023,3 @@ + }, +- "node_modules/@vscode/vsce/node_modules/color-convert": { ++ "node_modules/@vscodium/vsce/node_modules/color-convert": { + "version": "2.0.1", +@@ -2182,3 +2036,3 @@ + }, +- "node_modules/@vscode/vsce/node_modules/color-name": { ++ "node_modules/@vscodium/vsce/node_modules/color-name": { + "version": "1.1.4", +@@ -2189,3 +2043,3 @@ + }, +- "node_modules/@vscode/vsce/node_modules/glob": { ++ "node_modules/@vscodium/vsce/node_modules/glob": { + "version": "11.1.0", +@@ -2213,3 +2067,3 @@ + }, +- "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": { ++ "node_modules/@vscodium/vsce/node_modules/glob/node_modules/minimatch": { + "version": "10.1.1", +@@ -2229,3 +2083,3 @@ + }, +- "node_modules/@vscode/vsce/node_modules/has-flag": { ++ "node_modules/@vscodium/vsce/node_modules/has-flag": { + "version": "4.0.0", +@@ -2239,3 +2093,3 @@ + }, +- "node_modules/@vscode/vsce/node_modules/jsonc-parser": { ++ "node_modules/@vscodium/vsce/node_modules/jsonc-parser": { + "version": "3.3.1", +@@ -2243,9 +2097,11 @@ + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", +- "dev": true ++ "dev": true, ++ "license": "MIT" + }, +- "node_modules/@vscode/vsce/node_modules/semver": { +- "version": "7.6.3", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", +- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", ++ "node_modules/@vscodium/vsce/node_modules/semver": { ++ "version": "7.7.3", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", ++ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, ++ "license": "ISC", + "bin": { +@@ -2257,3 +2113,3 @@ + }, +- "node_modules/@vscode/vsce/node_modules/supports-color": { ++ "node_modules/@vscodium/vsce/node_modules/supports-color": { + "version": "7.2.0", +@@ -2270,12 +2126,2 @@ + }, +- "node_modules/@vscode/vsce/node_modules/yazl": { +- "version": "2.5.1", +- "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", +- "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", +- "dev": true, +- "license": "MIT", +- "dependencies": { +- "buffer-crc32": "~0.2.3" +- } +- }, + "node_modules/@xmldom/xmldom": { +@@ -6955,2 +6801,12 @@ + }, ++ "node_modules/yazl": { ++ "version": "2.5.1", ++ "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", ++ "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "buffer-crc32": "~0.2.3" ++ } ++ }, + "node_modules/yocto-queue": { +diff --git a/build/package.json b/build/package.json +index 39db6b7..55beb4a 100644 +--- a/build/package.json ++++ b/build/package.json +@@ -45,3 +45,3 @@ + "@vscode/ripgrep": "^1.15.13", +- "@vscode/vsce": "3.6.1", ++ "@vscodium/vsce": "3.6.1-258428", + "ansi-colors": "^3.2.3", diff --git a/patches/fix-keymap.patch b/patches/fix-keymap.patch new file mode 100644 index 0000000..2850953 --- /dev/null +++ b/patches/fix-keymap.patch @@ -0,0 +1,135 @@ +diff --git a/.npmrc b/.npmrc +index c58ce2e..a1f42cd 100644 +--- a/.npmrc ++++ b/.npmrc +@@ -5,2 +5,3 @@ runtime="electron" + build_from_source="true" ++build_from_source_native_keymap="no" + legacy-peer-deps="true" +diff --git a/build/.moduleignore b/build/.moduleignore +index 0459b46..cd99c71 100644 +--- a/build/.moduleignore ++++ b/build/.moduleignore +@@ -65,7 +65,7 @@ fsevents/test/** + +-native-keymap/binding.gyp +-native-keymap/build/** +-native-keymap/src/** +-native-keymap/deps/** +-!native-keymap/build/Release/*.node ++@vscodium/native-keymap/binding.gyp ++@vscodium/native-keymap/build/** ++@vscodium/native-keymap/src/** ++@vscodium/native-keymap/deps/** ++!@vscodium/native-keymap/build/Release/*.node + +diff --git a/eslint.config.js b/eslint.config.js +index 8fda673..967ae23 100644 +--- a/eslint.config.js ++++ b/eslint.config.js +@@ -1475,3 +1475,3 @@ export default tseslint.config( + 'node:module', +- 'native-keymap', ++ '@vscodium/native-keymap', + 'native-watchdog', +diff --git a/package-lock.json b/package-lock.json +index 4d43f38..7334f04 100644 +--- a/package-lock.json ++++ b/package-lock.json +@@ -9,3 +9,2 @@ + "version": "1.107.0", +- "hasInstallScript": true, + "license": "MIT", +@@ -29,2 +28,3 @@ + "@vscode/windows-registry": "^1.1.0", ++ "@vscodium/native-keymap": "3.3.7-258424", + "@xterm/addon-clipboard": "^0.2.0-beta.119", +@@ -46,3 +46,2 @@ + "native-is-elevated": "0.8.0", +- "native-keymap": "^3.3.5", + "native-watchdog": "^1.4.1", +@@ -3300,2 +3299,9 @@ + }, ++ "node_modules/@vscodium/native-keymap": { ++ "version": "3.3.7-258424", ++ "resolved": "https://registry.npmjs.org/@vscodium/native-keymap/-/native-keymap-3.3.7-258424.tgz", ++ "integrity": "sha512-HZ20QfExV0kE2l939yE3wn0LezSV7BcpxOFmlUMUHBQbdANMSLkwzo6Zw1xOEZDoYm3VTDHt8/+WwLBR2MpA3A==", ++ "hasInstallScript": true, ++ "license": "MIT" ++ }, + "node_modules/@webassemblyjs/ast": { +@@ -12662,5 +12668,6 @@ + "node_modules/napi-build-utils": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", +- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", ++ "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", ++ "license": "MIT" + }, +@@ -12673,9 +12680,2 @@ + }, +- "node_modules/native-keymap": { +- "version": "3.3.7", +- "resolved": "https://registry.npmjs.org/native-keymap/-/native-keymap-3.3.7.tgz", +- "integrity": "sha512-07n5kF0L9ERC9pilqEFucnhs1XG4WttbHAMWhhOSqQYXhB8mMNTSCzP4psTaVgDSp6si2HbIPhTIHuxSia6NPQ==", +- "hasInstallScript": true, +- "license": "MIT" +- }, + "node_modules/native-watchdog": { +@@ -14180,5 +14180,6 @@ + "node_modules/prebuild-install": { +- "version": "7.1.2", +- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", +- "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", ++ "version": "7.1.3", ++ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", ++ "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", ++ "license": "MIT", + "dependencies": { +@@ -14189,3 +14190,3 @@ + "mkdirp-classic": "^0.5.3", +- "napi-build-utils": "^1.0.1", ++ "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", +diff --git a/package.json b/package.json +index 18b9a35..afa9c72 100644 +--- a/package.json ++++ b/package.json +@@ -108,3 +108,3 @@ + "native-is-elevated": "0.8.0", +- "native-keymap": "^3.3.5", ++ "@vscodium/native-keymap": "3.3.7-258424", + "native-watchdog": "^1.4.1", +diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +index 5099915..aa1b0b8 100644 +--- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts ++++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +@@ -44,8 +44,8 @@ flakySuite('Native Modules (all platforms)', () => { + test('native-keymap', async () => { +- const keyMap = await import('native-keymap'); +- assert.ok(typeof keyMap.onDidChangeKeyboardLayout === 'function', testErrorMessage('native-keymap')); +- assert.ok(typeof keyMap.getCurrentKeyboardLayout === 'function', testErrorMessage('native-keymap')); ++ const keyMap = await import('@vscodium/native-keymap'); ++ assert.ok(typeof keyMap.onDidChangeKeyboardLayout === 'function', testErrorMessage('@vscodium/native-keymap')); ++ assert.ok(typeof keyMap.getCurrentKeyboardLayout === 'function', testErrorMessage('@vscodium/native-keymap')); + + const result = keyMap.getCurrentKeyboardLayout(); +- assert.ok(result, testErrorMessage('native-keymap')); ++ assert.ok(result, testErrorMessage('@vscodium/native-keymap')); + }); +diff --git a/src/vs/platform/keyboardLayout/electron-main/keyboardLayoutMainService.ts b/src/vs/platform/keyboardLayout/electron-main/keyboardLayoutMainService.ts +index 8950ce2..f31cea6 100644 +--- a/src/vs/platform/keyboardLayout/electron-main/keyboardLayoutMainService.ts ++++ b/src/vs/platform/keyboardLayout/electron-main/keyboardLayoutMainService.ts +@@ -5,3 +5,3 @@ + +-import type * as nativeKeymap from 'native-keymap'; ++import type * as nativeKeymap from '@vscodium/native-keymap'; + import * as platform from '../../../base/common/platform.js'; +@@ -48,3 +48,3 @@ export class KeyboardLayoutMainService extends Disposable implements INativeKeyb + private async _doInitialize(): Promise { +- const nativeKeymapMod = await import('native-keymap'); ++ const nativeKeymapMod = await import('@vscodium/native-keymap'); + diff --git a/patches/fix-npm-preinstall.patch b/patches/fix-npm-preinstall.patch new file mode 100644 index 0000000..994243e --- /dev/null +++ b/patches/fix-npm-preinstall.patch @@ -0,0 +1,14 @@ +diff --git a/build/npm/preinstall.ts b/build/npm/preinstall.ts +index 3476fca..e23329f 100644 +--- a/build/npm/preinstall.ts ++++ b/build/npm/preinstall.ts +@@ -129,3 +129,3 @@ function installHeaders() { + // Refs https://chromium-review.googlesource.com/c/v8/v8/+/6879784 +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' && local) { + const homedir = os.homedir(); +@@ -133,3 +133,3 @@ function installHeaders() { + const nodeGypCache = path.join(cachePath, 'node-gyp'); +- const localHeaderPath = path.join(nodeGypCache, local!.target, 'include', 'node'); ++ const localHeaderPath = path.join(nodeGypCache, local.target, 'include', 'node'); + if (fs.existsSync(localHeaderPath)) { diff --git a/patches/policies.patch b/patches/fix-policies.patch similarity index 94% rename from patches/policies.patch rename to patches/fix-policies.patch index 39747d0..4af9155 100644 --- a/patches/policies.patch +++ b/patches/fix-policies.patch @@ -1,5 +1,5 @@ diff --git a/build/.moduleignore b/build/.moduleignore -index 0459b46..49f3c66 100644 +index cd99c71..9d14923 100644 --- a/build/.moduleignore +++ b/build/.moduleignore @@ -128,9 +128,11 @@ vsda/** @@ -22,32 +22,36 @@ index 0459b46..49f3c66 100644 +!@vscodium/policy-watcher/build/Release/vscodium-policy-watcher.node diff --git a/eslint.config.js b/eslint.config.js -index 69a9a69..9a3d7ed 100644 +index 967ae23..16580ab 100644 --- a/eslint.config.js +++ b/eslint.config.js -@@ -1724,3 +1724,3 @@ export default tseslint.config( +@@ -1458,3 +1458,3 @@ export default tseslint.config( '@vscode/iconv-lite-umd', - '@vscode/policy-watcher', + '@vscodium/policy-watcher', '@vscode/proxy-agent', diff --git a/package-lock.json b/package-lock.json -index 2ffd231..70d78f7 100644 +index 7334f04..2453188 100644 --- a/package-lock.json +++ b/package-lock.json -@@ -18,3 +18,2 @@ +@@ -9,2 +9,3 @@ + "version": "1.107.0", ++ "hasInstallScript": true, + "license": "MIT", +@@ -17,3 +18,2 @@ "@vscode/iconv-lite-umd": "0.7.1", - "@vscode/policy-watcher": "^1.3.2", "@vscode/proxy-agent": "^0.36.0", -@@ -29,2 +28,3 @@ - "@vscode/windows-registry": "^1.1.0", +@@ -29,2 +29,3 @@ + "@vscodium/native-keymap": "3.3.7-258424", + "@vscodium/policy-watcher": "^1.3.2-252465", "@xterm/addon-clipboard": "^0.2.0-beta.119", -@@ -2997,22 +2997,2 @@ +@@ -2971,22 +2972,2 @@ }, - "node_modules/@vscode/policy-watcher": { -- "version": "1.3.2", -- "resolved": "https://registry.npmjs.org/@vscode/policy-watcher/-/policy-watcher-1.3.2.tgz", -- "integrity": "sha512-fmNPYysU2ioH99uCaBPiRblEZSnir5cTmc7w91hAxAoYoGpHt2PZPxT5eIOn7FGmPOsjLdQcd6fduFJGYVD4Mw==", +- "version": "1.3.5", +- "resolved": "https://registry.npmjs.org/@vscode/policy-watcher/-/policy-watcher-1.3.5.tgz", +- "integrity": "sha512-k1n9gaDBjyVRy5yJLABbZCnyFwgQ8OA4sR3vXmXnmB+mO9JA0nsl/XOXQfVCoLasBu3UHCOfAnDWGn2sRzCR+A==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { @@ -65,7 +69,7 @@ index 2ffd231..70d78f7 100644 - } - }, "node_modules/@vscode/proxy-agent": { -@@ -3412,2 +3392,22 @@ +@@ -3306,2 +3287,22 @@ }, + "node_modules/@vscodium/policy-watcher": { + "version": "1.3.2-252465", @@ -89,7 +93,7 @@ index 2ffd231..70d78f7 100644 + }, "node_modules/@webassemblyjs/ast": { diff --git a/package.json b/package.json -index 32047ab..ecbce6b 100644 +index afa9c72..6599a7c 100644 --- a/package.json +++ b/package.json @@ -80,3 +80,3 @@ @@ -197,7 +201,7 @@ index ee0a24b..881ce36 100644 +/Users/example/node_modules/@vscodium/policy-watcher/src/windows/NumberPolicy.hh /Users/example/node_modules/@vscode/vscode-languagedetection/CODE_OF_CONDUCT.md diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -index 5099915..98a2041 100644 +index aa1b0b8..c56e16e 100644 --- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts @@ -62,5 +62,5 @@ flakySuite('Native Modules (all platforms)', () => { @@ -210,7 +214,7 @@ index 5099915..98a2041 100644 + assert.ok(typeof watcher.createWatcher === 'function', testErrorMessage('@vscodium/policy-watcher')); }); diff --git a/src/vs/platform/policy/node/nativePolicyService.ts b/src/vs/platform/policy/node/nativePolicyService.ts -index 21bb9c4..6a85d60 100644 +index 5b08cd9..728d7bd 100644 --- a/src/vs/platform/policy/node/nativePolicyService.ts +++ b/src/vs/platform/policy/node/nativePolicyService.ts @@ -8,3 +8,3 @@ import { IStringDictionary } from '../../../base/common/collections.js'; @@ -226,5 +230,5 @@ index 21bb9c4..6a85d60 100644 @@ -31,3 +31,3 @@ export class NativePolicyService extends AbstractPolicyService implements IPolic try { - this.watcher.value = createWatcher(this.productName, policyDefinitions, update => { -+ this.watcher.value = createWatcher('!!ORG_NAME!!', this.productName, policyDefinitions, update => { ++ this.watcher.value = createWatcher('VSCodium', this.productName, policyDefinitions, update => { this._onDidPolicyChange(update); diff --git a/patches/fix-remote-libs.patch b/patches/fix-remote-libs.patch index c7d4456..a208a5c 100644 --- a/patches/fix-remote-libs.patch +++ b/patches/fix-remote-libs.patch @@ -1,12 +1,8 @@ diff --git a/remote/package-lock.json b/remote/package-lock.json -index f0ed1cc..a973af3 100644 +index 30a7391..94f839a 100644 --- a/remote/package-lock.json +++ b/remote/package-lock.json -@@ -40,2 +40,3 @@ - "tas-client-umd": "0.2.0", -+ "tslib": "^2.6.3", - "vscode-oniguruma": "1.7.0", -@@ -1109,2 +1110,8 @@ +@@ -1155,2 +1155,8 @@ }, + "node_modules/tslib": { + "version": "2.7.0", @@ -16,10 +12,10 @@ index f0ed1cc..a973af3 100644 + }, "node_modules/tunnel-agent": { diff --git a/remote/package.json b/remote/package.json -index 33afee9..525ed07 100644 +index 119d62c..9ef9624 100644 --- a/remote/package.json +++ b/remote/package.json -@@ -35,2 +35,3 @@ - "tas-client-umd": "0.2.0", +@@ -37,2 +37,3 @@ + "tas-client": "0.3.1", + "tslib": "^2.6.3", "vscode-oniguruma": "1.7.0", diff --git a/patches/helper/settings.patch b/patches/helper/settings.patch index 946baf7..fcee390 100644 --- a/patches/helper/settings.patch +++ b/patches/helper/settings.patch @@ -1,38 +1,30 @@ diff --git a/.vscode/settings.json b/.vscode/settings.json -index f394c8a..c615121 100644 +index 514edcd..9aa6920 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json -@@ -23,22 +23,22 @@ - }, - "[typescript]": { +@@ -26,3 +26,3 @@ "editor.defaultFormatter": "vscode.typescript-language-features", - "editor.formatOnSave": true + // "editor.formatOnSave": true }, - "[javascript]": { +@@ -30,3 +30,3 @@ "editor.defaultFormatter": "vscode.typescript-language-features", - "editor.formatOnSave": true + // "editor.formatOnSave": true }, - "[rust]": { +@@ -34,3 +34,3 @@ "editor.defaultFormatter": "rust-lang.rust-analyzer", - "editor.formatOnSave": true, + // "editor.formatOnSave": true, }, - "[github-issues]": { - "editor.wordWrap": "on" - }, +@@ -41,4 +41,4 @@ // --- Files --- - "files.trimTrailingWhitespace": true, - "files.insertFinalNewline": true, + // "files.trimTrailingWhitespace": true, + // "files.insertFinalNewline": true, "files.exclude": { - ".git": true, - ".build": true, -@@ -47,9 +47,9 @@ - ".vscode-test": true, - "cli/target": true, +@@ -51,5 +51,5 @@ "build/**/*.js.map": true, - "build/**/*.js": { - "when": "$(basename).ts" @@ -41,22 +33,3 @@ index f394c8a..c615121 100644 + // "when": "$(basename).ts" + // } }, - "files.associations": { - "cglicenses.json": "jsonc", -@@ -60,7 +60,7 @@ - "**/yarn.lock": true, - "**/package-lock.json": true, - "**/Cargo.lock": true, -- "build/**/*.js": true, -+ // "build/**/*.js": true, - "out/**": true, - "out-build/**": true, - "out-vscode/**": true, -@@ -76,6 +76,7 @@ - "build/builtin/*.js": true, - "build/monaco/*.js": true, - "build/npm/*.js": true, -+ "build/**/*.js": true, - "build/*.js": true - }, - // --- Search --- diff --git a/patches/linux/arch-0-support.patch b/patches/linux/arch-0-support.patch index 85f9263..cdc849c 100644 --- a/patches/linux/arch-0-support.patch +++ b/patches/linux/arch-0-support.patch @@ -1,5 +1,5 @@ diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh -index 6805633..9d4b59f 100755 +index 2f25764..742aaef 100755 --- a/build/azure-pipelines/linux/setup-env.sh +++ b/build/azure-pipelines/linux/setup-env.sh @@ -2,3 +2,3 @@ @@ -9,17 +9,17 @@ index 6805633..9d4b59f 100755 @@ -22,3 +22,3 @@ else echo "Downloading remote sysroot" -- SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" VSCODE_SYSROOT_PREFIX="-glibc-2.28-gcc-8.5.0" node -e '(async () => { const { getVSCodeSysroot } = require("./build/linux/debian/install-sysroot.js"); await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()' -+ SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" node -e '(async () => { const { getVSCodeSysroot } = require("./build/linux/debian/install-sysroot.js"); await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()' +- SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" VSCODE_SYSROOT_PREFIX="-glibc-2.28-gcc-8.5.0" node -e 'import { getVSCodeSysroot } from "./build/linux/debian/install-sysroot.ts"; (async () => { await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()' ++ SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" node -e 'import { getVSCodeSysroot } from "./build/linux/debian/install-sysroot.ts"; (async () => { await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()' fi -diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js -index 10b7b44..0ad7550 100644 ---- a/build/gulpfile.reh.js -+++ b/build/gulpfile.reh.js -@@ -233,9 +233,23 @@ function nodejs(platform, arch) { +diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts +index cb1a0a5..6c21dd2 100644 +--- a/build/gulpfile.reh.ts ++++ b/build/gulpfile.reh.ts +@@ -235,9 +235,23 @@ function nodejs(platform: string, arch: string): NodeJS.ReadWriteStream | undefi case 'linux': - return (product.nodejsRepository !== 'https://nodejs.org' ? -- fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName, checksumSha256 }) : +- fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName!, checksumSha256 }) : - fetchUrls(`/dist/v${nodeVersion}/node-v${nodeVersion}-${platform}-${arch}.tar.gz`, { base: 'https://nodejs.org', checksumSha256 }) - ).pipe(flatmap(stream => stream.pipe(gunzip()).pipe(untar()))) - .pipe(filter('**/node')) @@ -33,7 +33,7 @@ index 10b7b44..0ad7550 100644 + .pipe(rename('node')); + } + if (product.nodejsRepository !== 'https://nodejs.org') { -+ return fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName, checksumSha256 }) ++ return fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName!, checksumSha256 }) + .pipe(flatmap(stream => stream.pipe(gunzip()).pipe(untar()))) + .pipe(filter('**/node')) + .pipe(util.setExecutableBit('**')) @@ -47,13 +47,13 @@ index 10b7b44..0ad7550 100644 + .pipe(rename('node')); + } case 'alpine': -diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js -index 25d8916..250ba7c 100644 ---- a/build/gulpfile.vscode.js -+++ b/build/gulpfile.vscode.js -@@ -366,2 +366,12 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op +diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts +index d3ab651..9dbe6f3 100644 +--- a/build/gulpfile.vscode.ts ++++ b/build/gulpfile.vscode.ts +@@ -375,2 +375,12 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d -+ const electronOverride = {}; ++ const electronOverride: { repo?: string; tag?: string } = {}; + if (process.env.VSCODE_ELECTRON_REPOSITORY) { + // official electron doesn't support all arch, override the repo with `VSCODE_ELECTRON_REPOSITORY`. + electronOverride.repo = process.env.VSCODE_ELECTRON_REPOSITORY; @@ -63,48 +63,23 @@ index 25d8916..250ba7c 100644 + electronOverride.tag = process.env.VSCODE_ELECTRON_TAG; + } + - let result = all -@@ -370,3 +380,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op + let result: NodeJS.ReadWriteStream = all +@@ -379,3 +389,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d .pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523 -- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false })) -+ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false })) +- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false, ...customElectronConfig })) ++ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false, ...customElectronConfig })) .pipe(filter(['**', '!LICENSE', '!version'], { dot: true })); -diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js -index f58d0f8..4edb371 100644 ---- a/build/linux/debian/dep-lists.js -+++ b/build/linux/debian/dep-lists.js -@@ -140,3 +140,3 @@ exports.referenceGeneratedDepsByArch = { - 'xdg-utils (>= 1.0.2)' -- ] -+ ], - }; diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts -index 5b7ccd5..707129f 100644 +index d00eb59..34ecdf1 100644 --- a/build/linux/debian/dep-lists.ts +++ b/build/linux/debian/dep-lists.ts -@@ -140,3 +140,3 @@ export const referenceGeneratedDepsByArch = { +@@ -141,3 +141,3 @@ export const referenceGeneratedDepsByArch = { 'xdg-utils (>= 1.0.2)' - ] + ], }; -diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js -index d16e13b..18e409a 100644 ---- a/build/linux/debian/install-sysroot.js -+++ b/build/linux/debian/install-sysroot.js -@@ -73,3 +73,5 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) { - try { -- const response = await fetch(`https://api.github.com/repos/Microsoft/vscode-linux-build-agent/releases/tags/v${version}`, { -+ const repository = process.env['VSCODE_SYSROOT_REPOSITORY'] ?? 'Microsoft/vscode-linux-build-agent'; -+ const actualVersion = process.env['VSCODE_SYSROOT_VERSION'] ?? version; -+ const response = await fetch(`https://api.github.com/repos/${repository}/releases/tags/v${actualVersion}`, { - headers: ghApiHeaders, -@@ -82,3 +84,3 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) { - if (!asset) { -- throw new Error(`Could not find asset in release of Microsoft/vscode-linux-build-agent @ ${version}`); -+ throw new Error(`Could not find asset in release of ${repository} @ ${actualVersion}`); - } diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts -index 670fb68..092fc68 100644 +index 2cab657..0d9dc55 100644 --- a/build/linux/debian/install-sysroot.ts +++ b/build/linux/debian/install-sysroot.ts @@ -82,3 +82,5 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000) diff --git a/patches/linux/arch-1-ppc64le.patch b/patches/linux/arch-1-ppc64le.patch index ccc368d..5a640b5 100644 --- a/patches/linux/arch-1-ppc64le.patch +++ b/patches/linux/arch-1-ppc64le.patch @@ -1,5 +1,5 @@ diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh -index c27358a..3e33f75 100755 +index 742aaef..b98ce1e 100755 --- a/build/azure-pipelines/linux/setup-env.sh +++ b/build/azure-pipelines/linux/setup-env.sh @@ -76,2 +76,14 @@ elif [ "$npm_config_arch" == "arm" ]; then @@ -33,60 +33,48 @@ index 5744a5f..3fedbe9 100644 @@ -7 +7,2 @@ f82c8dacbb9dd85819e4801909eb4e842ac12c899632aa75b4839383a18c7501 arm-rpi-linux- 84acc5a15566c98ddf80631731d672e0ce9febcf3f2e969101e0dfd7ef2405e3 x86_64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz +fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz -diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js -index 5ac9f95..cd04bdf 100644 ---- a/build/gulpfile.reh.js -+++ b/build/gulpfile.reh.js -@@ -50,2 +50,3 @@ const BUILD_TARGETS = [ +diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts +index cb1a0a5..83ab52b 100644 +--- a/build/gulpfile.reh.ts ++++ b/build/gulpfile.reh.ts +@@ -52,2 +52,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'arm64' }, + { platform: 'linux', arch: 'ppc64le' }, { platform: 'alpine', arch: 'arm64' }, -diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js -index aafc64e..484d5f4 100644 ---- a/build/gulpfile.scan.js -+++ b/build/gulpfile.scan.js -@@ -26,2 +26,3 @@ const BUILD_TARGETS = [ +diff --git a/build/gulpfile.scan.ts b/build/gulpfile.scan.ts +index 19e50c0..47b25cf 100644 +--- a/build/gulpfile.scan.ts ++++ b/build/gulpfile.scan.ts +@@ -24,2 +24,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'arm64' }, + { platform: 'linux', arch: 'ppc64le' }, ]; -diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js -index 004417f..c38fc1a 100644 ---- a/build/gulpfile.vscode.js -+++ b/build/gulpfile.vscode.js -@@ -475,2 +475,3 @@ const BUILD_TARGETS = [ - { platform: 'linux', arch: 'arm64' }, -+ { platform: 'linux', arch: 'ppc64le' }, - ]; -diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js -index cd8610d..707581d 100644 ---- a/build/gulpfile.vscode.linux.js -+++ b/build/gulpfile.vscode.linux.js -@@ -33,3 +33,3 @@ const linuxPackageRevision = Math.floor(new Date().getTime() / 1000); - function getDebPackageArch(arch) { -- return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64' }[arch]; -+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el' }[arch]; - } -@@ -146,3 +146,3 @@ function getRpmBuildPath(rpmArch) { - function getRpmPackageArch(arch) { -- return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64' }[arch]; -+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le' }[arch]; - } -@@ -304,2 +304,3 @@ const BUILD_TARGETS = [ +diff --git a/build/gulpfile.vscode.linux.ts b/build/gulpfile.vscode.linux.ts +index c5d2163..da4fc1f 100644 +--- a/build/gulpfile.vscode.linux.ts ++++ b/build/gulpfile.vscode.linux.ts +@@ -32,2 +32,3 @@ function getDebPackageArch(arch: string): string { + case 'arm64': return 'arm64'; ++ case 'ppc64le': return 'ppc64el'; + default: throw new Error(`Unknown arch: ${arch}`); +@@ -142,2 +143,3 @@ function getRpmPackageArch(arch: string): string { + case 'arm64': return 'aarch64'; ++ case 'ppc64le': return 'ppc64le'; + default: throw new Error(`Unknown arch: ${arch}`); +@@ -286,2 +288,3 @@ const BUILD_TARGETS = [ { arch: 'arm64' }, + { arch: 'ppc64le' }, ]; -diff --git a/build/linux/debian/calculate-deps.js b/build/linux/debian/calculate-deps.js -index 34276ce..fdae163 100644 ---- a/build/linux/debian/calculate-deps.js -+++ b/build/linux/debian/calculate-deps.js -@@ -54,2 +54,5 @@ function calculatePackageDeps(binaryPath, arch, chromiumSysroot, vscodeSysroot) - break; -+ case 'ppc64el': -+ cmd.push(`-l${chromiumSysroot}/usr/lib/powerpc64le-linux-gnu`, `-l${chromiumSysroot}/lib/powerpc64le-linux-gnu`, `-l${vscodeSysroot}/usr/lib/powerpc64le-linux-gnu`, `-l${vscodeSysroot}/lib/powerpc64le-linux-gnu`); -+ break; - } +diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts +index d3ab651..075b29c 100644 +--- a/build/gulpfile.vscode.ts ++++ b/build/gulpfile.vscode.ts +@@ -507,2 +507,3 @@ const BUILD_TARGETS = [ + { platform: 'linux', arch: 'arm64' }, ++ { platform: 'linux', arch: 'ppc64le' }, + ]; diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts -index addc386..423c415 100644 +index 98a9630..8265f30 100644 --- a/build/linux/debian/calculate-deps.ts +++ b/build/linux/debian/calculate-deps.ts @@ -61,2 +61,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi @@ -98,57 +86,11 @@ index addc386..423c415 100644 + `-l${vscodeSysroot}/lib/powerpc64le-linux-gnu`); + break; } -diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js -index 057961c..ed10661 100644 ---- a/build/linux/debian/dep-lists.js -+++ b/build/linux/debian/dep-lists.js -@@ -141,2 +141,41 @@ exports.referenceGeneratedDepsByArch = { - ], -+ 'ppc64el': [ -+ 'ca-certificates', -+ 'libasound2 (>= 1.0.17)', -+ 'libatk-bridge2.0-0 (>= 2.5.3)', -+ 'libatk1.0-0 (>= 2.2.0)', -+ 'libatspi2.0-0 (>= 2.9.90)', -+ 'libc6 (>= 2.17)', -+ 'libc6 (>= 2.28)', -+ 'libcairo2 (>= 1.6.0)', -+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3', -+ 'libdbus-1-3 (>= 1.9.14)', -+ 'libdrm2 (>= 2.4.75)', -+ 'libexpat1 (>= 2.1~beta3)', -+ 'libgbm1 (>= 17.1.0~rc2)', -+ 'libglib2.0-0 (>= 2.37.3)', -+ 'libgssapi-krb5-2 (>= 1.17)', -+ 'libgtk-3-0 (>= 3.9.10)', -+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1', -+ 'libkrb5-3 (>= 1.6.dfsg.2)', -+ 'libnspr4 (>= 2:4.9-2~)', -+ 'libnss3 (>= 2:3.30)', -+ 'libnss3 (>= 3.26)', -+ 'libpango-1.0-0 (>= 1.14.0)', -+ 'libstdc++6 (>= 4.1.1)', -+ 'libstdc++6 (>= 5)', -+ 'libstdc++6 (>= 5.2)', -+ 'libstdc++6 (>= 6)', -+ 'libx11-6', -+ 'libx11-6 (>= 2:1.4.99.1)', -+ 'libxcb1 (>= 1.9.2)', -+ 'libxcomposite1 (>= 1:0.4.4-1)', -+ 'libxdamage1 (>= 1:1.1)', -+ 'libxext6', -+ 'libxfixes3', -+ 'libxkbcommon0 (>= 0.5.0)', -+ 'libxkbfile1 (>= 1:1.1.0)', -+ 'libxrandr2', -+ 'xdg-utils (>= 1.0.2)' -+ ], - }; diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts -index 707129f..7fe60be 100644 +index 34ecdf1..73d451f 100644 --- a/build/linux/debian/dep-lists.ts +++ b/build/linux/debian/dep-lists.ts -@@ -141,2 +141,41 @@ export const referenceGeneratedDepsByArch = { +@@ -142,2 +142,41 @@ export const referenceGeneratedDepsByArch = { ], + 'ppc64el': [ + 'ca-certificates', @@ -190,37 +132,17 @@ index 707129f..7fe60be 100644 + 'xdg-utils (>= 1.0.2)' + ], }; -diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js -index 8fbdf3d..011b36f 100644 ---- a/build/linux/debian/install-sysroot.js -+++ b/build/linux/debian/install-sysroot.js -@@ -146,2 +146,6 @@ async function getVSCodeSysroot(arch, isMusl = false) { - break; -+ case 'ppc64le': -+ expectedName = `powerpc64le-linux-gnu${prefix}.tar.gz`; -+ triple = `powerpc64le-linux-gnu`; -+ break; - } diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts -index 9f3fd15..756b7fd 100644 +index 0d9dc55..ee3c136 100644 --- a/build/linux/debian/install-sysroot.ts +++ b/build/linux/debian/install-sysroot.ts -@@ -159,2 +159,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean = +@@ -158,2 +158,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean = break; -+ case 'ppc64le': ++ case 'ppc64el': + expectedName = `powerpc64le-linux-gnu${prefix}.tar.gz`; + triple = `powerpc64le-linux-gnu`; + break; } -diff --git a/build/linux/debian/types.js b/build/linux/debian/types.js -index ce21d50..2c56b9c 100644 ---- a/build/linux/debian/types.js -+++ b/build/linux/debian/types.js -@@ -8,3 +8,3 @@ exports.isDebianArchString = isDebianArchString; - function isDebianArchString(s) { -- return ['amd64', 'armhf', 'arm64'].includes(s); -+ return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s); - } diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts index e97485e..43f2434 100644 --- a/build/linux/debian/types.ts @@ -234,118 +156,11 @@ index e97485e..43f2434 100644 - return ['amd64', 'armhf', 'arm64'].includes(s); + return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s); } -diff --git a/build/linux/rpm/dep-lists.js b/build/linux/rpm/dep-lists.js -index 1f19c85..43ac5a0 100644 ---- a/build/linux/rpm/dep-lists.js -+++ b/build/linux/rpm/dep-lists.js -@@ -316,2 +316,102 @@ exports.referenceGeneratedDepsByArch = { - 'xdg-utils' -+ ], -+ "ppc64le": [ -+ 'ca-certificates', -+ 'ld-linux-x86-64.so.2()(64bit)', -+ 'ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)', -+ 'ld64.so.2()(64bit)', -+ 'ld64.so.2(GLIBC_2.17)(64bit)', -+ 'libX11.so.6()(64bit)', -+ 'libXcomposite.so.1()(64bit)', -+ 'libXdamage.so.1()(64bit)', -+ 'libXext.so.6()(64bit)', -+ 'libXfixes.so.3()(64bit)', -+ 'libXrandr.so.2()(64bit)', -+ 'libasound.so.2()(64bit)', -+ 'libasound.so.2(ALSA_0.9)(64bit)', -+ 'libasound.so.2(ALSA_0.9.0rc4)(64bit)', -+ 'libatk-1.0.so.0()(64bit)', -+ 'libatk-bridge-2.0.so.0()(64bit)', -+ 'libatspi.so.0()(64bit)', -+ 'libc.so.6()(64bit)', -+ 'libc.so.6(GLIBC_2.14)(64bit)', -+ 'libc.so.6(GLIBC_2.17)(64bit)', -+ 'libc.so.6(GLIBC_2.2.5)(64bit)', -+ 'libc.so.6(GLIBC_2.28)(64bit)', -+ 'libc.so.6(GLIBC_2.4)(64bit)', -+ 'libc.so.6(GLIBC_2.9)(64bit)', -+ 'libcairo.so.2()(64bit)', -+ 'libcups.so.2()(64bit)', -+ 'libcurl.so.4()(64bit)', -+ 'libdbus-1.so.3()(64bit)', -+ 'libdbus-1.so.3(LIBDBUS_1_3)(64bit)', -+ 'libdl.so.2()(64bit)', -+ 'libdl.so.2(GLIBC_2.17)(64bit)', -+ 'libdrm.so.2()(64bit)', -+ 'libexpat.so.1()(64bit)', -+ 'libgbm.so.1()(64bit)', -+ 'libgcc_s.so.1()(64bit)', -+ 'libgcc_s.so.1(GCC_3.0)(64bit)', -+ 'libgcc_s.so.1(GCC_3.4.4)(64bit)', -+ 'libgio-2.0.so.0()(64bit)', -+ 'libglib-2.0.so.0()(64bit)', -+ 'libgobject-2.0.so.0()(64bit)', -+ 'libgssapi_krb5.so.2()(64bit)', -+ 'libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)', -+ 'libgtk-3.so.0()(64bit)', -+ 'libkrb5.so.3()(64bit)', -+ 'libkrb5.so.3(krb5_3_MIT)(64bit)', -+ 'libm.so.6()(64bit)', -+ 'libm.so.6(GLIBC_2.17)(64bit)', -+ 'libm.so.6(GLIBC_2.2.5)(64bit)', -+ 'libm.so.6(GLIBC_2.27)(64bit)', -+ 'libnspr4.so()(64bit)', -+ 'libnss3.so()(64bit)', -+ 'libnss3.so(NSS_3.11)(64bit)', -+ 'libnss3.so(NSS_3.12)(64bit)', -+ 'libnss3.so(NSS_3.12.1)(64bit)', -+ 'libnss3.so(NSS_3.2)(64bit)', -+ 'libnss3.so(NSS_3.22)(64bit)', -+ 'libnss3.so(NSS_3.3)(64bit)', -+ 'libnss3.so(NSS_3.30)(64bit)', -+ 'libnss3.so(NSS_3.4)(64bit)', -+ 'libnss3.so(NSS_3.5)(64bit)', -+ 'libnss3.so(NSS_3.9.2)(64bit)', -+ 'libnssutil3.so()(64bit)', -+ 'libnssutil3.so(NSSUTIL_3.12.3)(64bit)', -+ 'libpango-1.0.so.0()(64bit)', -+ 'libpthread.so.0()(64bit)', -+ 'libpthread.so.0(GLIBC_2.17)(64bit)', -+ 'libpthread.so.0(GLIBC_2.2.5)(64bit)', -+ 'libpthread.so.0(GLIBC_2.3.2)(64bit)', -+ 'libpthread.so.0(GLIBC_2.3.3)(64bit)', -+ 'libsmime3.so()(64bit)', -+ 'libsmime3.so(NSS_3.10)(64bit)', -+ 'libsmime3.so(NSS_3.2)(64bit)', -+ 'libssl3.so(NSS_3.28)(64bit)', -+ 'libstdc++.so.6()(64bit)', -+ 'libstdc++.so.6(CXXABI_1.3)(64bit)', -+ 'libstdc++.so.6(CXXABI_1.3.5)(64bit)', -+ 'libstdc++.so.6(CXXABI_1.3.8)(64bit)', -+ 'libstdc++.so.6(CXXABI_1.3.9)(64bit)', -+ 'libstdc++.so.6(GLIBCXX_3.4)(64bit)', -+ 'libstdc++.so.6(GLIBCXX_3.4.11)(64bit)', -+ 'libstdc++.so.6(GLIBCXX_3.4.14)(64bit)', -+ 'libstdc++.so.6(GLIBCXX_3.4.15)(64bit)', -+ 'libstdc++.so.6(GLIBCXX_3.4.18)(64bit)', -+ 'libstdc++.so.6(GLIBCXX_3.4.19)(64bit)', -+ 'libstdc++.so.6(GLIBCXX_3.4.20)(64bit)', -+ 'libstdc++.so.6(GLIBCXX_3.4.21)(64bit)', -+ 'libstdc++.so.6(GLIBCXX_3.4.22)(64bit)', -+ 'libstdc++.so.6(GLIBCXX_3.4.5)(64bit)', -+ 'libstdc++.so.6(GLIBCXX_3.4.9)(64bit)', -+ 'libutil.so.1()(64bit)', -+ 'libutil.so.1(GLIBC_2.2.5)(64bit)', -+ 'libxcb.so.1()(64bit)', -+ 'libxkbcommon.so.0()(64bit)', -+ 'libxkbcommon.so.0(V_0.5.0)(64bit)', -+ 'libxkbfile.so.1()(64bit)', -+ 'rpmlib(FileDigests) <= 4.6.0-1', -+ 'rtld(GNU_HASH)', -+ 'xdg-utils' - ] diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts -index db52338..4231f09 100644 +index 783923f..fba6ee4 100644 --- a/build/linux/rpm/dep-lists.ts +++ b/build/linux/rpm/dep-lists.ts -@@ -315,2 +315,102 @@ export const referenceGeneratedDepsByArch = { +@@ -316,2 +316,102 @@ export const referenceGeneratedDepsByArch = { 'xdg-utils' + ], + "ppc64le": [ @@ -448,15 +263,6 @@ index db52338..4231f09 100644 + 'rtld(GNU_HASH)', + 'xdg-utils' ] -diff --git a/build/linux/rpm/types.js b/build/linux/rpm/types.js -index a20b9c2..7b58961 100644 ---- a/build/linux/rpm/types.js -+++ b/build/linux/rpm/types.js -@@ -8,3 +8,3 @@ exports.isRpmArchString = isRpmArchString; - function isRpmArchString(s) { -- return ['x86_64', 'armv7hl', 'aarch64'].includes(s); -+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s); - } diff --git a/build/linux/rpm/types.ts b/build/linux/rpm/types.ts index c6a01da..3f3c3f5 100644 --- a/build/linux/rpm/types.ts @@ -471,27 +277,27 @@ index c6a01da..3f3c3f5 100644 + return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s); } diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs -index a39bbf7..84d3efe 100644 +index 3e0895f..3fb7ffc 100644 --- a/cli/src/update_service.rs +++ b/cli/src/update_service.rs -@@ -176,2 +176,3 @@ pub enum Platform { +@@ -186,2 +186,3 @@ pub enum Platform { LinuxARM32Legacy, + LinuxPPC64LE, DarwinX64, -@@ -194,2 +195,3 @@ impl Platform { +@@ -204,2 +205,3 @@ impl Platform { Platform::LinuxARM32Legacy => "armhf", + Platform::LinuxPPC64LE => "ppc64le", Platform::DarwinX64 => "x64", -@@ -213,2 +215,3 @@ impl Platform { +@@ -223,2 +225,3 @@ impl Platform { Platform::LinuxARM32Legacy => "linux", + Platform::LinuxPPC64LE => "linux", Platform::DarwinX64 => "darwin", -@@ -241,2 +244,4 @@ impl Platform { +@@ -251,2 +254,4 @@ impl Platform { Some(Platform::LinuxARM64) + } else if cfg!(all(target_os = "linux", target_arch = "powerpc64")) { + Some(Platform::LinuxPPC64LE) } else if cfg!(all(target_os = "macos", target_arch = "x86_64")) { -@@ -268,2 +273,3 @@ impl fmt::Display for Platform { +@@ -278,2 +283,3 @@ impl fmt::Display for Platform { Platform::LinuxARM32Legacy => "LinuxARM32Legacy", + Platform::LinuxPPC64LE => "LinuxPPC64LE", Platform::DarwinX64 => "DarwinX64", @@ -513,28 +319,28 @@ index 8ea4c0b..b9d3b47 100644 + ppc64el) LDCONFIG_ARCH="64bit";; esac diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts -index e91310f..a28beef 100644 +index 34eaca0..a754ff3 100644 --- a/src/vs/platform/extensionManagement/common/extensionManagement.ts +++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts -@@ -47,2 +47,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) { +@@ -48,2 +48,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) { case TargetPlatform.LINUX_ARMHF: return 'Linux ARM'; + case TargetPlatform.LINUX_PPC64LE: return 'Linux PowerPC64'; -@@ -70,2 +71,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform { +@@ -71,2 +72,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform { case TargetPlatform.LINUX_ARMHF: return TargetPlatform.LINUX_ARMHF; + case TargetPlatform.LINUX_PPC64LE: return TargetPlatform.LINUX_PPC64LE; -@@ -105,2 +107,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string | +@@ -106,2 +108,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string | } + if (arch === 'ppc64le') { + return TargetPlatform.LINUX_PPC64LE; + } return TargetPlatform.UNKNOWN; diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts -index 0b42527..69d6eb3 100644 +index 4c5d20c..1735ac9 100644 --- a/src/vs/platform/extensions/common/extensions.ts +++ b/src/vs/platform/extensions/common/extensions.ts -@@ -329,2 +329,3 @@ export const enum TargetPlatform { +@@ -330,2 +330,3 @@ export const enum TargetPlatform { LINUX_ARMHF = 'linux-armhf', + LINUX_PPC64LE = 'linux-ppc64le', diff --git a/patches/linux/arch-2-riscv64.patch b/patches/linux/arch-2-riscv64.patch index b063ccd..ff5155b 100644 --- a/patches/linux/arch-2-riscv64.patch +++ b/patches/linux/arch-2-riscv64.patch @@ -1,57 +1,45 @@ -diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js -index cd04bdf..e284026 100644 ---- a/build/gulpfile.reh.js -+++ b/build/gulpfile.reh.js -@@ -51,2 +51,3 @@ const BUILD_TARGETS = [ +diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts +index 83ab52b..ff202a7 100644 +--- a/build/gulpfile.reh.ts ++++ b/build/gulpfile.reh.ts +@@ -53,2 +53,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'ppc64le' }, + { platform: 'linux', arch: 'riscv64' }, { platform: 'alpine', arch: 'arm64' }, -diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js -index 484d5f4..66c8e1f 100644 ---- a/build/gulpfile.scan.js -+++ b/build/gulpfile.scan.js -@@ -27,2 +27,3 @@ const BUILD_TARGETS = [ +diff --git a/build/gulpfile.scan.ts b/build/gulpfile.scan.ts +index 47b25cf..dd5bb56 100644 +--- a/build/gulpfile.scan.ts ++++ b/build/gulpfile.scan.ts +@@ -25,2 +25,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'ppc64le' }, + { platform: 'linux', arch: 'riscv64' }, ]; -diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js -index 3ed2182..f0614d0 100644 ---- a/build/gulpfile.vscode.js -+++ b/build/gulpfile.vscode.js -@@ -492,2 +492,3 @@ const BUILD_TARGETS = [ - { platform: 'linux', arch: 'ppc64le' }, -+ { platform: 'linux', arch: 'riscv64' }, - ]; -diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js -index 707581d..298181d 100644 ---- a/build/gulpfile.vscode.linux.js -+++ b/build/gulpfile.vscode.linux.js -@@ -33,3 +33,3 @@ const linuxPackageRevision = Math.floor(new Date().getTime() / 1000); - function getDebPackageArch(arch) { -- return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el' }[arch]; -+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el', riscv64: 'riscv64' }[arch]; - } -@@ -146,3 +146,3 @@ function getRpmBuildPath(rpmArch) { - function getRpmPackageArch(arch) { -- return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le' }[arch]; -+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le', riscv64: 'riscv64' }[arch]; - } -@@ -305,2 +305,3 @@ const BUILD_TARGETS = [ +diff --git a/build/gulpfile.vscode.linux.ts b/build/gulpfile.vscode.linux.ts +index da4fc1f..b64dd9a 100644 +--- a/build/gulpfile.vscode.linux.ts ++++ b/build/gulpfile.vscode.linux.ts +@@ -33,2 +33,3 @@ function getDebPackageArch(arch: string): string { + case 'ppc64le': return 'ppc64el'; ++ case 'riscv64': return 'riscv64'; + default: throw new Error(`Unknown arch: ${arch}`); +@@ -144,2 +145,3 @@ function getRpmPackageArch(arch: string): string { + case 'ppc64le': return 'ppc64le'; ++ case 'riscv64': return 'riscv64'; + default: throw new Error(`Unknown arch: ${arch}`); +@@ -289,2 +291,3 @@ const BUILD_TARGETS = [ { arch: 'ppc64le' }, + { arch: 'riscv64' }, ]; -diff --git a/build/linux/debian/calculate-deps.js b/build/linux/debian/calculate-deps.js -index fdae163..a08ebda 100644 ---- a/build/linux/debian/calculate-deps.js -+++ b/build/linux/debian/calculate-deps.js -@@ -57,2 +57,5 @@ function calculatePackageDeps(binaryPath, arch, chromiumSysroot, vscodeSysroot) - break; -+ case 'riscv64': -+ cmd.push(`-l${chromiumSysroot}/usr/lib/riscv64-linux-gnu`, `-l${chromiumSysroot}/lib/riscv64-linux-gnu`, `-l${vscodeSysroot}/usr/lib/riscv64-linux-gnu`, `-l${vscodeSysroot}/lib/riscv64-linux-gnu`); -+ break; - } +diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts +index 075b29c..15bd141 100644 +--- a/build/gulpfile.vscode.ts ++++ b/build/gulpfile.vscode.ts +@@ -508,2 +508,3 @@ const BUILD_TARGETS = [ + { platform: 'linux', arch: 'ppc64le' }, ++ { platform: 'linux', arch: 'riscv64' }, + ]; diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts -index 423c415..88ee2f0 100644 +index 8265f30..5503896 100644 --- a/build/linux/debian/calculate-deps.ts +++ b/build/linux/debian/calculate-deps.ts @@ -67,2 +67,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi @@ -63,58 +51,11 @@ index 423c415..88ee2f0 100644 + `-l${vscodeSysroot}/lib/riscv64-linux-gnu`); + break; } -diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js -index a85352e..4ccdcd9 100644 ---- a/build/linux/debian/dep-lists.js -+++ b/build/linux/debian/dep-lists.js -@@ -178,2 +178,42 @@ exports.referenceGeneratedDepsByArch = { - ], -+ 'riscv64': [ -+ 'ca-certificates', -+ 'libatomic1', -+ 'libasound2 (>= 1.0.17)', -+ 'libatk-bridge2.0-0 (>= 2.5.3)', -+ 'libatk1.0-0 (>= 2.2.0)', -+ 'libatspi2.0-0 (>= 2.9.90)', -+ 'libc6 (>= 2.17)', -+ 'libc6 (>= 2.28)', -+ 'libcairo2 (>= 1.6.0)', -+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3', -+ 'libdbus-1-3 (>= 1.0.2)', -+ 'libdrm2 (>= 2.4.60)', -+ 'libexpat1 (>= 2.0.1)', -+ 'libgbm1 (>= 17.1.0~rc2)', -+ 'libglib2.0-0 (>= 2.16.0)', -+ 'libglib2.0-0 (>= 2.39.4)', -+ 'libgtk-3-0 (>= 3.9.10)', -+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1', -+ 'libnspr4 (>= 2:4.9-2~)', -+ 'libnss3 (>= 2:3.22)', -+ 'libnss3 (>= 3.26)', -+ 'libpango-1.0-0 (>= 1.14.0)', -+ 'libsecret-1-0 (>= 0.18)', -+ 'libstdc++6 (>= 4.1.1)', -+ 'libstdc++6 (>= 5)', -+ 'libstdc++6 (>= 5.2)', -+ 'libstdc++6 (>= 6)', -+ 'libx11-6', -+ 'libx11-6 (>= 2:1.4.99.1)', -+ 'libxcb1 (>= 1.9.2)', -+ 'libxcomposite1 (>= 1:0.4.4-1)', -+ 'libxdamage1 (>= 1:1.1)', -+ 'libxext6', -+ 'libxfixes3', -+ 'libxkbcommon0 (>= 0.4.1)', -+ 'libxkbfile1', -+ 'libxrandr2', -+ 'xdg-utils (>= 1.0.2)' -+ ], - }; diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts -index 0d0f11b..b765492 100644 +index 73d451f..7ea5910 100644 --- a/build/linux/debian/dep-lists.ts +++ b/build/linux/debian/dep-lists.ts -@@ -178,2 +178,42 @@ export const referenceGeneratedDepsByArch = { +@@ -181,2 +181,42 @@ export const referenceGeneratedDepsByArch = { ], + 'riscv64': [ + 'ca-certificates', @@ -157,37 +98,17 @@ index 0d0f11b..b765492 100644 + 'xdg-utils (>= 1.0.2)' + ], }; -diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js -index ab6b826..fc2817a 100644 ---- a/build/linux/debian/install-sysroot.js -+++ b/build/linux/debian/install-sysroot.js -@@ -144,2 +144,6 @@ async function getVSCodeSysroot(arch) { - break; -+ case 'riscv64': -+ expectedName = `riscv64-linux-gnu${prefix}.tar.gz`; -+ triple = 'riscv64-linux-gnu'; -+ break; - } diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts -index c23db0f..50c28b2 100644 +index ee3c136..53ff8eb 100644 --- a/build/linux/debian/install-sysroot.ts +++ b/build/linux/debian/install-sysroot.ts -@@ -158,2 +158,6 @@ export async function getVSCodeSysroot(arch: DebianArchString): Promise +@@ -162,2 +162,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean = break; + case 'riscv64': + expectedName = `riscv64-linux-gnu${prefix}.tar.gz`; + triple = 'riscv64-linux-gnu'; + break; } -diff --git a/build/linux/debian/types.js b/build/linux/debian/types.js -index 2c56b9c..cadefc2 100644 ---- a/build/linux/debian/types.js -+++ b/build/linux/debian/types.js -@@ -8,3 +8,3 @@ exports.isDebianArchString = isDebianArchString; - function isDebianArchString(s) { -- return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s); -+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s); - } diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts index 43f2434..24fe452 100644 --- a/build/linux/debian/types.ts @@ -201,15 +122,6 @@ index 43f2434..24fe452 100644 - return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s); + return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s); } -diff --git a/build/linux/rpm/types.js b/build/linux/rpm/types.js -index 7b58961..99a8cff 100644 ---- a/build/linux/rpm/types.js -+++ b/build/linux/rpm/types.js -@@ -8,3 +8,3 @@ exports.isRpmArchString = isRpmArchString; - function isRpmArchString(s) { -- return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s); -+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s); - } diff --git a/build/linux/rpm/types.ts b/build/linux/rpm/types.ts index 3f3c3f5..d94537e 100644 --- a/build/linux/rpm/types.ts @@ -224,27 +136,27 @@ index 3f3c3f5..d94537e 100644 + return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s); } diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs -index 84d3efe..4f2c8c2 100644 +index 3fb7ffc..f1afd87 100644 --- a/cli/src/update_service.rs +++ b/cli/src/update_service.rs -@@ -177,2 +177,3 @@ pub enum Platform { +@@ -187,2 +187,3 @@ pub enum Platform { LinuxPPC64LE, + LinuxRISCV64, DarwinX64, -@@ -196,2 +197,3 @@ impl Platform { +@@ -206,2 +207,3 @@ impl Platform { Platform::LinuxPPC64LE => "ppc64le", + Platform::LinuxRISCV64 => "riscv64", Platform::DarwinX64 => "x64", -@@ -216,2 +218,3 @@ impl Platform { +@@ -226,2 +228,3 @@ impl Platform { Platform::LinuxPPC64LE => "linux", + Platform::LinuxRISCV64 => "linux", Platform::DarwinX64 => "darwin", -@@ -246,2 +249,4 @@ impl Platform { +@@ -256,2 +259,4 @@ impl Platform { Some(Platform::LinuxPPC64LE) + } else if cfg!(all(target_os = "linux", target_arch = "riscv64")) { + Some(Platform::LinuxRISCV64) } else if cfg!(all(target_os = "macos", target_arch = "x86_64")) { -@@ -274,2 +279,3 @@ impl fmt::Display for Platform { +@@ -284,2 +289,3 @@ impl fmt::Display for Platform { Platform::LinuxPPC64LE => "LinuxPPC64LE", + Platform::LinuxRISCV64 => "LinuxRISCV64", Platform::DarwinX64 => "DarwinX64", @@ -266,28 +178,28 @@ index b9d3b47..b18e402 100644 + riscv64) LDCONFIG_ARCH="RISC-V";; esac diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts -index 5400065..be95b04 100644 +index a754ff3..b607327 100644 --- a/src/vs/platform/extensionManagement/common/extensionManagement.ts +++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts -@@ -45,2 +45,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) { +@@ -49,2 +49,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) { case TargetPlatform.LINUX_PPC64LE: return 'Linux PowerPC64'; + case TargetPlatform.LINUX_RISCV64: return 'Linux RISC-V 64'; -@@ -69,2 +70,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform { +@@ -73,2 +74,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform { case TargetPlatform.LINUX_PPC64LE: return TargetPlatform.LINUX_PPC64LE; + case TargetPlatform.LINUX_RISCV64: return TargetPlatform.LINUX_RISCV64; -@@ -107,2 +109,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string | +@@ -111,2 +113,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string | } + if (arch === 'riscv64') { + return TargetPlatform.LINUX_RISCV64; + } return TargetPlatform.UNKNOWN; diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts -index 23f1bea..10152de 100644 +index 1735ac9..96d08cb 100644 --- a/src/vs/platform/extensions/common/extensions.ts +++ b/src/vs/platform/extensions/common/extensions.ts -@@ -320,2 +320,3 @@ export const enum TargetPlatform { +@@ -331,2 +331,3 @@ export const enum TargetPlatform { LINUX_PPC64LE = 'linux-ppc64le', + LINUX_RISCV64 = 'linux-riscv64', diff --git a/patches/linux/arch-3-loong64.patch b/patches/linux/arch-3-loong64.patch index a4c60fb..c05d5e1 100644 --- a/patches/linux/arch-3-loong64.patch +++ b/patches/linux/arch-3-loong64.patch @@ -1,49 +1,65 @@ -diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js -index e284026..52f9a12 100644 ---- a/build/gulpfile.reh.js -+++ b/build/gulpfile.reh.js -@@ -52,2 +52,3 @@ const BUILD_TARGETS = [ +diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts +index ff202a7..74bd1bc 100644 +--- a/build/gulpfile.reh.ts ++++ b/build/gulpfile.reh.ts +@@ -54,2 +54,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'riscv64' }, + { platform: 'linux', arch: 'loong64' }, { platform: 'alpine', arch: 'arm64' }, -diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js -index 66c8e1f..8a8c1eb 100644 ---- a/build/gulpfile.scan.js -+++ b/build/gulpfile.scan.js -@@ -28,2 +28,3 @@ const BUILD_TARGETS = [ +diff --git a/build/gulpfile.scan.ts b/build/gulpfile.scan.ts +index dd5bb56..e7881de 100644 +--- a/build/gulpfile.scan.ts ++++ b/build/gulpfile.scan.ts +@@ -26,2 +26,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'riscv64' }, + { platform: 'linux', arch: 'loong64' }, ]; -diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js -index f0614d0..1438867 100644 ---- a/build/gulpfile.vscode.js -+++ b/build/gulpfile.vscode.js -@@ -493,2 +493,3 @@ const BUILD_TARGETS = [ +diff --git a/build/gulpfile.vscode.linux.ts b/build/gulpfile.vscode.linux.ts +index b64dd9a..e146586 100644 +--- a/build/gulpfile.vscode.linux.ts ++++ b/build/gulpfile.vscode.linux.ts +@@ -34,2 +34,3 @@ function getDebPackageArch(arch: string): string { + case 'riscv64': return 'riscv64'; ++ case 'loong64': return 'loong64'; + default: throw new Error(`Unknown arch: ${arch}`); +@@ -146,2 +147,3 @@ function getRpmPackageArch(arch: string): string { + case 'riscv64': return 'riscv64'; ++ case 'loong64': return 'loong64'; + default: throw new Error(`Unknown arch: ${arch}`); +@@ -292,2 +294,3 @@ const BUILD_TARGETS = [ + { arch: 'riscv64' }, ++ { arch: 'loong64' }, + ]; +diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts +index 15bd141..cabe16f 100644 +--- a/build/gulpfile.vscode.ts ++++ b/build/gulpfile.vscode.ts +@@ -509,2 +509,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'riscv64' }, + { platform: 'linux', arch: 'loong64' }, ]; diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs -index 4f2c8c2..4ea1bd2 100644 +index f1afd87..0a5e6df 100644 --- a/cli/src/update_service.rs +++ b/cli/src/update_service.rs -@@ -178,2 +178,3 @@ pub enum Platform { +@@ -188,2 +188,3 @@ pub enum Platform { LinuxRISCV64, + LinuxLoong64, DarwinX64, -@@ -198,2 +199,3 @@ impl Platform { +@@ -208,2 +209,3 @@ impl Platform { Platform::LinuxRISCV64 => "riscv64", + Platform::LinuxLoong64 => "loong64", Platform::DarwinX64 => "x64", -@@ -219,2 +221,3 @@ impl Platform { +@@ -229,2 +231,3 @@ impl Platform { Platform::LinuxRISCV64 => "linux", + Platform::LinuxLoong64 => "linux", Platform::DarwinX64 => "darwin", -@@ -251,2 +254,4 @@ impl Platform { +@@ -261,2 +264,4 @@ impl Platform { Some(Platform::LinuxRISCV64) + } else if cfg!(all(target_os = "linux", target_arch = "loongarch64")) { + Some(Platform::LinuxLoong64) } else if cfg!(all(target_os = "macos", target_arch = "x86_64")) { -@@ -280,2 +285,3 @@ impl fmt::Display for Platform { +@@ -290,2 +295,3 @@ impl fmt::Display for Platform { Platform::LinuxRISCV64 => "LinuxRISCV64", + Platform::LinuxLoong64 => "LinuxLoong64", Platform::DarwinX64 => "DarwinX64", @@ -65,28 +81,28 @@ index b18e402..0b7aa4e 100644 + loongarch64) LDCONFIG_ARCH="double-float";; esac diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts -index be95b04..1a0decd 100644 +index b607327..7162d83 100644 --- a/src/vs/platform/extensionManagement/common/extensionManagement.ts +++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts -@@ -46,2 +46,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) { +@@ -50,2 +50,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) { case TargetPlatform.LINUX_RISCV64: return 'Linux RISC-V 64'; + case TargetPlatform.LINUX_LOONG64: return 'Linux Loong64'; -@@ -71,2 +72,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform { +@@ -75,2 +76,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform { case TargetPlatform.LINUX_RISCV64: return TargetPlatform.LINUX_RISCV64; + case TargetPlatform.LINUX_LOONG64: return TargetPlatform.LINUX_LOONG64; -@@ -112,2 +114,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string | +@@ -116,2 +118,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string | } + if (arch === 'loong64') { + return TargetPlatform.LINUX_LOONG64; + } return TargetPlatform.UNKNOWN; diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts -index 10152de..3eb0412 100644 +index 96d08cb..51e67ea 100644 --- a/src/vs/platform/extensions/common/extensions.ts +++ b/src/vs/platform/extensions/common/extensions.ts -@@ -321,2 +321,3 @@ export const enum TargetPlatform { +@@ -332,2 +332,3 @@ export const enum TargetPlatform { LINUX_RISCV64 = 'linux-riscv64', + LINUX_LOONG64 = 'linux-loong64', diff --git a/patches/linux/arch-4-s390x.patch b/patches/linux/arch-4-s390x.patch index 70e1f7f..aba2837 100644 --- a/patches/linux/arch-4-s390x.patch +++ b/patches/linux/arch-4-s390x.patch @@ -1,5 +1,5 @@ diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh -index 3e33f75..052b38f 100755 +index b98ce1e..c078682 100755 --- a/build/azure-pipelines/linux/setup-env.sh +++ b/build/azure-pipelines/linux/setup-env.sh @@ -88,2 +88,14 @@ elif [ "$npm_config_arch" == "ppc64" ]; then @@ -24,60 +24,48 @@ index 3fedbe9..3c4e291 100644 @@ -8 +8,2 @@ f82c8dacbb9dd85819e4801909eb4e842ac12c899632aa75b4839383a18c7501 arm-rpi-linux- fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz +7055f3d40e7195fb1e13f0fbaf5ffadf781bddaca5fd5e0d9972f4157a203fb5 s390x-linux-gnu-glibc-2.28.tar.gz -diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js -index 52f9a12..4b890f4 100644 ---- a/build/gulpfile.reh.js -+++ b/build/gulpfile.reh.js -@@ -53,2 +53,3 @@ const BUILD_TARGETS = [ +diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts +index 74bd1bc..ba46ff2 100644 +--- a/build/gulpfile.reh.ts ++++ b/build/gulpfile.reh.ts +@@ -55,2 +55,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'loong64' }, + { platform: 'linux', arch: 's390x' }, { platform: 'alpine', arch: 'arm64' }, -diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js -index 8a8c1eb..1ef390b 100644 ---- a/build/gulpfile.scan.js -+++ b/build/gulpfile.scan.js -@@ -29,2 +29,3 @@ const BUILD_TARGETS = [ +diff --git a/build/gulpfile.scan.ts b/build/gulpfile.scan.ts +index e7881de..affa8df 100644 +--- a/build/gulpfile.scan.ts ++++ b/build/gulpfile.scan.ts +@@ -27,2 +27,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'loong64' }, + { platform: 'linux', arch: 's390x' }, ]; -diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js -index ee66585..c9f9ceb 100644 ---- a/build/gulpfile.vscode.js -+++ b/build/gulpfile.vscode.js -@@ -478,2 +478,3 @@ const BUILD_TARGETS = [ - { platform: 'linux', arch: 'loong64' }, -+ { platform: 'linux', arch: 's390x' }, - ]; -diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js -index 298181d..dcc42a8 100644 ---- a/build/gulpfile.vscode.linux.js -+++ b/build/gulpfile.vscode.linux.js -@@ -33,3 +33,3 @@ const linuxPackageRevision = Math.floor(new Date().getTime() / 1000); - function getDebPackageArch(arch) { -- return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el', riscv64: 'riscv64' }[arch]; -+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el', riscv64: 'riscv64', s390x: 's390x' }[arch]; - } -@@ -146,3 +146,3 @@ function getRpmBuildPath(rpmArch) { - function getRpmPackageArch(arch) { -- return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le', riscv64: 'riscv64' }[arch]; -+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le', riscv64: 'riscv64', s390x: 's390x' }[arch]; - } -@@ -306,2 +306,3 @@ const BUILD_TARGETS = [ - { arch: 'riscv64' }, +diff --git a/build/gulpfile.vscode.linux.ts b/build/gulpfile.vscode.linux.ts +index e146586..ca18865 100644 +--- a/build/gulpfile.vscode.linux.ts ++++ b/build/gulpfile.vscode.linux.ts +@@ -35,2 +35,3 @@ function getDebPackageArch(arch: string): string { + case 'loong64': return 'loong64'; ++ case 's390x': return 's390x'; + default: throw new Error(`Unknown arch: ${arch}`); +@@ -148,2 +149,3 @@ function getRpmPackageArch(arch: string): string { + case 'loong64': return 'loong64'; ++ case 's390x': return 's390x'; + default: throw new Error(`Unknown arch: ${arch}`); +@@ -295,2 +297,3 @@ const BUILD_TARGETS = [ + { arch: 'loong64' }, + { arch: 's390x' }, ]; -diff --git a/build/linux/debian/calculate-deps.js b/build/linux/debian/calculate-deps.js -index a08ebda..9527119 100644 ---- a/build/linux/debian/calculate-deps.js -+++ b/build/linux/debian/calculate-deps.js -@@ -60,2 +60,5 @@ function calculatePackageDeps(binaryPath, arch, chromiumSysroot, vscodeSysroot) - break; -+ case 's390x': -+ cmd.push(`-l${chromiumSysroot}/usr/lib/s390x-linux-gnu`, `-l${chromiumSysroot}/lib/s390x-linux-gnu`, `-l${vscodeSysroot}/usr/lib/s390x-linux-gnu`, `-l${vscodeSysroot}/lib/s390x-linux-gnu`); -+ break; - } +diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts +index cabe16f..2703602 100644 +--- a/build/gulpfile.vscode.ts ++++ b/build/gulpfile.vscode.ts +@@ -510,2 +510,3 @@ const BUILD_TARGETS = [ + { platform: 'linux', arch: 'loong64' }, ++ { platform: 'linux', arch: 's390x' }, + ]; diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts -index 88ee2f0..8037cf2 100644 +index 5503896..dfae87c 100644 --- a/build/linux/debian/calculate-deps.ts +++ b/build/linux/debian/calculate-deps.ts @@ -73,2 +73,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi @@ -89,58 +77,11 @@ index 88ee2f0..8037cf2 100644 + `-l${vscodeSysroot}/lib/s390x-linux-gnu`); + break; } -diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js -index 13cf8f0..9ffd805 100644 ---- a/build/linux/debian/dep-lists.js -+++ b/build/linux/debian/dep-lists.js -@@ -220,2 +220,42 @@ exports.referenceGeneratedDepsByArch = { - ], -+ 's390x': [ -+ 'ca-certificates', -+ 'libatomic1', -+ 'libasound2 (>= 1.0.17)', -+ 'libatk-bridge2.0-0 (>= 2.5.3)', -+ 'libatk1.0-0 (>= 2.2.0)', -+ 'libatspi2.0-0 (>= 2.9.90)', -+ 'libc6 (>= 2.17)', -+ 'libc6 (>= 2.28)', -+ 'libcairo2 (>= 1.6.0)', -+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3', -+ 'libdbus-1-3 (>= 1.0.2)', -+ 'libdrm2 (>= 2.4.60)', -+ 'libexpat1 (>= 2.0.1)', -+ 'libgbm1 (>= 17.1.0~rc2)', -+ 'libglib2.0-0 (>= 2.16.0)', -+ 'libglib2.0-0 (>= 2.39.4)', -+ 'libgtk-3-0 (>= 3.9.10)', -+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1', -+ 'libnspr4 (>= 2:4.9-2~)', -+ 'libnss3 (>= 2:3.22)', -+ 'libnss3 (>= 3.26)', -+ 'libpango-1.0-0 (>= 1.14.0)', -+ 'libsecret-1-0 (>= 0.18)', -+ 'libstdc++6 (>= 4.1.1)', -+ 'libstdc++6 (>= 5)', -+ 'libstdc++6 (>= 5.2)', -+ 'libstdc++6 (>= 6)', -+ 'libx11-6', -+ 'libx11-6 (>= 2:1.4.99.1)', -+ 'libxcb1 (>= 1.9.2)', -+ 'libxcomposite1 (>= 1:0.4.4-1)', -+ 'libxdamage1 (>= 1:1.1)', -+ 'libxext6', -+ 'libxfixes3', -+ 'libxkbcommon0 (>= 0.4.1)', -+ 'libxkbfile1', -+ 'libxrandr2', -+ 'xdg-utils (>= 1.0.2)' -+ ], - }; diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts -index 7e6938a..8a314ec 100644 +index 7ea5910..9498993 100644 --- a/build/linux/debian/dep-lists.ts +++ b/build/linux/debian/dep-lists.ts -@@ -220,2 +220,42 @@ export const referenceGeneratedDepsByArch = { +@@ -221,2 +221,42 @@ export const referenceGeneratedDepsByArch = { ], + 's390x': [ + 'ca-certificates', @@ -183,37 +124,17 @@ index 7e6938a..8a314ec 100644 + 'xdg-utils (>= 1.0.2)' + ], }; -diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js -index e510426..ce7c75b 100644 ---- a/build/linux/debian/install-sysroot.js -+++ b/build/linux/debian/install-sysroot.js -@@ -154,2 +154,6 @@ async function getVSCodeSysroot(arch, isMusl = false) { - break; -+ case 's390x': -+ expectedName = `s390x-linux-gnu${prefix}.tar.gz`; -+ triple = 's390x-linux-gnu'; -+ break; - } diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts -index 42841f6..cffae59 100644 +index 53ff8eb..137f1be 100644 --- a/build/linux/debian/install-sysroot.ts +++ b/build/linux/debian/install-sysroot.ts -@@ -167,2 +167,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean = +@@ -166,2 +166,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean = break; + case 's390x': + expectedName = `s390x-linux-gnu${prefix}.tar.gz`; + triple = 's390x-linux-gnu'; + break; } -diff --git a/build/linux/debian/types.js b/build/linux/debian/types.js -index cadefc2..8132812 100644 ---- a/build/linux/debian/types.js -+++ b/build/linux/debian/types.js -@@ -8,3 +8,3 @@ exports.isDebianArchString = isDebianArchString; - function isDebianArchString(s) { -- return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s); -+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64', 's390x'].includes(s); - } diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts index 24fe452..9efba5b 100644 --- a/build/linux/debian/types.ts @@ -228,10 +149,10 @@ index 24fe452..9efba5b 100644 + return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64', 's390x'].includes(s); } diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts -index 4231f09..fc70433 100644 +index fba6ee4..33efc80 100644 --- a/build/linux/rpm/dep-lists.ts +++ b/build/linux/rpm/dep-lists.ts -@@ -415,2 +415,102 @@ export const referenceGeneratedDepsByArch = { +@@ -416,2 +416,102 @@ export const referenceGeneratedDepsByArch = { 'xdg-utils' + ], + "s390x": [ @@ -334,15 +255,6 @@ index 4231f09..fc70433 100644 + 'rtld(GNU_HASH)', + 'xdg-utils' ] -diff --git a/build/linux/rpm/types.js b/build/linux/rpm/types.js -index 99a8cff..e2f3548 100644 ---- a/build/linux/rpm/types.js -+++ b/build/linux/rpm/types.js -@@ -8,3 +8,3 @@ exports.isRpmArchString = isRpmArchString; - function isRpmArchString(s) { -- return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s); -+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64', 's390x'].includes(s); - } diff --git a/build/linux/rpm/types.ts b/build/linux/rpm/types.ts index d94537e..3834b94 100644 --- a/build/linux/rpm/types.ts @@ -365,28 +277,28 @@ index 0b7aa4e..e8b7ce0 100644 + s390x) LDCONFIG_ARCH="64bit";; esac diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts -index dedea4c..1043fe4 100644 +index 7162d83..f6bb8fd 100644 --- a/src/vs/platform/extensionManagement/common/extensionManagement.ts +++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts -@@ -50,2 +50,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) { +@@ -51,2 +51,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) { case TargetPlatform.LINUX_LOONG64: return 'Linux Loong64'; + case TargetPlatform.LINUX_S390X: return 'Linux S390X'; -@@ -76,2 +77,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform { +@@ -77,2 +78,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform { case TargetPlatform.LINUX_LOONG64: return TargetPlatform.LINUX_LOONG64; + case TargetPlatform.LINUX_S390X: return TargetPlatform.LINUX_S390X; -@@ -120,2 +122,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string | +@@ -121,2 +123,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string | } + if (arch === 's390x') { + return TargetPlatform.LINUX_S390X; + } return TargetPlatform.UNKNOWN; diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts -index 6d554ce..51d23fa 100644 +index 51e67ea..a006165 100644 --- a/src/vs/platform/extensions/common/extensions.ts +++ b/src/vs/platform/extensions/common/extensions.ts -@@ -332,2 +332,3 @@ export const enum TargetPlatform { +@@ -333,2 +333,3 @@ export const enum TargetPlatform { LINUX_LOONG64 = 'linux-loong64', + LINUX_S390X = 'linux-s390x', diff --git a/patches/linux/cli.patch b/patches/linux/cli.patch new file mode 100644 index 0000000..ff8b6df --- /dev/null +++ b/patches/linux/cli.patch @@ -0,0 +1,26 @@ +diff --git a/cli/src/tunnels/code_server.rs b/cli/src/tunnels/code_server.rs +index bbabadc..08af0df 100644 +--- a/cli/src/tunnels/code_server.rs ++++ b/cli/src/tunnels/code_server.rs +@@ -4,2 +4,4 @@ + *--------------------------------------------------------------------------------------------*/ ++#![allow(unused_imports)] ++ + use super::paths::{InstalledServer, ServerPaths}; +diff --git a/cli/src/tunnels/dev_tunnels.rs b/cli/src/tunnels/dev_tunnels.rs +index 0168ee6..5d0d8d4 100644 +--- a/cli/src/tunnels/dev_tunnels.rs ++++ b/cli/src/tunnels/dev_tunnels.rs +@@ -4,2 +4,4 @@ + *--------------------------------------------------------------------------------------------*/ ++#![allow(unused_imports)] ++ + use super::protocol::{self, PortPrivacy, PortProtocol}; +diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs +index 55f1dad..f22a83c 100644 +--- a/cli/src/update_service.rs ++++ b/cli/src/update_service.rs +@@ -4,2 +4,3 @@ + *--------------------------------------------------------------------------------------------*/ ++#![allow(unused_imports)] + diff --git a/patches/linux/client/disable-remote.patch b/patches/linux/client/disable-remote.patch index 99c8d8e..175e45f 100644 --- a/patches/linux/client/disable-remote.patch +++ b/patches/linux/client/disable-remote.patch @@ -1,13 +1,13 @@ -diff --git a/build/npm/dirs.js b/build/npm/dirs.js -index b9645e6..22f3450 100644 ---- a/build/npm/dirs.js -+++ b/build/npm/dirs.js -@@ -47,4 +47,2 @@ const dirs = [ +diff --git a/build/npm/dirs.ts b/build/npm/dirs.ts +index 48d76e2..270b078 100644 +--- a/build/npm/dirs.ts ++++ b/build/npm/dirs.ts +@@ -53,4 +53,2 @@ export const dirs = [ 'extensions/vscode-test-resolver', - 'remote', - 'remote/web', 'test/automation', -@@ -59,4 +57,2 @@ if (fs.existsSync(`${__dirname}/../../.build/distro/npm`)) { +@@ -66,4 +64,2 @@ if (existsSync(`${import.meta.dirname}/../../.build/distro/npm`)) { dirs.push('.build/distro/npm'); - dirs.push('.build/distro/npm/remote'); - dirs.push('.build/distro/npm/remote/web'); diff --git a/patches/linux/fix-build.patch b/patches/linux/fix-build.patch index 6c0d39b..3bb1fcc 100644 --- a/patches/linux/fix-build.patch +++ b/patches/linux/fix-build.patch @@ -1,28 +1,1100 @@ -diff --git a/build/linux/dependencies-generator.js b/build/linux/dependencies-generator.js -index ae05d17..c692141 100644 ---- a/build/linux/dependencies-generator.js -+++ b/build/linux/dependencies-generator.js -@@ -27,3 +27,3 @@ const product = require("../../product.json"); - // are valid, are in dep-lists.ts --const FAIL_BUILD_FOR_NEW_DEPENDENCIES = true; -+const FAIL_BUILD_FOR_NEW_DEPENDENCIES = false; - // Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/138.0.7204.251:chrome/installer/linux/BUILD.gn;l=64-80 -@@ -60,3 +60,3 @@ async function getDependencies(packageType, buildDir, applicationName, arch) { - // Add the tunnel binary. -- files.push(path_1.default.join(buildDir, 'bin', product.tunnelApplicationName)); -+ // files.push(path_1.default.join(buildDir, 'bin', product.tunnelApplicationName)); - // Add the main executable. diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts -index 46c6d6c..23ae589 100644 +index 0ebeb41..c6f0d5c 100644 --- a/build/linux/dependencies-generator.ts +++ b/build/linux/dependencies-generator.ts -@@ -25,3 +25,3 @@ import product = require('../../product.json'); +@@ -13,3 +13,3 @@ import { type DebianArchString, isDebianArchString } from './debian/types.ts'; + import { isRpmArchString, type RpmArchString } from './rpm/types.ts'; +-import product from '../../product.json' with { type: 'json' }; ++// import product from '../../product.json' with { type: 'json' }; + +@@ -22,3 +22,3 @@ import product from '../../product.json' with { type: 'json' }; // are valid, are in dep-lists.ts -const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = true; +const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = false; -@@ -62,3 +62,3 @@ export async function getDependencies(packageType: 'deb' | 'rpm', buildDir: stri +@@ -59,3 +59,3 @@ export async function getDependencies(packageType: 'deb' | 'rpm', buildDir: stri // Add the tunnel binary. - files.push(path.join(buildDir, 'bin', product.tunnelApplicationName)); + // files.push(path.join(buildDir, 'bin', product.tunnelApplicationName)); // Add the main executable. +diff --git a/build/package-lock.json b/build/package-lock.json +index d3d0ae9..b47c35f 100644 +--- a/build/package-lock.json ++++ b/build/package-lock.json +@@ -17,3 +17,2 @@ + "@electron/get": "^2.0.0", +- "@electron/osx-sign": "^2.0.0", + "@types/ansi-colors": "^3.2.0", +@@ -105,5 +104,5 @@ + "node_modules/@azure/core-auth": { +- "version": "1.9.0", +- "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.9.0.tgz", +- "integrity": "sha512-FPwHpZywuyasDSLMqJ6fhbOK3TqUdviZNF8OqRGA4W5Ewib2lEEZ+pBsYcBa88B2NGO/SEnYPGhyBqNlE8ilSw==", ++ "version": "1.10.1", ++ "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", ++ "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", + "dev": true, +@@ -111,4 +110,4 @@ + "dependencies": { +- "@azure/abort-controller": "^2.0.0", +- "@azure/core-util": "^1.11.0", ++ "@azure/abort-controller": "^2.1.2", ++ "@azure/core-util": "^1.13.0", + "tslib": "^2.6.2" +@@ -116,3 +115,3 @@ + "engines": { +- "node": ">=18.0.0" ++ "node": ">=20.0.0" + } +@@ -235,5 +234,5 @@ + "node_modules/@azure/core-rest-pipeline": { +- "version": "1.18.0", +- "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.18.0.tgz", +- "integrity": "sha512-QSoGUp4Eq/gohEFNJaUOwTN7BCc2nHTjjbm75JT0aD7W65PWM1H/tItz0GsABn22uaKyGxiMhWQLt2r+FGU89Q==", ++ "version": "1.22.2", ++ "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", ++ "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", + "dev": true, +@@ -241,9 +240,8 @@ + "dependencies": { +- "@azure/abort-controller": "^2.0.0", +- "@azure/core-auth": "^1.8.0", +- "@azure/core-tracing": "^1.0.1", +- "@azure/core-util": "^1.11.0", +- "@azure/logger": "^1.0.0", +- "http-proxy-agent": "^7.0.0", +- "https-proxy-agent": "^7.0.0", ++ "@azure/abort-controller": "^2.1.2", ++ "@azure/core-auth": "^1.10.0", ++ "@azure/core-tracing": "^1.3.0", ++ "@azure/core-util": "^1.13.0", ++ "@azure/logger": "^1.3.0", ++ "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" +@@ -251,3 +249,3 @@ + "engines": { +- "node": ">=18.0.0" ++ "node": ">=20.0.0" + } +@@ -268,5 +266,5 @@ + "node_modules/@azure/core-tracing": { +- "version": "1.2.0", +- "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.2.0.tgz", +- "integrity": "sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg==", ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz", ++ "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==", + "dev": true, +@@ -277,3 +275,3 @@ + "engines": { +- "node": ">=18.0.0" ++ "node": ">=20.0.0" + } +@@ -281,5 +279,5 @@ + "node_modules/@azure/core-util": { +- "version": "1.11.0", +- "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.11.0.tgz", +- "integrity": "sha512-DxOSLua+NdpWoSqULhjDyAZTXFdP/LKkqtYuxxz1SCN289zk3OG8UOpnCQAz/tygyACBtWp/BoO72ptK7msY8g==", ++ "version": "1.13.1", ++ "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", ++ "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", + "dev": true, +@@ -287,3 +285,4 @@ + "dependencies": { +- "@azure/abort-controller": "^2.0.0", ++ "@azure/abort-controller": "^2.1.2", ++ "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" +@@ -291,3 +290,3 @@ + "engines": { +- "node": ">=18.0.0" ++ "node": ">=20.0.0" + } +@@ -370,11 +369,13 @@ + "node_modules/@azure/logger": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.1.tgz", +- "integrity": "sha512-QYQeaJ+A5x6aMNu8BG5qdsVBnYBop9UMwgUvGihSjf1PdZZXB+c/oMdM2ajKwzobLBh9e9QuMQkN9iL+IxLBLA==", ++ "version": "1.3.0", ++ "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.3.0.tgz", ++ "integrity": "sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==", + "dev": true, ++ "license": "MIT", + "dependencies": { +- "tslib": "^2.0.0" ++ "@typespec/ts-http-runtime": "^0.3.0", ++ "tslib": "^2.6.2" + }, + "engines": { +- "node": ">=8.0.0" ++ "node": ">=20.0.0" + } +@@ -481,5 +482,5 @@ + "node_modules/@babel/helper-validator-identifier": { +- "version": "7.27.1", +- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", +- "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", ++ "version": "7.28.5", ++ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", ++ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, +@@ -537,50 +538,2 @@ + }, +- "node_modules/@electron/osx-sign": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-2.0.0.tgz", +- "integrity": "sha512-jZSzWH21QYbdTy2QxMMtRFlMafyuBRH5EnpC1LJU3uaQV05oo7ldtBRcSI/Eznhw9kFWjjCf2RvC+Nxc1/kQyA==", +- "dev": true, +- "license": "BSD-2-Clause", +- "dependencies": { +- "@types/graceful-fs": "^4.1.9", +- "debug": "^4.3.4", +- "graceful-fs": "^4.2.11", +- "isbinaryfile": "^4.0.8", +- "plist": "^3.0.5", +- "semver": "^7.7.1" +- }, +- "bin": { +- "electron-osx-flat": "bin/electron-osx-flat.mjs", +- "electron-osx-sign": "bin/electron-osx-sign.mjs" +- }, +- "engines": { +- "node": ">=22.12.0" +- } +- }, +- "node_modules/@electron/osx-sign/node_modules/isbinaryfile": { +- "version": "4.0.10", +- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", +- "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", +- "dev": true, +- "license": "MIT", +- "engines": { +- "node": ">= 8.0.0" +- }, +- "funding": { +- "url": "https://github.com/sponsors/gjtorikian/" +- } +- }, +- "node_modules/@electron/osx-sign/node_modules/semver": { +- "version": "7.7.2", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", +- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", +- "dev": true, +- "license": "ISC", +- "bin": { +- "semver": "bin/semver.js" +- }, +- "engines": { +- "node": ">=10" +- } +- }, + "node_modules/@esbuild/aix-ppc64": { +@@ -1051,27 +1004,2 @@ + }, +- "node_modules/@isaacs/cliui/node_modules/emoji-regex": { +- "version": "9.2.2", +- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", +- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", +- "dev": true, +- "license": "MIT" +- }, +- "node_modules/@isaacs/cliui/node_modules/string-width": { +- "version": "5.1.2", +- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", +- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", +- "dev": true, +- "license": "MIT", +- "dependencies": { +- "eastasianwidth": "^0.2.0", +- "emoji-regex": "^9.2.2", +- "strip-ansi": "^7.0.1" +- }, +- "engines": { +- "node": ">=12" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, + "node_modules/@malept/cross-spawn-promise": { +@@ -1348,5 +1276,5 @@ + "node_modules/@textlint/ast-node-types": { +- "version": "15.2.2", +- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.2.2.tgz", +- "integrity": "sha512-9ByYNzWV8tpz6BFaRzeRzIov8dkbSZu9q7IWqEIfmRuLWb2qbI/5gTvKcoWT1HYs4XM7IZ8TKSXcuPvMb6eorA==", ++ "version": "15.4.1", ++ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.4.1.tgz", ++ "integrity": "sha512-XifMpBMdo0E1Fuh85YdcYAgy+okNg9WKBzIPIO4JUDnSWUVFihnogrM4cjDapeHkgzSgulwR8oJVJ17eyxI1bA==", + "dev": true, +@@ -1355,5 +1283,5 @@ + "node_modules/@textlint/linter-formatter": { +- "version": "15.2.2", +- "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.2.2.tgz", +- "integrity": "sha512-oMVaMJ3exFvXhCj3AqmCbLaeYrTNLqaJnLJMIlmnRM3/kZdxvku4OYdaDzgtlI194cVxamOY5AbHBBVnY79kEg==", ++ "version": "15.4.1", ++ "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.4.1.tgz", ++ "integrity": "sha512-kAV7Sup3vwvqxKvBbf9lx/JaPHkRybQp/LLvA73U1AorPZE6XyfBAFG24BbMiCs4OX1ax4g7kXRuFPgMLWRf+g==", + "dev": true, +@@ -1363,8 +1291,8 @@ + "@azu/style-format": "^1.0.1", +- "@textlint/module-interop": "15.2.2", +- "@textlint/resolver": "15.2.2", +- "@textlint/types": "15.2.2", ++ "@textlint/module-interop": "15.4.1", ++ "@textlint/resolver": "15.4.1", ++ "@textlint/types": "15.4.1", + "chalk": "^4.1.2", +- "debug": "^4.4.1", +- "js-yaml": "^3.14.1", ++ "debug": "^4.4.3", ++ "js-yaml": "^4.1.0", + "lodash": "^4.17.21", +@@ -1440,2 +1368,9 @@ + }, ++ "node_modules/@textlint/linter-formatter/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT" ++ }, + "node_modules/@textlint/linter-formatter/node_modules/has-flag": { +@@ -1457,2 +1392,17 @@ + }, ++ "node_modules/@textlint/linter-formatter/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/@textlint/linter-formatter/node_modules/strip-ansi": { +@@ -1484,5 +1434,5 @@ + "node_modules/@textlint/module-interop": { +- "version": "15.2.2", +- "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.2.2.tgz", +- "integrity": "sha512-2rmNcWrcqhuR84Iio1WRzlc4tEoOMHd6T7urjtKNNefpTt1owrTJ9WuOe60yD3FrTW0J/R0ux5wxUbP/eaeFOA==", ++ "version": "15.4.1", ++ "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.4.1.tgz", ++ "integrity": "sha512-jHtM2E5CR68P3z/+FGrEU5pml2fQVzEo2sez9FEjrVHSPCrHtqHcPaKfsYbQJjc9C48ObwaWrCzRNaL3KedNCQ==", + "dev": true, +@@ -1491,5 +1441,5 @@ + "node_modules/@textlint/resolver": { +- "version": "15.2.2", +- "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.2.2.tgz", +- "integrity": "sha512-4hGWjmHt0y+5NAkoYZ8FvEkj8Mez9TqfbTm3BPjoV32cIfEixl2poTOgapn1rfm73905GSO3P1jiWjmgvii13Q==", ++ "version": "15.4.1", ++ "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.4.1.tgz", ++ "integrity": "sha512-uVssyG3XXXKNY+O7NOajGvQZTyOuhPviwlq7Xek6ZT9K1eDQtA8074cPkAQoLMYhi/TUyOE5P5kpz42UF8Lmdw==", + "dev": true, +@@ -1498,5 +1448,5 @@ + "node_modules/@textlint/types": { +- "version": "15.2.2", +- "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.2.2.tgz", +- "integrity": "sha512-X2BHGAR3yXJsCAjwYEDBIk9qUDWcH4pW61ISfmtejau+tVqKtnbbvEZnMTb6mWgKU1BvTmftd5DmB1XVDUtY3g==", ++ "version": "15.4.1", ++ "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.4.1.tgz", ++ "integrity": "sha512-WByVZ3zblbvuI+voWQplUP7seSTKXI9z6TMVXEB3dY3JFrZCIXWKNfLbETX5lZV7fYkCMaDtILO1l6s11wdbQA==", + "dev": true, +@@ -1504,3 +1454,3 @@ + "dependencies": { +- "@textlint/ast-node-types": "15.2.2" ++ "@textlint/ast-node-types": "15.4.1" + } +@@ -1597,12 +1547,2 @@ + }, +- "node_modules/@types/graceful-fs": { +- "version": "4.1.9", +- "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", +- "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", +- "dev": true, +- "license": "MIT", +- "dependencies": { +- "@types/node": "*" +- } +- }, + "node_modules/@types/gulp": { +@@ -1924,2 +1864,17 @@ + }, ++ "node_modules/@typespec/ts-http-runtime": { ++ "version": "0.3.2", ++ "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.2.tgz", ++ "integrity": "sha512-IlqQ/Gv22xUC1r/WQm4StLkYQmaaTsXAhUVsNE0+xiyf0yRFiH5++q78U3bw6bLKDCTmh0uqKB9eG9+Bt75Dkg==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "http-proxy-agent": "^7.0.0", ++ "https-proxy-agent": "^7.0.0", ++ "tslib": "^2.6.2" ++ }, ++ "engines": { ++ "node": ">=20.0.0" ++ } ++ }, + "node_modules/@vscode/iconv-lite-umd": { +@@ -2176,5 +2131,5 @@ + "node_modules/ansi-escapes": { +- "version": "7.1.1", +- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz", +- "integrity": "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==", ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz", ++ "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==", + "dev": true, +@@ -2251,17 +2206,7 @@ + "node_modules/argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "dev": true, +- "license": "MIT", +- "dependencies": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "node_modules/argparse/node_modules/sprintf-js": { +- "version": "1.0.3", +- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", +- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", ++ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, +- "license": "BSD-3-Clause" ++ "license": "Python-2.0" + }, +@@ -2393,2 +2338,3 @@ + "dev": true, ++ "license": "MIT", + "optional": true, +@@ -2404,3 +2350,4 @@ + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", +- "dev": true ++ "dev": true, ++ "license": "ISC" + }, +@@ -2462,2 +2409,3 @@ + ], ++ "license": "MIT", + "optional": true, +@@ -2506,2 +2454,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -2565,6 +2514,7 @@ + "node_modules/cheerio": { +- "version": "1.0.0-rc.12", +- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", +- "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", ++ "version": "1.1.2", ++ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", ++ "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", + "dev": true, ++ "license": "MIT", + "dependencies": { +@@ -2573,9 +2523,13 @@ + "domhandler": "^5.0.3", +- "domutils": "^3.0.1", +- "htmlparser2": "^8.0.1", +- "parse5": "^7.0.0", +- "parse5-htmlparser2-tree-adapter": "^7.0.0" ++ "domutils": "^3.2.2", ++ "encoding-sniffer": "^0.2.1", ++ "htmlparser2": "^10.0.0", ++ "parse5": "^7.3.0", ++ "parse5-htmlparser2-tree-adapter": "^7.1.0", ++ "parse5-parser-stream": "^7.1.2", ++ "undici": "^7.12.0", ++ "whatwg-mimetype": "^4.0.0" + }, + "engines": { +- "node": ">= 6" ++ "node": ">=20.18.1" + }, +@@ -2628,2 +2582,3 @@ + "dev": true, ++ "license": "ISC", + "optional": true +@@ -2778,2 +2733,3 @@ + "dev": true, ++ "license": "MIT", + "dependencies": { +@@ -2790,6 +2746,7 @@ + "node_modules/css-what": { +- "version": "6.1.0", +- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", +- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", ++ "version": "6.2.2", ++ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", ++ "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "dev": true, ++ "license": "BSD-2-Clause", + "engines": { +@@ -2824,2 +2781,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -2879,2 +2837,3 @@ + "dev": true, ++ "license": "(MIT OR WTFPL)", + "optional": true, +@@ -2902,2 +2861,3 @@ + "dev": true, ++ "license": "MIT", + "optional": true, +@@ -2948,3 +2908,4 @@ + } +- ] ++ ], ++ "license": "BSD-2-Clause" + }, +@@ -2966,6 +2927,7 @@ + "node_modules/domutils": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", +- "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", ++ "version": "3.2.2", ++ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", ++ "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -2973,3 +2935,3 @@ + "domelementtype": "^2.3.0", +- "domhandler": "^5.0.1" ++ "domhandler": "^5.0.3" + }, +@@ -3040,5 +3002,5 @@ + "node_modules/emoji-regex": { +- "version": "8.0.0", +- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", +- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "version": "9.2.2", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", ++ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, +@@ -3046,2 +3008,16 @@ + }, ++ "node_modules/encoding-sniffer": { ++ "version": "0.2.1", ++ "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", ++ "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "iconv-lite": "^0.6.3", ++ "whatwg-encoding": "^3.1.1" ++ }, ++ "funding": { ++ "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" ++ } ++ }, + "node_modules/end-of-stream": { +@@ -3056,6 +3032,7 @@ + "node_modules/entities": { +- "version": "4.4.0", +- "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", +- "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", ++ "version": "4.5.0", ++ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", ++ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, ++ "license": "BSD-2-Clause", + "engines": { +@@ -3143,2 +3120,3 @@ + "dev": true, ++ "license": "MIT", + "optional": true +@@ -3195,16 +3173,2 @@ + }, +- "node_modules/esprima": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", +- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", +- "dev": true, +- "license": "BSD-2-Clause", +- "bin": { +- "esparse": "bin/esparse.js", +- "esvalidate": "bin/esvalidate.js" +- }, +- "engines": { +- "node": ">=4" +- } +- }, + "node_modules/events": { +@@ -3428,5 +3392,5 @@ + "node_modules/form-data": { +- "version": "4.0.4", +- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", +- "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", ++ "version": "4.0.5", ++ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", ++ "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dev": true, +@@ -3553,2 +3517,3 @@ + "dev": true, ++ "license": "ISC", + "optional": true +@@ -3677,2 +3642,3 @@ + "dev": true, ++ "license": "ISC", + "dependencies": { +@@ -3756,2 +3722,3 @@ + "dev": true, ++ "license": "MIT", + "engines": { +@@ -3815,5 +3782,5 @@ + "node_modules/htmlparser2": { +- "version": "8.0.1", +- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", +- "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", ++ "version": "10.0.0", ++ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", ++ "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "dev": true, +@@ -3826,7 +3793,21 @@ + ], ++ "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", +- "domhandler": "^5.0.2", +- "domutils": "^3.0.1", +- "entities": "^4.3.0" ++ "domhandler": "^5.0.3", ++ "domutils": "^3.2.1", ++ "entities": "^6.0.0" ++ } ++ }, ++ "node_modules/htmlparser2/node_modules/entities": { ++ "version": "6.0.1", ++ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", ++ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", ++ "dev": true, ++ "license": "BSD-2-Clause", ++ "engines": { ++ "node": ">=0.12" ++ }, ++ "funding": { ++ "url": "https://github.com/fb55/entities?sponsor=1" + } +@@ -3880,2 +3861,15 @@ + }, ++ "node_modules/iconv-lite": { ++ "version": "0.6.3", ++ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", ++ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "safer-buffer": ">= 2.1.2 < 3.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, + "node_modules/ieee754": { +@@ -3899,2 +3893,3 @@ + ], ++ "license": "BSD-3-Clause", + "optional": true +@@ -3912,5 +3907,5 @@ + "node_modules/index-to-position": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz", +- "integrity": "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==", ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", ++ "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", + "dev": true, +@@ -4120,5 +4115,5 @@ + "node_modules/js-yaml": { +- "version": "3.14.2", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", +- "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", ++ "version": "4.1.1", ++ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", ++ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, +@@ -4126,4 +4121,3 @@ + "dependencies": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" ++ "argparse": "^2.0.1" + }, +@@ -4157,2 +4151,3 @@ + "dev": true, ++ "license": "MIT", + "optional": true +@@ -4266,2 +4261,3 @@ + "hasInstallScript": true, ++ "license": "MIT", + "optional": true, +@@ -4333,2 +4329,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -4358,9 +4355,2 @@ + }, +- "node_modules/markdown-it/node_modules/argparse": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", +- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", +- "dev": true, +- "license": "Python-2.0" +- }, + "node_modules/matcher": { +@@ -4443,2 +4433,3 @@ + "dev": true, ++ "license": "ISC", + "bin": { +@@ -4487,2 +4478,3 @@ + "dev": true, ++ "license": "MIT", + "dependencies": { +@@ -4495,7 +4487,11 @@ + "node_modules/minimist": { +- "version": "1.2.6", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", +- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", ++ "version": "1.2.8", ++ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", ++ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, +- "optional": true ++ "license": "MIT", ++ "optional": true, ++ "funding": { ++ "url": "https://github.com/sponsors/ljharb" ++ } + }, +@@ -4532,6 +4528,7 @@ + "node_modules/napi-build-utils": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", +- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", ++ "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "dev": true, ++ "license": "MIT", + "optional": true +@@ -4578,2 +4575,3 @@ + "dev": true, ++ "license": "MIT", + "optional": true +@@ -4593,5 +4591,5 @@ + "node_modules/node-sarif-builder": { +- "version": "3.2.0", +- "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.2.0.tgz", +- "integrity": "sha512-kVIOdynrF2CRodHZeP/97Rh1syTUHBNiw17hUCIVhlhEsWlfJm19MuO56s4MdKbr22xWx6mzMnNAgXzVlIYM9Q==", ++ "version": "3.3.1", ++ "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.3.1.tgz", ++ "integrity": "sha512-8z5dAbhpxmk/WRQHXlv4V0h+9Y4Ugk+w08lyhV/7E/CQX9yDdBc3025/EG+RSMJU2aPFh/IQ7XDV7Ti5TLt/TA==", + "dev": true, +@@ -4603,3 +4601,3 @@ + "engines": { +- "node": ">=18" ++ "node": ">=20" + } +@@ -4680,5 +4678,5 @@ + "node_modules/normalize-package-data/node_modules/semver": { +- "version": "7.7.2", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", +- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", ++ "version": "7.7.3", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", ++ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, +@@ -4808,5 +4806,5 @@ + "node_modules/p-map": { +- "version": "7.0.3", +- "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", +- "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", ++ "version": "7.0.4", ++ "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", ++ "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", + "dev": true, +@@ -4886,8 +4884,9 @@ + "node_modules/parse5": { +- "version": "7.1.2", +- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", +- "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", ++ "version": "7.3.0", ++ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", ++ "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, ++ "license": "MIT", + "dependencies": { +- "entities": "^4.4.0" ++ "entities": "^6.0.0" + }, +@@ -4898,8 +4897,9 @@ + "node_modules/parse5-htmlparser2-tree-adapter": { +- "version": "7.0.0", +- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", +- "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", ++ "version": "7.1.0", ++ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", ++ "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "dev": true, ++ "license": "MIT", + "dependencies": { +- "domhandler": "^5.0.2", ++ "domhandler": "^5.0.3", + "parse5": "^7.0.0" +@@ -4910,2 +4910,28 @@ + }, ++ "node_modules/parse5-parser-stream": { ++ "version": "7.1.2", ++ "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", ++ "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "parse5": "^7.0.0" ++ }, ++ "funding": { ++ "url": "https://github.com/inikulin/parse5?sponsor=1" ++ } ++ }, ++ "node_modules/parse5/node_modules/entities": { ++ "version": "6.0.1", ++ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", ++ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", ++ "dev": true, ++ "license": "BSD-2-Clause", ++ "engines": { ++ "node": ">=0.12" ++ }, ++ "funding": { ++ "url": "https://github.com/fb55/entities?sponsor=1" ++ } ++ }, + "node_modules/path-is-absolute": { +@@ -4929,5 +4955,5 @@ + "node_modules/path-scurry": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", +- "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", ++ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "dev": true, +@@ -5056,6 +5082,7 @@ + "node_modules/prebuild-install": { +- "version": "7.1.1", +- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", +- "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", ++ "version": "7.1.3", ++ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", ++ "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "dev": true, ++ "license": "MIT", + "optional": true, +@@ -5067,3 +5094,3 @@ + "mkdirp-classic": "^0.5.3", +- "napi-build-utils": "^1.0.1", ++ "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", +@@ -5208,22 +5235,2 @@ + }, +- "node_modules/rc-config-loader/node_modules/argparse": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", +- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", +- "dev": true, +- "license": "Python-2.0" +- }, +- "node_modules/rc-config-loader/node_modules/js-yaml": { +- "version": "4.1.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", +- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", +- "dev": true, +- "license": "MIT", +- "dependencies": { +- "argparse": "^2.0.1" +- }, +- "bin": { +- "js-yaml": "bin/js-yaml.js" +- } +- }, + "node_modules/read": { +@@ -5348,2 +5355,3 @@ + "dev": true, ++ "license": "ISC", + "dependencies": { +@@ -5371,2 +5379,3 @@ + "dev": true, ++ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, +@@ -5414,7 +5423,15 @@ + }, ++ "node_modules/safer-buffer": { ++ "version": "2.1.2", ++ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", ++ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", ++ "dev": true, ++ "license": "MIT" ++ }, + "node_modules/sax": { +- "version": "1.2.4", +- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", +- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", +- "dev": true ++ "version": "1.4.1", ++ "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", ++ "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", ++ "dev": true, ++ "license": "ISC" + }, +@@ -5472,2 +5489,3 @@ + "dev": true, ++ "license": "MIT", + "optional": true, +@@ -5612,2 +5630,3 @@ + ], ++ "license": "MIT", + "optional": true +@@ -5633,2 +5652,3 @@ + ], ++ "license": "MIT", + "optional": true, +@@ -5764,2 +5784,3 @@ + "dev": true, ++ "license": "MIT", + "engines": { +@@ -5791,5 +5812,5 @@ + "node_modules/string-width": { +- "version": "4.2.3", +- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", +- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "version": "5.1.2", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", ++ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, +@@ -5813,31 +5834,11 @@ + "dependencies": { +- "emoji-regex": "^8.0.0", +- "is-fullwidth-code-point": "^3.0.0", +- "strip-ansi": "^6.0.1" ++ "eastasianwidth": "^0.2.0", ++ "emoji-regex": "^9.2.2", ++ "strip-ansi": "^7.0.1" + }, + "engines": { +- "node": ">=8" +- } +- }, +- "node_modules/string-width-cjs/node_modules/ansi-regex": { +- "version": "5.0.1", +- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", +- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", +- "dev": true, +- "license": "MIT", +- "engines": { +- "node": ">=8" +- } +- }, +- "node_modules/string-width-cjs/node_modules/strip-ansi": { +- "version": "6.0.1", +- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", +- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", +- "dev": true, +- "license": "MIT", +- "dependencies": { +- "ansi-regex": "^5.0.1" ++ "node": ">=12" + }, +- "engines": { +- "node": ">=8" ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" + } +@@ -5854,2 +5855,9 @@ + }, ++ "node_modules/string-width/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT" ++ }, + "node_modules/string-width/node_modules/strip-ansi": { +@@ -5947,4 +5955,5 @@ + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", +- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo= sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", ++ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, ++ "license": "MIT", + "optional": true, +@@ -6062,2 +6071,24 @@ + }, ++ "node_modules/table/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/table/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/table/node_modules/strip-ansi": { +@@ -6128,2 +6159,3 @@ + "dev": true, ++ "license": "MIT", + "dependencies": { +@@ -6193,5 +6225,5 @@ + "node_modules/tmp": { +- "version": "0.2.4", +- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", +- "integrity": "sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==", ++ "version": "0.2.5", ++ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", ++ "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, +@@ -6298,6 +6330,7 @@ + "node_modules/tslib": { +- "version": "2.6.3", +- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", +- "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", +- "dev": true ++ "version": "2.8.1", ++ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", ++ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", ++ "dev": true, ++ "license": "0BSD" + }, +@@ -6316,4 +6349,5 @@ + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", +- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", ++ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, ++ "license": "Apache-2.0", + "optional": true, +@@ -6365,2 +6399,12 @@ + }, ++ "node_modules/undici": { ++ "version": "7.16.0", ++ "resolved": "https://registry.npmjs.org/undici/-/undici-7.16.0.tgz", ++ "integrity": "sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==", ++ "dev": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=20.18.1" ++ } ++ }, + "node_modules/undici-types": { +@@ -6404,3 +6448,4 @@ + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", +- "dev": true ++ "dev": true, ++ "license": "MIT" + }, +@@ -6584,2 +6629,25 @@ + }, ++ "node_modules/whatwg-encoding": { ++ "version": "3.1.1", ++ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", ++ "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "iconv-lite": "0.6.3" ++ }, ++ "engines": { ++ "node": ">=18" ++ } ++ }, ++ "node_modules/whatwg-mimetype": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", ++ "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", ++ "dev": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=18" ++ } ++ }, + "node_modules/which": { +@@ -6688,2 +6756,24 @@ + }, ++ "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/wrap-ansi-cjs/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { +@@ -6714,27 +6804,2 @@ + }, +- "node_modules/wrap-ansi/node_modules/emoji-regex": { +- "version": "9.2.2", +- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", +- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", +- "dev": true, +- "license": "MIT" +- }, +- "node_modules/wrap-ansi/node_modules/string-width": { +- "version": "5.1.2", +- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", +- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", +- "dev": true, +- "license": "MIT", +- "dependencies": { +- "eastasianwidth": "^0.2.0", +- "emoji-regex": "^9.2.2", +- "strip-ansi": "^7.0.1" +- }, +- "engines": { +- "node": ">=12" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, + "node_modules/wrappy": { +diff --git a/build/package.json b/build/package.json +index e084f0e..4517da3 100644 +--- a/build/package.json ++++ b/build/package.json +@@ -11,3 +11,2 @@ + "@electron/get": "^2.0.0", +- "@electron/osx-sign": "^2.0.0", + "@types/ansi-colors": "^3.2.0", diff --git a/patches/linux/fix-dependencies.patch b/patches/linux/fix-dependencies.patch deleted file mode 100644 index b199529..0000000 --- a/patches/linux/fix-dependencies.patch +++ /dev/null @@ -1,3640 +0,0 @@ -diff --git a/build/package-lock.json b/build/package-lock.json -index 923b4ae..bd7647b 100644 ---- a/build/package-lock.json -+++ b/build/package-lock.json -@@ -17,3 +17,2 @@ - "@electron/get": "^2.0.0", -- "@electron/osx-sign": "^2.0.0", - "@types/ansi-colors": "^3.2.0", -@@ -51,3 +50,3 @@ - "@vscode/ripgrep": "^1.15.13", -- "@vscode/vsce": "3.6.1", -+ "@vscode/vsce": "2.20.1", - "ansi-colors": "^3.2.3", -@@ -75,19 +74,2 @@ - }, -- "node_modules/@azu/format-text": { -- "version": "1.0.2", -- "resolved": "https://registry.npmjs.org/@azu/format-text/-/format-text-1.0.2.tgz", -- "integrity": "sha512-Swi4N7Edy1Eqq82GxgEECXSSLyn6GOb5htRFPzBDdUkECGXtlf12ynO5oJSpWKPwCaUssOu7NfhDcCWpIC6Ywg==", -- "dev": true, -- "license": "BSD-3-Clause" -- }, -- "node_modules/@azu/style-format": { -- "version": "1.0.1", -- "resolved": "https://registry.npmjs.org/@azu/style-format/-/style-format-1.0.1.tgz", -- "integrity": "sha512-AHcTojlNBdD/3/KxIKlg8sxIWHfOtQszLvOpagLTO+bjC3u7SAszu1lf//u7JJC50aUSH+BVWDD/KvaA6Gfn5g==", -- "dev": true, -- "license": "WTFPL", -- "dependencies": { -- "@azu/format-text": "^1.0.1" -- } -- }, - "node_modules/@azure/abort-controller": { -@@ -465,27 +447,2 @@ - }, -- "node_modules/@babel/code-frame": { -- "version": "7.27.1", -- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", -- "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@babel/helper-validator-identifier": "^7.27.1", -- "js-tokens": "^4.0.0", -- "picocolors": "^1.1.1" -- }, -- "engines": { -- "node": ">=6.9.0" -- } -- }, -- "node_modules/@babel/helper-validator-identifier": { -- "version": "7.27.1", -- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", -- "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=6.9.0" -- } -- }, - "node_modules/@electron/asar": { -@@ -537,50 +494,2 @@ - }, -- "node_modules/@electron/osx-sign": { -- "version": "2.0.0", -- "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-2.0.0.tgz", -- "integrity": "sha512-jZSzWH21QYbdTy2QxMMtRFlMafyuBRH5EnpC1LJU3uaQV05oo7ldtBRcSI/Eznhw9kFWjjCf2RvC+Nxc1/kQyA==", -- "dev": true, -- "license": "BSD-2-Clause", -- "dependencies": { -- "@types/graceful-fs": "^4.1.9", -- "debug": "^4.3.4", -- "graceful-fs": "^4.2.11", -- "isbinaryfile": "^4.0.8", -- "plist": "^3.0.5", -- "semver": "^7.7.1" -- }, -- "bin": { -- "electron-osx-flat": "bin/electron-osx-flat.mjs", -- "electron-osx-sign": "bin/electron-osx-sign.mjs" -- }, -- "engines": { -- "node": ">=22.12.0" -- } -- }, -- "node_modules/@electron/osx-sign/node_modules/isbinaryfile": { -- "version": "4.0.10", -- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", -- "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">= 8.0.0" -- }, -- "funding": { -- "url": "https://github.com/sponsors/gjtorikian/" -- } -- }, -- "node_modules/@electron/osx-sign/node_modules/semver": { -- "version": "7.7.2", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", -- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", -- "dev": true, -- "license": "ISC", -- "bin": { -- "semver": "bin/semver.js" -- }, -- "engines": { -- "node": ">=10" -- } -- }, - "node_modules/@esbuild/aix-ppc64": { -@@ -1010,68 +919,2 @@ - }, -- "node_modules/@isaacs/balanced-match": { -- "version": "4.0.1", -- "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", -- "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": "20 || >=22" -- } -- }, -- "node_modules/@isaacs/brace-expansion": { -- "version": "5.0.0", -- "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", -- "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@isaacs/balanced-match": "^4.0.1" -- }, -- "engines": { -- "node": "20 || >=22" -- } -- }, -- "node_modules/@isaacs/cliui": { -- "version": "8.0.2", -- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", -- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", -- "dev": true, -- "license": "ISC", -- "dependencies": { -- "string-width": "^5.1.2", -- "string-width-cjs": "npm:string-width@^4.2.0", -- "strip-ansi": "^7.0.1", -- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", -- "wrap-ansi": "^8.1.0", -- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" -- }, -- "engines": { -- "node": ">=12" -- } -- }, -- "node_modules/@isaacs/cliui/node_modules/emoji-regex": { -- "version": "9.2.2", -- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", -- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/@isaacs/cliui/node_modules/string-width": { -- "version": "5.1.2", -- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", -- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "eastasianwidth": "^0.2.0", -- "emoji-regex": "^9.2.2", -- "strip-ansi": "^7.0.1" -- }, -- "engines": { -- "node": ">=12" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/@malept/cross-spawn-promise": { -@@ -1098,171 +941,143 @@ - }, -- "node_modules/@nodelib/fs.scandir": { -- "version": "2.1.5", -- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", -- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@nodelib/fs.stat": "2.0.5", -- "run-parallel": "^1.1.9" -- }, -- "engines": { -- "node": ">= 8" -- } -- }, -- "node_modules/@nodelib/fs.stat": { -- "version": "2.0.5", -- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", -- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", -+ "node_modules/@sindresorhus/is": { -+ "version": "4.6.0", -+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", -+ "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "dev": true, -- "license": "MIT", - "engines": { -- "node": ">= 8" -+ "node": ">=10" -+ }, -+ "funding": { -+ "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, -- "node_modules/@nodelib/fs.walk": { -- "version": "1.2.8", -- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", -- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", -+ "node_modules/@szmarczak/http-timer": { -+ "version": "4.0.6", -+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", -+ "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "dev": true, -- "license": "MIT", - "dependencies": { -- "@nodelib/fs.scandir": "2.1.5", -- "fastq": "^1.6.0" -+ "defer-to-connect": "^2.0.0" - }, - "engines": { -- "node": ">= 8" -+ "node": ">=10" - } - }, -- "node_modules/@secretlint/config-creator": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/config-creator/-/config-creator-10.2.2.tgz", -- "integrity": "sha512-BynOBe7Hn3LJjb3CqCHZjeNB09s/vgf0baBaHVw67w7gHF0d25c3ZsZ5+vv8TgwSchRdUCRrbbcq5i2B1fJ2QQ==", -+ "node_modules/@types/ansi-colors": { -+ "version": "3.2.0", -+ "resolved": "https://registry.npmjs.org/@types/ansi-colors/-/ansi-colors-3.2.0.tgz", -+ "integrity": "sha512-0caWAhXht9N2lOdMzJLXybsSkYCx1QOdxx6pae48tswI9QV3DFX26AoOpy0JxwhCb+zISTqmd6H8t9Zby9BoZg==", -+ "dev": true -+ }, -+ "node_modules/@types/byline": { -+ "version": "4.2.32", -+ "resolved": "https://registry.npmjs.org/@types/byline/-/byline-4.2.32.tgz", -+ "integrity": "sha512-qtlm/J6XOO9p+Ep/ZB5+mCFEDhzWDDHWU4a1eReN7lkPZXW9rkloq2jcAhvKKmlO5tL2GSvKROb+PTsNVhBiyQ==", - "dev": true, -- "license": "MIT", - "dependencies": { -- "@secretlint/types": "^10.2.2" -- }, -- "engines": { -- "node": ">=20.0.0" -+ "@types/node": "*" - } - }, -- "node_modules/@secretlint/config-loader": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/config-loader/-/config-loader-10.2.2.tgz", -- "integrity": "sha512-ndjjQNgLg4DIcMJp4iaRD6xb9ijWQZVbd9694Ol2IszBIbGPPkwZHzJYKICbTBmh6AH/pLr0CiCaWdGJU7RbpQ==", -+ "node_modules/@types/cacheable-request": { -+ "version": "6.0.3", -+ "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", -+ "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "dev": true, -- "license": "MIT", - "dependencies": { -- "@secretlint/profiler": "^10.2.2", -- "@secretlint/resolver": "^10.2.2", -- "@secretlint/types": "^10.2.2", -- "ajv": "^8.17.1", -- "debug": "^4.4.1", -- "rc-config-loader": "^4.1.3" -- }, -- "engines": { -- "node": ">=20.0.0" -+ "@types/http-cache-semantics": "*", -+ "@types/keyv": "^3.1.4", -+ "@types/node": "*", -+ "@types/responselike": "^1.0.0" - } - }, -- "node_modules/@secretlint/core": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/core/-/core-10.2.2.tgz", -- "integrity": "sha512-6rdwBwLP9+TO3rRjMVW1tX+lQeo5gBbxl1I5F8nh8bgGtKwdlCMhMKsBWzWg1ostxx/tIG7OjZI0/BxsP8bUgw==", -+ "node_modules/@types/debounce": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.0.0.tgz", -+ "integrity": "sha1-QXVgIAMx4buE1y2oU5EQLC/NYbc= sha512-B7FcD9ry40L831t7iuHQyDfYi+qVEV75qkEI2ROOyfjb2PfkAspL+NK6B2A0BceMuNhiYRmtKTNnNP7Ul4N2Pg==", -+ "dev": true -+ }, -+ "node_modules/@types/debug": { -+ "version": "4.1.9", -+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.9.tgz", -+ "integrity": "sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==", - "dev": true, -- "license": "MIT", - "dependencies": { -- "@secretlint/profiler": "^10.2.2", -- "@secretlint/types": "^10.2.2", -- "debug": "^4.4.1", -- "structured-source": "^4.0.0" -- }, -- "engines": { -- "node": ">=20.0.0" -+ "@types/ms": "*" - } - }, -- "node_modules/@secretlint/formatter": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/formatter/-/formatter-10.2.2.tgz", -- "integrity": "sha512-10f/eKV+8YdGKNQmoDUD1QnYL7TzhI2kzyx95vsJKbEa8akzLAR5ZrWIZ3LbcMmBLzxlSQMMccRmi05yDQ5YDA==", -+ "node_modules/@types/events": { -+ "version": "1.2.0", -+ "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", -+ "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==", -+ "dev": true -+ }, -+ "node_modules/@types/expect": { -+ "version": "1.20.4", -+ "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", -+ "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", -+ "dev": true -+ }, -+ "node_modules/@types/fancy-log": { -+ "version": "1.3.0", -+ "resolved": "https://registry.npmjs.org/@types/fancy-log/-/fancy-log-1.3.0.tgz", -+ "integrity": "sha512-mQjDxyOM1Cpocd+vm1kZBP7smwKZ4TNokFeds9LV7OZibmPJFEzY3+xZMrKfUdNT71lv8GoCPD6upKwHxubClw==", -+ "dev": true -+ }, -+ "node_modules/@types/fs-extra": { -+ "version": "9.0.12", -+ "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", -+ "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", - "dev": true, -- "license": "MIT", - "dependencies": { -- "@secretlint/resolver": "^10.2.2", -- "@secretlint/types": "^10.2.2", -- "@textlint/linter-formatter": "^15.2.0", -- "@textlint/module-interop": "^15.2.0", -- "@textlint/types": "^15.2.0", -- "chalk": "^5.4.1", -- "debug": "^4.4.1", -- "pluralize": "^8.0.0", -- "strip-ansi": "^7.1.0", -- "table": "^6.9.0", -- "terminal-link": "^4.0.0" -- }, -- "engines": { -- "node": ">=20.0.0" -+ "@types/node": "*" - } - }, -- "node_modules/@secretlint/formatter/node_modules/chalk": { -- "version": "5.6.2", -- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", -- "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", -+ "node_modules/@types/glob": { -+ "version": "7.1.1", -+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", -+ "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", - "dev": true, -- "license": "MIT", -- "engines": { -- "node": "^12.17.0 || ^14.13 || >=16.0.0" -- }, -- "funding": { -- "url": "https://github.com/chalk/chalk?sponsor=1" -+ "dependencies": { -+ "@types/events": "*", -+ "@types/minimatch": "*", -+ "@types/node": "*" - } - }, -- "node_modules/@secretlint/node": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/node/-/node-10.2.2.tgz", -- "integrity": "sha512-eZGJQgcg/3WRBwX1bRnss7RmHHK/YlP/l7zOQsrjexYt6l+JJa5YhUmHbuGXS94yW0++3YkEJp0kQGYhiw1DMQ==", -+ "node_modules/@types/glob-stream": { -+ "version": "6.1.0", -+ "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-6.1.0.tgz", -+ "integrity": "sha512-RHv6ZQjcTncXo3thYZrsbAVwoy4vSKosSWhuhuQxLOTv74OJuFQxXkmUuZCr3q9uNBEVCvIzmZL/FeRNbHZGUg==", - "dev": true, -- "license": "MIT", - "dependencies": { -- "@secretlint/config-loader": "^10.2.2", -- "@secretlint/core": "^10.2.2", -- "@secretlint/formatter": "^10.2.2", -- "@secretlint/profiler": "^10.2.2", -- "@secretlint/source-creator": "^10.2.2", -- "@secretlint/types": "^10.2.2", -- "debug": "^4.4.1", -- "p-map": "^7.0.3" -- }, -- "engines": { -- "node": ">=20.0.0" -+ "@types/glob": "*", -+ "@types/node": "*" - } - }, -- "node_modules/@secretlint/profiler": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/profiler/-/profiler-10.2.2.tgz", -- "integrity": "sha512-qm9rWfkh/o8OvzMIfY8a5bCmgIniSpltbVlUVl983zDG1bUuQNd1/5lUEeWx5o/WJ99bXxS7yNI4/KIXfHexig==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/@secretlint/resolver": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/resolver/-/resolver-10.2.2.tgz", -- "integrity": "sha512-3md0cp12e+Ae5V+crPQYGd6aaO7ahw95s28OlULGyclyyUtf861UoRGS2prnUrKh7MZb23kdDOyGCYb9br5e4w==", -+ "node_modules/@types/gulp": { -+ "version": "4.0.17", -+ "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.17.tgz", -+ "integrity": "sha512-+pKQynu2C/HS16kgmDlAicjtFYP8kaa86eE9P0Ae7GB5W29we/E2TIdbOWtEZD5XkpY+jr8fyqfwO6SWZecLpQ==", - "dev": true, -- "license": "MIT" -+ "dependencies": { -+ "@types/node": "*", -+ "@types/undertaker": ">=1.2.6", -+ "@types/vinyl-fs": "*", -+ "chokidar": "^3.3.1" -+ } - }, -- "node_modules/@secretlint/secretlint-formatter-sarif": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/secretlint-formatter-sarif/-/secretlint-formatter-sarif-10.2.2.tgz", -- "integrity": "sha512-ojiF9TGRKJJw308DnYBucHxkpNovDNu1XvPh7IfUp0A12gzTtxuWDqdpuVezL7/IP8Ua7mp5/VkDMN9OLp1doQ==", -+ "node_modules/@types/gulp-filter": { -+ "version": "3.0.32", -+ "resolved": "https://registry.npmjs.org/@types/gulp-filter/-/gulp-filter-3.0.32.tgz", -+ "integrity": "sha512-JvY4qTxXehoK2yCUxYVxTMvckVbDM5TWHWeUoYJyX31gwFqw4YDD6JNzhuTxI3yHPUTY4BBRTqgm6puQEZVCNg==", - "dev": true, -- "license": "MIT", - "dependencies": { -- "node-sarif-builder": "^3.2.0" -+ "@types/minimatch": "*", -+ "@types/node": "*", -+ "@types/vinyl": "*" - } - }, -- "node_modules/@secretlint/secretlint-rule-no-dotenv": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/secretlint-rule-no-dotenv/-/secretlint-rule-no-dotenv-10.2.2.tgz", -- "integrity": "sha512-KJRbIShA9DVc5Va3yArtJ6QDzGjg3PRa1uYp9As4RsyKtKSSZjI64jVca57FZ8gbuk4em0/0Jq+uy6485wxIdg==", -+ "node_modules/@types/gulp-flatmap": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/@types/gulp-flatmap/-/gulp-flatmap-1.0.0.tgz", -+ "integrity": "sha512-GTv0a9BxhbWYkxaPDCqnZFI13pXUUpJ90hBWkhGOQQ76qDDtHWugr0+IEiTEc0KYS0bOs80YszZE7WFNA5ndfg==", - "dev": true, -@@ -1270,400 +1085,33 @@ - "dependencies": { -- "@secretlint/types": "^10.2.2" -- }, -- "engines": { -- "node": ">=20.0.0" -+ "@types/node": "*", -+ "@types/vinyl": "*" - } - }, -- "node_modules/@secretlint/secretlint-rule-preset-recommend": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/secretlint-rule-preset-recommend/-/secretlint-rule-preset-recommend-10.2.2.tgz", -- "integrity": "sha512-K3jPqjva8bQndDKJqctnGfwuAxU2n9XNCPtbXVI5JvC7FnQiNg/yWlQPbMUlBXtBoBGFYp08A94m6fvtc9v+zA==", -+ "node_modules/@types/gulp-gzip": { -+ "version": "0.0.31", -+ "resolved": "https://registry.npmjs.org/@types/gulp-gzip/-/gulp-gzip-0.0.31.tgz", -+ "integrity": "sha512-KQjHz1FTqLse8/EiktfhN/vo33vamX4gVAQhMTp55STDBA7UToW5CJqYyP7iRorkHK9/aJ2nL2hLkNZkY4M8+w==", - "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=20.0.0" -+ "dependencies": { -+ "@types/node": "*" - } - }, -- "node_modules/@secretlint/source-creator": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/source-creator/-/source-creator-10.2.2.tgz", -- "integrity": "sha512-h6I87xJfwfUTgQ7irWq7UTdq/Bm1RuQ/fYhA3dtTIAop5BwSFmZyrchph4WcoEvbN460BWKmk4RYSvPElIIvxw==", -+ "node_modules/@types/gulp-json-editor": { -+ "version": "2.2.31", -+ "resolved": "https://registry.npmjs.org/@types/gulp-json-editor/-/gulp-json-editor-2.2.31.tgz", -+ "integrity": "sha512-piis0ImYAy0dt18R4EtTbAY+RV8jwTq5VisnUV6OfP8kD4743aHGkAdAd08No4NY3rFa5mD6ytIu8L0YU7nL9w==", - "dev": true, -- "license": "MIT", - "dependencies": { -- "@secretlint/types": "^10.2.2", -- "istextorbinary": "^9.5.0" -- }, -- "engines": { -- "node": ">=20.0.0" -+ "@types/js-beautify": "*", -+ "@types/node": "*" - } - }, -- "node_modules/@secretlint/types": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/@secretlint/types/-/types-10.2.2.tgz", -- "integrity": "sha512-Nqc90v4lWCXyakD6xNyNACBJNJ0tNCwj2WNk/7ivyacYHxiITVgmLUFXTBOeCdy79iz6HtN9Y31uw/jbLrdOAg==", -+ "node_modules/@types/gulp-plumber": { -+ "version": "0.0.37", -+ "resolved": "https://registry.npmjs.org/@types/gulp-plumber/-/gulp-plumber-0.0.37.tgz", -+ "integrity": "sha512-U1vFhhwDepAWmJ1ZVl6p+uwk/+rAs8+QLTRlrMLMQQ7KeqPPCvD5vy6JHMeqXwnxMSlbboa2PXQqoMg+ljZIJQ==", - "dev": true, - "license": "MIT", -- "engines": { -- "node": ">=20.0.0" -- } -- }, -- "node_modules/@sindresorhus/is": { -- "version": "4.6.0", -- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", -- "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", -- "dev": true, -- "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/sindresorhus/is?sponsor=1" -- } -- }, -- "node_modules/@sindresorhus/merge-streams": { -- "version": "2.3.0", -- "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", -- "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=18" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, -- "node_modules/@szmarczak/http-timer": { -- "version": "4.0.6", -- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", -- "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", -- "dev": true, -- "dependencies": { -- "defer-to-connect": "^2.0.0" -- }, -- "engines": { -- "node": ">=10" -- } -- }, -- "node_modules/@textlint/ast-node-types": { -- "version": "15.2.2", -- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.2.2.tgz", -- "integrity": "sha512-9ByYNzWV8tpz6BFaRzeRzIov8dkbSZu9q7IWqEIfmRuLWb2qbI/5gTvKcoWT1HYs4XM7IZ8TKSXcuPvMb6eorA==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/@textlint/linter-formatter": { -- "version": "15.2.2", -- "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.2.2.tgz", -- "integrity": "sha512-oMVaMJ3exFvXhCj3AqmCbLaeYrTNLqaJnLJMIlmnRM3/kZdxvku4OYdaDzgtlI194cVxamOY5AbHBBVnY79kEg==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@azu/format-text": "^1.0.2", -- "@azu/style-format": "^1.0.1", -- "@textlint/module-interop": "15.2.2", -- "@textlint/resolver": "15.2.2", -- "@textlint/types": "15.2.2", -- "chalk": "^4.1.2", -- "debug": "^4.4.1", -- "js-yaml": "^3.14.1", -- "lodash": "^4.17.21", -- "pluralize": "^2.0.0", -- "string-width": "^4.2.3", -- "strip-ansi": "^6.0.1", -- "table": "^6.9.0", -- "text-table": "^0.2.0" -- } -- }, -- "node_modules/@textlint/linter-formatter/node_modules/ansi-regex": { -- "version": "5.0.1", -- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", -- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/@textlint/linter-formatter/node_modules/ansi-styles": { -- "version": "4.3.0", -- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "color-convert": "^2.0.1" -- }, -- "engines": { -- "node": ">=8" -- }, -- "funding": { -- "url": "https://github.com/chalk/ansi-styles?sponsor=1" -- } -- }, -- "node_modules/@textlint/linter-formatter/node_modules/chalk": { -- "version": "4.1.2", -- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", -- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-styles": "^4.1.0", -- "supports-color": "^7.1.0" -- }, -- "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/chalk/chalk?sponsor=1" -- } -- }, -- "node_modules/@textlint/linter-formatter/node_modules/color-convert": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "color-name": "~1.1.4" -- }, -- "engines": { -- "node": ">=7.0.0" -- } -- }, -- "node_modules/@textlint/linter-formatter/node_modules/color-name": { -- "version": "1.1.4", -- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/@textlint/linter-formatter/node_modules/has-flag": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/@textlint/linter-formatter/node_modules/pluralize": { -- "version": "2.0.0", -- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-2.0.0.tgz", -- "integrity": "sha512-TqNZzQCD4S42De9IfnnBvILN7HAW7riLqsCyp8lgjXeysyPlX5HhqKAcJHHHb9XskE4/a+7VGC9zzx8Ls0jOAw==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/@textlint/linter-formatter/node_modules/strip-ansi": { -- "version": "6.0.1", -- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", -- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-regex": "^5.0.1" -- }, -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/@textlint/linter-formatter/node_modules/supports-color": { -- "version": "7.2.0", -- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "has-flag": "^4.0.0" -- }, -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/@textlint/module-interop": { -- "version": "15.2.2", -- "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.2.2.tgz", -- "integrity": "sha512-2rmNcWrcqhuR84Iio1WRzlc4tEoOMHd6T7urjtKNNefpTt1owrTJ9WuOe60yD3FrTW0J/R0ux5wxUbP/eaeFOA==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/@textlint/resolver": { -- "version": "15.2.2", -- "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.2.2.tgz", -- "integrity": "sha512-4hGWjmHt0y+5NAkoYZ8FvEkj8Mez9TqfbTm3BPjoV32cIfEixl2poTOgapn1rfm73905GSO3P1jiWjmgvii13Q==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/@textlint/types": { -- "version": "15.2.2", -- "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.2.2.tgz", -- "integrity": "sha512-X2BHGAR3yXJsCAjwYEDBIk9qUDWcH4pW61ISfmtejau+tVqKtnbbvEZnMTb6mWgKU1BvTmftd5DmB1XVDUtY3g==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@textlint/ast-node-types": "15.2.2" -- } -- }, -- "node_modules/@types/ansi-colors": { -- "version": "3.2.0", -- "resolved": "https://registry.npmjs.org/@types/ansi-colors/-/ansi-colors-3.2.0.tgz", -- "integrity": "sha512-0caWAhXht9N2lOdMzJLXybsSkYCx1QOdxx6pae48tswI9QV3DFX26AoOpy0JxwhCb+zISTqmd6H8t9Zby9BoZg==", -- "dev": true -- }, -- "node_modules/@types/byline": { -- "version": "4.2.32", -- "resolved": "https://registry.npmjs.org/@types/byline/-/byline-4.2.32.tgz", -- "integrity": "sha512-qtlm/J6XOO9p+Ep/ZB5+mCFEDhzWDDHWU4a1eReN7lkPZXW9rkloq2jcAhvKKmlO5tL2GSvKROb+PTsNVhBiyQ==", -- "dev": true, -- "dependencies": { -- "@types/node": "*" -- } -- }, -- "node_modules/@types/cacheable-request": { -- "version": "6.0.3", -- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", -- "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", -- "dev": true, -- "dependencies": { -- "@types/http-cache-semantics": "*", -- "@types/keyv": "^3.1.4", -- "@types/node": "*", -- "@types/responselike": "^1.0.0" -- } -- }, -- "node_modules/@types/debounce": { -- "version": "1.0.0", -- "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.0.0.tgz", -- "integrity": "sha1-QXVgIAMx4buE1y2oU5EQLC/NYbc= sha512-B7FcD9ry40L831t7iuHQyDfYi+qVEV75qkEI2ROOyfjb2PfkAspL+NK6B2A0BceMuNhiYRmtKTNnNP7Ul4N2Pg==", -- "dev": true -- }, -- "node_modules/@types/debug": { -- "version": "4.1.9", -- "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.9.tgz", -- "integrity": "sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==", -- "dev": true, -- "dependencies": { -- "@types/ms": "*" -- } -- }, -- "node_modules/@types/events": { -- "version": "1.2.0", -- "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", -- "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==", -- "dev": true -- }, -- "node_modules/@types/expect": { -- "version": "1.20.4", -- "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", -- "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", -- "dev": true -- }, -- "node_modules/@types/fancy-log": { -- "version": "1.3.0", -- "resolved": "https://registry.npmjs.org/@types/fancy-log/-/fancy-log-1.3.0.tgz", -- "integrity": "sha512-mQjDxyOM1Cpocd+vm1kZBP7smwKZ4TNokFeds9LV7OZibmPJFEzY3+xZMrKfUdNT71lv8GoCPD6upKwHxubClw==", -- "dev": true -- }, -- "node_modules/@types/fs-extra": { -- "version": "9.0.12", -- "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", -- "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", -- "dev": true, -- "dependencies": { -- "@types/node": "*" -- } -- }, -- "node_modules/@types/glob": { -- "version": "7.1.1", -- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", -- "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", -- "dev": true, -- "dependencies": { -- "@types/events": "*", -- "@types/minimatch": "*", -- "@types/node": "*" -- } -- }, -- "node_modules/@types/glob-stream": { -- "version": "6.1.0", -- "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-6.1.0.tgz", -- "integrity": "sha512-RHv6ZQjcTncXo3thYZrsbAVwoy4vSKosSWhuhuQxLOTv74OJuFQxXkmUuZCr3q9uNBEVCvIzmZL/FeRNbHZGUg==", -- "dev": true, -- "dependencies": { -- "@types/glob": "*", -- "@types/node": "*" -- } -- }, -- "node_modules/@types/graceful-fs": { -- "version": "4.1.9", -- "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", -- "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@types/node": "*" -- } -- }, -- "node_modules/@types/gulp": { -- "version": "4.0.17", -- "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.17.tgz", -- "integrity": "sha512-+pKQynu2C/HS16kgmDlAicjtFYP8kaa86eE9P0Ae7GB5W29we/E2TIdbOWtEZD5XkpY+jr8fyqfwO6SWZecLpQ==", -- "dev": true, -- "dependencies": { -- "@types/node": "*", -- "@types/undertaker": ">=1.2.6", -- "@types/vinyl-fs": "*", -- "chokidar": "^3.3.1" -- } -- }, -- "node_modules/@types/gulp-filter": { -- "version": "3.0.32", -- "resolved": "https://registry.npmjs.org/@types/gulp-filter/-/gulp-filter-3.0.32.tgz", -- "integrity": "sha512-JvY4qTxXehoK2yCUxYVxTMvckVbDM5TWHWeUoYJyX31gwFqw4YDD6JNzhuTxI3yHPUTY4BBRTqgm6puQEZVCNg==", -- "dev": true, -- "dependencies": { -- "@types/minimatch": "*", -- "@types/node": "*", -- "@types/vinyl": "*" -- } -- }, -- "node_modules/@types/gulp-flatmap": { -- "version": "1.0.0", -- "resolved": "https://registry.npmjs.org/@types/gulp-flatmap/-/gulp-flatmap-1.0.0.tgz", -- "integrity": "sha512-GTv0a9BxhbWYkxaPDCqnZFI13pXUUpJ90hBWkhGOQQ76qDDtHWugr0+IEiTEc0KYS0bOs80YszZE7WFNA5ndfg==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@types/node": "*", -- "@types/vinyl": "*" -- } -- }, -- "node_modules/@types/gulp-gzip": { -- "version": "0.0.31", -- "resolved": "https://registry.npmjs.org/@types/gulp-gzip/-/gulp-gzip-0.0.31.tgz", -- "integrity": "sha512-KQjHz1FTqLse8/EiktfhN/vo33vamX4gVAQhMTp55STDBA7UToW5CJqYyP7iRorkHK9/aJ2nL2hLkNZkY4M8+w==", -- "dev": true, -- "dependencies": { -- "@types/node": "*" -- } -- }, -- "node_modules/@types/gulp-json-editor": { -- "version": "2.2.31", -- "resolved": "https://registry.npmjs.org/@types/gulp-json-editor/-/gulp-json-editor-2.2.31.tgz", -- "integrity": "sha512-piis0ImYAy0dt18R4EtTbAY+RV8jwTq5VisnUV6OfP8kD4743aHGkAdAd08No4NY3rFa5mD6ytIu8L0YU7nL9w==", -- "dev": true, -- "dependencies": { -- "@types/js-beautify": "*", -- "@types/node": "*" -- } -- }, -- "node_modules/@types/gulp-plumber": { -- "version": "0.0.37", -- "resolved": "https://registry.npmjs.org/@types/gulp-plumber/-/gulp-plumber-0.0.37.tgz", -- "integrity": "sha512-U1vFhhwDepAWmJ1ZVl6p+uwk/+rAs8+QLTRlrMLMQQ7KeqPPCvD5vy6JHMeqXwnxMSlbboa2PXQqoMg+ljZIJQ==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@types/node": "*" -+ "dependencies": { -+ "@types/node": "*" - } -@@ -1792,9 +1240,2 @@ - }, -- "node_modules/@types/normalize-package-data": { -- "version": "2.4.4", -- "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", -- "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", -- "dev": true, -- "license": "MIT" -- }, - "node_modules/@types/p-all": { -@@ -1834,9 +1275,2 @@ - }, -- "node_modules/@types/sarif": { -- "version": "2.1.7", -- "resolved": "https://registry.npmjs.org/@types/sarif/-/sarif-2.1.7.tgz", -- "integrity": "sha512-kRz0VEkJqWLf1LLVN4pT1cg1Z9wAuvI6L97V3m2f5B76Tg8d413ddvLBPTEHAZJlnn4XSvu0FkZtViCQGVyrXQ==", -- "dev": true, -- "license": "MIT" -- }, - "node_modules/@types/through": { -@@ -1944,5 +1378,5 @@ - "node_modules/@vscode/vsce": { -- "version": "3.6.1", -- "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.6.1.tgz", -- "integrity": "sha512-UXtMgeCBl/t5zjn1TX1v1sl5L/oIv3Xc3pkKPGzaqeFCIkp5+wfFFDBXTWDt3d5uUulHnZKORHkMIsKNe9+k5A==", -+ "version": "2.20.1", -+ "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.20.1.tgz", -+ "integrity": "sha512-ilbvoqvR/1/zseRPBAzYR6aKqSJ+jvda4/BqIwOqTxajpvLtEpK3kMLs77+dJdrlygS+VrP7Yhad8j0ukyD96g==", - "dev": true, -@@ -1950,15 +1384,7 @@ - "dependencies": { -- "@azure/identity": "^4.1.0", -- "@secretlint/node": "^10.1.2", -- "@secretlint/secretlint-formatter-sarif": "^10.1.2", -- "@secretlint/secretlint-rule-no-dotenv": "^10.1.2", -- "@secretlint/secretlint-rule-preset-recommend": "^10.1.2", -- "@vscode/vsce-sign": "^2.0.0", -- "azure-devops-node-api": "^12.5.0", -- "chalk": "^4.1.2", -+ "azure-devops-node-api": "^11.0.1", -+ "chalk": "^2.4.2", - "cheerio": "^1.0.0-rc.9", -- "cockatiel": "^3.1.2", -- "commander": "^12.1.0", -- "form-data": "^4.0.0", -- "glob": "^11.0.0", -+ "commander": "^6.1.0", -+ "glob": "^7.0.6", - "hosted-git-info": "^4.0.2", -@@ -1966,3 +1392,3 @@ - "leven": "^3.1.0", -- "markdown-it": "^14.1.0", -+ "markdown-it": "^12.3.2", - "mime": "^1.3.4", -@@ -1971,5 +1397,4 @@ - "read": "^1.0.7", -- "secretlint": "^10.1.2", - "semver": "^7.5.2", -- "tmp": "^0.2.3", -+ "tmp": "^0.2.1", - "typed-rest-client": "^1.8.4", -@@ -1984,254 +1409,6 @@ - "engines": { -- "node": ">= 20" -- }, -- "optionalDependencies": { -- "keytar": "^7.7.0" -- } -- }, -- "node_modules/@vscode/vsce-sign": { -- "version": "2.0.7", -- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign/-/vsce-sign-2.0.7.tgz", -- "integrity": "sha512-cz0GFW8qCxpypOy3y509u26K1FIPMlDIHBwGmDyvEbgoma2v3y5YIHHuijr8zCYBp9kzCCOJd28s/0PG7cA7ew==", -- "dev": true, -- "hasInstallScript": true, -- "license": "SEE LICENSE IN LICENSE.txt", -- "optionalDependencies": { -- "@vscode/vsce-sign-alpine-arm64": "2.0.6", -- "@vscode/vsce-sign-alpine-x64": "2.0.6", -- "@vscode/vsce-sign-darwin-arm64": "2.0.6", -- "@vscode/vsce-sign-darwin-x64": "2.0.6", -- "@vscode/vsce-sign-linux-arm": "2.0.6", -- "@vscode/vsce-sign-linux-arm64": "2.0.6", -- "@vscode/vsce-sign-linux-x64": "2.0.6", -- "@vscode/vsce-sign-win32-arm64": "2.0.6", -- "@vscode/vsce-sign-win32-x64": "2.0.6" -- } -- }, -- "node_modules/@vscode/vsce-sign-alpine-arm64": { -- "version": "2.0.6", -- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.6.tgz", -- "integrity": "sha512-wKkJBsvKF+f0GfsUuGT0tSW0kZL87QggEiqNqK6/8hvqsXvpx8OsTEc3mnE1kejkh5r+qUyQ7PtF8jZYN0mo8Q==", -- "cpu": [ -- "arm64" -- ], -- "dev": true, -- "license": "SEE LICENSE IN LICENSE.txt", -- "optional": true, -- "os": [ -- "alpine" -- ] -- }, -- "node_modules/@vscode/vsce-sign-alpine-x64": { -- "version": "2.0.6", -- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.6.tgz", -- "integrity": "sha512-YoAGlmdK39vKi9jA18i4ufBbd95OqGJxRvF3n6ZbCyziwy3O+JgOpIUPxv5tjeO6gQfx29qBivQ8ZZTUF2Ba0w==", -- "cpu": [ -- "x64" -- ], -- "dev": true, -- "license": "SEE LICENSE IN LICENSE.txt", -- "optional": true, -- "os": [ -- "alpine" -- ] -- }, -- "node_modules/@vscode/vsce-sign-darwin-arm64": { -- "version": "2.0.6", -- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.6.tgz", -- "integrity": "sha512-5HMHaJRIQuozm/XQIiJiA0W9uhdblwwl2ZNDSSAeXGO9YhB9MH5C4KIHOmvyjUnKy4UCuiP43VKpIxW1VWP4tQ==", -- "cpu": [ -- "arm64" -- ], -- "dev": true, -- "license": "SEE LICENSE IN LICENSE.txt", -- "optional": true, -- "os": [ -- "darwin" -- ] -- }, -- "node_modules/@vscode/vsce-sign-darwin-x64": { -- "version": "2.0.6", -- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.6.tgz", -- "integrity": "sha512-25GsUbTAiNfHSuRItoQafXOIpxlYj+IXb4/qarrXu7kmbH94jlm5sdWSCKrrREs8+GsXF1b+l3OB7VJy5jsykw==", -- "cpu": [ -- "x64" -- ], -- "dev": true, -- "license": "SEE LICENSE IN LICENSE.txt", -- "optional": true, -- "os": [ -- "darwin" -- ] -- }, -- "node_modules/@vscode/vsce-sign-linux-arm": { -- "version": "2.0.6", -- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.6.tgz", -- "integrity": "sha512-UndEc2Xlq4HsuMPnwu7420uqceXjs4yb5W8E2/UkaHBB9OWCwMd3/bRe/1eLe3D8kPpxzcaeTyXiK3RdzS/1CA==", -- "cpu": [ -- "arm" -- ], -- "dev": true, -- "license": "SEE LICENSE IN LICENSE.txt", -- "optional": true, -- "os": [ -- "linux" -- ] -- }, -- "node_modules/@vscode/vsce-sign-linux-arm64": { -- "version": "2.0.6", -- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.6.tgz", -- "integrity": "sha512-cfb1qK7lygtMa4NUl2582nP7aliLYuDEVpAbXJMkDq1qE+olIw/es+C8j1LJwvcRq1I2yWGtSn3EkDp9Dq5FdA==", -- "cpu": [ -- "arm64" -- ], -- "dev": true, -- "license": "SEE LICENSE IN LICENSE.txt", -- "optional": true, -- "os": [ -- "linux" -- ] -- }, -- "node_modules/@vscode/vsce-sign-linux-x64": { -- "version": "2.0.6", -- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.6.tgz", -- "integrity": "sha512-/olerl1A4sOqdP+hjvJ1sbQjKN07Y3DVnxO4gnbn/ahtQvFrdhUi0G1VsZXDNjfqmXw57DmPi5ASnj/8PGZhAA==", -- "cpu": [ -- "x64" -- ], -- "dev": true, -- "license": "SEE LICENSE IN LICENSE.txt", -- "optional": true, -- "os": [ -- "linux" -- ] -- }, -- "node_modules/@vscode/vsce-sign-win32-arm64": { -- "version": "2.0.6", -- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.6.tgz", -- "integrity": "sha512-ivM/MiGIY0PJNZBoGtlRBM/xDpwbdlCWomUWuLmIxbi1Cxe/1nooYrEQoaHD8ojVRgzdQEUzMsRbyF5cJJgYOg==", -- "cpu": [ -- "arm64" -- ], -- "dev": true, -- "license": "SEE LICENSE IN LICENSE.txt", -- "optional": true, -- "os": [ -- "win32" -- ] -- }, -- "node_modules/@vscode/vsce-sign-win32-x64": { -- "version": "2.0.6", -- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.6.tgz", -- "integrity": "sha512-mgth9Kvze+u8CruYMmhHw6Zgy3GRX2S+Ed5oSokDEK5vPEwGGKnmuXua9tmFhomeAnhgJnL4DCna3TiNuGrBTQ==", -- "cpu": [ -- "x64" -- ], -- "dev": true, -- "license": "SEE LICENSE IN LICENSE.txt", -- "optional": true, -- "os": [ -- "win32" -- ] -- }, -- "node_modules/@vscode/vsce/node_modules/ansi-styles": { -- "version": "4.3.0", -- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "color-convert": "^2.0.1" -- }, -- "engines": { -- "node": ">=8" -- }, -- "funding": { -- "url": "https://github.com/chalk/ansi-styles?sponsor=1" -- } -- }, -- "node_modules/@vscode/vsce/node_modules/chalk": { -- "version": "4.1.2", -- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", -- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-styles": "^4.1.0", -- "supports-color": "^7.1.0" -- }, -- "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/chalk/chalk?sponsor=1" -- } -- }, -- "node_modules/@vscode/vsce/node_modules/color-convert": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "color-name": "~1.1.4" -- }, -- "engines": { -- "node": ">=7.0.0" -- } -- }, -- "node_modules/@vscode/vsce/node_modules/color-name": { -- "version": "1.1.4", -- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/@vscode/vsce/node_modules/glob": { -- "version": "11.0.3", -- "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz", -- "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==", -- "dev": true, -- "license": "ISC", -- "dependencies": { -- "foreground-child": "^3.3.1", -- "jackspeak": "^4.1.1", -- "minimatch": "^10.0.3", -- "minipass": "^7.1.2", -- "package-json-from-dist": "^1.0.0", -- "path-scurry": "^2.0.0" -- }, -- "bin": { -- "glob": "dist/esm/bin.mjs" -- }, -- "engines": { -- "node": "20 || >=22" -- }, -- "funding": { -- "url": "https://github.com/sponsors/isaacs" -- } -- }, -- "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": { -- "version": "10.0.3", -- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", -- "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", -- "dev": true, -- "license": "ISC", -- "dependencies": { -- "@isaacs/brace-expansion": "^5.0.0" -- }, -- "engines": { -- "node": "20 || >=22" -+ "node": ">= 14" - }, -- "funding": { -- "url": "https://github.com/sponsors/isaacs" -- } -- }, -- "node_modules/@vscode/vsce/node_modules/has-flag": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=8" -+ "optionalDependencies": { -+ "keytar": "^7.7.0" - } -@@ -2242,9 +1419,11 @@ - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", -- "dev": true -+ "dev": true, -+ "license": "MIT" - }, - "node_modules/@vscode/vsce/node_modules/semver": { -- "version": "7.6.3", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", -- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", -+ "version": "7.7.2", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", -+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, -+ "license": "ISC", - "bin": { -@@ -2256,25 +1435,2 @@ - }, -- "node_modules/@vscode/vsce/node_modules/supports-color": { -- "version": "7.2.0", -- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "has-flag": "^4.0.0" -- }, -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/@vscode/vsce/node_modules/yazl": { -- "version": "2.5.1", -- "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", -- "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "buffer-crc32": "~0.2.3" -- } -- }, - "node_modules/@xmldom/xmldom": { -@@ -2301,19 +1457,2 @@ - }, -- "node_modules/ajv": { -- "version": "8.17.1", -- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", -- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "fast-deep-equal": "^3.1.3", -- "fast-uri": "^3.0.1", -- "json-schema-traverse": "^1.0.0", -- "require-from-string": "^2.0.2" -- }, -- "funding": { -- "type": "github", -- "url": "https://github.com/sponsors/epoberezkin" -- } -- }, - "node_modules/ansi-colors": { -@@ -2328,18 +1467,2 @@ - }, -- "node_modules/ansi-escapes": { -- "version": "7.1.1", -- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz", -- "integrity": "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "environment": "^1.0.0" -- }, -- "engines": { -- "node": ">=18" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/ansi-gray": { -@@ -2356,15 +1479,2 @@ - }, -- "node_modules/ansi-regex": { -- "version": "6.2.2", -- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", -- "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=12" -- }, -- "funding": { -- "url": "https://github.com/chalk/ansi-regex?sponsor=1" -- } -- }, - "node_modules/ansi-styles": { -@@ -2404,17 +1514,7 @@ - "node_modules/argparse": { -- "version": "1.0.10", -- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", -- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "sprintf-js": "~1.0.2" -- } -- }, -- "node_modules/argparse/node_modules/sprintf-js": { -- "version": "1.0.3", -- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", -- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", -+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, -- "license": "BSD-3-Clause" -+ "license": "Python-2.0" - }, -@@ -2447,12 +1547,2 @@ - }, -- "node_modules/astral-regex": { -- "version": "2.0.0", -- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", -- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=8" -- } -- }, - "node_modules/async-done": { -@@ -2472,13 +1562,26 @@ - }, -- "node_modules/asynckit": { -- "version": "0.4.0", -- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", -- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", -+ "node_modules/async-function": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", -+ "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, -- "license": "MIT" -+ "license": "MIT", -+ "engines": { -+ "node": ">= 0.4" -+ } -+ }, -+ "node_modules/async-generator-function": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/async-generator-function/-/async-generator-function-1.0.0.tgz", -+ "integrity": "sha512-+NAXNqgCrB95ya4Sr66i1CL2hqLVckAk7xwRYWdcm39/ELQ6YNn1aw5r0bdQtqNZgQpEWzc5yc/igXc7aL5SLA==", -+ "dev": true, -+ "license": "MIT", -+ "engines": { -+ "node": ">= 0.4" -+ } - }, - "node_modules/azure-devops-node-api": { -- "version": "12.5.0", -- "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", -- "integrity": "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==", -+ "version": "11.2.0", -+ "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", -+ "integrity": "sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==", - "dev": true, -@@ -2525,18 +1628,2 @@ - }, -- "node_modules/binaryextensions": { -- "version": "6.11.0", -- "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-6.11.0.tgz", -- "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==", -- "dev": true, -- "license": "Artistic-2.0", -- "dependencies": { -- "editions": "^6.21.0" -- }, -- "engines": { -- "node": ">=4" -- }, -- "funding": { -- "url": "https://bevry.me/fund" -- } -- }, - "node_modules/bl": { -@@ -2546,2 +1633,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true, -@@ -2557,3 +1645,4 @@ - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", -- "dev": true -+ "dev": true, -+ "license": "ISC" - }, -@@ -2566,9 +1655,2 @@ - }, -- "node_modules/boundary": { -- "version": "2.0.0", -- "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz", -- "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==", -- "dev": true, -- "license": "BSD-2-Clause" -- }, - "node_modules/brace-expansion": { -@@ -2615,2 +1697,3 @@ - ], -+ "license": "MIT", - "optional": true, -@@ -2718,6 +1801,7 @@ - "node_modules/cheerio": { -- "version": "1.0.0-rc.12", -- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", -- "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", -+ "version": "1.1.2", -+ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", -+ "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", - "dev": true, -+ "license": "MIT", - "dependencies": { -@@ -2726,9 +1810,13 @@ - "domhandler": "^5.0.3", -- "domutils": "^3.0.1", -- "htmlparser2": "^8.0.1", -- "parse5": "^7.0.0", -- "parse5-htmlparser2-tree-adapter": "^7.0.0" -+ "domutils": "^3.2.2", -+ "encoding-sniffer": "^0.2.1", -+ "htmlparser2": "^10.0.0", -+ "parse5": "^7.3.0", -+ "parse5-htmlparser2-tree-adapter": "^7.1.0", -+ "parse5-parser-stream": "^7.1.2", -+ "undici": "^7.12.0", -+ "whatwg-mimetype": "^4.0.0" - }, - "engines": { -- "node": ">= 6" -+ "node": ">=20.18.1" - }, -@@ -2743,2 +1831,3 @@ - "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -2781,2 +1870,3 @@ - "dev": true, -+ "license": "ISC", - "optional": true -@@ -2842,12 +1932,2 @@ - }, -- "node_modules/cockatiel": { -- "version": "3.2.1", -- "resolved": "https://registry.npmjs.org/cockatiel/-/cockatiel-3.2.1.tgz", -- "integrity": "sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=16" -- } -- }, - "node_modules/color-convert": { -@@ -2876,19 +1956,6 @@ - }, -- "node_modules/combined-stream": { -- "version": "1.0.8", -- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", -- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "delayed-stream": "~1.0.0" -- }, -- "engines": { -- "node": ">= 0.8" -- } -- }, - "node_modules/commander": { -- "version": "12.1.0", -- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", -- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", -+ "version": "6.2.1", -+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", -+ "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, -@@ -2896,3 +1963,3 @@ - "engines": { -- "node": ">=18" -+ "node": ">= 6" - } -@@ -2927,6 +1994,7 @@ - "node_modules/css-select": { -- "version": "5.1.0", -- "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", -- "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", -+ "version": "5.2.2", -+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", -+ "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", - "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -2943,6 +2011,7 @@ - "node_modules/css-what": { -- "version": "6.1.0", -- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", -- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", -+ "version": "6.2.2", -+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", -+ "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", - "dev": true, -+ "license": "BSD-2-Clause", - "engines": { -@@ -3004,2 +2073,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true, -@@ -3040,17 +2110,8 @@ - }, -- "node_modules/delayed-stream": { -- "version": "1.0.0", -- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", -- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=0.4.0" -- } -- }, - "node_modules/detect-libc": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", -- "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", -+ "version": "2.1.1", -+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz", -+ "integrity": "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==", - "dev": true, -+ "license": "Apache-2.0", - "optional": true, -@@ -3082,2 +2143,3 @@ - "dev": true, -+ "license": "MIT", - "dependencies": { -@@ -3101,3 +2163,4 @@ - } -- ] -+ ], -+ "license": "BSD-2-Clause" - }, -@@ -3108,2 +2171,3 @@ - "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -3119,6 +2183,7 @@ - "node_modules/domutils": { -- "version": "3.0.1", -- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", -- "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", -+ "version": "3.2.2", -+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", -+ "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -3126,3 +2191,3 @@ - "domelementtype": "^2.3.0", -- "domhandler": "^5.0.1" -+ "domhandler": "^5.0.3" - }, -@@ -3159,9 +2224,2 @@ - }, -- "node_modules/eastasianwidth": { -- "version": "0.2.0", -- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", -- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", -- "dev": true, -- "license": "MIT" -- }, - "node_modules/ecdsa-sig-formatter": { -@@ -3175,26 +2233,16 @@ - }, -- "node_modules/editions": { -- "version": "6.22.0", -- "resolved": "https://registry.npmjs.org/editions/-/editions-6.22.0.tgz", -- "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==", -+ "node_modules/encoding-sniffer": { -+ "version": "0.2.1", -+ "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", -+ "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", - "dev": true, -- "license": "Artistic-2.0", -+ "license": "MIT", - "dependencies": { -- "version-range": "^4.15.0" -- }, -- "engines": { -- "ecmascript": ">= es5", -- "node": ">=4" -+ "iconv-lite": "^0.6.3", -+ "whatwg-encoding": "^3.1.1" - }, - "funding": { -- "url": "https://bevry.me/fund" -+ "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" - } - }, -- "node_modules/emoji-regex": { -- "version": "8.0.0", -- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", -- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", -- "dev": true, -- "license": "MIT" -- }, - "node_modules/end-of-stream": { -@@ -3209,6 +2257,7 @@ - "node_modules/entities": { -- "version": "4.4.0", -- "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", -- "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", -+ "version": "4.5.0", -+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", -+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, -+ "license": "BSD-2-Clause", - "engines": { -@@ -3229,15 +2278,2 @@ - }, -- "node_modules/environment": { -- "version": "1.1.0", -- "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", -- "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=18" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/es-define-property": { -@@ -3275,18 +2311,2 @@ - }, -- "node_modules/es-set-tostringtag": { -- "version": "2.1.0", -- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", -- "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "es-errors": "^1.3.0", -- "get-intrinsic": "^1.2.6", -- "has-tostringtag": "^1.0.2", -- "hasown": "^2.0.2" -- }, -- "engines": { -- "node": ">= 0.4" -- } -- }, - "node_modules/es6-error": { -@@ -3348,16 +2368,2 @@ - }, -- "node_modules/esprima": { -- "version": "4.0.1", -- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", -- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", -- "dev": true, -- "license": "BSD-2-Clause", -- "bin": { -- "esparse": "bin/esparse.js", -- "esvalidate": "bin/esvalidate.js" -- }, -- "engines": { -- "node": ">=4" -- } -- }, - "node_modules/events": { -@@ -3376,2 +2382,3 @@ - "dev": true, -+ "license": "(MIT OR WTFPL)", - "optional": true, -@@ -3429,26 +2436,2 @@ - }, -- "node_modules/fast-deep-equal": { -- "version": "3.1.3", -- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", -- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/fast-glob": { -- "version": "3.3.3", -- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", -- "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@nodelib/fs.stat": "^2.0.2", -- "@nodelib/fs.walk": "^1.2.3", -- "glob-parent": "^5.1.2", -- "merge2": "^1.3.0", -- "micromatch": "^4.0.8" -- }, -- "engines": { -- "node": ">=8.6.0" -- } -- }, - "node_modules/fast-json-stable-stringify": { -@@ -3459,19 +2442,2 @@ - }, -- "node_modules/fast-uri": { -- "version": "3.1.0", -- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", -- "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", -- "dev": true, -- "funding": [ -- { -- "type": "github", -- "url": "https://github.com/sponsors/fastify" -- }, -- { -- "type": "opencollective", -- "url": "https://opencollective.com/fastify" -- } -- ], -- "license": "BSD-3-Clause" -- }, - "node_modules/fast-xml-parser": { -@@ -3499,12 +2465,2 @@ - }, -- "node_modules/fastq": { -- "version": "1.19.1", -- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", -- "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", -- "dev": true, -- "license": "ISC", -- "dependencies": { -- "reusify": "^1.0.4" -- } -- }, - "node_modules/fd-slicer": { -@@ -3557,19 +2513,2 @@ - }, -- "node_modules/foreground-child": { -- "version": "3.3.1", -- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", -- "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", -- "dev": true, -- "license": "ISC", -- "dependencies": { -- "cross-spawn": "^7.0.6", -- "signal-exit": "^4.0.1" -- }, -- "engines": { -- "node": ">=14" -- }, -- "funding": { -- "url": "https://github.com/sponsors/isaacs" -- } -- }, - "node_modules/fork-stream": { -@@ -3580,19 +2519,2 @@ - }, -- "node_modules/form-data": { -- "version": "4.0.4", -- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", -- "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "asynckit": "^0.4.0", -- "combined-stream": "^1.0.8", -- "es-set-tostringtag": "^2.1.0", -- "hasown": "^2.0.2", -- "mime-types": "^2.1.12" -- }, -- "engines": { -- "node": ">= 6" -- } -- }, - "node_modules/fs-constants": { -@@ -3602,2 +2524,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true -@@ -3647,6 +2570,16 @@ - }, -+ "node_modules/generator-function": { -+ "version": "2.0.0", -+ "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.0.tgz", -+ "integrity": "sha512-xPypGGincdfyl/AiSGa7GjXLkvld9V7GjZlowup9SHIJnQnHLFiLODCd/DqKOp0PBagbHJ68r1KJI9Mut7m4sA==", -+ "dev": true, -+ "license": "MIT", -+ "engines": { -+ "node": ">= 0.4" -+ } -+ }, - "node_modules/get-intrinsic": { -- "version": "1.3.0", -- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", -- "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", -+ "version": "1.3.1", -+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.1.tgz", -+ "integrity": "sha512-fk1ZVEeOX9hVZ6QzoBNEC55+Ucqg4sTVwrVuigZhuRPESVFpMyXnd3sbXvPOwp7Y9riVyANiqhEuRF0G1aVSeQ==", - "dev": true, -@@ -3654,2 +2587,4 @@ - "dependencies": { -+ "async-function": "^1.0.0", -+ "async-generator-function": "^1.0.0", - "call-bind-apply-helpers": "^1.0.2", -@@ -3659,2 +2594,3 @@ - "function-bind": "^1.1.2", -+ "generator-function": "^2.0.0", - "get-proto": "^1.0.1", -@@ -3704,4 +2640,5 @@ - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", -- "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", -+ "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", - "dev": true, -+ "license": "MIT", - "optional": true -@@ -3791,23 +2728,2 @@ - }, -- "node_modules/globby": { -- "version": "14.1.0", -- "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", -- "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@sindresorhus/merge-streams": "^2.1.0", -- "fast-glob": "^3.3.3", -- "ignore": "^7.0.3", -- "path-type": "^6.0.0", -- "slash": "^5.1.0", -- "unicorn-magic": "^0.3.0" -- }, -- "engines": { -- "node": ">=18" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/gopd": { -@@ -3926,18 +2842,2 @@ - }, -- "node_modules/has-tostringtag": { -- "version": "1.0.2", -- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", -- "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "has-symbols": "^1.0.3" -- }, -- "engines": { -- "node": ">= 0.4" -- }, -- "funding": { -- "url": "https://github.com/sponsors/ljharb" -- } -- }, - "node_modules/hasown": { -@@ -3960,2 +2860,3 @@ - "dev": true, -+ "license": "ISC", - "dependencies": { -@@ -3968,5 +2869,5 @@ - "node_modules/htmlparser2": { -- "version": "8.0.1", -- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", -- "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", -+ "version": "10.0.0", -+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", -+ "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", - "dev": true, -@@ -3979,7 +2880,21 @@ - ], -+ "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", -- "domhandler": "^5.0.2", -- "domutils": "^3.0.1", -- "entities": "^4.3.0" -+ "domhandler": "^5.0.3", -+ "domutils": "^3.2.1", -+ "entities": "^6.0.0" -+ } -+ }, -+ "node_modules/htmlparser2/node_modules/entities": { -+ "version": "6.0.1", -+ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", -+ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", -+ "dev": true, -+ "license": "BSD-2-Clause", -+ "engines": { -+ "node": ">=0.12" -+ }, -+ "funding": { -+ "url": "https://github.com/fb55/entities?sponsor=1" - } -@@ -4033,2 +2948,15 @@ - }, -+ "node_modules/iconv-lite": { -+ "version": "0.6.3", -+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", -+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", -+ "dev": true, -+ "license": "MIT", -+ "dependencies": { -+ "safer-buffer": ">= 2.1.2 < 3.0.0" -+ }, -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/ieee754": { -@@ -4052,27 +2980,5 @@ - ], -+ "license": "BSD-3-Clause", - "optional": true - }, -- "node_modules/ignore": { -- "version": "7.0.5", -- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", -- "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">= 4" -- } -- }, -- "node_modules/index-to-position": { -- "version": "1.1.0", -- "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz", -- "integrity": "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=18" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/inflight": { -@@ -4099,2 +3005,3 @@ - "dev": true, -+ "license": "ISC", - "optional": true -@@ -4149,12 +3056,2 @@ - }, -- "node_modules/is-fullwidth-code-point": { -- "version": "3.0.0", -- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", -- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=8" -- } -- }, - "node_modules/is-glob": { -@@ -4231,57 +3128,2 @@ - }, -- "node_modules/istextorbinary": { -- "version": "9.5.0", -- "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-9.5.0.tgz", -- "integrity": "sha512-5mbUj3SiZXCuRf9fT3ibzbSSEWiy63gFfksmGfdOzujPjW3k+z8WvIBxcJHBoQNlaZaiyB25deviif2+osLmLw==", -- "dev": true, -- "license": "Artistic-2.0", -- "dependencies": { -- "binaryextensions": "^6.11.0", -- "editions": "^6.21.0", -- "textextensions": "^6.11.0" -- }, -- "engines": { -- "node": ">=4" -- }, -- "funding": { -- "url": "https://bevry.me/fund" -- } -- }, -- "node_modules/jackspeak": { -- "version": "4.1.1", -- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", -- "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", -- "dev": true, -- "license": "BlueOak-1.0.0", -- "dependencies": { -- "@isaacs/cliui": "^8.0.2" -- }, -- "engines": { -- "node": "20 || >=22" -- }, -- "funding": { -- "url": "https://github.com/sponsors/isaacs" -- } -- }, -- "node_modules/js-tokens": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", -- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/js-yaml": { -- "version": "3.14.1", -- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", -- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "argparse": "^1.0.7", -- "esprima": "^4.0.0" -- }, -- "bin": { -- "js-yaml": "bin/js-yaml.js" -- } -- }, - "node_modules/jsbi": { -@@ -4298,9 +3140,2 @@ - }, -- "node_modules/json-schema-traverse": { -- "version": "1.0.0", -- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", -- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", -- "dev": true, -- "license": "MIT" -- }, - "node_modules/json-stringify-safe": { -@@ -4419,2 +3254,3 @@ - "hasInstallScript": true, -+ "license": "MIT", - "optional": true, -@@ -4439,2 +3275,3 @@ - "dev": true, -+ "license": "MIT", - "engines": { -@@ -4444,5 +3281,5 @@ - "node_modules/linkify-it": { -- "version": "5.0.0", -- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", -- "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", -+ "version": "3.0.3", -+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", -+ "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", - "dev": true, -@@ -4450,3 +3287,3 @@ - "dependencies": { -- "uc.micro": "^2.0.0" -+ "uc.micro": "^1.0.1" - } -@@ -4465,9 +3302,2 @@ - }, -- "node_modules/lodash.truncate": { -- "version": "4.4.2", -- "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", -- "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", -- "dev": true, -- "license": "MIT" -- }, - "node_modules/lowercase-keys": { -@@ -4494,5 +3324,5 @@ - "node_modules/markdown-it": { -- "version": "14.1.0", -- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", -- "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", -+ "version": "12.3.2", -+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", -+ "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", - "dev": true, -@@ -4501,18 +3331,20 @@ - "argparse": "^2.0.1", -- "entities": "^4.4.0", -- "linkify-it": "^5.0.0", -- "mdurl": "^2.0.0", -- "punycode.js": "^2.3.1", -- "uc.micro": "^2.1.0" -+ "entities": "~2.1.0", -+ "linkify-it": "^3.0.1", -+ "mdurl": "^1.0.1", -+ "uc.micro": "^1.0.5" - }, - "bin": { -- "markdown-it": "bin/markdown-it.mjs" -+ "markdown-it": "bin/markdown-it.js" - } - }, -- "node_modules/markdown-it/node_modules/argparse": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", -- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", -+ "node_modules/markdown-it/node_modules/entities": { -+ "version": "2.1.0", -+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", -+ "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "dev": true, -- "license": "Python-2.0" -+ "license": "BSD-2-Clause", -+ "funding": { -+ "url": "https://github.com/fb55/entities?sponsor=1" -+ } - }, -@@ -4555,5 +3387,5 @@ - "node_modules/mdurl": { -- "version": "2.0.0", -- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", -- "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", -+ "version": "1.0.1", -+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", -+ "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "dev": true, -@@ -4567,26 +3399,2 @@ - }, -- "node_modules/merge2": { -- "version": "1.4.1", -- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", -- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">= 8" -- } -- }, -- "node_modules/micromatch": { -- "version": "4.0.8", -- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", -- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "braces": "^3.0.3", -- "picomatch": "^2.3.1" -- }, -- "engines": { -- "node": ">=8.6" -- } -- }, - "node_modules/mime": { -@@ -4603,25 +3411,2 @@ - }, -- "node_modules/mime-db": { -- "version": "1.52.0", -- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", -- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">= 0.6" -- } -- }, -- "node_modules/mime-types": { -- "version": "2.1.35", -- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", -- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "mime-db": "1.52.0" -- }, -- "engines": { -- "node": ">= 0.6" -- } -- }, - "node_modules/mimic-response": { -@@ -4648,16 +3433,10 @@ - "node_modules/minimist": { -- "version": "1.2.6", -- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", -- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", -- "dev": true, -- "optional": true -- }, -- "node_modules/minipass": { -- "version": "7.1.2", -- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", -- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", -+ "version": "1.2.8", -+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", -+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, -- "license": "ISC", -- "engines": { -- "node": ">=16 || 14 >=14.17" -+ "license": "MIT", -+ "optional": true, -+ "funding": { -+ "url": "https://github.com/sponsors/ljharb" - } -@@ -4669,2 +3448,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true -@@ -4681,164 +3461,66 @@ - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", -- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", -- "dev": true -- }, -- "node_modules/napi-build-utils": { -- "version": "1.0.2", -- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", -- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", -- "dev": true, -- "optional": true -- }, -- "node_modules/node-abi": { -- "version": "3.30.0", -- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.30.0.tgz", -- "integrity": "sha512-qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw==", -- "dev": true, -- "optional": true, -- "dependencies": { -- "semver": "^7.3.5" -- }, -- "engines": { -- "node": ">=10" -- } -- }, -- "node_modules/node-abi/node_modules/semver": { -- "version": "7.5.4", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", -- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", -- "dev": true, -- "optional": true, -- "dependencies": { -- "lru-cache": "^6.0.0" -- }, -- "bin": { -- "semver": "bin/semver.js" -- }, -- "engines": { -- "node": ">=10" -- } -- }, -- "node_modules/node-abort-controller": { -- "version": "3.1.1", -- "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", -- "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", -- "dev": true -- }, -- "node_modules/node-addon-api": { -- "version": "4.3.0", -- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", -- "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", -- "dev": true, -- "optional": true -- }, -- "node_modules/node-gyp-build": { -- "version": "4.8.4", -- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", -- "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", -- "license": "MIT", -- "optional": true, -- "bin": { -- "node-gyp-build": "bin.js", -- "node-gyp-build-optional": "optional.js", -- "node-gyp-build-test": "build-test.js" -- } -- }, -- "node_modules/node-sarif-builder": { -- "version": "3.2.0", -- "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.2.0.tgz", -- "integrity": "sha512-kVIOdynrF2CRodHZeP/97Rh1syTUHBNiw17hUCIVhlhEsWlfJm19MuO56s4MdKbr22xWx6mzMnNAgXzVlIYM9Q==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@types/sarif": "^2.1.7", -- "fs-extra": "^11.1.1" -- }, -- "engines": { -- "node": ">=18" -- } -- }, -- "node_modules/node-sarif-builder/node_modules/fs-extra": { -- "version": "11.3.2", -- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", -- "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "graceful-fs": "^4.2.0", -- "jsonfile": "^6.0.1", -- "universalify": "^2.0.0" -- }, -- "engines": { -- "node": ">=14.14" -- } -- }, -- "node_modules/node-sarif-builder/node_modules/jsonfile": { -- "version": "6.2.0", -- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", -- "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "universalify": "^2.0.0" -- }, -- "optionalDependencies": { -- "graceful-fs": "^4.1.6" -- } -+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", -+ "dev": true - }, -- "node_modules/node-sarif-builder/node_modules/universalify": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", -- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", -+ "node_modules/napi-build-utils": { -+ "version": "2.0.0", -+ "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", -+ "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", - "dev": true, - "license": "MIT", -- "engines": { -- "node": ">= 10.0.0" -- } -+ "optional": true - }, -- "node_modules/normalize-package-data": { -- "version": "6.0.2", -- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", -- "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", -+ "node_modules/node-abi": { -+ "version": "3.30.0", -+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.30.0.tgz", -+ "integrity": "sha512-qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw==", - "dev": true, -- "license": "BSD-2-Clause", -+ "optional": true, - "dependencies": { -- "hosted-git-info": "^7.0.0", -- "semver": "^7.3.5", -- "validate-npm-package-license": "^3.0.4" -+ "semver": "^7.3.5" - }, - "engines": { -- "node": "^16.14.0 || >=18.0.0" -+ "node": ">=10" - } - }, -- "node_modules/normalize-package-data/node_modules/hosted-git-info": { -- "version": "7.0.2", -- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", -- "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", -+ "node_modules/node-abi/node_modules/semver": { -+ "version": "7.5.4", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", -+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, -- "license": "ISC", -+ "optional": true, - "dependencies": { -- "lru-cache": "^10.0.1" -+ "lru-cache": "^6.0.0" -+ }, -+ "bin": { -+ "semver": "bin/semver.js" - }, - "engines": { -- "node": "^16.14.0 || >=18.0.0" -+ "node": ">=10" - } - }, -- "node_modules/normalize-package-data/node_modules/lru-cache": { -- "version": "10.4.3", -- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", -- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", -- "dev": true, -- "license": "ISC" -+ "node_modules/node-abort-controller": { -+ "version": "3.1.1", -+ "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", -+ "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", -+ "dev": true - }, -- "node_modules/normalize-package-data/node_modules/semver": { -- "version": "7.7.2", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", -- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", -+ "node_modules/node-addon-api": { -+ "version": "4.3.0", -+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", -+ "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", - "dev": true, -- "license": "ISC", -+ "license": "MIT", -+ "optional": true -+ }, -+ "node_modules/node-gyp-build": { -+ "version": "4.8.4", -+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", -+ "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", -+ "license": "MIT", -+ "optional": true, - "bin": { -- "semver": "bin/semver.js" -- }, -- "engines": { -- "node": ">=10" -+ "node-gyp-build": "bin.js", -+ "node-gyp-build-optional": "optional.js", -+ "node-gyp-build-test": "build-test.js" - } -@@ -4871,2 +3553,3 @@ - "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -4915,2 +3598,3 @@ - "dev": true, -+ "license": "MIT", - "dependencies": { -@@ -4960,53 +3644,2 @@ - }, -- "node_modules/p-map": { -- "version": "7.0.3", -- "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", -- "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=18" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, -- "node_modules/package-json-from-dist": { -- "version": "1.0.1", -- "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", -- "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", -- "dev": true, -- "license": "BlueOak-1.0.0" -- }, -- "node_modules/parse-json": { -- "version": "8.3.0", -- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", -- "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "@babel/code-frame": "^7.26.2", -- "index-to-position": "^1.1.0", -- "type-fest": "^4.39.1" -- }, -- "engines": { -- "node": ">=18" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, -- "node_modules/parse-json/node_modules/type-fest": { -- "version": "4.41.0", -- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", -- "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", -- "dev": true, -- "license": "(MIT OR CC0-1.0)", -- "engines": { -- "node": ">=16" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/parse-node-version": { -@@ -5034,2 +3667,3 @@ - "dev": true, -+ "license": "ISC", - "bin": { -@@ -5039,8 +3673,9 @@ - "node_modules/parse5": { -- "version": "7.1.2", -- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", -- "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", -+ "version": "7.3.0", -+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", -+ "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "dev": true, -+ "license": "MIT", - "dependencies": { -- "entities": "^4.4.0" -+ "entities": "^6.0.0" - }, -@@ -5051,8 +3686,22 @@ - "node_modules/parse5-htmlparser2-tree-adapter": { -- "version": "7.0.0", -- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", -- "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", -+ "version": "7.1.0", -+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", -+ "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", - "dev": true, -+ "license": "MIT", -+ "dependencies": { -+ "domhandler": "^5.0.3", -+ "parse5": "^7.0.0" -+ }, -+ "funding": { -+ "url": "https://github.com/inikulin/parse5?sponsor=1" -+ } -+ }, -+ "node_modules/parse5-parser-stream": { -+ "version": "7.1.2", -+ "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", -+ "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", -+ "dev": true, -+ "license": "MIT", - "dependencies": { -- "domhandler": "^5.0.2", - "parse5": "^7.0.0" -@@ -5063,2 +3712,15 @@ - }, -+ "node_modules/parse5/node_modules/entities": { -+ "version": "6.0.1", -+ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", -+ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", -+ "dev": true, -+ "license": "BSD-2-Clause", -+ "engines": { -+ "node": ">=0.12" -+ }, -+ "funding": { -+ "url": "https://github.com/fb55/entities?sponsor=1" -+ } -+ }, - "node_modules/path-is-absolute": { -@@ -5081,42 +3743,2 @@ - }, -- "node_modules/path-scurry": { -- "version": "2.0.0", -- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", -- "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", -- "dev": true, -- "license": "BlueOak-1.0.0", -- "dependencies": { -- "lru-cache": "^11.0.0", -- "minipass": "^7.1.2" -- }, -- "engines": { -- "node": "20 || >=22" -- }, -- "funding": { -- "url": "https://github.com/sponsors/isaacs" -- } -- }, -- "node_modules/path-scurry/node_modules/lru-cache": { -- "version": "11.2.1", -- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.1.tgz", -- "integrity": "sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==", -- "dev": true, -- "license": "ISC", -- "engines": { -- "node": "20 || >=22" -- } -- }, -- "node_modules/path-type": { -- "version": "6.0.0", -- "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", -- "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=18" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/pend": { -@@ -5127,9 +3749,2 @@ - }, -- "node_modules/picocolors": { -- "version": "1.1.1", -- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", -- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", -- "dev": true, -- "license": "ISC" -- }, - "node_modules/picomatch": { -@@ -5198,17 +3813,8 @@ - }, -- "node_modules/pluralize": { -- "version": "8.0.0", -- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", -- "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=4" -- } -- }, - "node_modules/prebuild-install": { -- "version": "7.1.1", -- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", -- "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", -+ "version": "7.1.3", -+ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", -+ "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", - "dev": true, -+ "license": "MIT", - "optional": true, -@@ -5220,3 +3826,3 @@ - "mkdirp-classic": "^0.5.3", -- "napi-build-utils": "^1.0.1", -+ "napi-build-utils": "^2.0.0", - "node-abi": "^3.3.0", -@@ -5273,150 +3879,25 @@ - }, -- "node_modules/punycode.js": { -- "version": "2.3.1", -- "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", -- "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=6" -- } -- }, -- "node_modules/qs": { -- "version": "6.14.0", -- "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", -- "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", -- "dev": true, -- "license": "BSD-3-Clause", -- "dependencies": { -- "side-channel": "^1.1.0" -- }, -- "engines": { -- "node": ">=0.6" -- }, -- "funding": { -- "url": "https://github.com/sponsors/ljharb" -- } -- }, -- "node_modules/queue-microtask": { -- "version": "1.2.3", -- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", -- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", -- "dev": true, -- "funding": [ -- { -- "type": "github", -- "url": "https://github.com/sponsors/feross" -- }, -- { -- "type": "patreon", -- "url": "https://www.patreon.com/feross" -- }, -- { -- "type": "consulting", -- "url": "https://feross.org/support" -- } -- ], -- "license": "MIT" -- }, -- "node_modules/quick-lru": { -- "version": "5.1.1", -- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", -- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", -- "dev": true, -- "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, -- "node_modules/rc": { -- "version": "1.2.8", -- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", -- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", -- "dev": true, -- "optional": true, -- "dependencies": { -- "deep-extend": "^0.6.0", -- "ini": "~1.3.0", -- "minimist": "^1.2.0", -- "strip-json-comments": "~2.0.1" -- }, -- "bin": { -- "rc": "cli.js" -- } -- }, -- "node_modules/rc-config-loader": { -- "version": "4.1.3", -- "resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.1.3.tgz", -- "integrity": "sha512-kD7FqML7l800i6pS6pvLyIE2ncbk9Du8Q0gp/4hMPhJU6ZxApkoLcGD8ZeqgiAlfwZ6BlETq6qqe+12DUL207w==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "debug": "^4.3.4", -- "js-yaml": "^4.1.0", -- "json5": "^2.2.2", -- "require-from-string": "^2.0.2" -- } -- }, -- "node_modules/rc-config-loader/node_modules/argparse": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", -- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", -- "dev": true, -- "license": "Python-2.0" -- }, -- "node_modules/rc-config-loader/node_modules/js-yaml": { -- "version": "4.1.0", -- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", -- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "argparse": "^2.0.1" -- }, -- "bin": { -- "js-yaml": "bin/js-yaml.js" -- } -- }, -- "node_modules/read": { -- "version": "1.0.7", -- "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", -- "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", -- "dev": true, -- "dependencies": { -- "mute-stream": "~0.0.4" -- }, -- "engines": { -- "node": ">=0.8" -- } -- }, -- "node_modules/read-pkg": { -- "version": "9.0.1", -- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", -- "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", -+ "node_modules/qs": { -+ "version": "6.14.0", -+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", -+ "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dev": true, -- "license": "MIT", -+ "license": "BSD-3-Clause", - "dependencies": { -- "@types/normalize-package-data": "^2.4.3", -- "normalize-package-data": "^6.0.0", -- "parse-json": "^8.0.0", -- "type-fest": "^4.6.0", -- "unicorn-magic": "^0.1.0" -+ "side-channel": "^1.1.0" - }, - "engines": { -- "node": ">=18" -+ "node": ">=0.6" - }, - "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -+ "url": "https://github.com/sponsors/ljharb" - } - }, -- "node_modules/read-pkg/node_modules/type-fest": { -- "version": "4.41.0", -- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", -- "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", -+ "node_modules/quick-lru": { -+ "version": "5.1.1", -+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", -+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, -- "license": "(MIT OR CC0-1.0)", - "engines": { -- "node": ">=16" -+ "node": ">=10" - }, -@@ -5426,13 +3907,30 @@ - }, -- "node_modules/read-pkg/node_modules/unicorn-magic": { -- "version": "0.1.0", -- "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", -- "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", -+ "node_modules/rc": { -+ "version": "1.2.8", -+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", -+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=18" -+ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", -+ "optional": true, -+ "dependencies": { -+ "deep-extend": "^0.6.0", -+ "ini": "~1.3.0", -+ "minimist": "^1.2.0", -+ "strip-json-comments": "~2.0.1" - }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -+ "bin": { -+ "rc": "cli.js" -+ } -+ }, -+ "node_modules/read": { -+ "version": "1.0.7", -+ "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", -+ "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", -+ "dev": true, -+ "license": "ISC", -+ "dependencies": { -+ "mute-stream": "~0.0.4" -+ }, -+ "engines": { -+ "node": ">=0.8" - } -@@ -5480,12 +3978,2 @@ - }, -- "node_modules/require-from-string": { -- "version": "2.0.2", -- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", -- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=0.10.0" -- } -- }, - "node_modules/resolve-alpn": { -@@ -5508,13 +3996,2 @@ - }, -- "node_modules/reusify": { -- "version": "1.1.0", -- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", -- "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "iojs": ">=1.0.0", -- "node": ">=0.10.0" -- } -- }, - "node_modules/roarr": { -@@ -5537,26 +4014,2 @@ - }, -- "node_modules/run-parallel": { -- "version": "1.2.0", -- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", -- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", -- "dev": true, -- "funding": [ -- { -- "type": "github", -- "url": "https://github.com/sponsors/feross" -- }, -- { -- "type": "patreon", -- "url": "https://www.patreon.com/feross" -- }, -- { -- "type": "consulting", -- "url": "https://feross.org/support" -- } -- ], -- "license": "MIT", -- "dependencies": { -- "queue-microtask": "^1.2.2" -- } -- }, - "node_modules/safe-buffer": { -@@ -5567,29 +4020,15 @@ - }, -- "node_modules/sax": { -- "version": "1.2.4", -- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", -- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", -- "dev": true -+ "node_modules/safer-buffer": { -+ "version": "2.1.2", -+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", -+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", -+ "dev": true, -+ "license": "MIT" - }, -- "node_modules/secretlint": { -- "version": "10.2.2", -- "resolved": "https://registry.npmjs.org/secretlint/-/secretlint-10.2.2.tgz", -- "integrity": "sha512-xVpkeHV/aoWe4vP4TansF622nBEImzCY73y/0042DuJ29iKIaqgoJ8fGxre3rVSHHbxar4FdJobmTnLp9AU0eg==", -+ "node_modules/sax": { -+ "version": "1.4.1", -+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", -+ "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "dev": true, -- "license": "MIT", -- "dependencies": { -- "@secretlint/config-creator": "^10.2.2", -- "@secretlint/formatter": "^10.2.2", -- "@secretlint/node": "^10.2.2", -- "@secretlint/profiler": "^10.2.2", -- "debug": "^4.4.1", -- "globby": "^14.1.0", -- "read-pkg": "^9.0.1" -- }, -- "bin": { -- "secretlint": "bin/secretlint.js" -- }, -- "engines": { -- "node": ">=20.0.0" -- } -+ "license": "ISC" - }, -@@ -5733,15 +4172,2 @@ - }, -- "node_modules/signal-exit": { -- "version": "4.1.0", -- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", -- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", -- "dev": true, -- "license": "ISC", -- "engines": { -- "node": ">=14" -- }, -- "funding": { -- "url": "https://github.com/sponsors/isaacs" -- } -- }, - "node_modules/simple-concat": { -@@ -5765,2 +4191,3 @@ - ], -+ "license": "MIT", - "optional": true -@@ -5786,2 +4213,3 @@ - ], -+ "license": "MIT", - "optional": true, -@@ -5793,69 +4221,2 @@ - }, -- "node_modules/slash": { -- "version": "5.1.0", -- "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", -- "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=14.16" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, -- "node_modules/slice-ansi": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", -- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-styles": "^4.0.0", -- "astral-regex": "^2.0.0", -- "is-fullwidth-code-point": "^3.0.0" -- }, -- "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/chalk/slice-ansi?sponsor=1" -- } -- }, -- "node_modules/slice-ansi/node_modules/ansi-styles": { -- "version": "4.3.0", -- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "color-convert": "^2.0.1" -- }, -- "engines": { -- "node": ">=8" -- }, -- "funding": { -- "url": "https://github.com/chalk/ansi-styles?sponsor=1" -- } -- }, -- "node_modules/slice-ansi/node_modules/color-convert": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "color-name": "~1.1.4" -- }, -- "engines": { -- "node": ">=7.0.0" -- } -- }, -- "node_modules/slice-ansi/node_modules/color-name": { -- "version": "1.1.4", -- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", -- "dev": true, -- "license": "MIT" -- }, - "node_modules/source-map": { -@@ -5869,38 +4230,2 @@ - }, -- "node_modules/spdx-correct": { -- "version": "3.2.0", -- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", -- "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", -- "dev": true, -- "license": "Apache-2.0", -- "dependencies": { -- "spdx-expression-parse": "^3.0.0", -- "spdx-license-ids": "^3.0.0" -- } -- }, -- "node_modules/spdx-exceptions": { -- "version": "2.5.0", -- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", -- "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", -- "dev": true, -- "license": "CC-BY-3.0" -- }, -- "node_modules/spdx-expression-parse": { -- "version": "3.0.1", -- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", -- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "spdx-exceptions": "^2.1.0", -- "spdx-license-ids": "^3.0.0" -- } -- }, -- "node_modules/spdx-license-ids": { -- "version": "3.0.22", -- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", -- "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", -- "dev": true, -- "license": "CC0-1.0" -- }, - "node_modules/sprintf-js": { -@@ -5914,146 +4239,29 @@ - "version": "1.1.0", -- "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", -- "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", -- "dev": true, -- "engines": { -- "node": ">=4", -- "npm": ">=6" -- } -- }, -- "node_modules/stream-exhaust": { -- "version": "1.0.2", -- "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", -- "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", -- "dev": true -- }, -- "node_modules/stream-shift": { -- "version": "1.0.1", -- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", -- "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", -- "dev": true -- }, -- "node_modules/string_decoder": { -- "version": "1.1.1", -- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", -- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", -- "devOptional": true, -- "dependencies": { -- "safe-buffer": "~5.1.0" -- } -- }, -- "node_modules/string-width": { -- "version": "4.2.3", -- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", -- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "emoji-regex": "^8.0.0", -- "is-fullwidth-code-point": "^3.0.0", -- "strip-ansi": "^6.0.1" -- }, -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/string-width-cjs": { -- "name": "string-width", -- "version": "4.2.3", -- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", -- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "emoji-regex": "^8.0.0", -- "is-fullwidth-code-point": "^3.0.0", -- "strip-ansi": "^6.0.1" -- }, -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/string-width-cjs/node_modules/ansi-regex": { -- "version": "5.0.1", -- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", -- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/string-width-cjs/node_modules/strip-ansi": { -- "version": "6.0.1", -- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", -- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-regex": "^5.0.1" -- }, -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/string-width/node_modules/ansi-regex": { -- "version": "5.0.1", -- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", -- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/string-width/node_modules/strip-ansi": { -- "version": "6.0.1", -- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", -- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-regex": "^5.0.1" -- }, -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/strip-ansi": { -- "version": "7.1.2", -- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", -- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-regex": "^6.0.1" -- }, -- "engines": { -- "node": ">=12" -- }, -- "funding": { -- "url": "https://github.com/chalk/strip-ansi?sponsor=1" -- } -- }, -- "node_modules/strip-ansi-cjs": { -- "name": "strip-ansi", -- "version": "6.0.1", -- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", -- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", -+ "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", -+ "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", - "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-regex": "^5.0.1" -- }, - "engines": { -- "node": ">=8" -+ "node": ">=4", -+ "npm": ">=6" - } - }, -- "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { -- "version": "5.0.1", -- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", -- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=8" -+ "node_modules/stream-exhaust": { -+ "version": "1.0.2", -+ "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", -+ "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", -+ "dev": true -+ }, -+ "node_modules/stream-shift": { -+ "version": "1.0.1", -+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", -+ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", -+ "dev": true -+ }, -+ "node_modules/string_decoder": { -+ "version": "1.1.1", -+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", -+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", -+ "devOptional": true, -+ "dependencies": { -+ "safe-buffer": "~5.1.0" - } -@@ -6100,4 +4308,5 @@ - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", -- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo= sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", -+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, -+ "license": "MIT", - "optional": true, -@@ -6114,12 +4323,2 @@ - }, -- "node_modules/structured-source": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz", -- "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==", -- "dev": true, -- "license": "BSD-2-Clause", -- "dependencies": { -- "boundary": "^2.0.0" -- } -- }, - "node_modules/sumchecker": { -@@ -6148,82 +4347,2 @@ - }, -- "node_modules/supports-hyperlinks": { -- "version": "3.2.0", -- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", -- "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "has-flag": "^4.0.0", -- "supports-color": "^7.0.0" -- }, -- "engines": { -- "node": ">=14.18" -- }, -- "funding": { -- "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" -- } -- }, -- "node_modules/supports-hyperlinks/node_modules/has-flag": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/supports-hyperlinks/node_modules/supports-color": { -- "version": "7.2.0", -- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "has-flag": "^4.0.0" -- }, -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/table": { -- "version": "6.9.0", -- "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", -- "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", -- "dev": true, -- "license": "BSD-3-Clause", -- "dependencies": { -- "ajv": "^8.0.1", -- "lodash.truncate": "^4.4.2", -- "slice-ansi": "^4.0.0", -- "string-width": "^4.2.3", -- "strip-ansi": "^6.0.1" -- }, -- "engines": { -- "node": ">=10.0.0" -- } -- }, -- "node_modules/table/node_modules/ansi-regex": { -- "version": "5.0.1", -- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", -- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/table/node_modules/strip-ansi": { -- "version": "6.0.1", -- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", -- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-regex": "^5.0.1" -- }, -- "engines": { -- "node": ">=8" -- } -- }, - "node_modules/tar-fs": { -@@ -6247,2 +4366,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true, -@@ -6259,19 +4379,2 @@ - }, -- "node_modules/terminal-link": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-4.0.0.tgz", -- "integrity": "sha512-lk+vH+MccxNqgVqSnkMVKx4VLJfnLjDBGzH16JVZjKE2DoxP57s6/vt6JmXV5I3jBcfGrxNrYtC+mPtU7WJztA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-escapes": "^7.0.0", -- "supports-hyperlinks": "^3.2.0" -- }, -- "engines": { -- "node": ">=18" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/ternary-stream": { -@@ -6298,25 +4401,2 @@ - }, -- "node_modules/text-table": { -- "version": "0.2.0", -- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", -- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/textextensions": { -- "version": "6.11.0", -- "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-6.11.0.tgz", -- "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==", -- "dev": true, -- "license": "Artistic-2.0", -- "dependencies": { -- "editions": "^6.21.0" -- }, -- "engines": { -- "node": ">=4" -- }, -- "funding": { -- "url": "https://bevry.me/fund" -- } -- }, - "node_modules/through": { -@@ -6346,5 +4426,5 @@ - "node_modules/tmp": { -- "version": "0.2.4", -- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", -- "integrity": "sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==", -+ "version": "0.2.5", -+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", -+ "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", - "dev": true, -@@ -6469,4 +4549,5 @@ - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", -- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", -+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, -+ "license": "Apache-2.0", - "optional": true, -@@ -6505,5 +4586,5 @@ - "node_modules/uc.micro": { -- "version": "2.1.0", -- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", -- "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", -+ "version": "1.0.6", -+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", -+ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true, -@@ -6518,2 +4599,12 @@ - }, -+ "node_modules/undici": { -+ "version": "7.16.0", -+ "resolved": "https://registry.npmjs.org/undici/-/undici-7.16.0.tgz", -+ "integrity": "sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==", -+ "dev": true, -+ "license": "MIT", -+ "engines": { -+ "node": ">=20.18.1" -+ } -+ }, - "node_modules/undici-types": { -@@ -6525,15 +4616,2 @@ - }, -- "node_modules/unicorn-magic": { -- "version": "0.3.0", -- "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", -- "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=18" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/universal-user-agent": { -@@ -6549,2 +4627,3 @@ - "dev": true, -+ "license": "MIT", - "engines": { -@@ -6557,3 +4636,4 @@ - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", -- "dev": true -+ "dev": true, -+ "license": "MIT" - }, -@@ -6574,26 +4654,2 @@ - }, -- "node_modules/validate-npm-package-license": { -- "version": "3.0.4", -- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", -- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", -- "dev": true, -- "license": "Apache-2.0", -- "dependencies": { -- "spdx-correct": "^3.0.0", -- "spdx-expression-parse": "^3.0.0" -- } -- }, -- "node_modules/version-range": { -- "version": "4.15.0", -- "resolved": "https://registry.npmjs.org/version-range/-/version-range-4.15.0.tgz", -- "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==", -- "dev": true, -- "license": "Artistic-2.0", -- "engines": { -- "node": ">=4" -- }, -- "funding": { -- "url": "https://bevry.me/fund" -- } -- }, - "node_modules/vinyl": { -@@ -6664,2 +4720,3 @@ - "dev": true, -+ "license": "MIT", - "dependencies": { -@@ -6737,2 +4794,25 @@ - }, -+ "node_modules/whatwg-encoding": { -+ "version": "3.1.1", -+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", -+ "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", -+ "dev": true, -+ "license": "MIT", -+ "dependencies": { -+ "iconv-lite": "0.6.3" -+ }, -+ "engines": { -+ "node": ">=18" -+ } -+ }, -+ "node_modules/whatwg-mimetype": { -+ "version": "4.0.0", -+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", -+ "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", -+ "dev": true, -+ "license": "MIT", -+ "engines": { -+ "node": ">=18" -+ } -+ }, - "node_modules/which": { -@@ -6758,136 +4838,2 @@ - }, -- "node_modules/wrap-ansi": { -- "version": "8.1.0", -- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", -- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-styles": "^6.1.0", -- "string-width": "^5.0.1", -- "strip-ansi": "^7.0.1" -- }, -- "engines": { -- "node": ">=12" -- }, -- "funding": { -- "url": "https://github.com/chalk/wrap-ansi?sponsor=1" -- } -- }, -- "node_modules/wrap-ansi-cjs": { -- "name": "wrap-ansi", -- "version": "7.0.0", -- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", -- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-styles": "^4.0.0", -- "string-width": "^4.1.0", -- "strip-ansi": "^6.0.0" -- }, -- "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/chalk/wrap-ansi?sponsor=1" -- } -- }, -- "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { -- "version": "5.0.1", -- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", -- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { -- "version": "4.3.0", -- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "color-convert": "^2.0.1" -- }, -- "engines": { -- "node": ">=8" -- }, -- "funding": { -- "url": "https://github.com/chalk/ansi-styles?sponsor=1" -- } -- }, -- "node_modules/wrap-ansi-cjs/node_modules/color-convert": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "color-name": "~1.1.4" -- }, -- "engines": { -- "node": ">=7.0.0" -- } -- }, -- "node_modules/wrap-ansi-cjs/node_modules/color-name": { -- "version": "1.1.4", -- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { -- "version": "6.0.1", -- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", -- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "ansi-regex": "^5.0.1" -- }, -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/wrap-ansi/node_modules/ansi-styles": { -- "version": "6.2.3", -- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", -- "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", -- "dev": true, -- "license": "MIT", -- "engines": { -- "node": ">=12" -- }, -- "funding": { -- "url": "https://github.com/chalk/ansi-styles?sponsor=1" -- } -- }, -- "node_modules/wrap-ansi/node_modules/emoji-regex": { -- "version": "9.2.2", -- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", -- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/wrap-ansi/node_modules/string-width": { -- "version": "5.1.2", -- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", -- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "eastasianwidth": "^0.2.0", -- "emoji-regex": "^9.2.2", -- "strip-ansi": "^7.0.1" -- }, -- "engines": { -- "node": ">=12" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/wrappy": { -@@ -6954,2 +4900,12 @@ - }, -+ "node_modules/yazl": { -+ "version": "2.5.1", -+ "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", -+ "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", -+ "dev": true, -+ "license": "MIT", -+ "dependencies": { -+ "buffer-crc32": "~0.2.3" -+ } -+ }, - "node_modules/yocto-queue": { -diff --git a/build/package.json b/build/package.json -index e28bd38..ae4a2c9 100644 ---- a/build/package.json -+++ b/build/package.json -@@ -11,3 +11,2 @@ - "@electron/get": "^2.0.0", -- "@electron/osx-sign": "^2.0.0", - "@types/ansi-colors": "^3.2.0", -@@ -45,3 +44,3 @@ - "@vscode/ripgrep": "^1.15.13", -- "@vscode/vsce": "3.6.1", -+ "@vscode/vsce": "2.20.1", - "ansi-colors": "^3.2.3", diff --git a/patches/linux/fix-npm-postinstall.patch b/patches/linux/fix-npm-postinstall.patch index 5bb5002..a9cb20d 100644 --- a/patches/linux/fix-npm-postinstall.patch +++ b/patches/linux/fix-npm-postinstall.patch @@ -1,16 +1,14 @@ -diff --git a/build/npm/postinstall.js b/build/npm/postinstall.js -index fa8da7d..5e2f51b 100644 ---- a/build/npm/postinstall.js -+++ b/build/npm/postinstall.js -@@ -53,8 +53,9 @@ function npmInstall(dir, opts) { - log(dir, `Installing dependencies inside container ${process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME']}...`); - +diff --git a/build/npm/postinstall.ts b/build/npm/postinstall.ts +index c4bbbf5..2a1c6c5 100644 +--- a/build/npm/postinstall.ts ++++ b/build/npm/postinstall.ts +@@ -52,5 +52,6 @@ function npmInstall(dir: string, opts?: child_process.SpawnSyncOptions) { opts.cwd = root; - if (process.env['npm_config_arch'] === 'arm64') { - run('sudo', ['docker', 'run', '--rm', '--privileged', 'multiarch/qemu-user-static', '--reset', '-p', 'yes'], opts); +- } + const emulateArchList = ['arm64', 'arm', 'ppc64', 'riscv64', 's390x', 'loong64']; + if (process.env['DISABLE_QEMU'] !== 'true' && !!process.env['npm_config_arch'] && emulateArchList.includes(process.env['npm_config_arch'])) { + run('sudo', ['docker', 'run', '--rm', '--privileged', 'tonistiigi/binfmt:latest', '--install', 'all'], opts); - } ++ } run('sudo', [ - 'docker', 'run', diff --git a/patches/linux/reh/s390x/arch-4-s390x-package.json.patch b/patches/linux/reh/s390x/package.json.patch similarity index 100% rename from patches/linux/reh/s390x/arch-4-s390x-package.json.patch rename to patches/linux/reh/s390x/package.json.patch diff --git a/patches/remove-mangle.patch b/patches/remove-mangle.patch index 31fb0f0..4190445 100644 --- a/patches/remove-mangle.patch +++ b/patches/remove-mangle.patch @@ -1,42 +1,8 @@ -diff --git a/build/lib/compilation.js b/build/lib/compilation.js -index ac6eae3..45e2610 100644 ---- a/build/lib/compilation.js -+++ b/build/lib/compilation.js -@@ -145,24 +145,3 @@ function compileTask(src, out, build, options = {}) { - } -- // mangle: TypeScript to TypeScript -- let mangleStream = event_stream_1.default.through(); -- if (build && !options.disableMangle) { -- let ts2tsMangler = new index_1.Mangler(compile.projectPath, (...data) => (0, fancy_log_1.default)(ansi_colors_1.default.blue('[mangler]'), ...data), { mangleExports: true, manglePrivateFields: true }); -- const newContentsByFileName = ts2tsMangler.computeNewFileContents(new Set(['saveState'])); -- mangleStream = event_stream_1.default.through(async function write(data) { -- const tsNormalPath = ts.normalizePath(data.path); -- const newContents = (await newContentsByFileName).get(tsNormalPath); -- if (newContents !== undefined) { -- data.contents = Buffer.from(newContents.out); -- data.sourceMap = newContents.sourceMap && JSON.parse(newContents.sourceMap); -- } -- this.push(data); -- }, async function end() { -- // free resources -- (await newContentsByFileName).clear(); -- this.push(null); -- ts2tsMangler = undefined; -- }); -- } - return srcPipe -- .pipe(mangleStream) - .pipe(generator.stream) diff --git a/build/lib/compilation.ts b/build/lib/compilation.ts -index a8b7291..77b2f53 100644 +index 948c6b4..66ecdd3 100644 --- a/build/lib/compilation.ts +++ b/build/lib/compilation.ts -@@ -18,4 +18,2 @@ import File from 'vinyl'; - import * as task from './task'; --import { Mangler } from './mangle/index'; --import { RawSourceMap } from 'source-map'; - import ts = require('typescript'); -@@ -133,27 +131,3 @@ export function compileTask(src: string, out: string, build: boolean, options: { +@@ -131,27 +131,3 @@ export function compileTask(src: string, out: string, build: boolean, options: { - // mangle: TypeScript to TypeScript - let mangleStream = es.through(); @@ -45,7 +11,7 @@ index a8b7291..77b2f53 100644 - const newContentsByFileName = ts2tsMangler.computeNewFileContents(new Set(['saveState'])); - mangleStream = es.through(async function write(data: File & { sourceMap?: RawSourceMap }) { - type TypeScriptExt = typeof ts & { normalizePath(path: string): string }; -- const tsNormalPath = (ts).normalizePath(data.path); +- const tsNormalPath = (ts as TypeScriptExt).normalizePath(data.path); - const newContents = (await newContentsByFileName).get(tsNormalPath); - if (newContents !== undefined) { - data.contents = Buffer.from(newContents.out); diff --git a/patches/sourcemaps.patch b/patches/sourcemaps.patch index d2011bc..665c7d1 100644 --- a/patches/sourcemaps.patch +++ b/patches/sourcemaps.patch @@ -1,110 +1,34 @@ -diff --git a/build/gulpfile.extensions.js b/build/gulpfile.extensions.js -index 7826f48..eca4a1d 100644 ---- a/build/gulpfile.extensions.js -+++ b/build/gulpfile.extensions.js -@@ -23,2 +23,3 @@ const plumber = require('gulp-plumber'); - const ext = require('./lib/extensions'); -+const product = require('../product.json'); - -@@ -74,3 +75,3 @@ const compilations = [ - --const getBaseUrl = out => `https://main.vscode-cdn.net/sourcemaps/${commit}/${out}`; -+const getBaseUrl = out => `https://github.com/VSCodium/sourcemaps/releases/download/${product.quality}-${commit}/${out.replaceAll('/', '-')}`; - -diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js -index 10b7b44..79861bf 100644 ---- a/build/gulpfile.reh.js -+++ b/build/gulpfile.reh.js -@@ -454,3 +454,3 @@ function tweakProductForServerWeb(product) { - util.rimraf(`out-vscode-${type}-min`), -- optimize.minifyTask(`out-vscode-${type}`, `https://main.vscode-cdn.net/sourcemaps/${commit}/core`) -+ optimize.minifyTask(`out-vscode-${type}`, `https://github.com/VSCodium/sourcemaps/releases/download/${product.quality}-${commit}/core`) - )); -diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js -index ed06b6a..9488983 100644 ---- a/build/gulpfile.vscode.js -+++ b/build/gulpfile.vscode.js -@@ -147,3 +147,3 @@ gulp.task(bundleVSCodeTask); - --const sourceMappingURLBase = `https://main.vscode-cdn.net/sourcemaps/${commit}`; -+const sourceMappingURLBase = `https://github.com/VSCodium/sourcemaps/releases/download/${product.quality}-${commit}`; - const minifyVSCodeTask = task.define('minify-vscode', task.series( -diff --git a/build/gulpfile.vscode.web.js b/build/gulpfile.vscode.web.js -index 295a977..318ce92 100644 ---- a/build/gulpfile.vscode.web.js -+++ b/build/gulpfile.vscode.web.js -@@ -140,3 +140,3 @@ const minifyVSCodeWebTask = task.define('minify-vscode-web', task.series( - util.rimraf('out-vscode-web-min'), -- optimize.minifyTask('out-vscode-web', `https://main.vscode-cdn.net/sourcemaps/${commit}/core`) -+ optimize.minifyTask('out-vscode-web', `https://github.com/VSCodium/sourcemaps/releases/download/${product.quality}-${commit}/core`) - )); -diff --git a/build/lib/extensions.js b/build/lib/extensions.js -index e373688..efa26c9 100644 ---- a/build/lib/extensions.js -+++ b/build/lib/extensions.js -@@ -75,4 +75,5 @@ const vzip = require('gulp-vinyl-zip'); - const root = path_1.default.dirname(path_1.default.dirname(__dirname)); -+const product = JSON.parse(fs_1.default.readFileSync(path_1.default.join(root, 'product.json'), 'utf8')); - const commit = (0, getVersion_1.getVersion)(root); --const sourceMappingURLBase = `https://main.vscode-cdn.net/sourcemaps/${commit}`; -+const sourceMappingURLBase = `https://github.com/VSCodium/sourcemaps/releases/download/${product.quality}-${commit}`; - function minifyExtensionResources(input) { -@@ -205,3 +206,3 @@ function fromLocalWebpack(extensionPath, webpackConfigFileName, disableMangle) { - data.contents = Buffer.from(contents.replace(/\n\/\/# sourceMappingURL=(.*)$/gm, function (_m, g1) { -- return `\n//# sourceMappingURL=${sourceMappingURLBase}/extensions/${path_1.default.basename(extensionPath)}/${relativeOutputPath}/${g1}`; -+ return `\n//# sourceMappingURL=${sourceMappingURLBase}/extensions-${path_1.default.basename(extensionPath).replaceAll('/', '-')}-${relativeOutputPath.replaceAll('/', '-')}-${g1.replaceAll('/', '-')}`; - }), 'utf8'); diff --git a/build/lib/extensions.ts b/build/lib/extensions.ts -index 4779ddb..e19fc36 100644 +index 24462a3..1daa855 100644 --- a/build/lib/extensions.ts +++ b/build/lib/extensions.ts -@@ -30,4 +30,5 @@ const vzip = require('gulp-vinyl-zip'); - const root = path.dirname(path.dirname(__dirname)); +@@ -33,4 +33,5 @@ const require = createRequire(import.meta.url); + const root = path.dirname(path.dirname(import.meta.dirname)); +const product = JSON.parse(fs.readFileSync(path.join(root, 'product.json'), 'utf8')); const commit = getVersion(root); -const sourceMappingURLBase = `https://main.vscode-cdn.net/sourcemaps/${commit}`; +const sourceMappingURLBase = `https://github.com/VSCodium/sourcemaps/releases/download/${product.quality}-${commit}`; -@@ -179,3 +180,3 @@ function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string, +@@ -181,3 +182,3 @@ function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string, data.contents = Buffer.from(contents.replace(/\n\/\/# sourceMappingURL=(.*)$/gm, function (_m, g1) { - return `\n//# sourceMappingURL=${sourceMappingURLBase}/extensions/${path.basename(extensionPath)}/${relativeOutputPath}/${g1}`; + return `\n//# sourceMappingURL=${sourceMappingURLBase}/extensions-${path.basename(extensionPath).replaceAll('/', '-')}-${relativeOutputPath.replaceAll('/', '-')}-${g1.replaceAll('/', '-')}`; }), 'utf8'); -diff --git a/build/lib/optimize.js b/build/lib/optimize.js -index 2ba72a9..4ea70d0 100644 ---- a/build/lib/optimize.js -+++ b/build/lib/optimize.js -@@ -188,3 +188,3 @@ function bundleTask(opts) { - function minifyTask(src, sourceMapBaseUrl) { -- const sourceMappingURL = sourceMapBaseUrl ? ((f) => `${sourceMapBaseUrl}/${f.relative}.map`) : undefined; -+ const sourceMappingURL = sourceMapBaseUrl ? ((f) => `${sourceMapBaseUrl}-${f.relative.replaceAll('/', '-')}.map`) : undefined; - const target = getBuildTarget(); diff --git a/build/lib/optimize.ts b/build/lib/optimize.ts -index 1e824a5..808dbeb 100644 +index 58b8e07..f452614 100644 --- a/build/lib/optimize.ts +++ b/build/lib/optimize.ts -@@ -225,3 +225,3 @@ export function bundleTask(opts: IBundleESMTaskOpts): () => NodeJS.ReadWriteStre +@@ -229,3 +229,3 @@ export function bundleTask(opts: IBundleTaskOpts): () => NodeJS.ReadWriteStream export function minifyTask(src: string, sourceMapBaseUrl?: string): (cb: any) => void { - const sourceMappingURL = sourceMapBaseUrl ? ((f: any) => `${sourceMapBaseUrl}/${f.relative}.map`) : undefined; + const sourceMappingURL = sourceMapBaseUrl ? ((f: any) => `${sourceMapBaseUrl}-${f.relative.replaceAll('/', '-')}.map`) : undefined; const target = getBuildTarget(); -diff --git a/build/lib/util.js b/build/lib/util.js -index 9d2f3b1..62a5afc 100644 ---- a/build/lib/util.js -+++ b/build/lib/util.js -@@ -237,4 +237,4 @@ function rewriteSourceMappingURL(sourceMappingURLBase) { - const contents = f.contents.toString('utf8'); -- const str = `//# sourceMappingURL=${sourceMappingURLBase}/${path_1.default.dirname(f.relative).replace(/\\/g, '/')}/$1`; -- f.contents = Buffer.from(contents.replace(/\n\/\/# sourceMappingURL=(.*)$/gm, str)); -+ const fp = path_1.default.dirname(f.relative).replace(/\\/g, '/').replaceAll('/', '-'); -+ f.contents = Buffer.from(contents.replace(/\n\/\/# sourceMappingURL=(.*)$/gm, (_m, p) => `//# sourceMappingURL=${sourceMappingURLBase}/${fp}-${p.replaceAll('/', '-')}`)); - return f; diff --git a/build/lib/util.ts b/build/lib/util.ts -index 5f3b2f6..7863dd4 100644 +index f1354b8..dda8c37 100644 --- a/build/lib/util.ts +++ b/build/lib/util.ts -@@ -286,4 +286,4 @@ export function rewriteSourceMappingURL(sourceMappingURLBase: string): NodeJS.Re - const contents = (f.contents).toString('utf8'); +@@ -285,4 +285,4 @@ export function rewriteSourceMappingURL(sourceMappingURLBase: string): NodeJS.Re + const contents = (f.contents as Buffer).toString('utf8'); - const str = `//# sourceMappingURL=${sourceMappingURLBase}/${path.dirname(f.relative).replace(/\\/g, '/')}/$1`; - f.contents = Buffer.from(contents.replace(/\n\/\/# sourceMappingURL=(.*)$/gm, str)); + const fp = path.dirname(f.relative).replace(/\\/g, '/').replaceAll('/', '-'); diff --git a/patches/update-cache-path.patch b/patches/update-cache-path.patch index b1e4c1e..442015f 100644 --- a/patches/update-cache-path.patch +++ b/patches/update-cache-path.patch @@ -1,9 +1,9 @@ diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts -index a2561be..a50958e 100644 +index ae4fd9c..3744826 100644 --- a/src/vs/platform/update/electron-main/updateService.win32.ts +++ b/src/vs/platform/update/electron-main/updateService.win32.ts -@@ -56,3 +56,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -58,3 +58,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun get cachePath(): Promise { - const result = path.join(tmpdir(), `vscode-${this.productService.quality}-${this.productService.target}-${process.arch}`); + const result = path.join(tmpdir(), `${this.productService.applicationName}-${this.productService.quality}-${this.productService.target}-${process.arch}`); - return fs.promises.mkdir(result, { recursive: true }).then(() => result); + return mkdir(result, { recursive: true }).then(() => result); diff --git a/patches/update-electron.patch b/patches/update-electron.patch.no similarity index 100% rename from patches/update-electron.patch rename to patches/update-electron.patch.no diff --git a/patches/version-0-release.patch b/patches/version-0-release.patch index e2f0409..42c1e86 100644 --- a/patches/version-0-release.patch +++ b/patches/version-0-release.patch @@ -1,31 +1,26 @@ -diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js -index cd8610d..2d928b1 100644 ---- a/build/gulpfile.vscode.linux.js -+++ b/build/gulpfile.vscode.linux.js -@@ -27,4 +27,2 @@ const commit = getVersion(root); - --const linuxPackageRevision = Math.floor(new Date().getTime() / 1000); -- - /** -@@ -90,3 +88,3 @@ function prepareDebPackage(arch) { +diff --git a/build/gulpfile.vscode.linux.ts b/build/gulpfile.vscode.linux.ts +index c5d2163..b4768b9 100644 +--- a/build/gulpfile.vscode.linux.ts ++++ b/build/gulpfile.vscode.linux.ts +@@ -90,3 +90,3 @@ function prepareDebPackage(arch: string) { .pipe(replace('@@NAME@@', product.applicationName)) - .pipe(replace('@@VERSION@@', packageJson.version + '-' + linuxPackageRevision)) + .pipe(replace('@@VERSION@@', packageJson.version)) .pipe(replace('@@ARCHITECTURE@@', debArch)) -@@ -204,3 +202,2 @@ function prepareRpmPackage(arch) { +@@ -198,3 +198,2 @@ function prepareRpmPackage(arch: string) { .pipe(replace('@@VERSION@@', packageJson.version)) -- .pipe(replace('@@RELEASE@@', linuxPackageRevision)) +- .pipe(replace('@@RELEASE@@', linuxPackageRevision.toString())) .pipe(replace('@@ARCHITECTURE@@', rpmArch)) -@@ -278,3 +275,3 @@ function prepareSnapPackage(arch) { +@@ -263,3 +262,3 @@ function prepareSnapPackage(arch: string) { .pipe(replace('@@NAME@@', product.applicationName)) -- .pipe(replace('@@VERSION@@', commit.substr(0, 8))) +- .pipe(replace('@@VERSION@@', commit!.substr(0, 8))) + .pipe(replace('@@VERSION@@', packageJson.version)) // Possible run-on values https://snapcraft.io/docs/architectures diff --git a/src/vs/workbench/api/common/extHost.api.impl.ts b/src/vs/workbench/api/common/extHost.api.impl.ts -index 0db2369..5cac67b 100644 +index 8838f2f..fb120ae 100644 --- a/src/vs/workbench/api/common/extHost.api.impl.ts +++ b/src/vs/workbench/api/common/extHost.api.impl.ts -@@ -1537,5 +1537,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I +@@ -1629,5 +1629,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I + const version = initData.version.replace(/^([0-9]+\.[0-9]+\.[0-5]).*$/, '$1'); + diff --git a/patches/version-1-update.patch b/patches/version-1-update.patch index 3272bd6..dd88101 100644 --- a/patches/version-1-update.patch +++ b/patches/version-1-update.patch @@ -49,7 +49,7 @@ index 199f433..a6cbb10 100644 + | "user"; \ No newline at end of file diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts -index 48d0d86..d16dce7 100644 +index ed8043f..e19c9e4 100644 --- a/src/vs/platform/update/electron-main/abstractUpdateService.ts +++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts @@ -14,6 +14,10 @@ import { IProductService } from '../../product/common/productService.js'; @@ -66,7 +66,7 @@ index 48d0d86..d16dce7 100644 + return `${productService.updateUrl}/${quality}/${platform}/${architecture}/latest.json`; + } } -@@ -203,3 +207,3 @@ export abstract class AbstractUpdateService implements IUpdateService { +@@ -205,3 +209,3 @@ export abstract class AbstractUpdateService implements IUpdateService { - if (mode === 'none') { + if (mode === 'none' || mode === 'manual') { @@ -179,14 +179,14 @@ index 8550ace..c2fddcb 100644 + return Promise.resolve(null); }) diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts -index 8f92a3e..020e690 100644 +index ae4fd9c..7fc81a0 100644 --- a/src/vs/platform/update/electron-main/updateService.win32.ts +++ b/src/vs/platform/update/electron-main/updateService.win32.ts -@@ -11,3 +11,2 @@ import { CancellationToken } from '../../../base/common/cancellation.js'; +@@ -13,3 +13,2 @@ import { CancellationToken } from '../../../base/common/cancellation.js'; import { memoize } from '../../../base/common/decorators.js'; -import { hash } from '../../../base/common/hash.js'; import * as path from '../../../base/common/path.js'; -@@ -25,4 +24,5 @@ import { asJson, IRequestService } from '../../request/common/request.js'; +@@ -27,4 +26,5 @@ import { asJson, IRequestService } from '../../request/common/request.js'; import { ITelemetryService } from '../../telemetry/common/telemetry.js'; -import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, UpdateType } from '../common/update.js'; -import { AbstractUpdateService, createUpdateURL, UpdateErrorClassification } from './abstractUpdateService.js'; @@ -194,12 +194,12 @@ index 8f92a3e..020e690 100644 +import { AbstractUpdateService, createUpdateURL} from './abstractUpdateService.js'; +import * as semver from 'semver'; -@@ -42,5 +42,9 @@ function getUpdateType(): UpdateType { +@@ -44,5 +44,9 @@ function getUpdateType(): UpdateType { if (typeof _updateType === 'undefined') { -- _updateType = fs.existsSync(path.join(path.dirname(process.execPath), 'unins000.exe')) +- _updateType = existsSync(path.join(path.dirname(process.execPath), 'unins000.exe')) - ? UpdateType.Setup - : UpdateType.Archive; -+ if (fs.existsSync(path.join(path.dirname(process.execPath), 'unins000.exe'))) { ++ if (existsSync(path.join(path.dirname(process.execPath), 'unins000.exe'))) { + _updateType = UpdateType.Setup; + } else if (path.basename(path.normalize(path.join(process.execPath, '..', '..'))) === 'Program Files') { + _updateType = UpdateType.WindowsInstaller; @@ -207,11 +207,11 @@ index 8f92a3e..020e690 100644 + _updateType = UpdateType.Archive; + } } -@@ -63,2 +67,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -65,2 +69,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun @IConfigurationService configurationService: IConfigurationService, + // @ts-expect-error @ITelemetryService private readonly telemetryService: ITelemetryService, -@@ -102,11 +107,21 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -155,11 +160,21 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun protected buildUpdateFeedUrl(quality: string): string | undefined { - let platform = `win32-${process.arch}`; - @@ -240,7 +240,7 @@ index 8f92a3e..020e690 100644 - return createUpdateURL(platform, quality, this.productService); + return createUpdateURL(this.productService, quality, process.platform, process.arch, target); } -@@ -131,2 +146,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -184,2 +199,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun + const fetchedVersion = /\d+\.\d+\.\d+\.\d+/.test(update.productVersion) ? update.productVersion.replace(/(\d+\.\d+\.\d+)\.\d+(\-\w+)?/, '$1$2') : update.productVersion.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3') + const currentVersion = this.productService.version.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3') @@ -251,16 +251,16 @@ index 8f92a3e..020e690 100644 + } + if (updateType === UpdateType.Archive) { -@@ -157,3 +180,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -210,3 +233,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - const fastUpdatesEnabled = this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); + const fastUpdatesEnabled = getUpdateType() == UpdateType.Setup && this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); if (fastUpdatesEnabled) { -@@ -169,3 +192,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -222,3 +245,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun .then(undefined, err => { - this.telemetryService.publicLog2<{ messageHash: string }, UpdateErrorClassification>('update:error', { messageHash: String(hash(String(err))) }); this.logService.error(err); -@@ -253,6 +275,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -307,6 +329,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun } else { - spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], { - detached: true, diff --git a/patches/windows/appx.patch b/patches/windows/appx.patch index 96ac723..60e992d 100644 --- a/patches/windows/appx.patch +++ b/patches/windows/appx.patch @@ -1,9 +1,10 @@ -diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js -index ed06b6a..f2b4a82 100644 ---- a/build/gulpfile.vscode.js -+++ b/build/gulpfile.vscode.js -@@ -406,18 +406,18 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op - +diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts +index d3ab651..d067b5b 100644 +--- a/build/gulpfile.vscode.ts ++++ b/build/gulpfile.vscode.ts +@@ -432,19 +432,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d + .pipe(rename(f => f.dirname = `policies/${f.dirname}`))); +- - if (quality === 'stable' || quality === 'insider') { - result = es.merge(result, gulp.src('.build/win32/appx/**', { base: '.build/win32' })); - const rawVersion = version.replace(/-\w+$/, '').split('.'); @@ -16,41 +17,21 @@ index ed06b6a..f2b4a82 100644 - .pipe(replace('@@ApplicationIdShort@@', product.win32RegValueName)) - .pipe(replace('@@ApplicationExe@@', product.nameShort + '.exe')) - .pipe(replace('@@FileExplorerContextMenuID@@', quality === 'stable' ? 'OpenWithCode' : 'OpenWithCodeInsiders')) -- .pipe(replace('@@FileExplorerContextMenuCLSID@@', product.win32ContextMenu[arch].clsid)) +- .pipe(replace('@@FileExplorerContextMenuCLSID@@', (product as { win32ContextMenu?: Record }).win32ContextMenu![arch].clsid)) - .pipe(replace('@@FileExplorerContextMenuDLL@@', `${quality === 'stable' ? 'code' : 'code_insider'}_explorer_command_${arch}.dll`)) - .pipe(rename(f => f.dirname = `appx/manifest`))); - } -+ // if (quality === 'stable' || quality === 'insider') { -+ // result = es.merge(result, gulp.src('.build/win32/appx/**', { base: '.build/win32' })); -+ // const rawVersion = version.replace(/-\w+$/, '').split('.'); -+ // const appxVersion = `${rawVersion[0]}.0.${rawVersion[1]}.${rawVersion[2]}`; -+ // result = es.merge(result, gulp.src('resources/win32/appx/AppxManifest.xml', { base: '.' }) -+ // .pipe(replace('@@AppxPackageName@@', product.win32AppUserModelId)) -+ // .pipe(replace('@@AppxPackageVersion@@', appxVersion)) -+ // .pipe(replace('@@AppxPackageDisplayName@@', product.nameLong)) -+ // .pipe(replace('@@AppxPackageDescription@@', product.win32NameVersion)) -+ // .pipe(replace('@@ApplicationIdShort@@', product.win32RegValueName)) -+ // .pipe(replace('@@ApplicationExe@@', product.nameShort + '.exe')) -+ // .pipe(replace('@@FileExplorerContextMenuID@@', quality === 'stable' ? 'OpenWithCode' : 'OpenWithCodeInsiders')) -+ // .pipe(replace('@@FileExplorerContextMenuCLSID@@', product.win32ContextMenu[arch].clsid)) -+ // .pipe(replace('@@FileExplorerContextMenuDLL@@', `${quality === 'stable' ? 'code' : 'code_insider'}_explorer_command_${arch}.dll`)) -+ // .pipe(rename(f => f.dirname = `appx/manifest`))); -+ // } } else if (platform === 'linux') { -diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js -index 9207df5..ff6c116 100644 ---- a/build/gulpfile.vscode.win32.js -+++ b/build/gulpfile.vscode.win32.js -@@ -113,7 +113,7 @@ function buildWin32Setup(arch, target) { +diff --git a/build/gulpfile.vscode.win32.ts b/build/gulpfile.vscode.win32.ts +index a7b01f0..43c93b8 100644 +--- a/build/gulpfile.vscode.win32.ts ++++ b/build/gulpfile.vscode.win32.ts +@@ -117,8 +117,2 @@ function buildWin32Setup(arch: string, target: string): task.CallbackTask { -- if (quality !== 'exploration') { +- if (quality === 'stable' || quality === 'insider') { - definitions['AppxPackage'] = `${quality === 'stable' ? 'code' : 'code_insider'}_${arch}.appx`; - definitions['AppxPackageDll'] = `${quality === 'stable' ? 'code' : 'code_insider'}_explorer_command_${arch}.dll`; - definitions['AppxPackageName'] = `${product.win32AppUserModelId}`; - } -+ // if (quality !== 'exploration') { -+ // definitions['AppxPackage'] = `${product.applicationName.replace(/-/g, '_')}_${arch}.appx`; -+ // definitions['AppxPackageDll'] = `${product.applicationName.replace(/-/g, '_')}_explorer_command_${arch}.dll`; -+ // definitions['AppxPackageName'] = `${product.win32AppUserModelId}`; -+ // } - +- + packageInnoSetup(issPath, { definitions }, cb as (err?: Error | null) => void); diff --git a/patches/windows/cli.patch b/patches/windows/cli.patch index 8d232db..c96c8fc 100644 --- a/patches/windows/cli.patch +++ b/patches/windows/cli.patch @@ -1,9 +1,9 @@ diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs -index a39bbf7..26ad204 100644 +index 3e0895f..e518ad8 100644 --- a/cli/src/update_service.rs +++ b/cli/src/update_service.rs -@@ -84,3 +84,3 @@ impl UpdateService { +@@ -94,3 +94,3 @@ impl UpdateService { let download_url = format!( - "{}/{}/{}/{}/latest.json", + "{}/{}/{}/{}/user/latest.json", - update_endpoint, + &update_endpoint, diff --git a/prepare_vscode.sh b/prepare_vscode.sh index d89246a..9d7b763 100755 --- a/prepare_vscode.sh +++ b/prepare_vscode.sh @@ -192,6 +192,8 @@ else fi fi +node build/npm/preinstall.ts + mv .npmrc .npmrc.bak cp ../npmrc .npmrc @@ -236,9 +238,7 @@ replace "s|\\[\\/\\* BUILTIN_ANNOUNCEMENTS \\*\\/\\]|$( tr -d '\n' < ../announce ../undo_telemetry.sh -replace 's|Microsoft Corporation|VSCodium|' build/lib/electron.js replace 's|Microsoft Corporation|VSCodium|' build/lib/electron.ts -replace 's|([0-9]) Microsoft|\1 VSCodium|' build/lib/electron.js replace 's|([0-9]) Microsoft|\1 VSCodium|' build/lib/electron.ts if [[ "${OS_NAME}" == "linux" ]]; then diff --git a/product.json b/product.json index 6b42ee3..f9470ac 100644 --- a/product.json +++ b/product.json @@ -49,7 +49,6 @@ "extensionsEnabledWithApiProposalVersion": [ "GitHub.copilot-chat", "ms-vscode.vscode-commander", - "ms-vscode.vscode-copilot-vision", "GitHub.vscode-pull-request-github" ], "extensionEnabledApiProposals": { @@ -207,6 +206,7 @@ ], "GitHub.vscode-pull-request-github": [ "activeComment", + "chatContextProvider", "chatParticipantAdditions", "chatParticipantPrivate", "chatSessionsProvider", @@ -215,6 +215,7 @@ "commentingRangeHint", "commentReactor", "commentReveal", + "commentsDraftState", "commentThreadApplicability", "contribAccessibilityHelpContent", "contribCommentEditorActionsMenu", @@ -237,10 +238,14 @@ ], "GitHub.copilot": [ "inlineCompletionsAdditions", + "interactive", + "terminalDataWriteEvent", "devDeviceId" ], "GitHub.copilot-nightly": [ "inlineCompletionsAdditions", + "interactive", + "terminalDataWriteEvent", "devDeviceId" ], "GitHub.copilot-chat": [ @@ -292,7 +297,8 @@ "dataChannels", "chatSessionsProvider", "devDeviceId", - "contribEditorContentMenu" + "contribEditorContentMenu", + "tokenInformation" ], "GitHub.remotehub": [ "contribRemoteHelp", @@ -311,7 +317,8 @@ ], "ms-python.vscode-pylance": [ "terminalShellEnv", - "portsAttributes" + "portsAttributes", + "codeActionAI" ], "ms-python.debugpy": [ "contribViewsWelcome", @@ -357,7 +364,6 @@ "terminalDataWriteEvent", "chatParticipantAdditions" ], - "vscjava.vscode-java-pack": [], "ms-dotnettools.csdevkit": [ "inlineCompletionsAdditions" ], @@ -376,9 +382,6 @@ "chatParticipantAdditions", "languageModelSystem" ], - "ms-toolsai.datawrangler": [], - "ms-vscode.vscode-commander": [], - "ms-vscode.vscode-websearchforcopilot": [], "ms-vscode.vscode-copilot-vision": [ "chatReferenceBinaryData", "codeActionAI" @@ -386,6 +389,10 @@ "ms-autodev.vscode-autodev": [ "chatParticipantAdditions" ], + "codetrek.haystack-search": [ + "fileSearchProvider", + "textSearchProvider2" + ], "vscjava.vscode-java-upgrade": [ "chatParticipantAdditions", "chatParticipantPrivate" diff --git a/release_notes.md b/release_notes.md index c3c3945..c9fdf95 100644 --- a/release_notes.md +++ b/release_notes.md @@ -75,8 +75,8 @@ update vscode to [@@MS_TAG@@](@@MS_URL@@) AppImage - @@APP_NAME_QUALITY@@-@@VERSION@@.glibc2.29-x86_64.AppImage
- @@APP_NAME_QUALITY@@-@@VERSION@@.glibc2.29-x86_64.AppImage.zsync + @@APP_NAME_QUALITY@@-@@VERSION@@.glibc2.30-x86_64.AppImage
+ @@APP_NAME_QUALITY@@-@@VERSION@@.glibc2.30-x86_64.AppImage.zsync diff --git a/upstream/insider.json b/upstream/insider.json index 09e04a0..0e3ed25 100644 --- a/upstream/insider.json +++ b/upstream/insider.json @@ -1,4 +1,4 @@ { - "tag": "1.106.0", - "commit": "ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57" + "tag": "1.107.0", + "commit": "a44beb9c392505cf7897ad5a20c5b83d26537fd1" } From 26ee7024a28bf5b076f6602da208018b8c440f5f Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 17 Dec 2025 18:48:35 +0100 Subject: [PATCH 02/38] fix(macos): use sign.ts --- prepare_assets.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prepare_assets.sh b/prepare_assets.sh index 0e7e0b5..269cefa 100755 --- a/prepare_assets.sh +++ b/prepare_assets.sh @@ -41,7 +41,7 @@ if [[ "${OS_NAME}" == "osx" ]]; then echo "+ signing" export CODESIGN_IDENTITY AGENT_TEMPDIRECTORY - DEBUG="electron-osx-sign*" node vscode/build/darwin/sign.js "$( pwd )" + DEBUG="electron-osx-sign*" node vscode/build/darwin/sign.ts "$( pwd )" # codesign --display --entitlements :- "" echo "+ notarize" From a80048c451000413bd2f2c750ac86c80abb025e8 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 17 Dec 2025 23:53:37 +0100 Subject: [PATCH 03/38] feat(1.107): improvements (#2631) --- build/linux/package_reh.sh | 6 ------ update_version.sh | 16 ++++++++++------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/build/linux/package_reh.sh b/build/linux/package_reh.sh index 9deff45..293957e 100755 --- a/build/linux/package_reh.sh +++ b/build/linux/package_reh.sh @@ -24,14 +24,8 @@ export VSCODE_NODEJS_URLROOT='/download/release' export VSCODE_NODEJS_URLSUFFIX='' if [[ "${VSCODE_ARCH}" == "x64" ]]; then - GLIBC_VERSION="2.17" - GLIBCXX_VERSION="3.4.30" - VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-x64" - export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org' - export VSCODE_NODEJS_URLSUFFIX='-glibc-217' - export VSCODE_SKIP_SETUPENV=1 elif [[ "${VSCODE_ARCH}" == "arm64" ]]; then EXPECTED_GLIBC_VERSION="2.30" diff --git a/update_version.sh b/update_version.sh index 29a74ac..4c081eb 100755 --- a/update_version.sh +++ b/update_version.sh @@ -169,14 +169,18 @@ elif [[ "${OS_NAME}" == "windows" ]]; then if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then # msi - ASSET_NAME="${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" - VERSION_PATH="${VSCODE_QUALITY}/win32/${VSCODE_ARCH}/msi" - updateLatestVersion + if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then + ASSET_NAME="${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" + VERSION_PATH="${VSCODE_QUALITY}/win32/${VSCODE_ARCH}/msi" + updateLatestVersion + fi # updates-disabled msi - ASSET_NAME="${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" - VERSION_PATH="${VSCODE_QUALITY}/win32/${VSCODE_ARCH}/msi-updates-disabled" - updateLatestVersion + if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then + ASSET_NAME="${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" + VERSION_PATH="${VSCODE_QUALITY}/win32/${VSCODE_ARCH}/msi-updates-disabled" + updateLatestVersion + fi fi else # linux # update service links to tar.gz file From dc3ffab8bf9336434717872a993b70084aed1394 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Thu, 18 Dec 2025 13:46:43 +0100 Subject: [PATCH 04/38] feat: update patches (#2632) --- patches/fix-keymap.patch | 24 ++++++++++-------------- patches/fix-policies.patch | 16 ++++++---------- upstream/insider.json | 4 ++-- 3 files changed, 18 insertions(+), 26 deletions(-) diff --git a/patches/fix-keymap.patch b/patches/fix-keymap.patch index 2850953..71ed3f2 100644 --- a/patches/fix-keymap.patch +++ b/patches/fix-keymap.patch @@ -1,5 +1,5 @@ diff --git a/.npmrc b/.npmrc -index c58ce2e..a1f42cd 100644 +index e4a5cc2..71db628 100644 --- a/.npmrc +++ b/.npmrc @@ -5,2 +5,3 @@ runtime="electron" @@ -33,22 +33,18 @@ index 8fda673..967ae23 100644 + '@vscodium/native-keymap', 'native-watchdog', diff --git a/package-lock.json b/package-lock.json -index 4d43f38..7334f04 100644 +index 2b1154b..834f597 100644 --- a/package-lock.json +++ b/package-lock.json -@@ -9,3 +9,2 @@ - "version": "1.107.0", -- "hasInstallScript": true, - "license": "MIT", -@@ -29,2 +28,3 @@ +@@ -29,2 +29,3 @@ "@vscode/windows-registry": "^1.1.0", + "@vscodium/native-keymap": "3.3.7-258424", "@xterm/addon-clipboard": "^0.2.0-beta.119", -@@ -46,3 +46,2 @@ +@@ -46,3 +47,2 @@ "native-is-elevated": "0.8.0", - "native-keymap": "^3.3.5", "native-watchdog": "^1.4.1", -@@ -3300,2 +3299,9 @@ +@@ -3300,2 +3300,9 @@ }, + "node_modules/@vscodium/native-keymap": { + "version": "3.3.7-258424", @@ -58,7 +54,7 @@ index 4d43f38..7334f04 100644 + "license": "MIT" + }, "node_modules/@webassemblyjs/ast": { -@@ -12662,5 +12668,6 @@ +@@ -12662,5 +12669,6 @@ "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -68,7 +64,7 @@ index 4d43f38..7334f04 100644 + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" }, -@@ -12673,9 +12680,2 @@ +@@ -12673,9 +12681,2 @@ }, - "node_modules/native-keymap": { - "version": "3.3.7", @@ -78,7 +74,7 @@ index 4d43f38..7334f04 100644 - "license": "MIT" - }, "node_modules/native-watchdog": { -@@ -14180,5 +14180,6 @@ +@@ -14180,5 +14181,6 @@ "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", @@ -88,13 +84,13 @@ index 4d43f38..7334f04 100644 + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", "dependencies": { -@@ -14189,3 +14190,3 @@ +@@ -14189,3 +14191,3 @@ "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", diff --git a/package.json b/package.json -index 18b9a35..afa9c72 100644 +index 9ef8381..a3f77c0 100644 --- a/package.json +++ b/package.json @@ -108,3 +108,3 @@ diff --git a/patches/fix-policies.patch b/patches/fix-policies.patch index 4af9155..7653a09 100644 --- a/patches/fix-policies.patch +++ b/patches/fix-policies.patch @@ -31,22 +31,18 @@ index 967ae23..16580ab 100644 + '@vscodium/policy-watcher', '@vscode/proxy-agent', diff --git a/package-lock.json b/package-lock.json -index 7334f04..2453188 100644 +index 834f597..95a1aea 100644 --- a/package-lock.json +++ b/package-lock.json -@@ -9,2 +9,3 @@ - "version": "1.107.0", -+ "hasInstallScript": true, - "license": "MIT", -@@ -17,3 +18,2 @@ +@@ -18,3 +18,2 @@ "@vscode/iconv-lite-umd": "0.7.1", - "@vscode/policy-watcher": "^1.3.2", "@vscode/proxy-agent": "^0.36.0", -@@ -29,2 +29,3 @@ +@@ -30,2 +29,3 @@ "@vscodium/native-keymap": "3.3.7-258424", + "@vscodium/policy-watcher": "^1.3.2-252465", "@xterm/addon-clipboard": "^0.2.0-beta.119", -@@ -2971,22 +2972,2 @@ +@@ -2972,22 +2972,2 @@ }, - "node_modules/@vscode/policy-watcher": { - "version": "1.3.5", @@ -69,7 +65,7 @@ index 7334f04..2453188 100644 - } - }, "node_modules/@vscode/proxy-agent": { -@@ -3306,2 +3287,22 @@ +@@ -3307,2 +3287,22 @@ }, + "node_modules/@vscodium/policy-watcher": { + "version": "1.3.2-252465", @@ -93,7 +89,7 @@ index 7334f04..2453188 100644 + }, "node_modules/@webassemblyjs/ast": { diff --git a/package.json b/package.json -index afa9c72..6599a7c 100644 +index a3f77c0..e1d6178 100644 --- a/package.json +++ b/package.json @@ -80,3 +80,3 @@ diff --git a/upstream/insider.json b/upstream/insider.json index 0e3ed25..b526416 100644 --- a/upstream/insider.json +++ b/upstream/insider.json @@ -1,4 +1,4 @@ { - "tag": "1.107.0", - "commit": "a44beb9c392505cf7897ad5a20c5b83d26537fd1" + "tag": "1.107.1", + "commit": "994fd12f8d3a5aa16f17d42c041e5809167e845a" } From d54958e34968c2e507751d7cc3c0f00e0c00736b Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Fri, 19 Dec 2025 10:04:53 +0100 Subject: [PATCH 05/38] fix(windows): disable versioned resources (#2633) --- .../windows/disable-versioned-resources.patch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 patches/windows/disable-versioned-resources.patch diff --git a/patches/windows/disable-versioned-resources.patch b/patches/windows/disable-versioned-resources.patch new file mode 100644 index 0000000..32f3ada --- /dev/null +++ b/patches/windows/disable-versioned-resources.patch @@ -0,0 +1,32 @@ +diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts +index d3ab651..8ad9cc6 100644 +--- a/build/gulpfile.vscode.ts ++++ b/build/gulpfile.vscode.ts +@@ -41,3 +41,3 @@ const root = path.dirname(import.meta.dirname); + const commit = getVersion(root); +-const versionedResourcesFolder = (product as typeof product & { quality?: string })?.quality === 'insider' ? commit!.substring(0, 10) : ''; ++const versionedResourcesFolder = ''; + +@@ -356,8 +356,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d + ], { base: '.' })); +- if (quality && quality === 'insider') { +- customElectronConfig = { +- createVersionedResources: true, +- productVersionString: `${versionedResourcesFolder}`, +- }; +- } + } else if (platform === 'linux') { +diff --git a/build/gulpfile.vscode.win32.ts b/build/gulpfile.vscode.win32.ts +index a7b01f0..cc60676 100644 +--- a/build/gulpfile.vscode.win32.ts ++++ b/build/gulpfile.vscode.win32.ts +@@ -74,8 +74,4 @@ function buildWin32Setup(arch: string, target: string): task.CallbackTask { + const quality = (product as typeof product & { quality?: string }).quality || 'dev'; +- let versionedResourcesFolder = ''; ++ const versionedResourcesFolder = ''; + let issPath = path.join(import.meta.dirname, 'win32', 'code.iss'); +- if (quality && quality === 'insider') { +- versionedResourcesFolder = commit!.substring(0, 10); +- issPath = path.join(import.meta.dirname, 'win32', 'code-insider.iss'); +- } + const originalProductJsonPath = path.join(sourcePath, versionedResourcesFolder, 'resources/app/product.json'); From c0d5246c70e4894b3e695e6db6b966fd2c016a9b Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Sun, 21 Dec 2025 13:45:02 +0100 Subject: [PATCH 06/38] feat(linux): use XDG_STATE_HOME for logs (#2636) --- patches/linux/feat-logs-home.patch | 123 +++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 patches/linux/feat-logs-home.patch diff --git a/patches/linux/feat-logs-home.patch b/patches/linux/feat-logs-home.patch new file mode 100644 index 0000000..cdf6a4e --- /dev/null +++ b/patches/linux/feat-logs-home.patch @@ -0,0 +1,123 @@ +diff --git a/src/vs/platform/environment/common/environment.ts b/src/vs/platform/environment/common/environment.ts +index 4a14c83..59c963b 100644 +--- a/src/vs/platform/environment/common/environment.ts ++++ b/src/vs/platform/environment/common/environment.ts +@@ -137,2 +137,3 @@ export interface INativeEnvironmentService extends IEnvironmentService { + userDataPath: string; ++ userStatePath: string; + +diff --git a/src/vs/platform/environment/common/environmentService.ts b/src/vs/platform/environment/common/environmentService.ts +index 535132f..edd76bc 100644 +--- a/src/vs/platform/environment/common/environmentService.ts ++++ b/src/vs/platform/environment/common/environmentService.ts +@@ -28,2 +28,4 @@ export interface INativeEnvironmentPaths { + ++ userStateDir: string; ++ + /** +@@ -54,2 +56,5 @@ export abstract class AbstractNativeEnvironmentService implements INativeEnviron + ++ @memoize ++ get userStatePath(): string { return this.paths.userStateDir; } ++ + @memoize +@@ -75,3 +80,3 @@ export abstract class AbstractNativeEnvironmentService implements INativeEnviron + const key = toLocalISOString(new Date()).replace(/-|:|\.\d+Z$/g, ''); +- this.args.logsPath = join(this.userDataPath, 'logs', key); ++ this.args.logsPath = join(this.userStatePath, key); + } +diff --git a/src/vs/platform/environment/node/environmentService.ts b/src/vs/platform/environment/node/environmentService.ts +index ae9e7e1..3c6c6c5 100644 +--- a/src/vs/platform/environment/node/environmentService.ts ++++ b/src/vs/platform/environment/node/environmentService.ts +@@ -11,2 +11,3 @@ import { getUserDataPath } from './userDataPath.js'; + import { IProductService } from '../../product/common/productService.js'; ++import { getUserStatePath } from './userStatePath.js'; + +@@ -18,3 +19,4 @@ export class NativeEnvironmentService extends AbstractNativeEnvironmentService { + tmpDir: tmpdir(), +- userDataDir: getUserDataPath(args, productService.nameShort) ++ userDataDir: getUserDataPath(args, productService.nameShort), ++ userStateDir: getUserStatePath(args, productService.nameShort) + }, productService); +diff --git a/src/vs/platform/environment/node/userStatePath.ts b/src/vs/platform/environment/node/userStatePath.ts +new file mode 100644 +index 0000000..53f9e2f +--- /dev/null ++++ b/src/vs/platform/environment/node/userStatePath.ts +@@ -0,0 +1,42 @@ ++import { homedir } from 'os'; ++import { NativeParsedArgs } from '../common/argv.js'; ++ ++import { resolve, isAbsolute, join } from 'path'; ++ ++const cwd = process.env['VSCODE_CWD'] || process.cwd(); ++ ++export function getUserStatePath(cliArgs: NativeParsedArgs, productName: string): string { ++ const userStatePath = doGetUserStatePath(cliArgs, productName); ++ const pathsToResolve = [userStatePath]; ++ ++ if (!isAbsolute(userStatePath)) { ++ pathsToResolve.unshift(cwd); ++ } ++ ++ return resolve(...pathsToResolve); ++} ++ ++function doGetUserStatePath(cliArgs: NativeParsedArgs, productName: string): string { ++ ++ // 0. Running out of sources has a fixed productName ++ if (process.env['VSCODE_DEV']) { ++ productName = 'code-oss-dev'; ++ } ++ ++ // 1. Support portable mode ++ const portablePath = process.env['VSCODE_PORTABLE']; ++ if (portablePath) { ++ return join(portablePath, 'user-state'); ++ } ++ ++ // 2. Support global VSCODE_APPSTATE environment variable ++ let appStatePath = process.env['VSCODE_APPSTATE']; ++ if (appStatePath) { ++ return join(appStatePath, productName); ++ } ++ ++ // 4. Otherwise ++ appStatePath = process.env['XDG_STATE_HOME'] || join(homedir(), '.local', 'state'); ++ ++ return join(appStatePath, productName); ++} +diff --git a/src/vs/platform/window/common/window.ts b/src/vs/platform/window/common/window.ts +index fa297d1..839fd60 100644 +--- a/src/vs/platform/window/common/window.ts ++++ b/src/vs/platform/window/common/window.ts +@@ -443,2 +443,3 @@ export interface INativeWindowConfiguration extends IWindowConfiguration, Native + userDataDir: string; ++ userStateDir: string; + +diff --git a/src/vs/platform/windows/electron-main/windowsMainService.ts b/src/vs/platform/windows/electron-main/windowsMainService.ts +index 117dfd2..6b0458b 100644 +--- a/src/vs/platform/windows/electron-main/windowsMainService.ts ++++ b/src/vs/platform/windows/electron-main/windowsMainService.ts +@@ -1511,2 +1511,3 @@ export class WindowsMainService extends Disposable implements IWindowsMainServic + userDataDir: this.environmentMainService.userDataPath, ++ userStateDir: this.environmentMainService.userStatePath, + +diff --git a/src/vs/workbench/services/environment/electron-browser/environmentService.ts b/src/vs/workbench/services/environment/electron-browser/environmentService.ts +index 6cfa517..46286c6 100644 +--- a/src/vs/workbench/services/environment/electron-browser/environmentService.ts ++++ b/src/vs/workbench/services/environment/electron-browser/environmentService.ts +@@ -153,3 +153,3 @@ export class NativeWorkbenchEnvironmentService extends AbstractNativeEnvironment + ) { +- super(configuration, { homeDir: configuration.homeDir, tmpDir: configuration.tmpDir, userDataDir: configuration.userDataDir }, productService); ++ super(configuration, { homeDir: configuration.homeDir, tmpDir: configuration.tmpDir, userDataDir: configuration.userDataDir, userStateDir: configuration.userStateDir }, productService); + } +diff --git a/src/vs/workbench/services/workingCopy/test/electron-browser/workingCopyBackupService.test.ts b/src/vs/workbench/services/workingCopy/test/electron-browser/workingCopyBackupService.test.ts +index 6b7307e..c74476a 100644 +--- a/src/vs/workbench/services/workingCopy/test/electron-browser/workingCopyBackupService.test.ts ++++ b/src/vs/workbench/services/workingCopy/test/electron-browser/workingCopyBackupService.test.ts +@@ -74,2 +74,3 @@ const TestNativeWindowConfiguration: INativeWindowConfiguration = { + userDataDir: joinPath(homeDir, product.nameShort).fsPath, ++ userStateDir: joinPath(homeDir, product.nameShort).fsPath, + profiles: { profile: NULL_PROFILE, all: [NULL_PROFILE], home: homeDir }, From de91c92a2360bef3b431af04f9c00caed990353c Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Sun, 21 Dec 2025 16:26:42 +0100 Subject: [PATCH 07/38] feat: update electron to 39.2.7 (#2637) --- patches/update-electron.patch | 203 ++++++++++++++++++++++++++++++ patches/update-electron.patch.no | 208 ------------------------------- 2 files changed, 203 insertions(+), 208 deletions(-) create mode 100644 patches/update-electron.patch delete mode 100644 patches/update-electron.patch.no diff --git a/patches/update-electron.patch b/patches/update-electron.patch new file mode 100644 index 0000000..63dde91 --- /dev/null +++ b/patches/update-electron.patch @@ -0,0 +1,203 @@ +diff --git a/.npmrc b/.npmrc +index e4a5cc2..e3be238 100644 +--- a/.npmrc ++++ b/.npmrc +@@ -1,3 +1,3 @@ + disturl="https://electronjs.org/headers" +-target="39.2.3" ++target="39.2.7" + ms_build_id="12895514" +diff --git a/build/checksums/electron.txt b/build/checksums/electron.txt +index ace84ba..5da4475 100644 +--- a/build/checksums/electron.txt ++++ b/build/checksums/electron.txt +@@ -1,75 +1,75 @@ +-1e88807c749e69c9a1b2abef105cf30dbec4fddc365afcaa624b1e2df80fe636 *chromedriver-v39.2.3-darwin-arm64.zip +-5cadee0db7684ae48a7f9f4f1310c3f6e1518b0fa88cf3efb36f58984763d43d *chromedriver-v39.2.3-darwin-x64.zip +-8de5ed25a12029ca999455c1cadf28341ec5e0de87a3a0c27dbb24df99f154b1 *chromedriver-v39.2.3-linux-arm64.zip +-766b16d8b1297738a0d1fa7e44d992142558f6e12820197746913385590f033e *chromedriver-v39.2.3-linux-armv7l.zip +-f35049fe3d8dbfdb7c541b59bdca6982b571761bb8cb7fc85515ceaea9451de9 *chromedriver-v39.2.3-linux-x64.zip +-bffe049ac205d87d14d8d2fb61c8f4dfd72b6d60fcd72ebedf7ef78c90ed52d9 *chromedriver-v39.2.3-mas-arm64.zip +-95a7142ba2ba6a418c6d804729dbe4f1fee897cd9ecaf32e554bb9cabff52b9c *chromedriver-v39.2.3-mas-x64.zip +-da1a59e49c16f7b0924b8b43847a19c93110f7d3b5d511cc41d7ec43a5d3807a *chromedriver-v39.2.3-win32-arm64.zip +-9ba84c1e03e31dd630439d53c975b51c21aa4038526dc01970b94464303db5c7 *chromedriver-v39.2.3-win32-ia32.zip +-82d88829e894277d737188afe22a2c82611107f7b31aeb221ae67e56a580dceb *chromedriver-v39.2.3-win32-x64.zip +-aca80a76b97d4b0aa3001882bd8cb7a8fb3f1df75cbc4f0d74eaad0c9df53c9b *electron-api.json +-0fb6f376da5f1bb06125134cd8e33d79a76c4d47b0bc51d20c3359e092095b98 *electron-v39.2.3-darwin-arm64-dsym-snapshot.zip +-6a9e67878637191edcefbd36b070137c3ca4f674307c255864eb9720128905c4 *electron-v39.2.3-darwin-arm64-dsym.zip +-30fd6a23a4a70de3882525c1666af98a2cf07e0826c54bef8f466efb25b1d2ec *electron-v39.2.3-darwin-arm64-symbols.zip +-2128a27c1b0fd80be9d608fb293639f76611b4108eca1e045c933fd04097a7b1 *electron-v39.2.3-darwin-arm64.zip +-68435db35b408d7eb3b9f208f2a7aa803bb8578f409ee99bab435118951a21a5 *electron-v39.2.3-darwin-x64-dsym-snapshot.zip +-59e821dbe0083d4e28a77dff5f72fa65c0db7e7966d760ebb5a41af92da43958 *electron-v39.2.3-darwin-x64-dsym.zip +-cdbe6988a9c9277d5a1acd2f3aaf08e603050f3dae0c10dee4b10d7a6f7cf818 *electron-v39.2.3-darwin-x64-symbols.zip +-f8085a04dc35bfe0c32c36e6feffde07de16459bf36dfab422760181717f5ac0 *electron-v39.2.3-darwin-x64.zip +-ce57eb6bd0ddfa1d37d8a35615276aeb60c19ae0636f21da3270cf07844074b4 *electron-v39.2.3-linux-arm64-debug.zip +-d2652381b24dc05c57a4ce4835b6efc796e6af14419ec80a9ab31f1c3c53f143 *electron-v39.2.3-linux-arm64-symbols.zip +-c58c5904d6015cbbfa5f04fbda5c83b9a276a3565b5f3fa166795c789b055cdd *electron-v39.2.3-linux-arm64.zip +-f0f0be5ea43c0fe84b9609dd5d2b98904c2d4bb8ced9c7c72b72cef377f2734a *electron-v39.2.3-linux-armv7l-debug.zip +-f08ae5371aca8a9f3775a6855c74da71d8817bd9f135c3ba975d428d14f3c42f *electron-v39.2.3-linux-armv7l-symbols.zip +-d7c2f0b5038c49b1e637f8dbda945be4e6f3a6d7ebf802543e6ef5093c9641ff *electron-v39.2.3-linux-armv7l.zip +-aa8b9e4b5eed3a0d2271c01d34551d7dc3e9be30a68af06604c1e2cd3cf93223 *electron-v39.2.3-linux-x64-debug.zip +-d5ebf9628e055b03c90d2d6d4ed86f443b900e264ff34061c953541e27fad5f9 *electron-v39.2.3-linux-x64-symbols.zip +-5eb51ebcb60487c4fc3a5b74ffb57a03eefd48def32200adf310ffaba4153d64 *electron-v39.2.3-linux-x64.zip +-f6cc53c0a45c73779c837d71693f54cc18b12b7148c82c689e2b059772182b84 *electron-v39.2.3-mas-arm64-dsym-snapshot.zip +-0caf9b7b958a7d2ba7e6f757f885842efda3ebc794a2ac048b90cde2926281ee *electron-v39.2.3-mas-arm64-dsym.zip +-c3164da6588c546e728b6fa0754042328cdb43e28dbb0fbcfbda740ed58038fe *electron-v39.2.3-mas-arm64-symbols.zip +-36ea0a98a0480096b4bc6e22c194e999cdfd7f1263c51f08d2815985a8a39ef7 *electron-v39.2.3-mas-arm64.zip +-73d356aa3b51cb261d30f0c27ce354b904d17c3c05c124a1f41112d085e66852 *electron-v39.2.3-mas-x64-dsym-snapshot.zip +-083f53e15a93404b309754df6b5e785785b28e01fdab08a89a45e5024f44e046 *electron-v39.2.3-mas-x64-dsym.zip +-cdd8aaf3b90aedc8c09a44efa03ec67e8426102fad7333ff6bfc257dc6fa01b7 *electron-v39.2.3-mas-x64-symbols.zip +-517d26f9b76b23976d0fc1dcc366e2b50b782592d9b0fc1d814dd1e7ce66efef *electron-v39.2.3-mas-x64.zip +-1a83af2259feb361f7ceb79e047b701ea8297d616487d9d6a79530014d5000c7 *electron-v39.2.3-win32-arm64-pdb.zip +-a154f036378a81859804f660773f6d434770fc311af86dfe01ace5346b9dc788 *electron-v39.2.3-win32-arm64-symbols.zip +-4aae37230f86b1590f102aa038268299bfb55ce2bf3b76ac4d6159e7b6a69f8e *electron-v39.2.3-win32-arm64-toolchain-profile.zip +-b68d623d70c4d0ed76c979027d2a4f6a16bc8dee6f243f5bc2064b4bb52bb34d *electron-v39.2.3-win32-arm64.zip +-be73842257d098ac911b3363e0c11b1d51ab8f6ebd641e512a2e15ccbea73193 *electron-v39.2.3-win32-ia32-pdb.zip +-5f65391f51b5d46d5e0ec7018f3febc0f5b6f072b57310d6d6c9b014de911ff4 *electron-v39.2.3-win32-ia32-symbols.zip +-4aae37230f86b1590f102aa038268299bfb55ce2bf3b76ac4d6159e7b6a69f8e *electron-v39.2.3-win32-ia32-toolchain-profile.zip +-6668fadbdd0283225f4bc60c711f8cd8ac316f43f486cd8a1f62a6a35f89cf7a *electron-v39.2.3-win32-ia32.zip +-430aa905803772476fc1f943e87e4a319d33880d88e08472504531b96834dff1 *electron-v39.2.3-win32-x64-pdb.zip +-9adb254e6ee0d96311cc8056049814436b7e973757d026aac3b533820be027ec *electron-v39.2.3-win32-x64-symbols.zip +-4aae37230f86b1590f102aa038268299bfb55ce2bf3b76ac4d6159e7b6a69f8e *electron-v39.2.3-win32-x64-toolchain-profile.zip +-d4365ad128bbdcb3df99dc4a0ad9de85c5e920903070a473b55377253b6c3fdd *electron-v39.2.3-win32-x64.zip +-feb2f068cd1e2f70bdd7816c13e58dcff9add18fdc8c8e19145a5fd343be541a *electron.d.ts +-4fe4db7f974c64497ddc07c3955a7d83dcfeba61bcec704b33638a4848038d49 *ffmpeg-v39.2.3-darwin-arm64.zip +-8fa2eb8ce5bdf2ecc4cf1f5ebc0f46a4e466fb4841513d482b99838b265995af *ffmpeg-v39.2.3-darwin-x64.zip +-bc72228a7380bc491783602d823bbe2d75e9e417d9b93a40a64be6ff5e3a1bcc *ffmpeg-v39.2.3-linux-arm64.zip +-322698b5ebfae62c34e98c2589b0906b99c15a8181ca3b6d1ffe166ec7d99ab1 *ffmpeg-v39.2.3-linux-armv7l.zip +-40d23294d7bcc48cb3f647f278672021e969a6332cd3cbb06ee681833759626a *ffmpeg-v39.2.3-linux-x64.zip +-4fe4db7f974c64497ddc07c3955a7d83dcfeba61bcec704b33638a4848038d49 *ffmpeg-v39.2.3-mas-arm64.zip +-8fa2eb8ce5bdf2ecc4cf1f5ebc0f46a4e466fb4841513d482b99838b265995af *ffmpeg-v39.2.3-mas-x64.zip +-d324af171e0ae820ec72075924ace2bda96e837ccc79e22b652dda6f82b673b6 *ffmpeg-v39.2.3-win32-arm64.zip +-d982077305d0e4296bed95eb7d2f1048a90b06cfb84d5ddf2a1928e1f07c4dba *ffmpeg-v39.2.3-win32-ia32.zip +-fa65c30f970f9724f4353d068a640592b09a15593b943fa7544cd07e9cace90e *ffmpeg-v39.2.3-win32-x64.zip +-244cd79cf68540e83449ad7d73183416413b3d603cee4496ec07705cbd9338ee *hunspell_dictionaries.zip +-f995e05259eeae64f0e6fbb6d2863aa2fc5846e3ff2dfb3cd22defc3bbbb68d7 *libcxx-objects-v39.2.3-linux-arm64.zip +-3607b4a15aa5f2dbd9e2338ca5451ad8ff646bdac415f9845352d53be1c26ddf *libcxx-objects-v39.2.3-linux-armv7l.zip +-b5020533566dbf22b0b890caa766eb2f4d11675fb1c79c2f41bc54da45a34fc2 *libcxx-objects-v39.2.3-linux-x64.zip +-919a2cc35920b21fbcc5834e858c400f51b607f084c593883c637dba27b9d29a *libcxx_headers.zip +-34e4b44f9c5e08b557a2caed55456ce7690abab910196a783a2a47b58d2b9ac9 *libcxxabi_headers.zip +-661d3578cabe5c98d806d5eeeaee48ac0c997114b9cd76388581e58f6d1c2ce1 *mksnapshot-v39.2.3-darwin-arm64.zip +-c3032c90522e4491e3de641fade3c90be109269108d4ff39b55dbf7331e6eb9a *mksnapshot-v39.2.3-darwin-x64.zip +-bcd8fb45f3b093208346dc2dd2e0b5b70d117e26a70b9619921b26a7f99ba310 *mksnapshot-v39.2.3-linux-arm64-x64.zip +-647762d3d8b01b5123ec11ea5b6984d7b78a26c79ea4d159a3b9fa780de03321 *mksnapshot-v39.2.3-linux-armv7l-x64.zip +-86c0febd8e9ddd8b700c6fb633ec1406bf4fe19ddc2801cb50c01ad345c8ce6e *mksnapshot-v39.2.3-linux-x64.zip +-3676ffc5f489b7d7faafe36fdb5f0f4ce98c8d6fcedfacf6feded7f21b2a50ea *mksnapshot-v39.2.3-mas-arm64.zip +-728936a18c11727d32730c89060dca2d998e7df9159f12bcba2bdf1b51584aad *mksnapshot-v39.2.3-mas-x64.zip +-a3ef9ab1ad5c8172c029dcc36abdc979ecf01f235516120f666595d4d5d02aee *mksnapshot-v39.2.3-win32-arm64-x64.zip +-02584df98255591438ffcc6589bd1ee60af8b8897d08079e7a7dd054e09614fe *mksnapshot-v39.2.3-win32-ia32.zip +-d4dd9de8637d7d8240b7a0686916c0fe84058ad00db9422f5491fbbd7a53cf4b *mksnapshot-v39.2.3-win32-x64.zip ++ab4c5ce64b92082b15f11ed2a89766fa5542b33d656872678ca0aee99e51a7c8 *chromedriver-v39.2.7-darwin-arm64.zip ++976f03f6e5e1680e5f8449bd04da531aabec0b664ff462a14f0d41fad0b437af *chromedriver-v39.2.7-darwin-x64.zip ++28649b04333820f826ea658d18f8111e0a187b3afc498af05b5c59b27ac00155 *chromedriver-v39.2.7-linux-arm64.zip ++149033ccf7f909214c7d69788bdef2e4ce164cae1091a2f8220f62e495576f9b *chromedriver-v39.2.7-linux-armv7l.zip ++6a071551518eddc688dd348d3e63b0c55f744589a041943e5706bebfd5337f19 *chromedriver-v39.2.7-linux-x64.zip ++824ea4699fd6aa6822e453496ebf576174d04e0f0991843b77eb346a842725bc *chromedriver-v39.2.7-mas-arm64.zip ++aa991650a765b2bc168f8b742341048fa030ee9e3bd0d0799e1b1d29a4c55d0b *chromedriver-v39.2.7-mas-x64.zip ++a8fc4467bf9be10de3e341648ccd6ad6d618b4456a744137e9f19bd5f9d9bd37 *chromedriver-v39.2.7-win32-arm64.zip ++01b247563a054617530e454646b086352bc03e02ad4f18e5b65b4e3dfd276a1e *chromedriver-v39.2.7-win32-ia32.zip ++a8bc2b9052ac8dadeaf88ea9cd6e46ec0032eee2345a0548741bfed922520579 *chromedriver-v39.2.7-win32-x64.zip ++23486b3effffe5b3bc3ca70261fc9abe2396fd5d018652494f73e3f48cfe57cf *electron-api.json ++8bee9e905544e60e08468efca91481ec467ab8f108a81846c365782ba0fc737c *electron-v39.2.7-darwin-arm64-dsym-snapshot.zip ++3be97c3152cd4a84a6fe4013f7e4712422015f4beeb13eb35f8b4d223307d39a *electron-v39.2.7-darwin-arm64-dsym.zip ++6d5551120d0564fc5596a3b724258da2ce632663d12782c8fdf15a2cc461ed95 *electron-v39.2.7-darwin-arm64-symbols.zip ++bda657a77c074ee0c6a0e5d5f6de17918d7cf959306b454f6fadb07a08588883 *electron-v39.2.7-darwin-arm64.zip ++39f0aab332506455337edff540d007c509e72d8c419cdc57f88a0312848f51c9 *electron-v39.2.7-darwin-x64-dsym-snapshot.zip ++1efed54563ede59d7ae9ba3d548b3e93ede1a4e5dfa510ca22036ea2dd8a2956 *electron-v39.2.7-darwin-x64-dsym.zip ++3b9bfe84905870c9c36939ffac545d388213ffbb296b969f35ae2a098f6a32b7 *electron-v39.2.7-darwin-x64-symbols.zip ++d7535e64ad54efcf0fae84d7fea4c2ee4727eec99c78d2a5acc695285cb0a9f0 *electron-v39.2.7-darwin-x64.zip ++59a3bd71f9c1b355dfbc43f233126cd32b82a53439f0d419e6349044d39e8bbf *electron-v39.2.7-linux-arm64-debug.zip ++1b326f1a5bea47d9be742554434ddf4f094d7bcdd256f440b808359dc78fcd33 *electron-v39.2.7-linux-arm64-symbols.zip ++445465a43bd2ffaec09877f4ed46385065632a4683c2806cc6211cc73c110024 *electron-v39.2.7-linux-arm64.zip ++300c8d11d82cd1257b08e5a08c5e315f758133b627c0271a0f249ba3cb4533d2 *electron-v39.2.7-linux-armv7l-debug.zip ++034dca3c137c7bfe0736456c1aa0941721e3a9f3a8a72a2786cb817d4edb0f9d *electron-v39.2.7-linux-armv7l-symbols.zip ++5de99e9f4de8c9ac2fb93df725e834e3e93194c08c99968def7f7b78594fc97c *electron-v39.2.7-linux-armv7l.zip ++64ef2ae24ae0869ebadb34b178fd7e8375d750d7afe39b42cfa28824f0d11445 *electron-v39.2.7-linux-x64-debug.zip ++63466c4b6024ae38fdb38ff116abd561b9e36b8d4cd8f8aefbe41289950dba0c *electron-v39.2.7-linux-x64-symbols.zip ++2f5285ef563dca154aa247696dddef545d3d895dd9b227ed423ea0d43737c22c *electron-v39.2.7-linux-x64.zip ++ef5a108c1d10148aa031300da10c78feee797afe4ca2a2839819fd8434529860 *electron-v39.2.7-mas-arm64-dsym-snapshot.zip ++9dd01dc9071b1db9d8fb5e9c81eaa96f551db0a982994881e5750cde2432b0f0 *electron-v39.2.7-mas-arm64-dsym.zip ++2cf34289d79906c81b3dfd043fbe19a9604cecedd9ebda6576fa3c6f27edfe23 *electron-v39.2.7-mas-arm64-symbols.zip ++5658d58eacb99fb2a22df0d52ca0507d79f03c85515a123d5e9bee5e0749b93d *electron-v39.2.7-mas-arm64.zip ++92cd45c3fa64e2889fd1bc6b165c4d12bea40786ce59d6d204cadec6039a8e2a *electron-v39.2.7-mas-x64-dsym-snapshot.zip ++21464abc837aeab1609fbfa33aa82793e9d32a597db28ea4da483a9d6b6c668a *electron-v39.2.7-mas-x64-dsym.zip ++8d6e7ffee482514b62465e418049bdf717d308118461e5d97480f5a0eb0b9e20 *electron-v39.2.7-mas-x64-symbols.zip ++e3b4169ab7bf3bc35cc720ef99032acd3d0eb1521524b5c4667898758dd4e9a3 *electron-v39.2.7-mas-x64.zip ++3f1d549214a2430d57e5ab8d3cc9d89363340b16905014e35417c632a94732f6 *electron-v39.2.7-win32-arm64-pdb.zip ++984e1d7718bc920e75a38b114ff73fa52647349763f76e91b64458e5d0fde65f *electron-v39.2.7-win32-arm64-symbols.zip ++ed66f333ff7b385b2f40845178dc2dc4f25cc887510d766433392733fdd272a3 *electron-v39.2.7-win32-arm64-toolchain-profile.zip ++56c6f8d957239b7e8d5a214255f39007d44abc98f701ab61054afa83ad46e80f *electron-v39.2.7-win32-arm64.zip ++c885a8af3226f28081106fa89106f4668b907a53ab3997f3b101b487a76d2878 *electron-v39.2.7-win32-ia32-pdb.zip ++34edebab8fb5458d97a23461213b39360b5652f8dd6fe8bf7f9c10a17b25a1d2 *electron-v39.2.7-win32-ia32-symbols.zip ++ed66f333ff7b385b2f40845178dc2dc4f25cc887510d766433392733fdd272a3 *electron-v39.2.7-win32-ia32-toolchain-profile.zip ++85acd7db5dbb39e16d6c798a649342969569caa2c71d6b5bb1f0c8ae96bca32e *electron-v39.2.7-win32-ia32.zip ++e6a8e1164106548a1cdf266c615d259feada249e1449df8af1f7e04252575e86 *electron-v39.2.7-win32-x64-pdb.zip ++90e1feeff5968265b68d8343e27b9f329b27882747633dd10555740de67d58cc *electron-v39.2.7-win32-x64-symbols.zip ++ed66f333ff7b385b2f40845178dc2dc4f25cc887510d766433392733fdd272a3 *electron-v39.2.7-win32-x64-toolchain-profile.zip ++3464537fa4be6b7b073f1c9b694ac2eb1f632d6ec36f6eeac9e00d8a279f188c *electron-v39.2.7-win32-x64.zip ++40c772eb189d100087b75da6c2ad1aeb044f1d661c90543592546a654b0b6d5b *electron.d.ts ++5a904c2edd12542ce2b6685938cdafe21cf90cd552f2f654058353d1a3d8ee43 *ffmpeg-v39.2.7-darwin-arm64.zip ++91fc23e9008f43ad3c46f690186d77b291a803451b6d89ac82aadb8ae2dd7995 *ffmpeg-v39.2.7-darwin-x64.zip ++a44607619c6742c1f9d729265a687b467a25ba397081ac12bc2c0d9ab4bea37b *ffmpeg-v39.2.7-linux-arm64.zip ++8128ec9be261e2c1017f9b8213f948426119306e5d3acdb59392f32b2c2f0204 *ffmpeg-v39.2.7-linux-armv7l.zip ++a201a2a64a49ab39def2d38a73e92358ebb57ecae99b0bbc8058353c4be23ea1 *ffmpeg-v39.2.7-linux-x64.zip ++5a904c2edd12542ce2b6685938cdafe21cf90cd552f2f654058353d1a3d8ee43 *ffmpeg-v39.2.7-mas-arm64.zip ++91fc23e9008f43ad3c46f690186d77b291a803451b6d89ac82aadb8ae2dd7995 *ffmpeg-v39.2.7-mas-x64.zip ++6fa4278a41d9c5d733369aa4cce694ba219eb72f7fd181060547c3a4920b5902 *ffmpeg-v39.2.7-win32-arm64.zip ++12b9e02c0fd07e8bc233c7c4ebab5c737eca05c41f1c5178867cad313433561b *ffmpeg-v39.2.7-win32-ia32.zip ++caedeb04aa648af14b5a20c9ca902c97eb531a456c7965639465f8764b5d95e0 *ffmpeg-v39.2.7-win32-x64.zip ++f1320ff95f2cce0f0f7225b45f2b9340aeb38b341b4090f0e58f58dc2da2f3a9 *hunspell_dictionaries.zip ++8f4ffd7534f21e40621c515bacd178b809c2e52d1687867c60dfdb97ed17fecb *libcxx-objects-v39.2.7-linux-arm64.zip ++0497730c82e1e76b6a4c22b1af4ebb7821ff6ccb838b78503c0cc93d8a8f03ee *libcxx-objects-v39.2.7-linux-armv7l.zip ++271e3538eb241f1bc83a103ea7d4c8408ee6bd38322ed50dca781f54d002a590 *libcxx-objects-v39.2.7-linux-x64.zip ++9a243728553395448f783591737fb229a327499d6853b51e201c36e4aaa9796f *libcxx_headers.zip ++db3018609bce502c307c59074b3d5273080a68fb50ac1e7fc580994a2e80cc25 *libcxxabi_headers.zip ++509d0890d1a524efe2c68aae18d2c8fd6537e788b94c9f63fd9f9ca3be98fdb9 *mksnapshot-v39.2.7-darwin-arm64.zip ++f0a98b428a6a1f8dc4a4663e876a3984157ac8757922cde7461f19755942c180 *mksnapshot-v39.2.7-darwin-x64.zip ++22fda3b708ab14325b2bfba8e875fbf48b6eacea347ecf1ef41cf24b09b4af8f *mksnapshot-v39.2.7-linux-arm64-x64.zip ++e7b89dbab3449c0a1862b4d129b3ee384cb5bcd53e149eae05df14744ee55cb5 *mksnapshot-v39.2.7-linux-armv7l-x64.zip ++53b3ed9f3a69444915ef1eef688c8f8168d52c3d5232834b8aa249cf210b41b6 *mksnapshot-v39.2.7-linux-x64.zip ++181d962eaa93d8d997b1daf99ae016b3d9d8a5ae037c96a8475490396a8d655f *mksnapshot-v39.2.7-mas-arm64.zip ++de005b619da1c1afcd8f8b6c70facb1dc388c46a66f8eff3058c8a08323df173 *mksnapshot-v39.2.7-mas-x64.zip ++6eea0bee6097cf2cfe3ae42b35f847304697c4a4eec84f5b60d1cbbe324a8490 *mksnapshot-v39.2.7-win32-arm64-x64.zip ++3e769269aa0b51ef9664a982235bc9299fc58743dcf7bce585d49a9f4a074abd *mksnapshot-v39.2.7-win32-ia32.zip ++51337124892bf76d214f89975d42ec0474199cdfac2f9e08664d86ae8e6ba43e *mksnapshot-v39.2.7-win32-x64.zip +\ No newline at end of file +diff --git a/cgmanifest.json b/cgmanifest.json +index 1148b4e..88150cc 100644 +--- a/cgmanifest.json ++++ b/cgmanifest.json +@@ -531,4 +531,4 @@ + "repositoryUrl": "https://github.com/electron/electron", +- "commitHash": "14565211f7fd33f3fe2f75ec1254cfa57d5bc848", +- "tag": "39.2.3" ++ "commitHash": "4d18062d0f0ca34c455bc7ec032dd7959a0365b6", ++ "tag": "39.2.7" + } +diff --git a/package-lock.json b/package-lock.json +index 2b1154b..cbe427e 100644 +--- a/package-lock.json ++++ b/package-lock.json +@@ -100,3 +100,3 @@ + "deemon": "^1.13.6", +- "electron": "39.2.3", ++ "electron": "39.2.7", + "eslint": "^9.36.0", +@@ -6188,5 +6188,5 @@ + "node_modules/electron": { +- "version": "39.2.3", +- "resolved": "https://registry.npmjs.org/electron/-/electron-39.2.3.tgz", +- "integrity": "sha512-j7k7/bj3cNA29ty54FzEMRUoqirE+RBQPhPFP+XDuM93a1l2WcDPiYumxKWz+iKcXxBJLFdMIAlvtLTB/RfCkg==", ++ "version": "39.2.7", ++ "resolved": "https://registry.npmjs.org/electron/-/electron-39.2.7.tgz", ++ "integrity": "sha512-KU0uFS6LSTh4aOIC3miolcbizOFP7N1M46VTYVfqIgFiuA2ilfNaOHLDS9tCMvwwHRowAsvqBrh9NgMXcTOHCQ==", + "dev": true, +diff --git a/package.json b/package.json +index 9ef8381..f732fa8 100644 +--- a/package.json ++++ b/package.json +@@ -162,3 +162,3 @@ + "deemon": "^1.13.6", +- "electron": "39.2.3", ++ "electron": "39.2.7", + "eslint": "^9.36.0", diff --git a/patches/update-electron.patch.no b/patches/update-electron.patch.no deleted file mode 100644 index c5884de..0000000 --- a/patches/update-electron.patch.no +++ /dev/null @@ -1,208 +0,0 @@ -diff --git a/.npmrc b/.npmrc -index 02439e1..3cd345c 100644 ---- a/.npmrc -+++ b/.npmrc -@@ -1,3 +1,3 @@ - disturl="https://electronjs.org/headers" --target="37.7.0" -+target="37.10.2" - ms_build_id="12781156" -diff --git a/build/checksums/electron.txt b/build/checksums/electron.txt -index ab15400..3e549b8 100644 ---- a/build/checksums/electron.txt -+++ b/build/checksums/electron.txt -@@ -1,75 +1,75 @@ --766c6904e9825e3342a28ddd0210204d42e40377d2ab7ee17f5f954fbebab8ae *chromedriver-v37.7.0-darwin-arm64.zip --4b24cf1e4c00ef73411c4b715a7c1198d0186d5dcac7a64137759fd987836931 *chromedriver-v37.7.0-darwin-x64.zip --d3635fdbd2a09e23fa9be99e954bd910e8cd2a06265d011b0ed42c9f947a4572 *chromedriver-v37.7.0-linux-arm64.zip --aca613941e5412ea016307a9e40c4b78e8caacc0451fb83166b67ed9da617a91 *chromedriver-v37.7.0-linux-armv7l.zip --22570d8f0f89f22b6175bba8ead9421ffe7316829a08d4b987d7c3adb4c2f153 *chromedriver-v37.7.0-linux-x64.zip --2a4a7f0a43cd611db609b8217687083cf7d88f0e10ab24116a205169b05d75c4 *chromedriver-v37.7.0-mas-arm64.zip --1cd0ec52b319b43ca08f5db0ecb4848b35b2babf1187757aea2904e3bc217dd1 *chromedriver-v37.7.0-mas-x64.zip --d7ee42b443c9b83efaaf0a75b3e5b50cdb3cb04540a57a8398babcfffeaadc2f *chromedriver-v37.7.0-win32-arm64.zip --55199f114621ecbb2365fe0e22b9b188bc013c2c0d7ff66f43f814ebebe38739 *chromedriver-v37.7.0-win32-ia32.zip --18c5e32bfd075a9b497c7e514a83dc18257cbc5119530c0372d61451138bdc78 *chromedriver-v37.7.0-win32-x64.zip --a6d46dfbbd5a7e0c31272eabe1068e8570f18df1559209e8ec239d0eeb0ee38f *electron-api.json --d05484feef95627bc407f1ef6c86dc7076c568f763afd162c718c65e736645e2 *electron-v37.7.0-darwin-arm64-dsym-snapshot.zip --59cc95edb7599fb24b2cc65b9313583465faeeb95a8822cb74b170ffe43d9aee *electron-v37.7.0-darwin-arm64-dsym.zip --e09febc22a7635fc2ca7de0bbeefb5aaba9fe91e6e15da3cb90ec12a2a0cd822 *electron-v37.7.0-darwin-arm64-symbols.zip --c962552e6de47f5eebf1c2932f21d66d556c351d90d70ccbae68a9d22ac17ba9 *electron-v37.7.0-darwin-arm64.zip --c083a859932a2a070cfc0c110f03c7573c1f83f6aef624aacac34fe16c0fb0c9 *electron-v37.7.0-darwin-x64-dsym-snapshot.zip --43758f15ef737505edc544aca5ae4a06636930ca5d95a32030d1c742acc07141 *electron-v37.7.0-darwin-x64-dsym.zip --c65b761a0481ee97c75f62add721b3427d0bde61c5545ebfd3a059b11cb8055a *electron-v37.7.0-darwin-x64-symbols.zip --4aebc43ef4de09086bf4487d1bc491de27f6aa1a2e8dd32622e8bf1deaf9a1ae *electron-v37.7.0-darwin-x64.zip --690855692f644997420b08b79cfa4a2b852f705982f754afb32877e55642b58a *electron-v37.7.0-linux-arm64-debug.zip --6cceaeabd2e7517d8562da6fc9a17a73fc0be5b0bb05b3732ff5b5ec2a08745e *electron-v37.7.0-linux-arm64-symbols.zip --c72c2e963dcdea65d500b23fff3f22806a2518a86b52236dceb825a1d194cd7e *electron-v37.7.0-linux-arm64.zip --eb3303f9d335e5bd518f91ceee7832348ed2943fecf965ab4312ac40e91644f1 *electron-v37.7.0-linux-armv7l-debug.zip --839b0c8c4c637aeb968fdd85cdfedf7e83398aa756724b83ea482b65f8f80e83 *electron-v37.7.0-linux-armv7l-symbols.zip --eecc89703c24b019fad14e3e8341a6e2bcd995c473c9c5e56bf1a4664d8630f7 *electron-v37.7.0-linux-armv7l.zip --42cb0ba3e380f6a10ab6ec56e9e9a2f55c7f71621daf605e94a0eba21c3c9f6c *electron-v37.7.0-linux-x64-debug.zip --03c3761ea84447022f5acb171f34b0129b44c3b54d8882addb67cac3572e1368 *electron-v37.7.0-linux-x64-symbols.zip --4ae04d20d0ea25bf3451e3d0eaa757190b5813fa58d17bbe3be4332836da6b25 *electron-v37.7.0-linux-x64.zip --23bf51bc222cf1384594ac2dba294899e0170f5695125b156b0d5c213eb81af6 *electron-v37.7.0-mas-arm64-dsym-snapshot.zip --a0799acdf988e48c45778c5a797bcece64531c2c0070ab14b066b477df52e837 *electron-v37.7.0-mas-arm64-dsym.zip --dcd1be8cf58bc07813e34d93903e8bf1f268ff02d1214b01d02298e6d83f01b2 *electron-v37.7.0-mas-arm64-symbols.zip --da5d2aaac129d90f36e65d091b630528ac0aff81ca0b9895089878c02a59d8fb *electron-v37.7.0-mas-arm64.zip --a4f489fe0aec2ab13605189ba80ca49042d11249a00c79a6d5456689288e3479 *electron-v37.7.0-mas-x64-dsym-snapshot.zip --1051763877e03d0d80fe5af3f6fdd50bf158f25c7d058a4755ca83fc036f9f69 *electron-v37.7.0-mas-x64-dsym.zip --95fe16c43a57ae8be98d4bb4dfce4b2c3e2f6c6ed1415ca757a1ee15727e476f *electron-v37.7.0-mas-x64-symbols.zip --8e59bf3fa4704a01cdeb3b38ec3beb4de118743af6974b41689b567f80c4939e *electron-v37.7.0-mas-x64.zip --52b7825a8fc4529f622665d46f9cceeacf50a7d75659c38b99c84a35d5d08f41 *electron-v37.7.0-win32-arm64-pdb.zip --9c9c6ce62bd1974f2bd703106fac45127270fcfc629b233572692b3870fcd733 *electron-v37.7.0-win32-arm64-symbols.zip --74e88ea46bb62f4d8698b1058963568b8ccd9debbdd5d755dfdf4303874446d5 *electron-v37.7.0-win32-arm64-toolchain-profile.zip --875ff30aa3148665fc028abb762cf265e5f0a79ed98d1cceec2441afa17b76ea *electron-v37.7.0-win32-arm64.zip --744ead04becabbceaef15a80f6e45539472f20ffb1651c9238a68daed3d4587d *electron-v37.7.0-win32-ia32-pdb.zip --dc8ab512983cecf68d7662fc05c20d46c73646996f2a8b1b53642a27b3b7ebb7 *electron-v37.7.0-win32-ia32-symbols.zip --74e88ea46bb62f4d8698b1058963568b8ccd9debbdd5d755dfdf4303874446d5 *electron-v37.7.0-win32-ia32-toolchain-profile.zip --d79cf6cc733691bce26b4c8830bc927ce028fbf6174aa17041559f5f71d69452 *electron-v37.7.0-win32-ia32.zip --4313294bf3de78ef12b3948a32990d6b2c5ce270f3ba7b6d81c582c02d4127e1 *electron-v37.7.0-win32-x64-pdb.zip --8f3ea7630b0945d2d26aec9c2236560050ea46d61f225ffeed25c5381a131aef *electron-v37.7.0-win32-x64-symbols.zip --74e88ea46bb62f4d8698b1058963568b8ccd9debbdd5d755dfdf4303874446d5 *electron-v37.7.0-win32-x64-toolchain-profile.zip --875cea08076dfa433189aa7e82263cff7f0aa3795a69172baeec4a85fb57bc05 *electron-v37.7.0-win32-x64.zip --a136e010d8757d8a61f06ba9d8fbd3ad057ab04d7d386ff3b0e1ba56ec4a5b64 *electron.d.ts --39d5a5663e491f4e5e4a60ded8d6361a8f4d905a220aa681adfabac1fa90d06f *ffmpeg-v37.7.0-darwin-arm64.zip --210e095fc7c629b411caf90f00958aa004ac33f2f6dd1291780a670c46f028cf *ffmpeg-v37.7.0-darwin-x64.zip --f0792bdd28ac2231e2d10bdb89da0221e9b15149a4761448e6bfd50ba8e76895 *ffmpeg-v37.7.0-linux-arm64.zip --5bd4adf23596c09bbb671952b73427f6701a7e9aee647979925e9cc4ff973045 *ffmpeg-v37.7.0-linux-armv7l.zip --561a7685536c133d2072e2e2b5a64ca3897bb8c71624158a6fe8e07cae9116c9 *ffmpeg-v37.7.0-linux-x64.zip --39d5a5663e491f4e5e4a60ded8d6361a8f4d905a220aa681adfabac1fa90d06f *ffmpeg-v37.7.0-mas-arm64.zip --210e095fc7c629b411caf90f00958aa004ac33f2f6dd1291780a670c46f028cf *ffmpeg-v37.7.0-mas-x64.zip --cb73c4eb1c68b7c1bc8d6962165a4f9f26a92560770d33b27945df2e778a5c37 *ffmpeg-v37.7.0-win32-arm64.zip --0663b6c70171b7abe2cf47a5d0f102da6f10fda69744ec6bc96bc32fde253cbd *ffmpeg-v37.7.0-win32-ia32.zip --9fa33053350c6c9d4420739f82083895dbb4a1d2904a1965ee94a83ab9507a3c *ffmpeg-v37.7.0-win32-x64.zip --bd6cbcc9cb6d9fc4b219b42104cfeaa69260cc7830234150056f0a929358681c *hunspell_dictionaries.zip --7032d6827a0bfe2f382742591241feb238c4fba5ee5db325987f55f56d1ac1e2 *libcxx-objects-v37.7.0-linux-arm64.zip --9a1beec72b821269bdab123025eb7ba54f31e2875b1cd97198952544bfb40ddd *libcxx-objects-v37.7.0-linux-armv7l.zip --f756deeb30afecfa2753ea7cd24e10bb922e3d64d40da5b64189a7d196815330 *libcxx-objects-v37.7.0-linux-x64.zip --1a664a8739a67b1b445ad11da1770d18ecb24a3038a70c2356ed653605175a19 *libcxx_headers.zip --c46a23338c31d465ddb4005e870b955da8886146e5ee92b2bab1c8bccf876a85 *libcxxabi_headers.zip --94e9f968e8de57aebfe0933db9a57dd8645690d8adf731fe2c4eb6b67a2b6534 *mksnapshot-v37.7.0-darwin-arm64.zip --868bd0900566cc32b3414ffe8dd5c229fb0e4953ccc8832c23eb3645c70e5a72 *mksnapshot-v37.7.0-darwin-x64.zip --69e896e2600368244f8f14f2b35857b2c571aabbffbb2277479a709852bba4a2 *mksnapshot-v37.7.0-linux-arm64-x64.zip --dc447c6a9b13ca8b7cf63ad9da9007b19398b6e234bc4b9538bb9e541dd4b57f *mksnapshot-v37.7.0-linux-armv7l-x64.zip --4cb3fe3e176173002b6085b8a87eb51bb6bdefd04ff4ff67a5aba26fce94655a *mksnapshot-v37.7.0-linux-x64.zip --5eef6889b798793eff86b9a5496c9b0ade49266ef885941817bf4520d6e48783 *mksnapshot-v37.7.0-mas-arm64.zip --22d7f4ce4eb6399fc5dc6e6468ed6c27ce6b9f2d434cab45d4646ec7e710589c *mksnapshot-v37.7.0-mas-x64.zip --8185f50df97b2f894560b739889a9d6c219cfa53ef64315fca23481e810edfc5 *mksnapshot-v37.7.0-win32-arm64-x64.zip --51679e701842079ac04fce0c52d3531c13fd4a42fa0cc481ae2a0f8310605ad9 *mksnapshot-v37.7.0-win32-ia32.zip --8415c984500f66c69b195fb31606e29c07e92544e2ed3a9093993f47cb5cb15d *mksnapshot-v37.7.0-win32-x64.zip -+30cfb8b90b0fad7cd0ef473fc03e761d28f98e1a398ff255956e3704c6da0727 *chromedriver-v37.10.2-darwin-arm64.zip -+9d3655a3c4a409c9d422e762a913bf6d19c5ca728ac1de5a13e6c6e98c4b263a *chromedriver-v37.10.2-darwin-x64.zip -+8a536ad3e2d2f0b9e99fc3085a9990f6d70c1de676d0f57219d2094ef1805ffd *chromedriver-v37.10.2-linux-arm64.zip -+b8d774cf0188324538412201be8827d4224d658129eaf5e66f91c0448cc633f2 *chromedriver-v37.10.2-linux-armv7l.zip -+2a1fcc98587a23b4022c4d921016f24126ab1071b395760a0339de5f019f9771 *chromedriver-v37.10.2-linux-x64.zip -+95b48cbebee53e0ac14a429a9bb989a3835e59610faf595c17ec8ddf0edbb830 *chromedriver-v37.10.2-mas-arm64.zip -+893628b7ce0b8f48b3d369a7a5d388d31e73134cd2d5a73f7aa5cadbd91b2ef2 *chromedriver-v37.10.2-mas-x64.zip -+765fc9c50dd6fd13cb2aaac315c60a7fe7c6e3ed341a91745d70a6a798ebc4db *chromedriver-v37.10.2-win32-arm64.zip -+c99e1b6720f94102ce9c1ba37af9cc6ddab5986957d94f3c73786140d29bb663 *chromedriver-v37.10.2-win32-ia32.zip -+bb5b5c7b44bfb3104248bb678e84c24ae06bcd943c9c1c24222aa48040be97c5 *chromedriver-v37.10.2-win32-x64.zip -+f433f1013c51f05d5203a5d2d341e9173148a3b1715ce12ac9a1a2abbaa9ef6b *electron-api.json -+33d40855174d5986dce433a2ca80d8f54769b4255fe5a88b26825b9dcc3300cd *electron-v37.10.2-darwin-arm64-dsym-snapshot.zip -+1c7cc4676f85978e146a82c4657301f5d213d2eeb5c175c5f476031b21180ec9 *electron-v37.10.2-darwin-arm64-dsym.zip -+14e019eed469aa925bbf3d3e55172c384f58724ac2054e927ea6180e12732f10 *electron-v37.10.2-darwin-arm64-symbols.zip -+62d8cd68fec502201db9d4aa940ef9e3ad0004f27e46d6f56c8cf8924da477e7 *electron-v37.10.2-darwin-arm64.zip -+1b4b4aa76838d4ecee2f629cf6b89013d6bf8e4853cc3d8b47b0534784da418b *electron-v37.10.2-darwin-x64-dsym-snapshot.zip -+5443e490645f05c47f4cf991c00f9bb7111fdb9bfe4af247387e12cba5d74119 *electron-v37.10.2-darwin-x64-dsym.zip -+ec2983f702923047849d6b18907280c8419b13291f29bb0b3f24ecba4ed773af *electron-v37.10.2-darwin-x64-symbols.zip -+334478ae40a5a1ea2bc33ec787352073d15f50eb7a164dfbc1f9e7abb203ded8 *electron-v37.10.2-darwin-x64.zip -+f95534086a3957d449ef7f479c93494291a2c3287463b4bba6c86118642321d2 *electron-v37.10.2-linux-arm64-debug.zip -+a33d1b0ac44fc48f16802727c2f7decc6b7b85080e947629de0ed52e9fc65309 *electron-v37.10.2-linux-arm64-symbols.zip -+deebbca4a0348ff7dd8564ee413bf7ed0d99c8d71951881286115e82bc4f22ba *electron-v37.10.2-linux-arm64.zip -+5f1393984a0d12d9eebd0793de055b9855695548ac3f90dd94e04f61a4d6be6b *electron-v37.10.2-linux-armv7l-debug.zip -+47a546e4423cb46b8f71523708189833d3d1579dc5186fefdd0e8bcfbbc9a864 *electron-v37.10.2-linux-armv7l-symbols.zip -+1c53701c915b4180bf09557374944a93050a601c2d36ec5ef014f1f1f620e4ab *electron-v37.10.2-linux-armv7l.zip -+8b03568e8f0fd446b1da4b43a32c8f98920e13ddfce5820e859bddb028d4b099 *electron-v37.10.2-linux-x64-debug.zip -+0cd61488c6eb51dd0e99243f2db6f7bfb24e2d40e74d6591a365bf5b0a2fe04c *electron-v37.10.2-linux-x64-symbols.zip -+f773866342de11ba59ca73bb3cf373302839cc3e41c94f6a3ed7c13c110b3b5c *electron-v37.10.2-linux-x64.zip -+f44b03c424567ae2ef0f1f918e1953fa96aca144b39fc08ef63a18a3d6afb026 *electron-v37.10.2-mas-arm64-dsym-snapshot.zip -+10fad03a8f16c8149693687b9c169911a3635c4473c95f68ec2325cdb69e8f0e *electron-v37.10.2-mas-arm64-dsym.zip -+b1f7dd15f495cf858cfc521f46abb9c31669704eed62674a0679fa9f86222020 *electron-v37.10.2-mas-arm64-symbols.zip -+ee255d0f067be915de323352612a18a6adc01959e52598b75e701c6fa9752db7 *electron-v37.10.2-mas-arm64.zip -+8ffb1e93817f538d94a1d87bc321f97f098ca853800f49cd41e40ba423ef1462 *electron-v37.10.2-mas-x64-dsym-snapshot.zip -+fa16e46cad448afabbe324eca0efd1493f2adee6c5a2d240e8ab1c59372feb33 *electron-v37.10.2-mas-x64-dsym.zip -+c8de2962f24710aa64f0dccfc49115b51365f7ad23230048de05e1af01610cff *electron-v37.10.2-mas-x64-symbols.zip -+bbe701dd1e98bf721759a816b1f73b3b56270a47a9136b17ea41ce3993111e62 *electron-v37.10.2-mas-x64.zip -+17588e2b56ff1d3369c428995994111ed7796395dab1c5d14b07b7c886e07d6b *electron-v37.10.2-win32-arm64-pdb.zip -+efc585608456ef109fbb67257e947e6cbda4c1efb38e3dcb2c7c2ca4e9633005 *electron-v37.10.2-win32-arm64-symbols.zip -+110ba373ac81924035c51109fc47b5847b0e386185745201f3d1d2a6056e1ac9 *electron-v37.10.2-win32-arm64-toolchain-profile.zip -+c6fb838a2cb1cca31054dc36426a41e2b769245ca65933be582ee51aba7c5943 *electron-v37.10.2-win32-arm64.zip -+201e80043ba6a46e3387ab6c26a784387007298f0830b6fd54c997d42cc6a178 *electron-v37.10.2-win32-ia32-pdb.zip -+055dbe9371cda9ace40b84db4b1ef291b246a28dd04cb1743348ad3beb121717 *electron-v37.10.2-win32-ia32-symbols.zip -+110ba373ac81924035c51109fc47b5847b0e386185745201f3d1d2a6056e1ac9 *electron-v37.10.2-win32-ia32-toolchain-profile.zip -+ec300a65aae19deda04bc1295bb1bdc3b4f3b5fd70e52ba9ed6698b39b03c212 *electron-v37.10.2-win32-ia32.zip -+004e415eef9459166e0f43f92f70898e128b809de7ad8aaf3eb65b536e503d27 *electron-v37.10.2-win32-x64-pdb.zip -+dbcdb3a35952682fa63a40f8b970e0883167696f30cc2ba3880f07705ac1cfe4 *electron-v37.10.2-win32-x64-symbols.zip -+110ba373ac81924035c51109fc47b5847b0e386185745201f3d1d2a6056e1ac9 *electron-v37.10.2-win32-x64-toolchain-profile.zip -+c82b8e9f55b99c9a600514b2a6291008c8c7d95a66788b53ff15aa3070fe4452 *electron-v37.10.2-win32-x64.zip -+1e966003aa282c6316bcc180cfb9150e0244e0f02eb73eaddac741ca99ce3897 *electron.d.ts -+39d5a5663e491f4e5e4a60ded8d6361a8f4d905a220aa681adfabac1fa90d06f *ffmpeg-v37.10.2-darwin-arm64.zip -+210e095fc7c629b411caf90f00958aa004ac33f2f6dd1291780a670c46f028cf *ffmpeg-v37.10.2-darwin-x64.zip -+f0792bdd28ac2231e2d10bdb89da0221e9b15149a4761448e6bfd50ba8e76895 *ffmpeg-v37.10.2-linux-arm64.zip -+5bd4adf23596c09bbb671952b73427f6701a7e9aee647979925e9cc4ff973045 *ffmpeg-v37.10.2-linux-armv7l.zip -+561a7685536c133d2072e2e2b5a64ca3897bb8c71624158a6fe8e07cae9116c9 *ffmpeg-v37.10.2-linux-x64.zip -+39d5a5663e491f4e5e4a60ded8d6361a8f4d905a220aa681adfabac1fa90d06f *ffmpeg-v37.10.2-mas-arm64.zip -+210e095fc7c629b411caf90f00958aa004ac33f2f6dd1291780a670c46f028cf *ffmpeg-v37.10.2-mas-x64.zip -+d58b93b1a133f80a0a59426b2db132b9b5e4262a946162cc2a636c90bff8e5f4 *ffmpeg-v37.10.2-win32-arm64.zip -+d01ef687d350ed736d17334b4c6fbec43bfd741130321314e6300e86e4c711dc *ffmpeg-v37.10.2-win32-ia32.zip -+16b2d65e9ffb02dbb51cab4a0806642c23cfba54072a23920fd006d3cf957220 *ffmpeg-v37.10.2-win32-x64.zip -+39e9d709c6d1c20c3d1d0e98e64a7a0fad66ae2ea9d65365d7d49d3351b8ebf3 *hunspell_dictionaries.zip -+4384dec0f01bb239731fa56824533db8046797aaf7e0956bad12f0a2d21d51ff *libcxx-objects-v37.10.2-linux-arm64.zip -+976d38530ba9e209a27a4c4dcc6b9b983e9175401eb49bfe30afeaeba26649a5 *libcxx-objects-v37.10.2-linux-armv7l.zip -+8b9787251ad6a60e6029e088130c30dd0c73cb503970e68cf355e7ce65c5960d *libcxx-objects-v37.10.2-linux-x64.zip -+a42f55563c7c18475a5115fab5f6984e07aba8198ba75d39aae1dc6f17dd8c79 *libcxx_headers.zip -+6afe922a6e3006d40a5342719af3d40de669bb4e03aa938816f3732901677407 *libcxxabi_headers.zip -+e96baa910e320657c5a0e7a0d0e92daff98186acd3cd32bfd8154f3dd73c1757 *mksnapshot-v37.10.2-darwin-arm64.zip -+4278a6a1fa1d6e8e58563ada7676876b2388c0f41f8a4724aba48b035b2f0b57 *mksnapshot-v37.10.2-darwin-x64.zip -+59e01b212c27ee47c0a1c6e430222088ec986638d89b7789d3829898cc8429bb *mksnapshot-v37.10.2-linux-arm64-x64.zip -+766a33d1d3d4a954e7b9527304a10f86f103920fd03f11c342782e11bb239430 *mksnapshot-v37.10.2-linux-armv7l-x64.zip -+04f662b88e34e616650dc7fcb3cfdef51c0d19fbf19258cd0dff7c0f7add8623 *mksnapshot-v37.10.2-linux-x64.zip -+fe6d2ab8538abecc6f8bcb76857a8833bd90cadad53d8d41b6f474819bf80cd2 *mksnapshot-v37.10.2-mas-arm64.zip -+c508d0eba2f05edf95138522d91942b0f47e56a18aff49f6b5977ab722e25c1f *mksnapshot-v37.10.2-mas-x64.zip -+9de857c836474ef12e79811b088dfcd4e7dfa7b74333e14bbde4fd6202b9f743 *mksnapshot-v37.10.2-win32-arm64-x64.zip -+ba5f03f6bcb7de1ef99a1dbf8d972c29a9fb93754f4fe3c49d7cae2c19fbb74d *mksnapshot-v37.10.2-win32-ia32.zip -+44a3e585f5db804e139424a9b371e1b112951d6d7bb207600d516ee56b8e6d21 *mksnapshot-v37.10.2-win32-x64.zip -\ No newline at end of file -diff --git a/cgmanifest.json b/cgmanifest.json -index eba1487..17c5a76 100644 ---- a/cgmanifest.json -+++ b/cgmanifest.json -@@ -531,4 +531,4 @@ - "repositoryUrl": "https://github.com/electron/electron", -- "commitHash": "dfc60f0f4246a542a45601f93572eca77bdff2f9", -- "tag": "37.7.0" -+ "commitHash": "d8a5135294217d3fc25e9f0fc5cf2724416a2318", -+ "tag": "37.10.2" - } -@@ -537,3 +537,3 @@ - "license": "MIT", -- "version": "37.7.0" -+ "version": "37.10.2" - }, -diff --git a/package-lock.json b/package-lock.json -index 463a47b..404afa9 100644 ---- a/package-lock.json -+++ b/package-lock.json -@@ -100,3 +100,3 @@ - "deemon": "^1.13.6", -- "electron": "37.7.0", -+ "electron": "37.10.2", - "eslint": "^9.36.0", -@@ -6337,5 +6337,5 @@ - "node_modules/electron": { -- "version": "37.7.0", -- "resolved": "https://registry.npmjs.org/electron/-/electron-37.7.0.tgz", -- "integrity": "sha512-LBzvfrS0aalynOsnC11AD7zeoU8eOois090mzLpQM3K8yZ2N04i2ZW9qmHOTFLrXlKvrwRc7EbyQf1u8XHMl6Q==", -+ "version": "37.10.2", -+ "resolved": "https://registry.npmjs.org/electron/-/electron-37.10.2.tgz", -+ "integrity": "sha512-7TOA9WVO8jFKvkWMJPkSmQxV68TJEPa8bh4AYykKYuUcsezxsbZUpEH8MgEHH/orJhpbaO77XIC/+40lMkTlEg==", - "dev": true, -diff --git a/package.json b/package.json -index c113dba..8db906e 100644 ---- a/package.json -+++ b/package.json -@@ -162,3 +162,3 @@ - "deemon": "^1.13.6", -- "electron": "37.7.0", -+ "electron": "37.10.2", - "eslint": "^9.36.0", From de5bd6bf1f24ecced3af357d7a39f53e247409f8 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Sun, 21 Dec 2025 17:17:23 +0100 Subject: [PATCH 08/38] fix: personalize global policy file (#2638) --- patches/linux/fix-global-policy.patch | 9 +++++++++ prepare_vscode.sh | 2 ++ utils.sh | 6 ++++++ 3 files changed, 17 insertions(+) create mode 100644 patches/linux/fix-global-policy.patch diff --git a/patches/linux/fix-global-policy.patch b/patches/linux/fix-global-policy.patch new file mode 100644 index 0000000..61cfc41 --- /dev/null +++ b/patches/linux/fix-global-policy.patch @@ -0,0 +1,9 @@ +diff --git a/src/vs/base/common/policy.ts b/src/vs/base/common/policy.ts +index 8141b0f..33599d9 100644 +--- a/src/vs/base/common/policy.ts ++++ b/src/vs/base/common/policy.ts +@@ -11,3 +11,3 @@ import { IDefaultAccount } from './defaultAccount.js'; + */ +-export const LINUX_SYSTEM_POLICY_FILE_PATH = '/etc/vscode/policy.json'; ++export const LINUX_SYSTEM_POLICY_FILE_PATH = '/etc/!!GLOBAL_DIRNAME!!/policy.json'; + diff --git a/prepare_vscode.sh b/prepare_vscode.sh index 9d7b763..bdbf8ea 100755 --- a/prepare_vscode.sh +++ b/prepare_vscode.sh @@ -132,8 +132,10 @@ cat product.json echo "APP_NAME=\"${APP_NAME}\"" echo "APP_NAME_LC=\"${APP_NAME_LC}\"" +echo "ASSETS_REPOSITORY=\"${ASSETS_REPOSITORY}\"" echo "BINARY_NAME=\"${BINARY_NAME}\"" echo "GH_REPO_PATH=\"${GH_REPO_PATH}\"" +echo "GLOBAL_DIRNAME=\"${GLOBAL_DIRNAME}\"" echo "ORG_NAME=\"${ORG_NAME}\"" echo "TUNNEL_APP_NAME=\"${TUNNEL_APP_NAME}\"" diff --git a/utils.sh b/utils.sh index 3d705c2..2b3d363 100755 --- a/utils.sh +++ b/utils.sh @@ -8,6 +8,12 @@ GH_REPO_PATH="${GH_REPO_PATH:-VSCodium/vscodium}" ORG_NAME="${ORG_NAME:-VSCodium}" TUNNEL_APP_NAME="${TUNNEL_APP_NAME:-"${BINARY_NAME}-tunnel"}" +if [[ "${VSCODE_QUALITY}" == "insider" ]]; then + GLOBAL_DIRNAME="${GLOBAL_DIRNAME:-"${APP_NAME_LC}"}-insiders" +else + GLOBAL_DIRNAME="${GLOBAL_DIRNAME:-"${APP_NAME_LC}"}" +fi + # All common functions can be added to this file apply_patch() { From 993151362310e0aa698e3484b3326895fd5ac7bf Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Sun, 21 Dec 2025 18:36:47 +0100 Subject: [PATCH 09/38] fix: apply replacement [skip ci] --- utils.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/utils.sh b/utils.sh index 2b3d363..595aaba 100755 --- a/utils.sh +++ b/utils.sh @@ -29,6 +29,7 @@ apply_patch() { replace "s|!!ASSETS_REPOSITORY!!|${ASSETS_REPOSITORY}|g" "$1" replace "s|!!BINARY_NAME!!|${BINARY_NAME}|g" "$1" replace "s|!!GH_REPO_PATH!!|${GH_REPO_PATH}|g" "$1" + replace "s|!!GLOBAL_DIRNAME!!|${GLOBAL_DIRNAME}|g" "$1" replace "s|!!ORG_NAME!!|${ORG_NAME}|g" "$1" replace "s|!!RELEASE_VERSION!!|${RELEASE_VERSION}|g" "$1" replace "s|!!TUNNEL_APP_NAME!!|${TUNNEL_APP_NAME}|g" "$1" From 26fd8577a74ab49ef2807c67356e763a39180483 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Mon, 22 Dec 2025 14:28:20 +0100 Subject: [PATCH 10/38] docs: add announcement --- announcements-extra.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/announcements-extra.json b/announcements-extra.json index 0d4f101..dafb225 100644 --- a/announcements-extra.json +++ b/announcements-extra.json @@ -1,2 +1,7 @@ [ + { + "id": "#2639", + "title": "Need Help! Please test the next version (1.107.1) on Linux arm64", + "url": "https://github.com/VSCodium/vscodium/discussions/2639" + } ] From 47c5d7d549ae4c8a8e7107fbb84f2b85aa1cf73e Mon Sep 17 00:00:00 2001 From: darkyzhou <7220778+darkyzhou@users.noreply.github.com> Date: Wed, 24 Dec 2025 08:05:45 +0800 Subject: [PATCH 11/38] build: update LOONG64 image from beige to crimson (#2640) --- .github/workflows/insider-linux.yml | 2 +- .github/workflows/stable-linux.yml | 2 +- announcements-extra.json | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/insider-linux.yml b/.github/workflows/insider-linux.yml index 8f6c6af..2dbe26e 100644 --- a/.github/workflows/insider-linux.yml +++ b/.github/workflows/insider-linux.yml @@ -172,7 +172,7 @@ jobs: - slug: LOONG64 vscode_arch: loong64 npm_arch: loong64 - image: vscodium/vscodium-linux-build-agent:beige-loong64 + image: vscodium/vscodium-linux-build-agent:crimson-loong64 - slug: PPC64 vscode_arch: ppc64le npm_arch: ppc64 diff --git a/.github/workflows/stable-linux.yml b/.github/workflows/stable-linux.yml index c62f492..daebe54 100644 --- a/.github/workflows/stable-linux.yml +++ b/.github/workflows/stable-linux.yml @@ -173,7 +173,7 @@ jobs: - slug: LOONG64 vscode_arch: loong64 npm_arch: loong64 - image: vscodium/vscodium-linux-build-agent:beige-loong64 + image: vscodium/vscodium-linux-build-agent:crimson-loong64 - slug: PPC64 vscode_arch: ppc64le npm_arch: ppc64 diff --git a/announcements-extra.json b/announcements-extra.json index 0d4f101..dafb225 100644 --- a/announcements-extra.json +++ b/announcements-extra.json @@ -1,2 +1,7 @@ [ + { + "id": "#2639", + "title": "Need Help! Please test the next version (1.107.1) on Linux arm64", + "url": "https://github.com/VSCodium/vscodium/discussions/2639" + } ] From 0079f51fe232772b2e76aa1363367cec2198f3b9 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 24 Dec 2025 01:13:23 +0100 Subject: [PATCH 12/38] docs(linux): add troubleshooting for bad egl driver [skip ci] --- docs/troubleshooting.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index bce1cef..ea76ae4 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -10,6 +10,7 @@ - [Global menu workaround for KDE](#linux-kde-global-menu) - [Flatpak most common issues](#linux-flatpak-most-common-issues) - [Remote SSH doesn't work](#linux-remote-ssh) + - [The window doesn't show up](#linux-no-window) ## Linux @@ -70,3 +71,10 @@ Use the VSCodium's compatible extension [Open Remote - SSH](https://open-vsx.org On the server, in the `sshd` config, `AllowTcpForwarding` need to be set to `yes`. It might requires additional dependencies due to the OS/distro (alpine). + +### *The window doesn't show up* + +If you are under Wayland: +- try the command `codium --verbose` +- if you see an error like `:ERROR:ui/gl/egl_util.cc:92] EGL Driver message (Error) eglCreateContext: Requested version is not supported` +- try `codium --ozone-platform=x11` From a053a4a5c2a76ba0d85388f1592c637aa577ab29 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 24 Dec 2025 12:13:44 +0100 Subject: [PATCH 13/38] docs: remove extra announcement (#2641) --- announcements-extra.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/announcements-extra.json b/announcements-extra.json index dafb225..0d4f101 100644 --- a/announcements-extra.json +++ b/announcements-extra.json @@ -1,7 +1,2 @@ [ - { - "id": "#2639", - "title": "Need Help! Please test the next version (1.107.1) on Linux arm64", - "url": "https://github.com/VSCodium/vscodium/discussions/2639" - } ] From 962f1ac04c5be675642fc0daca58fe311594d80b Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 24 Dec 2025 12:21:36 +0100 Subject: [PATCH 14/38] fix(ci): update stable workflows --- .github/workflows/stable-linux.yml | 5 +++++ .github/workflows/stable-windows.yml | 21 ++++++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/.github/workflows/stable-linux.yml b/.github/workflows/stable-linux.yml index daebe54..8e6761d 100644 --- a/.github/workflows/stable-linux.yml +++ b/.github/workflows/stable-linux.yml @@ -426,6 +426,11 @@ jobs: version: 10 platform: x64 + - name: Setup Node.js environment + uses: actions/setup-node@v6 + with: + node-version-file: '.nvmrc' + - name: Install GH run: ./build/linux/install_gh.sh if: env.SHOULD_DEPLOY == 'yes' diff --git a/.github/workflows/stable-windows.yml b/.github/workflows/stable-windows.yml index e713d35..ae67523 100644 --- a/.github/workflows/stable-windows.yml +++ b/.github/workflows/stable-windows.yml @@ -71,7 +71,10 @@ jobs: compile: needs: - check - runs-on: ubuntu-22.04 + runs-on: windows-2022 + defaults: + run: + shell: bash env: MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }} MS_TAG: ${{ needs.check.outputs.MS_TAG }} @@ -92,11 +95,11 @@ jobs: PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }} run: ./get_pr.sh - - name: Setup GCC - uses: egor-tensin/setup-gcc@v1 - with: - version: 10 - platform: x64 + # - name: Setup GCC + # uses: egor-tensin/setup-gcc@v1 + # with: + # version: 10 + # platform: x64 - name: Setup Node.js environment uses: actions/setup-node@v6 @@ -110,9 +113,9 @@ jobs: python-version: '3.11' if: env.SHOULD_BUILD == 'yes' - - name: Install libkrb5-dev - run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev - if: env.SHOULD_BUILD == 'yes' + # - name: Install libkrb5-dev + # run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev + # if: env.SHOULD_BUILD == 'yes' - name: Clone VSCode repo run: ./get_repo.sh From 7224e53e6295f7c14b03e2b2015c63d289dda926 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 24 Dec 2025 12:22:10 +0100 Subject: [PATCH 15/38] feat: update upstream version --- upstream/stable.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/upstream/stable.json b/upstream/stable.json index de04baa..b526416 100644 --- a/upstream/stable.json +++ b/upstream/stable.json @@ -1,4 +1,4 @@ { - "tag": "1.106.3", - "commit": "bf9252a2fb45be6893dd8870c0bf37e2e1766d61" + "tag": "1.107.1", + "commit": "994fd12f8d3a5aa16f17d42c041e5809167e845a" } From bfaa0ebd4e1274134da3a4c20adc65f8fcf9962e Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Thu, 25 Dec 2025 12:37:36 +0100 Subject: [PATCH 16/38] fix(ci): use x64 runner for macos x64 (#2645) --- .github/workflows/insider-macos.yml | 2 +- .github/workflows/stable-macos.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/insider-macos.yml b/.github/workflows/insider-macos.yml index 6020c2d..231a7cd 100644 --- a/.github/workflows/insider-macos.yml +++ b/.github/workflows/insider-macos.yml @@ -44,7 +44,7 @@ jobs: fail-fast: false matrix: include: - - runner: macos-14 + - runner: macos-15-intel vscode_arch: x64 - runner: [self-hosted, macOS, ARM64] vscode_arch: arm64 diff --git a/.github/workflows/stable-macos.yml b/.github/workflows/stable-macos.yml index 15cc0b7..d80c2ae 100644 --- a/.github/workflows/stable-macos.yml +++ b/.github/workflows/stable-macos.yml @@ -43,7 +43,7 @@ jobs: fail-fast: false matrix: include: - - runner: macos-14 + - runner: macos-15-intel vscode_arch: x64 - runner: [self-hosted, macOS, ARM64] vscode_arch: arm64 From 3bf7629f7a82dfd3a4f76678ba530c28ae7c8b47 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Fri, 2 Jan 2026 16:14:25 +0100 Subject: [PATCH 17/38] ci: lock closed old discussions --- .github/workflows/lock.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index 7ea85c4..03df7ff 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -1,4 +1,4 @@ -name: Lock Issues +name: Lock Closed Threads on: schedule: @@ -13,4 +13,5 @@ jobs: github-token: ${{ github.token }} issue-inactive-days: '90' pr-inactive-days: '90' + discussion-inactive-days: '90' log-output: true From a5210af8009d8afcc6bcc354eb03c3bfd8ac908f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jan 2026 15:03:11 +0100 Subject: [PATCH 18/38] build(deps): bump egor-tensin/setup-gcc from 1 to 2 (#2654) --- .github/workflows/insider-linux.yml | 6 +++--- .github/workflows/stable-linux.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/insider-linux.yml b/.github/workflows/insider-linux.yml index 2dbe26e..3c800c0 100644 --- a/.github/workflows/insider-linux.yml +++ b/.github/workflows/insider-linux.yml @@ -96,7 +96,7 @@ jobs: run: ./get_pr.sh - name: Setup GCC - uses: egor-tensin/setup-gcc@v1 + uses: egor-tensin/setup-gcc@v2 with: version: 10 platform: x64 @@ -321,7 +321,7 @@ jobs: if: env.DISABLED != 'yes' - name: Setup GCC - uses: egor-tensin/setup-gcc@v1 + uses: egor-tensin/setup-gcc@v2 with: version: 10 platform: x64 @@ -420,7 +420,7 @@ jobs: run: ./get_pr.sh - name: Setup GCC - uses: egor-tensin/setup-gcc@v1 + uses: egor-tensin/setup-gcc@v2 with: version: 10 platform: x64 diff --git a/.github/workflows/stable-linux.yml b/.github/workflows/stable-linux.yml index 8e6761d..d3f5484 100644 --- a/.github/workflows/stable-linux.yml +++ b/.github/workflows/stable-linux.yml @@ -96,7 +96,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' - name: Setup GCC - uses: egor-tensin/setup-gcc@v1 + uses: egor-tensin/setup-gcc@v2 with: version: 10 platform: x64 @@ -322,7 +322,7 @@ jobs: if: env.DISABLED != 'yes' - name: Setup GCC - uses: egor-tensin/setup-gcc@v1 + uses: egor-tensin/setup-gcc@v2 with: version: 10 platform: x64 @@ -421,7 +421,7 @@ jobs: run: ./get_pr.sh - name: Setup GCC - uses: egor-tensin/setup-gcc@v1 + uses: egor-tensin/setup-gcc@v2 with: version: 10 platform: x64 From fc8f76ad58fe165e0b3dba6f4ed565741707f1ba Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 7 Jan 2026 23:25:34 +0100 Subject: [PATCH 19/38] fix(windows): remove blocking code for versioned setup (#2658) --- patches/windows/disable-versioned-resources.patch | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/patches/windows/disable-versioned-resources.patch b/patches/windows/disable-versioned-resources.patch index 32f3ada..e65dba4 100644 --- a/patches/windows/disable-versioned-resources.patch +++ b/patches/windows/disable-versioned-resources.patch @@ -30,3 +30,18 @@ index a7b01f0..cc60676 100644 - issPath = path.join(import.meta.dirname, 'win32', 'code-insider.iss'); - } const originalProductJsonPath = path.join(sourcePath, versionedResourcesFolder, 'resources/app/product.json'); +diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts +index ae4fd9c..2572548 100644 +--- a/src/vs/platform/update/electron-main/updateService.win32.ts ++++ b/src/vs/platform/update/electron-main/updateService.win32.ts +@@ -94,10 +94,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun + protected override async initialize(): Promise { +- if (this.environmentMainService.isBuilt) { +- const cachePath = await this.cachePath; +- app.setPath('appUpdate', cachePath); +- try { +- await unlink(path.join(cachePath, 'session-ending.flag')); +- } catch { } +- } +- + if (this.productService.target === 'user' && await this.nativeHostMainService.isAdmin(undefined)) { From 7d910f4077410c5fd7cb6f5b391ecbb48ec0edb1 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 14 Jan 2026 03:26:26 +0100 Subject: [PATCH 20/38] feat(1.108): update patches (#2662) --- .nvmrc | 2 +- build/linux/package_reh.sh | 2 +- build/linux/ppc64le/electron.sh | 2 +- build/linux/ppc64le/electron.sha256sums | 20 +-- patches/brand.patch | 154 +++++++----------- patches/disable-copilot.patch | 44 +++-- patches/disable-missing-vsda.patch | 8 +- patches/fix-keymap.patch | 24 +-- patches/fix-policies.patch | 20 +-- .../fix-tunnel-extension-recommendation.patch | 10 ++ patches/linux/arch-1-ppc64le.patch | 45 ++--- patches/linux/arch-2-riscv64.patch | 42 ++--- patches/linux/arch-4-s390x.patch | 30 ++-- patches/terminal-suggest.patch | 8 +- ...lectron.patch => update-electron.patch.no} | 0 product.json | 14 +- upstream/insider.json | 4 +- 17 files changed, 204 insertions(+), 225 deletions(-) create mode 100644 patches/fix-tunnel-extension-recommendation.patch rename patches/{update-electron.patch => update-electron.patch.no} (100%) diff --git a/.nvmrc b/.nvmrc index 442c758..5767036 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.20.0 +22.21.1 diff --git a/build/linux/package_reh.sh b/build/linux/package_reh.sh index 293957e..834a209 100755 --- a/build/linux/package_reh.sh +++ b/build/linux/package_reh.sh @@ -18,7 +18,7 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; } GLIBC_VERSION="2.28" GLIBCXX_VERSION="3.4.26" -NODE_VERSION="22.20.0" +NODE_VERSION="22.21.1" export VSCODE_NODEJS_URLROOT='/download/release' export VSCODE_NODEJS_URLSUFFIX='' diff --git a/build/linux/ppc64le/electron.sh b/build/linux/ppc64le/electron.sh index 0980af9..bd85898 100644 --- a/build/linux/ppc64le/electron.sh +++ b/build/linux/ppc64le/electron.sh @@ -2,5 +2,5 @@ set -ex -export ELECTRON_VERSION="37.2.3" +export ELECTRON_VERSION="39.2.7" export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}" diff --git a/build/linux/ppc64le/electron.sha256sums b/build/linux/ppc64le/electron.sha256sums index 9e3aa9f..26ebd03 100644 --- a/build/linux/ppc64le/electron.sha256sums +++ b/build/linux/ppc64le/electron.sha256sums @@ -1,10 +1,10 @@ -877785ae2383a8a222fa37bda98c148b145931ff8714614aaf330d15d6f92710 *chromedriver-v37.2.3-linux-ppc64le.zip -5ce746efac98a0d83699ef0e03497867ed34d936a268551f26eb2e2972c4d5f5 *electron-v37.2.3-linux-ppc64le-debug.zip -f0ac8a9a9b6c1e330edd53fedaee29699c540691993ace4bb938cdd369895b89 *electron-v37.2.3-linux-ppc64le-symbols.zip -6dc2ac4a8fd4565948ac330be371436d2534aaea633d17ac7743fce8aac42ef0 *electron-v37.2.3-linux-ppc64le.zip -6358a83a03a801d6a85559179e4f12307dee693043ffb26fd40585f369f7db76 *electron.d.ts -25a5ec559f683df305faa9eb082514a9e6dff9f983b7724ddbd82a34bef4890b *hunspell_dictionaries.zip -9da591f8eabbdeba1a51f1b2ec7f2627eaa07d77d0263b6b16abc87a00e2f287 *libcxx-objects-v37.2.3-linux-ppc64le.zip -519a41987f56c133b91affbb13f8fa5331eda9da8750325fae84444532177e02 *libcxx_headers.zip -8607d01b3c828602b3f359458587d5ffa883695756edebf4547aadb0847fdaa9 *libcxxabi_headers.zip -1d40ebef530616b35031333e569247dd265704b496f35ec256220ae081c340c1 *mksnapshot-v37.2.3-linux-ppc64le.zip +bacff46523cea806df9788d9e24f7f53fad2317f18afdcbc596b86863dd40805 *chromedriver-v39.2.7-linux-ppc64le.zip +b83820b37325c0a6ce0bbb98344b54f70ef7c2a949eea61bcb423b18c623a742 *electron-v39.2.7-linux-ppc64le-debug.zip +7d3b4ff4320a54572f9e1e0286702a0bed3e1596a2cb34f8fdc455acf3b9234f *electron-v39.2.7-linux-ppc64le-symbols.zip +6974cf1c8a550019b04762222742b8f1d9d76387594a191d3522cd65da075db1 *electron-v39.2.7-linux-ppc64le.zip +40c772eb189d100087b75da6c2ad1aeb044f1d661c90543592546a654b0b6d5b *electron.d.ts +0c923001d08e474d0dcd3b747b4f9a4bfca685d755ec08de8e44556a63f9ad3a *hunspell_dictionaries.zip +ee57f79e88f50f199a6aeb87fa45c83d1bd0f92eb72e00787cfdf4cf11863562 *libcxx-objects-v39.2.7-linux-ppc64le.zip +a8709029737d3073758ccb384161a37d91f16e5a3f8110ca8e2c30f83ef8d7e6 *libcxx_headers.zip +238dcec817528659a86b0cd3d7dabe301e65b4cab25e45c5bbab7642a8849c02 *libcxxabi_headers.zip +be033ed825bd8be92bb6ca86ff81f0907e60aa999aa011f5ddf1360abb19429b *mksnapshot-v39.2.7-linux-ppc64le.zip diff --git a/patches/brand.patch b/patches/brand.patch index 78c2543..d21e506 100644 --- a/patches/brand.patch +++ b/patches/brand.patch @@ -73,37 +73,37 @@ index 187100b..7514367 100644 +const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75.0 as !!APP_NAME!! will generate these automatically from your package.json contribution declarations."); const starActivation = l10n.t("Using '*' activation is usually a bad idea as it impacts performance."); diff --git a/extensions/git/package.nls.json b/extensions/git/package.nls.json -index b216764..abc245d 100644 +index c883415..b3552db 100644 --- a/extensions/git/package.nls.json +++ b/extensions/git/package.nls.json -@@ -245,3 +245,3 @@ +@@ -247,3 +247,3 @@ "{Locked='](command:git.showOutput'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -273,4 +273,4 @@ +@@ -275,4 +275,4 @@ "config.showCommitInput": "Controls whether to show the commit input in the Git source control panel.", - "config.terminalAuthentication": "Controls whether to enable VS Code to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.", - "config.terminalGitEditor": "Controls whether to enable VS Code to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.", + "config.terminalAuthentication": "Controls whether to enable !!APP_NAME!! to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.", + "config.terminalGitEditor": "Controls whether to enable !!APP_NAME!! to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.", "config.timeline.showAuthor": "Controls whether to show the commit author in the Timeline view.", -@@ -342,3 +342,3 @@ +@@ -346,3 +346,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -352,3 +352,3 @@ +@@ -356,3 +356,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -362,3 +362,3 @@ +@@ -366,3 +366,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -374,6 +374,6 @@ +@@ -378,6 +378,6 @@ "view.workbench.scm.disabled": { - "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -112,7 +112,7 @@ index b216764..abc245d 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -382,6 +382,6 @@ +@@ -386,6 +386,6 @@ "view.workbench.scm.empty": { - "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -121,7 +121,7 @@ index b216764..abc245d 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -390,6 +390,6 @@ +@@ -394,6 +394,6 @@ "view.workbench.scm.folder": { - "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -130,7 +130,7 @@ index b216764..abc245d 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -398,6 +398,6 @@ +@@ -402,6 +402,6 @@ "view.workbench.scm.workspace": { - "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -139,7 +139,7 @@ index b216764..abc245d 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -406,6 +406,6 @@ +@@ -410,6 +410,6 @@ "view.workbench.scm.emptyWorkspace": { - "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -148,27 +148,27 @@ index b216764..abc245d 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -424,3 +424,3 @@ +@@ -428,3 +428,3 @@ "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -433,3 +433,3 @@ +@@ -437,3 +437,3 @@ "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -441,3 +441,3 @@ +@@ -445,3 +445,3 @@ "{Locked='](command:git.manageUnsafeRepositories'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -449,3 +449,3 @@ +@@ -453,3 +453,3 @@ "{Locked='](command:git.manageUnsafeRepositories'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -454,6 +454,6 @@ +@@ -458,6 +458,6 @@ "view.workbench.scm.closedRepository": { - "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -177,7 +177,7 @@ index b216764..abc245d 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -462,6 +462,6 @@ +@@ -466,6 +466,6 @@ "view.workbench.scm.closedRepositories": { - "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -186,12 +186,12 @@ index b216764..abc245d 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -473,3 +473,3 @@ +@@ -477,3 +477,3 @@ "{Locked='](command:git.clone'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -477,3 +477,3 @@ +@@ -481,3 +481,3 @@ }, - "view.workbench.learnMore": "To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm)." + "view.workbench.learnMore": "To learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm)." @@ -452,7 +452,7 @@ index 207698d..9948527 100644 + vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList)); } else { diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json -index f18cecc..e8b10ae 100644 +index 3f586a8..ece1d67 100644 --- a/extensions/vscode-api-tests/package.json +++ b/extensions/vscode-api-tests/package.json @@ -2,3 +2,3 @@ @@ -539,15 +539,15 @@ index 74d25c6..878e228 100644 + progress.report({ message: 'Installing !!APP_NAME!! Server' }); serverLocation = await downloadAndUnzipVSCodeServer(updateUrl, commit, quality, serverBin, m => outputChannel.appendLine(m)); diff --git a/src/main.ts b/src/main.ts -index ec188d0..bb0f727 100644 +index ec2e45c..8d89e2b 100644 --- a/src/main.ts +++ b/src/main.ts -@@ -408,3 +408,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -412,3 +412,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { const defaultArgvConfigContent = [ - '// This configuration file allows you to pass permanent command line arguments to VS Code.', + '// This configuration file allows you to pass permanent command line arguments to !!APP_NAME!!.', '// Only a subset of arguments is currently supported to reduce the likelihood of breaking', -@@ -414,6 +414,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -418,6 +418,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { '//', - '// NOTE: Changing this file requires a restart of VS Code.', + '// NOTE: Changing this file requires a restart of !!APP_NAME!!.', @@ -624,7 +624,7 @@ index 4813da4..9f8fd41 100644 +const TERMINAL_TITLE = nls.localize('console.title', "!!APP_NAME!! Console"); diff --git a/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts b/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts -index 30339af..da4d704 100644 +index 27fd88b..ad97d7b 100644 --- a/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts +++ b/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts @@ -339,3 +339,3 @@ const terminalPlatformConfiguration: IConfigurationNode = { @@ -671,7 +671,7 @@ index 6a0eacf..2959dad 100644 + console.error('Unable to connect to !!APP_NAME!! server: ' + message); console.error(err); diff --git a/src/vs/workbench/api/browser/mainThreadAuthentication.ts b/src/vs/workbench/api/browser/mainThreadAuthentication.ts -index c982088..5e3d33e 100644 +index bfd8397..6181895 100644 --- a/src/vs/workbench/api/browser/mainThreadAuthentication.ts +++ b/src/vs/workbench/api/browser/mainThreadAuthentication.ts @@ -529,3 +529,3 @@ export class MainThreadAuthentication extends Disposable implements MainThreadAu @@ -680,16 +680,16 @@ index c982088..5e3d33e 100644 + comment: 'Used to see which extensions are using the !!APP_NAME!! client id override'; extensionId: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The extension id.' }; diff --git a/src/vs/workbench/api/browser/viewsExtensionPoint.ts b/src/vs/workbench/api/browser/viewsExtensionPoint.ts -index ed0d099..0acc7b0 100644 +index 8337870..fdf02ac 100644 --- a/src/vs/workbench/api/browser/viewsExtensionPoint.ts +++ b/src/vs/workbench/api/browser/viewsExtensionPoint.ts -@@ -45,3 +45,3 @@ const viewsContainerSchema: IJSONSchema = { +@@ -43,3 +43,3 @@ const viewsContainerSchema: IJSONSchema = { id: { - description: localize({ key: 'vscode.extension.contributes.views.containers.id', comment: ['Contribution refers to those that an extension contributes to VS Code through an extension/contribution point. '] }, "Unique id used to identify the container in which views can be contributed using 'views' contribution point"), + description: localize({ key: 'vscode.extension.contributes.views.containers.id', comment: ['Contribution refers to those that an extension contributes to !!APP_NAME!! through an extension/contribution point. '] }, "Unique id used to identify the container in which views can be contributed using 'views' contribution point"), type: 'string', diff --git a/src/vs/workbench/api/common/extHostApiCommands.ts b/src/vs/workbench/api/common/extHostApiCommands.ts -index 436e350..f426464 100644 +index 9349335..a94ff8d 100644 --- a/src/vs/workbench/api/common/extHostApiCommands.ts +++ b/src/vs/workbench/api/common/extHostApiCommands.ts @@ -443,3 +443,3 @@ const newCommands: ApiCommand[] = [ @@ -745,10 +745,10 @@ index e342f83..7c314e6 100644 + throw new Error('Unable to create the !!APP_NAME!! workbench more than once.'); } else { diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts -index 8715c5e..9070d95 100644 +index dd9f46e..fa0c391 100644 --- a/src/vs/workbench/browser/workbench.contribution.ts +++ b/src/vs/workbench/browser/workbench.contribution.ts -@@ -724,3 +724,3 @@ const registry = Registry.as(ConfigurationExtensions.Con +@@ -731,3 +731,3 @@ const registry = Registry.as(ConfigurationExtensions.Con localize('profileName', "`${profileName}`: name of the profile in which the workspace is opened (e.g. Data Science (Profile)). Ignored if default profile is used."), - localize('appName', "`${appName}`: e.g. VS Code."), + localize('appName', "`${appName}`: e.g. !!APP_NAME!!."), @@ -763,21 +763,21 @@ index c0528fe..d1fd07f 100644 +export const InAutomationContext = new RawContextKey('inAutomation', false, localize('inAutomation', "Whether !!APP_NAME!! is running under automation/smoke test")); diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -index ee0b4a4..38040b2 100644 +index fac472c..40e59c7 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -409,3 +409,3 @@ configurationRegistry.registerConfiguration({ +@@ -415,3 +415,3 @@ configurationRegistry.registerConfiguration({ nls.localize('chat.mcp.access.none', "No access to MCP servers."), - nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), + nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), nls.localize('chat.mcp.access.any', "Allow access to any installed MCP server.") -@@ -436,3 +436,3 @@ configurationRegistry.registerConfiguration({ +@@ -442,3 +442,3 @@ configurationRegistry.registerConfiguration({ { - key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), + key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), }, diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts -index 7e6f2a9..00be07b 100644 +index b7c9c49..137d77e 100644 --- a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts +++ b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts @@ -104,3 +104,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { @@ -792,17 +792,8 @@ index 7e6f2a9..00be07b 100644 + modelDescription: 'Scaffold a new workspace in !!APP_NAME!!', + userDescription: localize('setupToolsDescription', "Scaffold a new workspace in !!APP_NAME!!"), canBeReferencedInPrompt: true, -diff --git a/src/vs/workbench/contrib/chat/browser/languageModelToolsService.ts b/src/vs/workbench/contrib/chat/browser/languageModelToolsService.ts -index 8823457..9beb9a7 100644 ---- a/src/vs/workbench/contrib/chat/browser/languageModelToolsService.ts -+++ b/src/vs/workbench/contrib/chat/browser/languageModelToolsService.ts -@@ -142,3 +142,3 @@ export class LanguageModelToolsService extends Disposable implements ILanguageMo - icon: ThemeIcon.fromId(Codicon.vscode.id), -- description: localize('copilot.toolSet.vscode.description', 'Use VS Code features'), -+ description: localize('copilot.toolSet.vscode.description', 'Use !!APP_NAME!! features'), - } diff --git a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts -index cb05edd..9d91520 100644 +index b7e91c4..6e0c67e 100644 --- a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts +++ b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts @@ -179,5 +179,5 @@ export class PromptValidator { @@ -813,25 +804,6 @@ index cb05edd..9d91520 100644 - report(toMarker(localize('promptValidator.unknownAttribute.vscode-agent', "Attribute '{0}' is not supported in VS Code agent files. Supported: {1}.", attribute.key, supportedNames.value), attribute.range, MarkerSeverity.Warning)); + report(toMarker(localize('promptValidator.unknownAttribute.vscode-agent', "Attribute '{0}' is not supported in !!APP_NAME!! agent files. Supported: {1}.", attribute.key, supportedNames.value), attribute.range, MarkerSeverity.Warning)); } -diff --git a/src/vs/workbench/contrib/chat/test/browser/languageModelToolsService.test.ts b/src/vs/workbench/contrib/chat/test/browser/languageModelToolsService.test.ts -index 0fcdd88..55ac444 100644 ---- a/src/vs/workbench/contrib/chat/test/browser/languageModelToolsService.test.ts -+++ b/src/vs/workbench/contrib/chat/test/browser/languageModelToolsService.test.ts -@@ -1072,3 +1072,3 @@ suite('LanguageModelToolsService', () => { - const fullReferenceNames = service.toFullReferenceNames(result).sort(); -- assert.deepStrictEqual(fullReferenceNames, [SpecedToolAliases.agent, SpecedToolAliases.execute].sort(), 'toFullReferenceNames should return the VS Code tool names'); -+ assert.deepStrictEqual(fullReferenceNames, [SpecedToolAliases.agent, SpecedToolAliases.execute].sort(), 'toFullReferenceNames should return the !!APP_NAME!! tool names'); - -@@ -1086,3 +1086,3 @@ suite('LanguageModelToolsService', () => { - const fullReferenceNames = service.toFullReferenceNames(result).sort(); -- assert.deepStrictEqual(fullReferenceNames, ['github/*', 'playwright/*'], 'toFullReferenceNames should return the VS Code tool names'); -+ assert.deepStrictEqual(fullReferenceNames, ['github/*', 'playwright/*'], 'toFullReferenceNames should return the !!APP_NAME!! tool names'); - -@@ -1180,3 +1180,3 @@ suite('LanguageModelToolsService', () => { - const fullReferenceNames = service.toFullReferenceNames(result).sort(); -- assert.deepStrictEqual(fullReferenceNames, ['github/create_branch'], 'toFullReferenceNames should return the VS Code tool names'); -+ assert.deepStrictEqual(fullReferenceNames, ['github/create_branch'], 'toFullReferenceNames should return the !!APP_NAME!! tool names'); - diff --git a/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts b/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts index 7504a9c..2e485bb 100644 --- a/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts @@ -842,7 +814,7 @@ index 7504a9c..2e485bb 100644 + description: nls.localize('debugServer', "For debug extension development only: if a port is specified !!APP_NAME!! tries to connect to a debug adapter running in server mode"), default: 4711 diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -index 147d30b..8a23398 100644 +index f6c294e..6fd209d 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts @@ -353,3 +353,3 @@ CommandsRegistry.registerCommand({ @@ -873,7 +845,7 @@ index 147d30b..8a23398 100644 + : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload VSCodium to enable it."), [{ diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts -index 8daf558..583136a 100644 +index 2b8d2e6..46fb2ca 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts @@ -109,3 +109,3 @@ export class PromptExtensionInstallFailureAction extends Action { @@ -881,17 +853,17 @@ index 8daf558..583136a 100644 - const productName = isWeb ? localize('VS Code for Web', "{0} for the Web", this.productService.nameLong) : this.productService.nameLong; + const productName = isWeb ? localize('!!APP_NAME!! for Web', "{0} for the Web", this.productService.nameLong) : this.productService.nameLong; const message = localize('cannot be installed', "The '{0}' extension is not available in {1}. Click 'More Information' to learn more.", this.extension.displayName || this.extension.identifier.id, productName); -@@ -554,3 +554,3 @@ export class InstallAction extends ExtensionAction { +@@ -553,3 +553,3 @@ export class InstallAction extends ExtensionAction { } else if (this.extension.deprecationInfo.settings) { - detail = localize('deprecated with alternate settings message', "This extension is deprecated as this functionality is now built-in to VS Code."); + detail = localize('deprecated with alternate settings message', "This extension is deprecated as this functionality is now built-in to !!APP_NAME!!."); -@@ -943,3 +943,3 @@ export class UninstallAction extends ExtensionAction { +@@ -942,3 +942,3 @@ export class UninstallAction extends ExtensionAction { await this.extensionsWorkbenchService.uninstall(this.extension); - alert(localize('uninstallExtensionComplete', "Please reload Visual Studio Code to complete the uninstallation of the extension {0}.", this.extension.displayName)); + alert(localize('uninstallExtensionComplete', "Please reload !!APP_NAME!! to complete the uninstallation of the extension {0}.", this.extension.displayName)); } catch (error) { -@@ -2599,3 +2599,3 @@ export class ExtensionStatusAction extends ExtensionAction { +@@ -2598,3 +2598,3 @@ export class ExtensionStatusAction extends ExtensionAction { const link = `[${localize('settings', "settings")}](${createCommandUri('workbench.action.openSettings', this.extension.deprecationInfo.settings.map(setting => `@id:${setting}`).join(' '))}})`; - this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to VS Code. Configure these {0} to use this functionality.", link)) }, true); + this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to !!APP_NAME!!. Configure these {0} to use this functionality.", link)) }, true); @@ -925,7 +897,7 @@ index 818e662..2d2ead7 100644 + '\t// List of extensions recommended by !!APP_NAME!! that should not be recommended for users of this workspace.', '\t"unwantedRecommendations": [', diff --git a/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.ts b/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.ts -index 2d86eda..35e8703 100644 +index 91541b6..ccb9414 100644 --- a/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.ts +++ b/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.ts @@ -23,3 +23,3 @@ export const SearchExtensionsToolData: IToolData = { @@ -964,7 +936,7 @@ index 050dde4..a8a61bd 100644 + description: localize2('configureLocaleDescription', "Changes the locale of !!APP_NAME!! based on installed language packs. Common languages include French, Chinese, Spanish, Japanese, German, Korean, and more.") } diff --git a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts -index d8ddc37..3875647 100644 +index 7f4dfea..2d4da89 100644 --- a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts +++ b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts @@ -262,3 +262,3 @@ export class McpServersListView extends AbstractExtensionsListView = { @@ -1104,12 +1076,12 @@ index 215f976..e9f73df 100644 - markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Windows. Set to `null` to delete the environment variable."), + markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on Windows. Set to `null` to delete the environment variable."), type: 'object', -@@ -472,3 +472,3 @@ const terminalConfiguration: IStringDictionary = { - [TerminalSettingId.WindowsUseConptyDll]: { -- markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.22.250204002) shipped with VS Code, instead of the one bundled with Windows."), -+ markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.22.250204002) shipped with !!APP_NAME!!, instead of the one bundled with Windows."), +@@ -473,3 +473,3 @@ const terminalConfiguration: IStringDictionary = { + restricted: true, +- markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with VS Code, instead of the one bundled with Windows."), ++ markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with !!APP_NAME!!, instead of the one bundled with Windows."), type: 'boolean', -@@ -579,3 +579,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -591,3 +591,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VS Code insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), + markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives !!APP_NAME!! insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), @@ -1124,7 +1096,7 @@ index 4979520..30ae11b 100644 + markdownDescription: localize('terminal.integrated.autoReplies', "A set of messages that, when encountered in the terminal, will be automatically responded to. Provided the message is specific enough, this can help automate away common responses.\n\nRemarks:\n\n- Use {0} to automatically respond to the terminate batch job prompt on Windows.\n- The message includes escape sequences so the reply might not happen with styled text.\n- Each reply can only happen once every second.\n- Use {1} in the reply to mean the enter key.\n- To unset a default key, set the value to null.\n- Restart !!APP_NAME!! if new don't apply.", '`"Terminate batch job (Y/N)": "Y\\r"`', '`"\\r"`'), type: 'object', diff --git a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts -index acc753f..8e791ff 100644 +index b5ec1c1..737f2be 100644 --- a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts +++ b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts @@ -240,3 +240,3 @@ export const CreateAndRunTaskToolData: IToolData = { @@ -1133,7 +1105,7 @@ index acc753f..8e791ff 100644 + 'description': `The problem matcher to use to parse task output for errors and warnings. Can be a predefined matcher like '$tsc' (TypeScript), '$eslint - stylish', '$gcc', etc., or a custom pattern defined in tasks.json. This helps !!APP_NAME!! display errors in the Problems panel and enables quick navigation to error locations.`, 'items': { diff --git a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts -index e04ec3a..f72ed53 100644 +index f92fe12..a5a7e02 100644 --- a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts +++ b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts @@ -152,3 +152,3 @@ export const RunTaskToolData: IToolData = { @@ -1142,10 +1114,10 @@ index e04ec3a..f72ed53 100644 + modelDescription: 'Runs a !!APP_NAME!! task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the run_in_terminal tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.', userDescription: localize('runInTerminalTool.userDescription', 'Run tasks in the workspace'), diff --git a/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts b/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts -index 3e185e3..e855bef 100644 +index 0f23e5a..27f311e 100644 --- a/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts +++ b/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts -@@ -51,3 +51,3 @@ export function registerTerminalVoiceActions() { +@@ -56,3 +56,3 @@ export function registerTerminalVoiceActions() { } else { - message = localize('terminal.voice.installSpeechExtension', "Would you like to install 'VS Code Speech' extension from 'Microsoft'?"); + message = localize('terminal.voice.installSpeechExtension', "Would you like to install '!!APP_NAME!! Speech' extension from 'Microsoft'?"); @@ -1468,7 +1440,7 @@ index f6c18c6..6d6b39c 100644 + description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for !!APP_NAME!! extension. Script that gets executed when the extension is completely uninstalled from !!APP_NAME!! which is when !!APP_NAME!! is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'), type: 'string' diff --git a/src/vs/workbench/services/extensions/electron-browser/nativeExtensionService.ts b/src/vs/workbench/services/extensions/electron-browser/nativeExtensionService.ts -index 3080657..ca30404 100644 +index 2b6104a..9d2dffd 100644 --- a/src/vs/workbench/services/extensions/electron-browser/nativeExtensionService.ts +++ b/src/vs/workbench/services/extensions/electron-browser/nativeExtensionService.ts @@ -167,3 +167,3 @@ export class NativeExtensionService extends AbstractExtensionService implements diff --git a/patches/disable-copilot.patch b/patches/disable-copilot.patch index 60fa8ef..f00ec4b 100644 --- a/patches/disable-copilot.patch +++ b/patches/disable-copilot.patch @@ -1,58 +1,58 @@ diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts -index 43eea51..4ce6918 100644 +index 2543324..338c0ca 100644 --- a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts +++ b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts -@@ -181,3 +181,4 @@ abstract class OpenChatGlobalAction extends Action2 { +@@ -170,3 +170,4 @@ abstract class OpenChatGlobalAction extends Action2 { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ) -@@ -1395,3 +1396,3 @@ export function registerChatActions() { +@@ -734,3 +735,3 @@ export function registerChatActions() { precondition: ContextKeyExpr.and( - ChatContextKeys.Setup.installed, + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.disabled.negate(), -@@ -1608,3 +1609,4 @@ MenuRegistry.appendMenuItem(MenuId.CommandCenter, { +@@ -947,3 +948,4 @@ MenuRegistry.appendMenuItem(MenuId.CommandCenter, { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ), -@@ -1625,3 +1627,4 @@ MenuRegistry.appendMenuItem(MenuId.TitleBar, { +@@ -964,3 +966,4 @@ MenuRegistry.appendMenuItem(MenuId.TitleBar, { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ), -@@ -1642,3 +1645,4 @@ registerAction2(class ToggleCopilotControl extends ToggleTitleBarConfigAction { +@@ -981,3 +984,4 @@ registerAction2(class ToggleCopilotControl extends ToggleTitleBarConfigAction { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ), -@@ -1779,3 +1783,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, { +@@ -1119,3 +1123,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ) diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -index ee0b4a4..c6243b8 100644 +index fac472c..107a3b1 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -187,3 +187,3 @@ configurationRegistry.registerConfiguration({ +@@ -186,3 +186,3 @@ configurationRegistry.registerConfiguration({ markdownDescription: nls.localize('chat.commandCenter.enabled', "Controls whether the command center shows a menu for actions to control chat (requires {0}).", '`#window.commandCenter#`'), - default: true + default: false }, -@@ -801,3 +801,3 @@ configurationRegistry.registerConfiguration({ +@@ -802,3 +802,3 @@ configurationRegistry.registerConfiguration({ description: nls.localize('chat.disableAIFeatures', "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."), - default: false, + default: true, scope: ConfigurationScope.WINDOW diff --git a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts -index 9573667..f71e066 100644 +index 8953884..cf0c2d2 100644 --- a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts @@ -67,10 +67,9 @@ const chatViewDescriptor: IViewDescriptor = { @@ -73,19 +73,17 @@ index 9573667..f71e066 100644 + ChatContextKeys.extensionInvalid.negate() + ) }; -diff --git a/src/vs/workbench/contrib/chat/common/chatContextKeys.ts b/src/vs/workbench/contrib/chat/common/chatContextKeys.ts -index 09aef7e..daf6437 100644 ---- a/src/vs/workbench/contrib/chat/common/chatContextKeys.ts -+++ b/src/vs/workbench/contrib/chat/common/chatContextKeys.ts -@@ -113,4 +113,4 @@ export namespace ChatContextKeyExprs { - */ -- export const chatSetupTriggerContext = ContextKeyExpr.or( +diff --git a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts +index 62efc91..12e97c6 100644 +--- a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts ++++ b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts +@@ -119,3 +119,3 @@ export namespace ChatContextKeyExprs { + export const chatSetupTriggerContext = ContextKeyExpr.or( - ChatContextKeys.Setup.installed.negate(), -+ export const chatSetupTriggerContext = ContextKeyExpr.and( + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Entitlement.canSignUp diff --git a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts -index d8ddc37..f48fd86 100644 +index 7f4dfea..5957267 100644 --- a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts +++ b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts @@ -540,3 +540,3 @@ export class McpServersViewsContribution extends Disposable implements IWorkbenc @@ -99,7 +97,7 @@ index d8ddc37..f48fd86 100644 + when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`).negate(), ProductQualityContext.isEqualTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`).negate()), weight: 40, diff --git a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -index fe12782..06b1b76 100644 +index 6f533f1..56c8f9d 100644 --- a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts +++ b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts @@ -685,3 +685,3 @@ registerAction2(class extends Action2 { @@ -108,10 +106,10 @@ index fe12782..06b1b76 100644 + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ContextKeyExpr.in(ResourceContextKey.Resource.key, 'git.mergeChanges'), diff --git a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts -index 4260a28..6ac55b6 100644 +index cfea087..5f3efe3 100644 --- a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts +++ b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts -@@ -1383,3 +1383,3 @@ registerAction2(class extends Action2 { +@@ -1391,3 +1391,3 @@ registerAction2(class extends Action2 { ChatContextKeys.Setup.disabled.negate(), - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), diff --git a/patches/disable-missing-vsda.patch b/patches/disable-missing-vsda.patch index 1897f14..1ecdb7e 100644 --- a/patches/disable-missing-vsda.patch +++ b/patches/disable-missing-vsda.patch @@ -1,5 +1,5 @@ diff --git a/src/vs/platform/sign/browser/signService.ts b/src/vs/platform/sign/browser/signService.ts -index ec1e11b..8303040 100644 +index c288b2e..8303040 100644 --- a/src/vs/platform/sign/browser/signService.ts +++ b/src/vs/platform/sign/browser/signService.ts @@ -5,6 +5,2 @@ @@ -11,7 +11,7 @@ index ec1e11b..8303040 100644 import { IProductService } from '../../product/common/productService.js'; @@ -13,30 +9,4 @@ import { ISignService } from '../common/sign.js'; --declare module vsdaWeb { +-declare namespace vsdaWeb { - export function sign(salted_message: string): string; - - // eslint-disable-next-line @typescript-eslint/naming-convention @@ -99,7 +99,7 @@ index ec1e11b..8303040 100644 + throw new Error('error loading vsda'); } diff --git a/src/vs/server/node/remoteExtensionHostAgentServer.ts b/src/vs/server/node/remoteExtensionHostAgentServer.ts -index e7949d3..2a553cc 100644 +index 269cc38..a53fca9 100644 --- a/src/vs/server/node/remoteExtensionHostAgentServer.ts +++ b/src/vs/server/node/remoteExtensionHostAgentServer.ts @@ -8,3 +8,2 @@ import type * as http from 'http'; @@ -110,7 +110,7 @@ index e7949d3..2a553cc 100644 import { CacheControl, serveError, serveFile, WebClientServer } from './webClientServer.js'; -const require = createRequire(import.meta.url); -@@ -734,14 +732,3 @@ export async function createServer(address: string | net.AddressInfo | null, arg +@@ -736,14 +734,3 @@ export async function createServer(address: string | net.AddressInfo | null, arg - const vsdaMod = instantiationService.invokeFunction((accessor) => { - const logService = accessor.get(ILogService); diff --git a/patches/fix-keymap.patch b/patches/fix-keymap.patch index 71ed3f2..9f7f637 100644 --- a/patches/fix-keymap.patch +++ b/patches/fix-keymap.patch @@ -1,5 +1,5 @@ diff --git a/.npmrc b/.npmrc -index e4a5cc2..71db628 100644 +index 060337b..9292787 100644 --- a/.npmrc +++ b/.npmrc @@ -5,2 +5,3 @@ runtime="electron" @@ -7,7 +7,7 @@ index e4a5cc2..71db628 100644 +build_from_source_native_keymap="no" legacy-peer-deps="true" diff --git a/build/.moduleignore b/build/.moduleignore -index 0459b46..cd99c71 100644 +index fc7c538..7aece0d 100644 --- a/build/.moduleignore +++ b/build/.moduleignore @@ -65,7 +65,7 @@ fsevents/test/** @@ -24,22 +24,22 @@ index 0459b46..cd99c71 100644 +!@vscodium/native-keymap/build/Release/*.node diff --git a/eslint.config.js b/eslint.config.js -index 8fda673..967ae23 100644 +index e9809e6..6065336 100644 --- a/eslint.config.js +++ b/eslint.config.js -@@ -1475,3 +1475,3 @@ export default tseslint.config( +@@ -1465,3 +1465,3 @@ export default tseslint.config( 'node:module', - 'native-keymap', + '@vscodium/native-keymap', 'native-watchdog', diff --git a/package-lock.json b/package-lock.json -index 2b1154b..834f597 100644 +index b7ae476..93692b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,2 +29,3 @@ "@vscode/windows-registry": "^1.1.0", + "@vscodium/native-keymap": "3.3.7-258424", - "@xterm/addon-clipboard": "^0.2.0-beta.119", + "@xterm/addon-clipboard": "^0.3.0-beta.91", @@ -46,3 +47,2 @@ "native-is-elevated": "0.8.0", - "native-keymap": "^3.3.5", @@ -54,7 +54,7 @@ index 2b1154b..834f597 100644 + "license": "MIT" + }, "node_modules/@webassemblyjs/ast": { -@@ -12662,5 +12669,6 @@ +@@ -12516,5 +12523,6 @@ "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -64,7 +64,7 @@ index 2b1154b..834f597 100644 + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" }, -@@ -12673,9 +12681,2 @@ +@@ -12527,9 +12535,2 @@ }, - "node_modules/native-keymap": { - "version": "3.3.7", @@ -74,7 +74,7 @@ index 2b1154b..834f597 100644 - "license": "MIT" - }, "node_modules/native-watchdog": { -@@ -14180,5 +14181,6 @@ +@@ -13922,5 +13923,6 @@ "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", @@ -84,13 +84,13 @@ index 2b1154b..834f597 100644 + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", "dependencies": { -@@ -14189,3 +14191,3 @@ +@@ -13931,3 +13933,3 @@ "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", diff --git a/package.json b/package.json -index 9ef8381..a3f77c0 100644 +index b9978d4..bffe52e 100644 --- a/package.json +++ b/package.json @@ -108,3 +108,3 @@ @@ -99,7 +99,7 @@ index 9ef8381..a3f77c0 100644 + "@vscodium/native-keymap": "3.3.7-258424", "native-watchdog": "^1.4.1", diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -index 5099915..aa1b0b8 100644 +index d4ce18a..9db7f76 100644 --- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts @@ -44,8 +44,8 @@ flakySuite('Native Modules (all platforms)', () => { diff --git a/patches/fix-policies.patch b/patches/fix-policies.patch index 7653a09..5e72399 100644 --- a/patches/fix-policies.patch +++ b/patches/fix-policies.patch @@ -1,5 +1,5 @@ diff --git a/build/.moduleignore b/build/.moduleignore -index cd99c71..9d14923 100644 +index 7aece0d..baebcd5 100644 --- a/build/.moduleignore +++ b/build/.moduleignore @@ -128,9 +128,11 @@ vsda/** @@ -22,27 +22,27 @@ index cd99c71..9d14923 100644 +!@vscodium/policy-watcher/build/Release/vscodium-policy-watcher.node diff --git a/eslint.config.js b/eslint.config.js -index 967ae23..16580ab 100644 +index 6065336..1d36678 100644 --- a/eslint.config.js +++ b/eslint.config.js -@@ -1458,3 +1458,3 @@ export default tseslint.config( +@@ -1448,3 +1448,3 @@ export default tseslint.config( '@vscode/iconv-lite-umd', - '@vscode/policy-watcher', + '@vscodium/policy-watcher', '@vscode/proxy-agent', diff --git a/package-lock.json b/package-lock.json -index 834f597..95a1aea 100644 +index 93692b8..fd1d22a 100644 --- a/package-lock.json +++ b/package-lock.json -@@ -18,3 +18,2 @@ +@@ -17,3 +17,2 @@ "@vscode/iconv-lite-umd": "0.7.1", - "@vscode/policy-watcher": "^1.3.2", "@vscode/proxy-agent": "^0.36.0", @@ -30,2 +29,3 @@ "@vscodium/native-keymap": "3.3.7-258424", + "@vscodium/policy-watcher": "^1.3.2-252465", - "@xterm/addon-clipboard": "^0.2.0-beta.119", -@@ -2972,22 +2972,2 @@ + "@xterm/addon-clipboard": "^0.3.0-beta.91", +@@ -2952,22 +2952,2 @@ }, - "node_modules/@vscode/policy-watcher": { - "version": "1.3.5", @@ -89,10 +89,10 @@ index 834f597..95a1aea 100644 + }, "node_modules/@webassemblyjs/ast": { diff --git a/package.json b/package.json -index a3f77c0..e1d6178 100644 +index bffe52e..d0e04d0 100644 --- a/package.json +++ b/package.json -@@ -80,3 +80,3 @@ +@@ -79,3 +79,3 @@ "@vscode/iconv-lite-umd": "0.7.1", - "@vscode/policy-watcher": "^1.3.2", + "@vscodium/policy-watcher": "^1.3.2-252465", @@ -197,7 +197,7 @@ index ee0a24b..881ce36 100644 +/Users/example/node_modules/@vscodium/policy-watcher/src/windows/NumberPolicy.hh /Users/example/node_modules/@vscode/vscode-languagedetection/CODE_OF_CONDUCT.md diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -index aa1b0b8..c56e16e 100644 +index 9db7f76..33beb8c 100644 --- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts @@ -62,5 +62,5 @@ flakySuite('Native Modules (all platforms)', () => { diff --git a/patches/fix-tunnel-extension-recommendation.patch b/patches/fix-tunnel-extension-recommendation.patch new file mode 100644 index 0000000..4c1cc48 --- /dev/null +++ b/patches/fix-tunnel-extension-recommendation.patch @@ -0,0 +1,10 @@ +diff --git a/src/vs/workbench/contrib/remoteTunnel/electron-browser/remoteTunnel.contribution.ts b/src/vs/workbench/contrib/remoteTunnel/electron-browser/remoteTunnel.contribution.ts +index 0eaa650..43eeee6 100644 +--- a/src/vs/workbench/contrib/remoteTunnel/electron-browser/remoteTunnel.contribution.ts ++++ b/src/vs/workbench/contrib/remoteTunnel/electron-browser/remoteTunnel.contribution.ts +@@ -152,2 +152,5 @@ export class RemoteTunnelWorkbenchContribution extends Disposable implements IWo + const shouldRecommend = async () => { ++ if (!Boolean(remoteExtension)) { ++ return false; ++ } + if (this.storageService.getBoolean(REMOTE_TUNNEL_EXTENSION_RECOMMENDED_KEY, StorageScope.APPLICATION)) { diff --git a/patches/linux/arch-1-ppc64le.patch b/patches/linux/arch-1-ppc64le.patch index 5a640b5..dbe7397 100644 --- a/patches/linux/arch-1-ppc64le.patch +++ b/patches/linux/arch-1-ppc64le.patch @@ -1,5 +1,5 @@ diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh -index 742aaef..b98ce1e 100755 +index 2c98e50..6ff90d4 100755 --- a/build/azure-pipelines/linux/setup-env.sh +++ b/build/azure-pipelines/linux/setup-env.sh @@ -76,2 +76,14 @@ elif [ "$npm_config_arch" == "arm" ]; then @@ -18,7 +18,7 @@ index 742aaef..b98ce1e 100755 + export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu" fi diff --git a/build/azure-pipelines/linux/verify-glibc-requirements.sh b/build/azure-pipelines/linux/verify-glibc-requirements.sh -index 5294177..1e33aeb 100755 +index 3db9047..1418fee 100755 --- a/build/azure-pipelines/linux/verify-glibc-requirements.sh +++ b/build/azure-pipelines/linux/verify-glibc-requirements.sh @@ -9,2 +9,4 @@ elif [ "$VSCODE_ARCH" == "armhf" ]; then @@ -34,7 +34,7 @@ index 5744a5f..3fedbe9 100644 84acc5a15566c98ddf80631731d672e0ce9febcf3f2e969101e0dfd7ef2405e3 x86_64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz +fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts -index cb1a0a5..83ab52b 100644 +index 6c21dd2..f986b4e 100644 --- a/build/gulpfile.reh.ts +++ b/build/gulpfile.reh.ts @@ -52,2 +52,3 @@ const BUILD_TARGETS = [ @@ -66,20 +66,21 @@ index c5d2163..da4fc1f 100644 + { arch: 'ppc64le' }, ]; diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index d3ab651..075b29c 100644 +index d5efbdb..1d7e9d5 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -507,2 +507,3 @@ const BUILD_TARGETS = [ +@@ -517,2 +517,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'arm64' }, + { platform: 'linux', arch: 'ppc64le' }, ]; diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts -index 98a9630..8265f30 100644 +index 98a9630..6c6bbf5 100644 --- a/build/linux/debian/calculate-deps.ts +++ b/build/linux/debian/calculate-deps.ts -@@ -61,2 +61,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi +@@ -61,2 +61,9 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi break; + case 'ppc64el': ++ case 'ppc64le': + cmd.push(`-l${chromiumSysroot}/usr/lib/powerpc64le-linux-gnu`, + `-l${chromiumSysroot}/lib/powerpc64le-linux-gnu`, + `-l${vscodeSysroot}/usr/lib/powerpc64le-linux-gnu`, @@ -133,28 +134,28 @@ index 34ecdf1..73d451f 100644 + ], }; diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts -index 0d9dc55..ee3c136 100644 +index 0d9dc55..3086928 100644 --- a/build/linux/debian/install-sysroot.ts +++ b/build/linux/debian/install-sysroot.ts @@ -158,2 +158,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean = break; -+ case 'ppc64el': ++ case 'ppc64le': + expectedName = `powerpc64le-linux-gnu${prefix}.tar.gz`; + triple = `powerpc64le-linux-gnu`; + break; } diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts -index e97485e..43f2434 100644 +index e97485e..c56d067 100644 --- a/build/linux/debian/types.ts +++ b/build/linux/debian/types.ts @@ -5,6 +5,6 @@ -export type DebianArchString = 'amd64' | 'armhf' | 'arm64'; -+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el'; ++export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'ppc64le'; export function isDebianArchString(s: string): s is DebianArchString { - return ['amd64', 'armhf', 'arm64'].includes(s); -+ return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s); ++ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le'].includes(s); } diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts index 783923f..fba6ee4 100644 @@ -277,27 +278,27 @@ index c6a01da..3f3c3f5 100644 + return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s); } diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs -index 3e0895f..3fb7ffc 100644 +index 3b7ef5c..ec97760 100644 --- a/cli/src/update_service.rs +++ b/cli/src/update_service.rs -@@ -186,2 +186,3 @@ pub enum Platform { +@@ -183,2 +183,3 @@ pub enum Platform { LinuxARM32Legacy, + LinuxPPC64LE, DarwinX64, -@@ -204,2 +205,3 @@ impl Platform { +@@ -201,2 +202,3 @@ impl Platform { Platform::LinuxARM32Legacy => "armhf", + Platform::LinuxPPC64LE => "ppc64le", Platform::DarwinX64 => "x64", -@@ -223,2 +225,3 @@ impl Platform { +@@ -220,2 +222,3 @@ impl Platform { Platform::LinuxARM32Legacy => "linux", + Platform::LinuxPPC64LE => "linux", Platform::DarwinX64 => "darwin", -@@ -251,2 +254,4 @@ impl Platform { +@@ -248,2 +251,4 @@ impl Platform { Some(Platform::LinuxARM64) + } else if cfg!(all(target_os = "linux", target_arch = "powerpc64")) { + Some(Platform::LinuxPPC64LE) } else if cfg!(all(target_os = "macos", target_arch = "x86_64")) { -@@ -278,2 +283,3 @@ impl fmt::Display for Platform { +@@ -275,2 +280,3 @@ impl fmt::Display for Platform { Platform::LinuxARM32Legacy => "LinuxARM32Legacy", + Platform::LinuxPPC64LE => "LinuxPPC64LE", Platform::DarwinX64 => "DarwinX64", @@ -311,12 +312,12 @@ index 44c8597..679aacb 100644 + Platform::LinuxPPC64LE } else { diff --git a/resources/server/bin/helpers/check-requirements-linux.sh b/resources/server/bin/helpers/check-requirements-linux.sh -index 8ea4c0b..b9d3b47 100644 +index 8ea4c0b..94028e3 100644 --- a/resources/server/bin/helpers/check-requirements-linux.sh +++ b/resources/server/bin/helpers/check-requirements-linux.sh @@ -55,2 +55,3 @@ case $ARCH in ;; -+ ppc64el) LDCONFIG_ARCH="64bit";; ++ ppc64le) LDCONFIG_ARCH="64bit";; esac diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts index 34eaca0..a754ff3 100644 @@ -337,10 +338,10 @@ index 34eaca0..a754ff3 100644 + } return TargetPlatform.UNKNOWN; diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts -index 4c5d20c..1735ac9 100644 +index 8961b90..b605be0 100644 --- a/src/vs/platform/extensions/common/extensions.ts +++ b/src/vs/platform/extensions/common/extensions.ts -@@ -330,2 +330,3 @@ export const enum TargetPlatform { +@@ -331,2 +331,3 @@ export const enum TargetPlatform { LINUX_ARMHF = 'linux-armhf', + LINUX_PPC64LE = 'linux-ppc64le', diff --git a/patches/linux/arch-2-riscv64.patch b/patches/linux/arch-2-riscv64.patch index ff5155b..637d808 100644 --- a/patches/linux/arch-2-riscv64.patch +++ b/patches/linux/arch-2-riscv64.patch @@ -1,5 +1,5 @@ diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts -index 83ab52b..ff202a7 100644 +index f986b4e..557990e 100644 --- a/build/gulpfile.reh.ts +++ b/build/gulpfile.reh.ts @@ -53,2 +53,3 @@ const BUILD_TARGETS = [ @@ -31,18 +31,18 @@ index da4fc1f..b64dd9a 100644 + { arch: 'riscv64' }, ]; diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index 075b29c..15bd141 100644 +index 1d7e9d5..3a5a9ca 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -508,2 +508,3 @@ const BUILD_TARGETS = [ +@@ -518,2 +518,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'ppc64le' }, + { platform: 'linux', arch: 'riscv64' }, ]; diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts -index 8265f30..5503896 100644 +index 6c6bbf5..5ee005e 100644 --- a/build/linux/debian/calculate-deps.ts +++ b/build/linux/debian/calculate-deps.ts -@@ -67,2 +67,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi +@@ -68,2 +68,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi break; + case 'riscv64': + cmd.push(`-l${chromiumSysroot}/usr/lib/riscv64-linux-gnu`, @@ -99,7 +99,7 @@ index 73d451f..7ea5910 100644 + ], }; diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts -index ee3c136..53ff8eb 100644 +index 3086928..6e5246c 100644 --- a/build/linux/debian/install-sysroot.ts +++ b/build/linux/debian/install-sysroot.ts @@ -162,2 +162,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean = @@ -110,17 +110,17 @@ index ee3c136..53ff8eb 100644 + break; } diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts -index 43f2434..24fe452 100644 +index c56d067..5d63ed2 100644 --- a/build/linux/debian/types.ts +++ b/build/linux/debian/types.ts @@ -5,6 +5,6 @@ --export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el'; -+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'riscv64'; +-export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'ppc64le'; ++export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'ppc64le' | 'riscv64'; export function isDebianArchString(s: string): s is DebianArchString { -- return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s); -+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s); +- return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le'].includes(s); ++ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le', 'riscv64'].includes(s); } diff --git a/build/linux/rpm/types.ts b/build/linux/rpm/types.ts index 3f3c3f5..d94537e 100644 @@ -136,27 +136,27 @@ index 3f3c3f5..d94537e 100644 + return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s); } diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs -index 3fb7ffc..f1afd87 100644 +index ec97760..de9ca72 100644 --- a/cli/src/update_service.rs +++ b/cli/src/update_service.rs -@@ -187,2 +187,3 @@ pub enum Platform { +@@ -184,2 +184,3 @@ pub enum Platform { LinuxPPC64LE, + LinuxRISCV64, DarwinX64, -@@ -206,2 +207,3 @@ impl Platform { +@@ -203,2 +204,3 @@ impl Platform { Platform::LinuxPPC64LE => "ppc64le", + Platform::LinuxRISCV64 => "riscv64", Platform::DarwinX64 => "x64", -@@ -226,2 +228,3 @@ impl Platform { +@@ -223,2 +225,3 @@ impl Platform { Platform::LinuxPPC64LE => "linux", + Platform::LinuxRISCV64 => "linux", Platform::DarwinX64 => "darwin", -@@ -256,2 +259,4 @@ impl Platform { +@@ -253,2 +256,4 @@ impl Platform { Some(Platform::LinuxPPC64LE) + } else if cfg!(all(target_os = "linux", target_arch = "riscv64")) { + Some(Platform::LinuxRISCV64) } else if cfg!(all(target_os = "macos", target_arch = "x86_64")) { -@@ -284,2 +289,3 @@ impl fmt::Display for Platform { +@@ -281,2 +286,3 @@ impl fmt::Display for Platform { Platform::LinuxPPC64LE => "LinuxPPC64LE", + Platform::LinuxRISCV64 => "LinuxRISCV64", Platform::DarwinX64 => "DarwinX64", @@ -170,11 +170,11 @@ index 679aacb..1a37552 100644 + Platform::LinuxRISCV64 } else { diff --git a/resources/server/bin/helpers/check-requirements-linux.sh b/resources/server/bin/helpers/check-requirements-linux.sh -index b9d3b47..b18e402 100644 +index 94028e3..c41cce7 100644 --- a/resources/server/bin/helpers/check-requirements-linux.sh +++ b/resources/server/bin/helpers/check-requirements-linux.sh @@ -56,2 +56,3 @@ case $ARCH in - ppc64el) LDCONFIG_ARCH="64bit";; + ppc64le) LDCONFIG_ARCH="64bit";; + riscv64) LDCONFIG_ARCH="RISC-V";; esac diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts @@ -196,10 +196,10 @@ index a754ff3..b607327 100644 + } return TargetPlatform.UNKNOWN; diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts -index 1735ac9..96d08cb 100644 +index b605be0..22d2206 100644 --- a/src/vs/platform/extensions/common/extensions.ts +++ b/src/vs/platform/extensions/common/extensions.ts -@@ -331,2 +331,3 @@ export const enum TargetPlatform { +@@ -332,2 +332,3 @@ export const enum TargetPlatform { LINUX_PPC64LE = 'linux-ppc64le', + LINUX_RISCV64 = 'linux-riscv64', diff --git a/patches/linux/arch-4-s390x.patch b/patches/linux/arch-4-s390x.patch index aba2837..163b71a 100644 --- a/patches/linux/arch-4-s390x.patch +++ b/patches/linux/arch-4-s390x.patch @@ -1,5 +1,5 @@ diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh -index b98ce1e..c078682 100755 +index 6ff90d4..381150d 100755 --- a/build/azure-pipelines/linux/setup-env.sh +++ b/build/azure-pipelines/linux/setup-env.sh @@ -88,2 +88,14 @@ elif [ "$npm_config_arch" == "ppc64" ]; then @@ -25,7 +25,7 @@ index 3fedbe9..3c4e291 100644 fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz +7055f3d40e7195fb1e13f0fbaf5ffadf781bddaca5fd5e0d9972f4157a203fb5 s390x-linux-gnu-glibc-2.28.tar.gz diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts -index 74bd1bc..ba46ff2 100644 +index af8403a..a697f8c 100644 --- a/build/gulpfile.reh.ts +++ b/build/gulpfile.reh.ts @@ -55,2 +55,3 @@ const BUILD_TARGETS = [ @@ -57,18 +57,18 @@ index e146586..ca18865 100644 + { arch: 's390x' }, ]; diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index cabe16f..2703602 100644 +index d5f3ed8..ac87a54 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -510,2 +510,3 @@ const BUILD_TARGETS = [ +@@ -520,2 +520,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'loong64' }, + { platform: 'linux', arch: 's390x' }, ]; diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts -index 5503896..dfae87c 100644 +index 5ee005e..71fb92e 100644 --- a/build/linux/debian/calculate-deps.ts +++ b/build/linux/debian/calculate-deps.ts -@@ -73,2 +73,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi +@@ -74,2 +74,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi break; + case 's390x': + cmd.push(`-l${chromiumSysroot}/usr/lib/s390x-linux-gnu`, @@ -125,7 +125,7 @@ index 7ea5910..9498993 100644 + ], }; diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts -index 53ff8eb..137f1be 100644 +index 6e5246c..89fac34 100644 --- a/build/linux/debian/install-sysroot.ts +++ b/build/linux/debian/install-sysroot.ts @@ -166,2 +166,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean = @@ -136,17 +136,17 @@ index 53ff8eb..137f1be 100644 + break; } diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts -index 24fe452..9efba5b 100644 +index 5d63ed2..5f793e2 100644 --- a/build/linux/debian/types.ts +++ b/build/linux/debian/types.ts @@ -5,6 +5,6 @@ --export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'riscv64'; -+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'riscv64' | 's390x'; +-export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'ppc64le' | 'riscv64'; ++export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'ppc64le' | 'riscv64' | 's390x'; export function isDebianArchString(s: string): s is DebianArchString { -- return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s); -+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64', 's390x'].includes(s); +- return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le', 'riscv64'].includes(s); ++ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le', 'riscv64', 's390x'].includes(s); } diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts index fba6ee4..33efc80 100644 @@ -269,7 +269,7 @@ index d94537e..3834b94 100644 + return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64', 's390x'].includes(s); } diff --git a/resources/server/bin/helpers/check-requirements-linux.sh b/resources/server/bin/helpers/check-requirements-linux.sh -index 0b7aa4e..e8b7ce0 100644 +index dc9faac..9078cc9 100644 --- a/resources/server/bin/helpers/check-requirements-linux.sh +++ b/resources/server/bin/helpers/check-requirements-linux.sh @@ -58,2 +58,3 @@ case $ARCH in @@ -295,10 +295,10 @@ index 7162d83..f6bb8fd 100644 + } return TargetPlatform.UNKNOWN; diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts -index 51e67ea..a006165 100644 +index f93e0ca..c4cc8c9 100644 --- a/src/vs/platform/extensions/common/extensions.ts +++ b/src/vs/platform/extensions/common/extensions.ts -@@ -333,2 +333,3 @@ export const enum TargetPlatform { +@@ -334,2 +334,3 @@ export const enum TargetPlatform { LINUX_LOONG64 = 'linux-loong64', + LINUX_S390X = 'linux-s390x', diff --git a/patches/terminal-suggest.patch b/patches/terminal-suggest.patch index e77a40a..d7dd594 100644 --- a/patches/terminal-suggest.patch +++ b/patches/terminal-suggest.patch @@ -29,16 +29,16 @@ index 0000000..1daa1fe + +export default codiumCompletionSpec; diff --git a/extensions/terminal-suggest/src/terminalSuggestMain.ts b/extensions/terminal-suggest/src/terminalSuggestMain.ts -index b0f197f..6884365 100644 +index 95654ff..202474b 100644 --- a/extensions/terminal-suggest/src/terminalSuggestMain.ts +++ b/extensions/terminal-suggest/src/terminalSuggestMain.ts -@@ -10,2 +10,4 @@ import codeCompletionSpec from './completions/code'; +@@ -13,2 +13,4 @@ import codeCompletionSpec from './completions/code'; import codeInsidersCompletionSpec from './completions/code-insiders'; +import codiumCompletionSpec from './completions/codium'; +import codiumInsidersCompletionSpec from './completions/codium-insiders'; import codeTunnelCompletionSpec from './completions/code-tunnel'; -@@ -64,2 +66,4 @@ export const availableSpecs: Fig.Spec[] = [ +@@ -76,2 +78,4 @@ export const availableSpecs: Fig.Spec[] = [ npxCompletionSpec, + codiumInsidersCompletionSpec, + codiumCompletionSpec, - setLocationSpec, + pnpmCompletionSpec, diff --git a/patches/update-electron.patch b/patches/update-electron.patch.no similarity index 100% rename from patches/update-electron.patch rename to patches/update-electron.patch.no diff --git a/product.json b/product.json index f9470ac..2f75e16 100644 --- a/product.json +++ b/product.json @@ -49,6 +49,7 @@ "extensionsEnabledWithApiProposalVersion": [ "GitHub.copilot-chat", "ms-vscode.vscode-commander", + "ms-vscode.vscode-copilot-vision", "GitHub.vscode-pull-request-github" ], "extensionEnabledApiProposals": { @@ -231,6 +232,7 @@ "quickDiffProvider", "remoteCodingAgents", "shareProvider", + "tabInputMultiDiff", "tabInputTextMerge", "tokenInformation", "treeItemMarkdownLabel", @@ -238,14 +240,10 @@ ], "GitHub.copilot": [ "inlineCompletionsAdditions", - "interactive", - "terminalDataWriteEvent", "devDeviceId" ], "GitHub.copilot-nightly": [ "inlineCompletionsAdditions", - "interactive", - "terminalDataWriteEvent", "devDeviceId" ], "GitHub.copilot-chat": [ @@ -364,6 +362,7 @@ "terminalDataWriteEvent", "chatParticipantAdditions" ], + "vscjava.vscode-java-pack": [], "ms-dotnettools.csdevkit": [ "inlineCompletionsAdditions" ], @@ -382,6 +381,9 @@ "chatParticipantAdditions", "languageModelSystem" ], + "ms-toolsai.datawrangler": [], + "ms-vscode.vscode-commander": [], + "ms-vscode.vscode-websearchforcopilot": [], "ms-vscode.vscode-copilot-vision": [ "chatReferenceBinaryData", "codeActionAI" @@ -389,10 +391,6 @@ "ms-autodev.vscode-autodev": [ "chatParticipantAdditions" ], - "codetrek.haystack-search": [ - "fileSearchProvider", - "textSearchProvider2" - ], "vscjava.vscode-java-upgrade": [ "chatParticipantAdditions", "chatParticipantPrivate" diff --git a/upstream/insider.json b/upstream/insider.json index b526416..94204ea 100644 --- a/upstream/insider.json +++ b/upstream/insider.json @@ -1,4 +1,4 @@ { - "tag": "1.107.1", - "commit": "994fd12f8d3a5aa16f17d42c041e5809167e845a" + "tag": "1.108.0", + "commit": "94e8ae2b28cb5cc932b86e1070569c4463565c37" } From 71afd18e59ed514e260e98af8e43e629423c0d27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Jan 2026 10:11:59 +0100 Subject: [PATCH 21/38] build(deps): bump actions/upload-artifact from 5 to 6 (#2628) --- .github/workflows/insider-linux.yml | 8 ++++---- .github/workflows/insider-macos.yml | 2 +- .github/workflows/insider-windows.yml | 6 +++--- .github/workflows/stable-linux.yml | 8 ++++---- .github/workflows/stable-macos.yml | 2 +- .github/workflows/stable-windows.yml | 6 +++--- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/insider-linux.yml b/.github/workflows/insider-linux.yml index 3c800c0..52215e4 100644 --- a/.github/workflows/insider-linux.yml +++ b/.github/workflows/insider-linux.yml @@ -137,7 +137,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' - name: Upload vscode artifact - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: vscode path: ./vscode.tar.gz @@ -260,7 +260,7 @@ jobs: if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes' - name: Upload assets - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: bin-${{ matrix.vscode_arch }} path: assets/ @@ -375,7 +375,7 @@ jobs: if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') - name: Upload assets - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: reh-linux-${{ matrix.vscode_arch }} path: assets/ @@ -465,7 +465,7 @@ jobs: if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') - name: Upload assets - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: reh-alpine-${{ matrix.vscode_arch }} path: assets/ diff --git a/.github/workflows/insider-macos.yml b/.github/workflows/insider-macos.yml index 231a7cd..bc50147 100644 --- a/.github/workflows/insider-macos.yml +++ b/.github/workflows/insider-macos.yml @@ -116,7 +116,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes' - name: Upload assets - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: bin-${{ matrix.vscode_arch }} path: assets/ diff --git a/.github/workflows/insider-windows.yml b/.github/workflows/insider-windows.yml index 4256fdb..11889e8 100644 --- a/.github/workflows/insider-windows.yml +++ b/.github/workflows/insider-windows.yml @@ -138,7 +138,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' - name: Upload vscode artifact - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: vscode path: ./vscode.tar.gz @@ -222,7 +222,7 @@ jobs: - name: Upload unsigned artifacts id: upload-unsigned-artifacts - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: unsigned-${{ matrix.vscode_arch }} path: | @@ -266,7 +266,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes' - name: Upload assets - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: bin-${{ matrix.vscode_arch }} path: assets/ diff --git a/.github/workflows/stable-linux.yml b/.github/workflows/stable-linux.yml index d3f5484..2f18fb7 100644 --- a/.github/workflows/stable-linux.yml +++ b/.github/workflows/stable-linux.yml @@ -138,7 +138,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' - name: Upload vscode artifact - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: vscode path: ./vscode.tar.gz @@ -261,7 +261,7 @@ jobs: if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes' - name: Upload assets - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: bin-${{ matrix.vscode_arch }} path: assets/ @@ -376,7 +376,7 @@ jobs: if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') - name: Upload assets - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: reh-linux-${{ matrix.vscode_arch }} path: assets/ @@ -466,7 +466,7 @@ jobs: if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no') - name: Upload assets - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: reh-alpine-${{ matrix.vscode_arch }} path: assets/ diff --git a/.github/workflows/stable-macos.yml b/.github/workflows/stable-macos.yml index d80c2ae..d2d17c7 100644 --- a/.github/workflows/stable-macos.yml +++ b/.github/workflows/stable-macos.yml @@ -114,7 +114,7 @@ jobs: if: env.SHOULD_DEPLOY == 'yes' - name: Upload assets - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: bin-${{ matrix.vscode_arch }} path: assets/ diff --git a/.github/workflows/stable-windows.yml b/.github/workflows/stable-windows.yml index ae67523..d542fd4 100644 --- a/.github/workflows/stable-windows.yml +++ b/.github/workflows/stable-windows.yml @@ -137,7 +137,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' - name: Upload vscode artifact - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: vscode path: ./vscode.tar.gz @@ -221,7 +221,7 @@ jobs: - name: Upload unsigned artifacts id: upload-unsigned-artifacts - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: unsigned-${{ matrix.vscode_arch }} path: | @@ -264,7 +264,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes' - name: Upload assets - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: bin-${{ matrix.vscode_arch }} path: assets/ From 72b795d984432a1aa1e881d694e36349b1644c55 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Jan 2026 10:12:21 +0100 Subject: [PATCH 22/38] build(deps): bump actions/download-artifact from 6 to 7 (#2629) --- .github/workflows/insider-linux.yml | 6 +++--- .github/workflows/insider-windows.yml | 2 +- .github/workflows/stable-linux.yml | 6 +++--- .github/workflows/stable-windows.yml | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/insider-linux.yml b/.github/workflows/insider-linux.yml index 52215e4..ed5cd0b 100644 --- a/.github/workflows/insider-linux.yml +++ b/.github/workflows/insider-linux.yml @@ -225,7 +225,7 @@ jobs: if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' - name: Download vscode artifact - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: name: vscode if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' @@ -355,7 +355,7 @@ jobs: if: env.DISABLED != 'yes' - name: Download vscode artifact - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: name: vscode if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true') @@ -445,7 +445,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' - name: Download vscode artifact - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: name: vscode if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true') diff --git a/.github/workflows/insider-windows.yml b/.github/workflows/insider-windows.yml index 11889e8..cc76fda 100644 --- a/.github/workflows/insider-windows.yml +++ b/.github/workflows/insider-windows.yml @@ -203,7 +203,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' - name: Download vscode artifact - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: name: vscode if: env.SHOULD_BUILD == 'yes' diff --git a/.github/workflows/stable-linux.yml b/.github/workflows/stable-linux.yml index 2f18fb7..7daa3b5 100644 --- a/.github/workflows/stable-linux.yml +++ b/.github/workflows/stable-linux.yml @@ -226,7 +226,7 @@ jobs: if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' - name: Download vscode artifact - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: name: vscode if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' @@ -356,7 +356,7 @@ jobs: if: env.DISABLED != 'yes' - name: Download vscode artifact - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: name: vscode if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true') @@ -446,7 +446,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' - name: Download vscode artifact - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: name: vscode if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true') diff --git a/.github/workflows/stable-windows.yml b/.github/workflows/stable-windows.yml index d542fd4..87b742f 100644 --- a/.github/workflows/stable-windows.yml +++ b/.github/workflows/stable-windows.yml @@ -202,7 +202,7 @@ jobs: if: env.SHOULD_BUILD == 'yes' - name: Download vscode artifact - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: name: vscode if: env.SHOULD_BUILD == 'yes' From 17b5b6ed500749c7552dc352e16f9c3b63c3ef85 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Jan 2026 10:12:42 +0100 Subject: [PATCH 23/38] build(deps): bump dessant/lock-threads from 5 to 6 (#2630) --- .github/workflows/lock.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index 03df7ff..05a1c3c 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -8,7 +8,7 @@ jobs: lock: runs-on: ubuntu-latest steps: - - uses: dessant/lock-threads@v5 + - uses: dessant/lock-threads@v6 with: github-token: ${{ github.token }} issue-inactive-days: '90' From 2b2bef09273a1c33253682605402b86e252d31a7 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 14 Jan 2026 12:06:27 +0100 Subject: [PATCH 24/38] fix(windows): remove versioned resources (#2664) --- dev/patch.sh | 34 +- .../windows/disable-versioned-resources.patch | 825 +++++++++++++++++- prepare_vscode.sh | 10 +- 3 files changed, 842 insertions(+), 27 deletions(-) diff --git a/dev/patch.sh b/dev/patch.sh index 123022f..63d5bf5 100755 --- a/dev/patch.sh +++ b/dev/patch.sh @@ -2,7 +2,19 @@ set -e -echo "$#" +normalize_file() { + if [[ "${1}" == *patch ]]; then + FILE="${1}" + else + FILE="${1}.patch" + fi + + if [[ "${FILE}" == patches/* ]]; then + FILE="../${FILE}" + else + FILE="../patches/${FILE}" + fi +} cd vscode || { echo "'vscode' dir not found"; exit 1; } @@ -13,22 +25,14 @@ while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do git reset -q --hard HEAD~ done -if [[ "${1}" == *patch ]]; then - FILE="../patches/${1}" -else - FILE="../patches/${1}.patch" -fi +normalize_file "${1}" if [[ "${FILE}" != "../patches/helper/settings.patch" ]]; then git apply --reject "../patches/helper/settings.patch" while [ $# -gt 1 ]; do echo "Parameter: $1" - if [[ "${1}" == *patch ]]; then - FILE="../patches/${1}" - else - FILE="../patches/${1}.patch" - fi + normalize_file "${1}" git apply --reject "${FILE}" @@ -38,13 +42,11 @@ if [[ "${FILE}" != "../patches/helper/settings.patch" ]]; then git add . git commit --no-verify -q -m "VSCODIUM HELPER" - if [[ "${1}" == *patch ]]; then - FILE="../patches/${1}" - else - FILE="../patches/${1}.patch" - fi + normalize_file "${1}" fi +echo "FILE: ${FILE}" + if [[ -f "${FILE}" ]]; then if [[ -f "${FILE}.bak" ]]; then mv -f $FILE{.bak,} diff --git a/patches/windows/disable-versioned-resources.patch b/patches/windows/disable-versioned-resources.patch index e65dba4..77c7bb6 100644 --- a/patches/windows/disable-versioned-resources.patch +++ b/patches/windows/disable-versioned-resources.patch @@ -1,13 +1,12 @@ diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index d3ab651..8ad9cc6 100644 +index ac70ecb..e04cca7 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -41,3 +41,3 @@ const root = path.dirname(import.meta.dirname); +@@ -41,3 +41,2 @@ const root = path.dirname(import.meta.dirname); const commit = getVersion(root); -const versionedResourcesFolder = (product as typeof product & { quality?: string })?.quality === 'insider' ? commit!.substring(0, 10) : ''; -+const versionedResourcesFolder = ''; -@@ -356,8 +356,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d +@@ -356,8 +355,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d ], { base: '.' })); - if (quality && quality === 'insider') { - customElectronConfig = { @@ -16,22 +15,821 @@ index d3ab651..8ad9cc6 100644 - }; - } } else if (platform === 'linux') { +@@ -398,3 +391,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d + .pipe(replace('@@NAME@@', product.nameShort)) +- .pipe(replace('@@VERSIONFOLDER@@', versionedResourcesFolder)) + .pipe(rename(function (f) { f.basename = product.applicationName; }))); +@@ -407,3 +399,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d + .pipe(replace('@@APPNAME@@', product.applicationName)) +- .pipe(replace('@@VERSIONFOLDER@@', versionedResourcesFolder)) + .pipe(replace('@@SERVERDATAFOLDER@@', product.serverDataFolderName || '.vscode-remote')) +@@ -473,4 +464,4 @@ function patchWin32DependenciesTask(destinationFolderName: string) { + const deps = await glob('**/*.node', { cwd, ignore: 'extensions/node_modules/@vscode/watcher/**' }); +- const packageJson = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'package.json'), 'utf8')); +- const product = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'product.json'), 'utf8')); ++ const packageJson = JSON.parse(await fs.promises.readFile(path.join(cwd, 'resources', 'app', 'package.json'), 'utf8')); ++ const product = JSON.parse(await fs.promises.readFile(path.join(cwd, 'resources', 'app', 'product.json'), 'utf8')); + const baseVersion = packageJson.version.replace(/-.*$/, ''); diff --git a/build/gulpfile.vscode.win32.ts b/build/gulpfile.vscode.win32.ts -index a7b01f0..cc60676 100644 +index a7b01f0..4409ce2 100644 --- a/build/gulpfile.vscode.win32.ts +++ b/build/gulpfile.vscode.win32.ts -@@ -74,8 +74,4 @@ function buildWin32Setup(arch: string, target: string): task.CallbackTask { +@@ -74,9 +74,4 @@ function buildWin32Setup(arch: string, target: string): task.CallbackTask { const quality = (product as typeof product & { quality?: string }).quality || 'dev'; - let versionedResourcesFolder = ''; -+ const versionedResourcesFolder = ''; let issPath = path.join(import.meta.dirname, 'win32', 'code.iss'); - if (quality && quality === 'insider') { - versionedResourcesFolder = commit!.substring(0, 10); - issPath = path.join(import.meta.dirname, 'win32', 'code-insider.iss'); - } - const originalProductJsonPath = path.join(sourcePath, versionedResourcesFolder, 'resources/app/product.json'); +- const originalProductJsonPath = path.join(sourcePath, versionedResourcesFolder, 'resources/app/product.json'); ++ const originalProductJsonPath = path.join(sourcePath, 'resources/app/product.json'); + const productJsonPath = path.join(outputPath, 'product.json'); +@@ -113,3 +108,2 @@ function buildWin32Setup(arch: string, target: string): task.CallbackTask { + ProductJsonPath: productJsonPath, +- VersionedResourcesFolder: versionedResourcesFolder, + Quality: quality +diff --git a/build/win32/code-insider.iss b/build/win32/code-insider.iss +index 2cbf252..b8445fb 100644 +--- a/build/win32/code-insider.iss ++++ b/build/win32/code-insider.iss +@@ -69,9 +69,9 @@ Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl,{#RepoDir}\build\ + [InstallDelete] +-Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\out"; Check: IsNotBackgroundUpdate +-Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\plugins"; Check: IsNotBackgroundUpdate +-Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\extensions"; Check: IsNotBackgroundUpdate +-Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules"; Check: IsNotBackgroundUpdate +-Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules.asar.unpacked"; Check: IsNotBackgroundUpdate +-Type: files; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules.asar"; Check: IsNotBackgroundUpdate +-Type: files; Name: "{app}\{#VersionedResourcesFolder}\resources\app\Credits_45.0.2454.85.html"; Check: IsNotBackgroundUpdate ++Type: filesandordirs; Name: "{app}\resources\app\out"; Check: IsNotBackgroundUpdate ++Type: filesandordirs; Name: "{app}\resources\app\plugins"; Check: IsNotBackgroundUpdate ++Type: filesandordirs; Name: "{app}\resources\app\extensions"; Check: IsNotBackgroundUpdate ++Type: filesandordirs; Name: "{app}\resources\app\node_modules"; Check: IsNotBackgroundUpdate ++Type: filesandordirs; Name: "{app}\resources\app\node_modules.asar.unpacked"; Check: IsNotBackgroundUpdate ++Type: files; Name: "{app}\resources\app\node_modules.asar"; Check: IsNotBackgroundUpdate ++Type: files; Name: "{app}\resources\app\Credits_45.0.2454.85.html"; Check: IsNotBackgroundUpdate + +@@ -100,4 +100,4 @@ Source: "{#ExeBasename}.exe"; DestDir: "{code:GetDestDir}"; DestName: "{code:Get + Source: "{#ExeBasename}.VisualElementsManifest.xml"; DestDir: "{code:GetDestDir}"; DestName: "{code:GetVisualElementsManifest}"; Flags: ignoreversion +-Source: "tools\*"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\tools"; Flags: ignoreversion +-Source: "policies\*"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\policies"; Flags: ignoreversion skipifsourcedoesntexist ++Source: "tools\*"; DestDir: "{code:GetDestDir}\tools"; Flags: ignoreversion ++Source: "policies\*"; DestDir: "{code:GetDestDir}\policies"; Flags: ignoreversion skipifsourcedoesntexist + Source: "bin\{#TunnelApplicationName}.exe"; DestDir: "{code:GetDestDir}\bin"; DestName: "{code:GetBinDirTunnelApplicationFilename}"; Flags: ignoreversion skipifsourcedoesntexist +@@ -105,7 +105,7 @@ Source: "bin\{#ApplicationName}.cmd"; DestDir: "{code:GetDestDir}\bin"; DestName + Source: "bin\{#ApplicationName}"; DestDir: "{code:GetDestDir}\bin"; DestName: "{code:GetBinDirApplicationFilename}"; Flags: ignoreversion +-Source: "{#ProductJsonPath}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\resources\app"; Flags: ignoreversion ++Source: "{#ProductJsonPath}"; DestDir: "{code:GetDestDir}\resources\app"; Flags: ignoreversion + #ifdef AppxPackageName + #if "user" == InstallTarget +-Source: "appx\{#AppxPackage}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\appx"; BeforeInstall: RemoveAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater +-Source: "appx\{#AppxPackageDll}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\appx"; AfterInstall: AddAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater ++Source: "appx\{#AppxPackage}"; DestDir: "{code:GetDestDir}\appx"; BeforeInstall: RemoveAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater ++Source: "appx\{#AppxPackageDll}"; DestDir: "{code:GetDestDir}\appx"; AfterInstall: AddAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater + #endif +@@ -133,3 +133,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -141,3 +141,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -149,3 +149,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -157,3 +157,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -165,3 +165,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_ + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -173,3 +173,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_ + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -181,3 +181,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_ + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -189,3 +189,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashr + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -197,3 +197,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -205,3 +205,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bower + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\bower.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\bower.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -213,3 +213,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles +@@ -220,3 +220,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c"; V + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -228,3 +228,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -236,3 +236,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -244,3 +244,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -252,3 +252,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -260,3 +260,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -268,3 +268,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -276,3 +276,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cloju + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -284,3 +284,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -292,3 +292,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code- + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -300,3 +300,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -308,3 +308,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffe + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -316,3 +316,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.confi + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -324,3 +324,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.conta + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles +@@ -331,3 +331,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -339,3 +339,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -347,3 +347,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtm + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -355,3 +355,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cspro + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -363,3 +363,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\css.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\css.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -371,3 +371,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -379,3 +379,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -387,3 +387,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -395,3 +395,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -403,3 +403,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -411,3 +411,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -419,3 +419,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.docke + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -427,3 +427,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -435,3 +435,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -443,3 +443,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edito + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -451,3 +451,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -459,3 +459,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -467,3 +467,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -475,3 +475,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -483,3 +483,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -491,3 +491,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -499,3 +499,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscr + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -507,3 +507,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -515,3 +515,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemsp + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -524,3 +524,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitat + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -533,3 +533,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitco + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -542,3 +542,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitig + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -550,3 +550,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\go.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\go.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -558,3 +558,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradl + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -566,3 +566,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groov + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -574,3 +574,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h"; V + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -582,3 +582,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handl + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -590,3 +590,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -598,3 +598,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles +@@ -605,3 +605,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -613,3 +613,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -621,3 +621,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -629,3 +629,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -637,3 +637,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -645,3 +645,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -653,3 +653,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -661,3 +661,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\jade.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\jade.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -669,3 +669,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -677,3 +677,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -685,3 +685,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -693,3 +693,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -701,3 +701,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsr + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -709,3 +709,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshin + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -717,3 +717,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -725,3 +725,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\json.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\json.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -733,3 +733,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -741,3 +741,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\less.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\less.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -749,3 +749,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -757,3 +757,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -765,3 +765,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m"; V + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -773,3 +773,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makef + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -781,3 +781,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markd + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -789,3 +789,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -797,3 +797,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -805,3 +805,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -813,3 +813,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtex + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -821,3 +821,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -829,3 +829,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -837,3 +837,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -845,3 +845,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -853,3 +853,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -861,3 +861,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -869,3 +869,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -877,3 +877,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -886,3 +886,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmig + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -894,3 +894,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\php.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\php.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -902,3 +902,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -910,3 +910,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -918,3 +918,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -926,3 +926,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -934,3 +934,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -942,3 +942,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -950,3 +950,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -958,3 +958,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -966,3 +966,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profi + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -974,3 +974,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.prope + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -982,3 +982,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -990,3 +990,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -998,3 +998,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1006,3 +1006,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1014,3 +1014,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1022,3 +1022,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1030,3 +1030,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r"; V + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1038,3 +1038,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1046,3 +1046,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhist + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1054,3 +1054,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprof + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1062,3 +1062,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1070,3 +1070,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1078,3 +1078,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1086,3 +1086,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1094,3 +1094,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1102,3 +1102,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1110,3 +1110,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1118,3 +1118,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sql.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\sql.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1126,3 +1126,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1134,3 +1134,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t"; V + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1142,3 +1142,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1150,3 +1150,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\typescript.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\typescript.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1158,3 +1158,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1166,3 +1166,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1174,3 +1174,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1182,3 +1182,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1190,3 +1190,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\vue.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\vue.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1198,3 +1198,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1206,3 +1206,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1214,3 +1214,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1222,3 +1222,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1230,3 +1230,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1238,3 +1238,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1246,3 +1246,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1254,3 +1254,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1262,3 +1262,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh"; + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles +@@ -1267,3 +1267,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\s + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,{#NameLong}}"; Flags: uninsdeletekey +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico" ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\shell\open"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe""" +@@ -1272,3 +1272,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}Source + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe"; ValueType: none; ValueName: ""; Flags: uninsdeletekey +-Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico" ++Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico" + Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe""" +@@ -1557,3 +1557,3 @@ begin + Log('Installing appx ' + AppxPackageFullname + ' ...'); +- ShellExec('', 'powershell.exe', '-NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -Command ' + AddQuotes('Add-AppxPackage -Path ''' + ExpandConstant('{app}\{#VersionedResourcesFolder}\appx\{#AppxPackage}') + ''' -ExternalLocation ''' + ExpandConstant('{app}\{#VersionedResourcesFolder}\appx') + ''''), '', SW_HIDE, ewWaitUntilTerminated, AddAppxPackageResultCode); ++ ShellExec('', 'powershell.exe', '-NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -Command ' + AddQuotes('Add-AppxPackage -Path ''' + ExpandConstant('{app}\appx\{#AppxPackage}') + ''' -ExternalLocation ''' + ExpandConstant('{app}\appx') + ''''), '', SW_HIDE, ewWaitUntilTerminated, AddAppxPackageResultCode); + Log('Add-AppxPackage complete.'); +@@ -1614,3 +1614,3 @@ begin + Log('Invoking inno_updater for background update'); +- Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"{app}\{#ExeBasename}.exe" ' + BoolToStr(LockFileExists()) + ' "{cm:UpdatingVisualStudioCode}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); ++ Exec(ExpandConstant('{app}\tools\inno_updater.exe'), ExpandConstant('"{app}\{#ExeBasename}.exe" ' + BoolToStr(LockFileExists()) + ' "{cm:UpdatingVisualStudioCode}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); + DeleteFile(ExpandConstant('{app}\updating_version')); +@@ -1619,3 +1619,3 @@ begin + Log('Invoking inno_updater to remove previous installation folder'); +- Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe" "{#VersionedResourcesFolder}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); ++ Exec(ExpandConstant('{app}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); + Log('inno_updater completed gc successfully'); +@@ -1627,3 +1627,3 @@ begin + Log('Invoking inno_updater to remove previous installation folder'); +- Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe" "{#VersionedResourcesFolder}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); ++ Exec(ExpandConstant('{app}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); + Log('inno_updater completed gc successfully'); diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts -index ae4fd9c..2572548 100644 +index ae4fd9c..eb77fcf 100644 --- a/src/vs/platform/update/electron-main/updateService.win32.ts +++ b/src/vs/platform/update/electron-main/updateService.win32.ts @@ -94,10 +94,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun @@ -45,3 +843,12 @@ index ae4fd9c..2572548 100644 - } - if (this.productService.target === 'user' && await this.nativeHostMainService.isAdmin(undefined)) { +@@ -140,6 +132,5 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun + if (fastUpdatesEnabled && this.productService.target === 'user' && this.productService.commit) { +- const versionedResourcesFolder = this.productService.commit.substring(0, 10); +- const innoUpdater = path.join(exeDir, versionedResourcesFolder, 'tools', 'inno_updater.exe'); ++ const innoUpdater = path.join(exeDir, 'tools', 'inno_updater.exe'); + await new Promise(resolve => { +- const child = spawn(innoUpdater, ['--gc', exePath, versionedResourcesFolder], { ++ const child = spawn(innoUpdater, ['--gc', exePath], { + stdio: ['ignore', 'ignore', 'ignore'], diff --git a/prepare_vscode.sh b/prepare_vscode.sh index bdbf8ea..b582ade 100755 --- a/prepare_vscode.sh +++ b/prepare_vscode.sh @@ -277,9 +277,15 @@ if [[ "${OS_NAME}" == "linux" ]]; then # snapcraft.yaml sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template elif [[ "${OS_NAME}" == "windows" ]]; then + if [[ "${VSCODE_QUALITY}" == "insider" ]]; then + ISS_PATH="build/win32/code-insider.iss" + else + ISS_PATH="build/win32/code.iss" + fi + # code.iss - sed -i 's|https://code.visualstudio.com|https://vscodium.com|' build/win32/code.iss - sed -i 's|Microsoft Corporation|VSCodium|' build/win32/code.iss + sed -i 's|https://code.visualstudio.com|https://vscodium.com|' "${ISS_PATH}" + sed -i 's|Microsoft Corporation|VSCodium|' "${ISS_PATH}" fi cd .. From e8ec5e2452a3d19f4dfddf84c15c184110feedda Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 14 Jan 2026 12:23:06 +0100 Subject: [PATCH 25/38] improve(ci): target insider branch (#2663) --- .github/dependabot.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 92c44a8..42e1f84 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -7,5 +7,6 @@ version: 2 updates: - package-ecosystem: "github-actions" directory: "/" + target-branch: insider schedule: interval: "weekly" From cf437da52143f34425178507731d0a05f6e83ef5 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 14 Jan 2026 23:08:11 +0100 Subject: [PATCH 26/38] build(1.108): update --- upstream/stable.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/upstream/stable.json b/upstream/stable.json index b526416..ef2b5fa 100644 --- a/upstream/stable.json +++ b/upstream/stable.json @@ -1,4 +1,4 @@ { - "tag": "1.107.1", - "commit": "994fd12f8d3a5aa16f17d42c041e5809167e845a" + "tag": "1.108.1", + "commit": "585eba7c0c34fd6b30faac7c62a42050bfbc0086" } From 412aa78881b5391de5a46c65c4d51db75a648b6f Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Thu, 15 Jan 2026 17:34:13 +0100 Subject: [PATCH 27/38] docs: update accouncements [skip ci] --- announcements-extra.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/announcements-extra.json b/announcements-extra.json index dafb225..7ca48dc 100644 --- a/announcements-extra.json +++ b/announcements-extra.json @@ -1,7 +1,7 @@ [ { - "id": "#2639", - "title": "Need Help! Please test the next version (1.107.1) on Linux arm64", - "url": "https://github.com/VSCodium/vscodium/discussions/2639" + "id": "#2668", + "title": "[Windows] broken update on 1.107, need manual update", + "url": "https://github.com/VSCodium/vscodium/issues/2668" } ] From 94f90090cb30c1f05142a6a61d6be4b92271ca89 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Sun, 1 Feb 2026 19:38:53 +0000 Subject: [PATCH 28/38] build(stable): update to commit c9d7799 --- upstream/stable.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/upstream/stable.json b/upstream/stable.json index ef2b5fa..9e50dd4 100644 --- a/upstream/stable.json +++ b/upstream/stable.json @@ -1,4 +1,4 @@ { - "tag": "1.108.1", - "commit": "585eba7c0c34fd6b30faac7c62a42050bfbc0086" + "tag": "1.108.2", + "commit": "c9d77990917f3102ada88be140d28b038d1dd7c7" } From 91d172cd420a65a2c3d25f7865b180024d21c00b Mon Sep 17 00:00:00 2001 From: Thanh Nguyen <74597207+ThanhNguyxn@users.noreply.github.com> Date: Fri, 6 Feb 2026 14:47:43 -0500 Subject: [PATCH 29/38] fix: close extensions control request connection (#2673) --- .../fix-extensions-control-connection.patch | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 patches/fix-extensions-control-connection.patch diff --git a/patches/fix-extensions-control-connection.patch b/patches/fix-extensions-control-connection.patch new file mode 100644 index 0000000..31d5b27 --- /dev/null +++ b/patches/fix-extensions-control-connection.patch @@ -0,0 +1,20 @@ +diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts +index 594412f..52de11c 100644 +--- a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts ++++ b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts +@@ -1814,3 +1814,3 @@ export abstract class AbstractExtensionGalleryService implements IExtensionGalle + +- const context = await this.requestService.request({ ++ const requestOptions: IRequestOptions = { + type: 'GET', +@@ -1818,3 +1818,9 @@ export abstract class AbstractExtensionGalleryService implements IExtensionGalle + timeout: this.getRequestTimeout() +- }, CancellationToken.None); ++ }; ++ ++ if (!isWeb) { ++ requestOptions.headers = { Connection: 'close' }; ++ } ++ ++ const context = await this.requestService.request(requestOptions, CancellationToken.None); + From 47e2863d9e9795712dba2bb9230d64a3a5efbc7e Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Sun, 8 Feb 2026 19:20:15 +0100 Subject: [PATCH 30/38] feat(1.109): update patches (#2688) --- patches/brand.patch | 165 +++--- patches/cli.patch | 12 +- patches/disable-copilot.patch | 51 +- patches/fix-keymap.patch | 48 +- patches/fix-policies.patch | 38 +- patches/linux/arch-0-support.patch | 16 +- patches/linux/fix-build.patch | 535 ++++++++++-------- patches/version-1-update.patch | 114 ++-- ...h => disable-versioned-resources.patch.no} | 0 prepare_vscode.sh | 12 +- product.json | 32 +- upstream/insider.json | 4 +- 12 files changed, 534 insertions(+), 493 deletions(-) rename patches/windows/{disable-versioned-resources.patch => disable-versioned-resources.patch.no} (100%) diff --git a/patches/brand.patch b/patches/brand.patch index d21e506..2df46f0 100644 --- a/patches/brand.patch +++ b/patches/brand.patch @@ -62,48 +62,46 @@ index 1be4d0e..647b147 100644 -export const redundantImplicitActivationEvent = l10n.t("This activation event can be removed as VS Code generates these automatically from your package.json contribution declarations."); +export const redundantImplicitActivationEvent = l10n.t("This activation event can be removed as !!APP_NAME!! generates these automatically from your package.json contribution declarations."); diff --git a/extensions/extension-editing/src/extensionLinter.ts b/extensions/extension-editing/src/extensionLinter.ts -index 187100b..7514367 100644 +index 5c73304..3294fd8 100644 --- a/extensions/extension-editing/src/extensionLinter.ts +++ b/extensions/extension-editing/src/extensionLinter.ts -@@ -34,4 +34,4 @@ const relativeUrlRequiresHttpsRepository = l10n.t("Relative image URLs require a +@@ -34,3 +34,3 @@ const relativeUrlRequiresHttpsRepository = l10n.t("Relative image URLs require a const relativeBadgeUrlRequiresHttpsRepository = l10n.t("Relative badge URLs require a repository with HTTPS protocol to be specified in this package.json."); -const apiProposalNotListed = l10n.t("This proposal cannot be used because for this extension the product defines a fixed set of API proposals. You can test your extension but before publishing you MUST reach out to the VS Code team."); --const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75.0 as VS Code will generate these automatically from your package.json contribution declarations."); +const apiProposalNotListed = l10n.t("This proposal cannot be used because for this extension the product defines a fixed set of API proposals. You can test your extension but before publishing you MUST reach out to the !!APP_NAME!! team."); -+const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75.0 as !!APP_NAME!! will generate these automatically from your package.json contribution declarations."); - const starActivation = l10n.t("Using '*' activation is usually a bad idea as it impacts performance."); + diff --git a/extensions/git/package.nls.json b/extensions/git/package.nls.json -index c883415..b3552db 100644 +index 94a1f61..c0ac9ea 100644 --- a/extensions/git/package.nls.json +++ b/extensions/git/package.nls.json -@@ -247,3 +247,3 @@ +@@ -250,3 +250,3 @@ "{Locked='](command:git.showOutput'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -275,4 +275,4 @@ +@@ -278,4 +278,4 @@ "config.showCommitInput": "Controls whether to show the commit input in the Git source control panel.", - "config.terminalAuthentication": "Controls whether to enable VS Code to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.", - "config.terminalGitEditor": "Controls whether to enable VS Code to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.", + "config.terminalAuthentication": "Controls whether to enable !!APP_NAME!! to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.", + "config.terminalGitEditor": "Controls whether to enable !!APP_NAME!! to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.", "config.timeline.showAuthor": "Controls whether to show the commit author in the Timeline view.", -@@ -346,3 +346,3 @@ +@@ -349,3 +349,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -356,3 +356,3 @@ +@@ -359,3 +359,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -366,3 +366,3 @@ +@@ -369,3 +369,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -378,6 +378,6 @@ +@@ -381,6 +381,6 @@ "view.workbench.scm.disabled": { - "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -112,7 +110,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -386,6 +386,6 @@ +@@ -389,6 +389,6 @@ "view.workbench.scm.empty": { - "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -121,7 +119,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -394,6 +394,6 @@ +@@ -397,6 +397,6 @@ "view.workbench.scm.folder": { - "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -130,7 +128,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -402,6 +402,6 @@ +@@ -405,6 +405,6 @@ "view.workbench.scm.workspace": { - "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -139,7 +137,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -410,6 +410,6 @@ +@@ -413,6 +413,6 @@ "view.workbench.scm.emptyWorkspace": { - "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -148,27 +146,27 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -428,3 +428,3 @@ +@@ -431,3 +431,3 @@ "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -437,3 +437,3 @@ +@@ -440,3 +440,3 @@ "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -445,3 +445,3 @@ +@@ -448,3 +448,3 @@ "{Locked='](command:git.manageUnsafeRepositories'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -453,3 +453,3 @@ +@@ -456,3 +456,3 @@ "{Locked='](command:git.manageUnsafeRepositories'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -458,6 +458,6 @@ +@@ -461,6 +461,6 @@ "view.workbench.scm.closedRepository": { - "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -177,7 +175,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -466,6 +466,6 @@ +@@ -469,6 +469,6 @@ "view.workbench.scm.closedRepositories": { - "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -186,12 +184,12 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -477,3 +477,3 @@ +@@ -480,3 +480,3 @@ "{Locked='](command:git.clone'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -481,3 +481,3 @@ +@@ -484,3 +484,3 @@ }, - "view.workbench.learnMore": "To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm)." + "view.workbench.learnMore": "To learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm)." @@ -275,7 +273,7 @@ index e82030e..ac999f6 100644 + "displayName": "Jake support for !!APP_NAME!!", "jake.taskDefinition.type.description": "The Jake task to customize.", diff --git a/extensions/json-language-features/package.nls.json b/extensions/json-language-features/package.nls.json -index abc07c9..2a6de09 100644 +index 9052d37..f505551 100644 --- a/extensions/json-language-features/package.nls.json +++ b/extensions/json-language-features/package.nls.json @@ -11,3 +11,3 @@ @@ -361,7 +359,7 @@ index a8bbe5d..00694dc 100644 + "comment": "The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks !!APP_NAME!! / Atom, see https://github.com/textmate/swift.tmbundle/issues/29", "name": "support.variable.swift", diff --git a/extensions/typescript-language-features/package.nls.json b/extensions/typescript-language-features/package.nls.json -index fb28b2a..788780a 100644 +index e01e4de..1797d03 100644 --- a/extensions/typescript-language-features/package.nls.json +++ b/extensions/typescript-language-features/package.nls.json @@ -82,4 +82,4 @@ @@ -452,7 +450,7 @@ index 207698d..9948527 100644 + vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList)); } else { diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json -index 3f586a8..ece1d67 100644 +index c3c08b1..d0f4d3d 100644 --- a/extensions/vscode-api-tests/package.json +++ b/extensions/vscode-api-tests/package.json @@ -2,3 +2,3 @@ @@ -539,15 +537,15 @@ index 74d25c6..878e228 100644 + progress.report({ message: 'Installing !!APP_NAME!! Server' }); serverLocation = await downloadAndUnzipVSCodeServer(updateUrl, commit, quality, serverBin, m => outputChannel.appendLine(m)); diff --git a/src/main.ts b/src/main.ts -index ec2e45c..8d89e2b 100644 +index ecbbb16..a61b2d3 100644 --- a/src/main.ts +++ b/src/main.ts -@@ -412,3 +412,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -416,3 +416,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { const defaultArgvConfigContent = [ - '// This configuration file allows you to pass permanent command line arguments to VS Code.', + '// This configuration file allows you to pass permanent command line arguments to !!APP_NAME!!.', '// Only a subset of arguments is currently supported to reduce the likelihood of breaking', -@@ -418,6 +418,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -422,6 +422,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { '//', - '// NOTE: Changing this file requires a restart of VS Code.', + '// NOTE: Changing this file requires a restart of !!APP_NAME!!.', @@ -557,10 +555,10 @@ index ec2e45c..8d89e2b 100644 + ' // This can help in cases where you see rendering issues in !!APP_NAME!!.', ' // "disable-hardware-acceleration": true', diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts -index 43aba01..23b55ea 100644 +index a3efce9..ba6055d 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts -@@ -526,3 +526,3 @@ export class CodeApplication extends Disposable { +@@ -532,3 +532,3 @@ export class CodeApplication extends Disposable { async startup(): Promise { - this.logService.debug('Starting VS Code'); + this.logService.debug('Starting !!APP_NAME!!'); @@ -603,10 +601,10 @@ index cdf0c67..d567815 100644 + throw new Error(nls.localize('restartCode', "Please restart !!APP_NAME!! before reinstalling {0}.", this.manifest.displayName || this.manifest.name)); } diff --git a/src/vs/platform/extensions/common/extensionValidator.ts b/src/vs/platform/extensions/common/extensionValidator.ts -index 8740151..dfa35a5 100644 +index 6346b9d..77ff0f9 100644 --- a/src/vs/platform/extensions/common/extensionValidator.ts +++ b/src/vs/platform/extensions/common/extensionValidator.ts -@@ -374,5 +374,5 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: string[ +@@ -380,5 +380,5 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: string[ if (incompatibleProposals.length === 1) { - notices.push(nls.localize('apiProposalMismatch1', "This extension is using the API proposal '{0}' that is not compatible with the current version of VS Code.", incompatibleProposals[0])); + notices.push(nls.localize('apiProposalMismatch1', "This extension is using the API proposal '{0}' that is not compatible with the current version of !!APP_NAME!!.", incompatibleProposals[0])); @@ -642,25 +640,14 @@ index e5fb1ab..bd4740b 100644 + description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new !!APP_NAME!! versions in the background on Windows."), included: isWindows && !isWeb diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts -index ed8043f..ca7a4dc 100644 +index 0e63d40..5b8085e 100644 --- a/src/vs/platform/update/electron-main/abstractUpdateService.ts +++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts -@@ -23,3 +23,3 @@ export type UpdateErrorClassification = { +@@ -33,3 +33,3 @@ export type UpdateErrorClassification = { messageHash: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The hash of the error message.' }; - comment: 'This is used to know how often VS Code updates have failed.'; + comment: 'This is used to know how often !!APP_NAME!! updates have failed.'; }; -diff --git a/src/vs/platform/update/electron-main/updateService.darwin.ts b/src/vs/platform/update/electron-main/updateService.darwin.ts -index b78ebc5..9b0eb56 100644 ---- a/src/vs/platform/update/electron-main/updateService.darwin.ts -+++ b/src/vs/platform/update/electron-main/updateService.darwin.ts -@@ -122,4 +122,4 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau - owner: 'joaomoreno'; -- newVersion: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The version number of the new VS Code that has been downloaded.' }; -- comment: 'This is used to know how often VS Code has successfully downloaded the update.'; -+ newVersion: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The version number of the new !!APP_NAME!! that has been downloaded.' }; -+ comment: 'This is used to know how often !!APP_NAME!! has successfully downloaded the update.'; - }; diff --git a/src/vs/server/node/server.cli.ts b/src/vs/server/node/server.cli.ts index 6a0eacf..2959dad 100644 --- a/src/vs/server/node/server.cli.ts @@ -689,10 +676,10 @@ index 8337870..fdf02ac 100644 + description: localize({ key: 'vscode.extension.contributes.views.containers.id', comment: ['Contribution refers to those that an extension contributes to !!APP_NAME!! through an extension/contribution point. '] }, "Unique id used to identify the container in which views can be contributed using 'views' contribution point"), type: 'string', diff --git a/src/vs/workbench/api/common/extHostApiCommands.ts b/src/vs/workbench/api/common/extHostApiCommands.ts -index 9349335..a94ff8d 100644 +index a04bbd0..202f130 100644 --- a/src/vs/workbench/api/common/extHostApiCommands.ts +++ b/src/vs/workbench/api/common/extHostApiCommands.ts -@@ -443,3 +443,3 @@ const newCommands: ApiCommand[] = [ +@@ -445,3 +445,3 @@ const newCommands: ApiCommand[] = [ ApiCommandArgument.Uri.with('resource', 'Resource to open'), - ApiCommandArgument.String.with('viewId', 'Custom editor view id. This should be the viewType string for custom editors or the notebookType string for notebooks. Use \'default\' to use VS Code\'s default text editor'), + ApiCommandArgument.String.with('viewId', 'Custom editor view id. This should be the viewType string for custom editors or the notebookType string for notebooks. Use \'default\' to use !!APP_NAME!!\'s default text editor'), @@ -718,7 +705,7 @@ index 0d71384..ae8d169 100644 + test('Opening a notebook results in !!APP_NAME!! firing the event onDidChangeActiveNotebookEditor twice #118470', function () { let count = 0; diff --git a/src/vs/workbench/browser/actions/developerActions.ts b/src/vs/workbench/browser/actions/developerActions.ts -index 1fda3db..bbadf28 100644 +index 91f52f5..dbb0ad4 100644 --- a/src/vs/workbench/browser/actions/developerActions.ts +++ b/src/vs/workbench/browser/actions/developerActions.ts @@ -688,3 +688,3 @@ class PolicyDiagnosticsAction extends Action2 { @@ -745,47 +732,47 @@ index e342f83..7c314e6 100644 + throw new Error('Unable to create the !!APP_NAME!! workbench more than once.'); } else { diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts -index dd9f46e..fa0c391 100644 +index 5ea32fb..23584f4 100644 --- a/src/vs/workbench/browser/workbench.contribution.ts +++ b/src/vs/workbench/browser/workbench.contribution.ts -@@ -731,3 +731,3 @@ const registry = Registry.as(ConfigurationExtensions.Con +@@ -748,3 +748,3 @@ const registry = Registry.as(ConfigurationExtensions.Con localize('profileName', "`${profileName}`: name of the profile in which the workspace is opened (e.g. Data Science (Profile)). Ignored if default profile is used."), - localize('appName', "`${appName}`: e.g. VS Code."), + localize('appName', "`${appName}`: e.g. !!APP_NAME!!."), localize('remoteName', "`${remoteName}`: e.g. SSH"), diff --git a/src/vs/workbench/common/contextkeys.ts b/src/vs/workbench/common/contextkeys.ts -index c0528fe..d1fd07f 100644 +index 3a27ea1..684e2c7 100644 --- a/src/vs/workbench/common/contextkeys.ts +++ b/src/vs/workbench/common/contextkeys.ts -@@ -39,3 +39,3 @@ export const EmbedderIdentifierContext = new RawContextKey(' +@@ -43,3 +43,3 @@ export const EmbedderIdentifierContext = new RawContextKey(' -export const InAutomationContext = new RawContextKey('inAutomation', false, localize('inAutomation', "Whether VS Code is running under automation/smoke test")); +export const InAutomationContext = new RawContextKey('inAutomation', false, localize('inAutomation', "Whether !!APP_NAME!! is running under automation/smoke test")); diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -index fac472c..40e59c7 100644 +index d211a1d..bfb973c 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -415,3 +415,3 @@ configurationRegistry.registerConfiguration({ +@@ -467,3 +467,3 @@ configurationRegistry.registerConfiguration({ nls.localize('chat.mcp.access.none', "No access to MCP servers."), - nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), + nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), nls.localize('chat.mcp.access.any', "Allow access to any installed MCP server.") -@@ -442,3 +442,3 @@ configurationRegistry.registerConfiguration({ +@@ -494,3 +494,3 @@ configurationRegistry.registerConfiguration({ { - key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), + key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), }, diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts -index b7c9c49..137d77e 100644 +index 88a46ef..6efa8ab 100644 --- a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts +++ b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts -@@ -104,3 +104,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { +@@ -115,3 +115,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { // Register VSCode agent -- const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Chat, undefined, context, controller); -+ const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Chat, undefined, context, controller); +- const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Chat, ChatModeKind.Agent, context, controller); ++ const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Chat, ChatModeKind.Agent, context, controller); disposables.add(vscodeDisposable); -@@ -121,4 +121,4 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { +@@ -132,4 +132,4 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { displayName: localize('setupToolDisplayName', "New Workspace"), - modelDescription: 'Scaffold a new workspace in VS Code', - userDescription: localize('setupToolsDescription', "Scaffold a new workspace in VS Code"), @@ -793,10 +780,10 @@ index b7c9c49..137d77e 100644 + userDescription: localize('setupToolsDescription', "Scaffold a new workspace in !!APP_NAME!!"), canBeReferencedInPrompt: true, diff --git a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts -index b7e91c4..6e0c67e 100644 +index d582ca6..b721308 100644 --- a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts +++ b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts -@@ -179,5 +179,5 @@ export class PromptValidator { +@@ -218,5 +218,5 @@ export class PromptValidator { if (validGithubCopilotAttributeNames.value.has(attribute.key)) { - report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in VS Code.", attribute.key), attribute.range, MarkerSeverity.Info)); + report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in !!APP_NAME!!.", attribute.key), attribute.range, MarkerSeverity.Info)); @@ -814,7 +801,7 @@ index 7504a9c..2e485bb 100644 + description: nls.localize('debugServer', "For debug extension development only: if a port is specified !!APP_NAME!! tries to connect to a debug adapter running in server mode"), default: 4711 diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -index f6c294e..6fd209d 100644 +index 6956d79..ea5fa28 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts @@ -353,3 +353,3 @@ CommandsRegistry.registerCommand({ @@ -845,7 +832,7 @@ index f6c294e..6fd209d 100644 + : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload VSCodium to enable it."), [{ diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts -index 2b8d2e6..46fb2ca 100644 +index f2a1f70..4bbabd2 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts @@ -109,3 +109,3 @@ export class PromptExtensionInstallFailureAction extends Action { @@ -869,7 +856,7 @@ index 2b8d2e6..46fb2ca 100644 + this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to !!APP_NAME!!. Configure these {0} to use this functionality.", link)) }, true); } else { diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts -index 8574e03..bb1f721 100644 +index 23ea0f7..0e2c889 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts @@ -477,3 +477,3 @@ export class Extension implements IExtension { @@ -1038,7 +1025,7 @@ index e89f6ec..1228544 100644 + Write-Host "`e[0m`e[7m * `e[0;103m !!APP_NAME!! Python powershell activation failed with exit code $($activationError.Exception.Message) `e[0m" } diff --git a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts -index 82345c4..12861a6 100644 +index 7431c14..b9ad2c7 100644 --- a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts +++ b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts @@ -311,3 +311,3 @@ const terminalConfiguration: IStringDictionary = { @@ -1081,7 +1068,7 @@ index 82345c4..12861a6 100644 - markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with VS Code, instead of the one bundled with Windows."), + markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with !!APP_NAME!!, instead of the one bundled with Windows."), type: 'boolean', -@@ -591,3 +591,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -606,3 +606,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VS Code insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), + markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives !!APP_NAME!! insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), @@ -1096,22 +1083,22 @@ index 4979520..30ae11b 100644 + markdownDescription: localize('terminal.integrated.autoReplies', "A set of messages that, when encountered in the terminal, will be automatically responded to. Provided the message is specific enough, this can help automate away common responses.\n\nRemarks:\n\n- Use {0} to automatically respond to the terminate batch job prompt on Windows.\n- The message includes escape sequences so the reply might not happen with styled text.\n- Each reply can only happen once every second.\n- Use {1} in the reply to mean the enter key.\n- To unset a default key, set the value to null.\n- Restart !!APP_NAME!! if new don't apply.", '`"Terminate batch job (Y/N)": "Y\\r"`', '`"\\r"`'), type: 'object', diff --git a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts -index b5ec1c1..737f2be 100644 +index 5913bb7..ae402ea 100644 --- a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts +++ b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts -@@ -240,3 +240,3 @@ export const CreateAndRunTaskToolData: IToolData = { +@@ -241,3 +241,3 @@ export const CreateAndRunTaskToolData: IToolData = { 'type': 'array', - 'description': `The problem matcher to use to parse task output for errors and warnings. Can be a predefined matcher like '$tsc' (TypeScript), '$eslint - stylish', '$gcc', etc., or a custom pattern defined in tasks.json. This helps VS Code display errors in the Problems panel and enables quick navigation to error locations.`, + 'description': `The problem matcher to use to parse task output for errors and warnings. Can be a predefined matcher like '$tsc' (TypeScript), '$eslint - stylish', '$gcc', etc., or a custom pattern defined in tasks.json. This helps !!APP_NAME!! display errors in the Problems panel and enables quick navigation to error locations.`, 'items': { diff --git a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts -index f92fe12..a5a7e02 100644 +index f469f6e..11e2249 100644 --- a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts +++ b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts -@@ -152,3 +152,3 @@ export const RunTaskToolData: IToolData = { +@@ -153,3 +153,3 @@ export const RunTaskToolData: IToolData = { displayName: localize('runInTerminalTool.displayName', 'Run Task'), -- modelDescription: 'Runs a VS Code task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the run_in_terminal tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.', -+ modelDescription: 'Runs a !!APP_NAME!! task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the run_in_terminal tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.', +- modelDescription: `Runs a VS Code task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the ${TerminalToolId.RunInTerminal} tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.`, ++ modelDescription: `Runs a !!APP_NAME!! task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the ${TerminalToolId.RunInTerminal} tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.`, userDescription: localize('runInTerminalTool.userDescription', 'Run tasks in the workspace'), diff --git a/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts b/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts index 0f23e5a..27f311e 100644 @@ -1123,17 +1110,17 @@ index 0f23e5a..27f311e 100644 + message = localize('terminal.voice.installSpeechExtension', "Would you like to install '!!APP_NAME!! Speech' extension from 'Microsoft'?"); run = () => commandService.executeCommand('workbench.extensions.installExtension', 'ms-vscode.vscode-speech'); diff --git a/src/vs/workbench/contrib/update/browser/update.ts b/src/vs/workbench/contrib/update/browser/update.ts -index cc12ca6..056d2d8 100644 +index 55cc7d3..b2a7789 100644 --- a/src/vs/workbench/contrib/update/browser/update.ts +++ b/src/vs/workbench/contrib/update/browser/update.ts -@@ -583,4 +583,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor +@@ -621,4 +621,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor detail: newQuality === 'insider' ? - nls.localize('relaunchDetailInsiders', "Press the reload button to switch to the Insiders version of VS Code.") : - nls.localize('relaunchDetailStable', "Press the reload button to switch to the Stable version of VS Code."), + nls.localize('relaunchDetailInsiders', "Press the reload button to switch to the Insiders version of !!APP_NAME!!.") : + nls.localize('relaunchDetailStable', "Press the reload button to switch to the Stable version of !!APP_NAME!!."), primaryButton: nls.localize({ key: 'reload', comment: ['&& denotes a mnemonic'] }, "&&Reload") -@@ -619,3 +619,3 @@ export class SwitchProductQualityContribution extends Disposable implements IWor +@@ -657,3 +657,3 @@ export class SwitchProductQualityContribution extends Disposable implements IWor message: nls.localize('selectSyncService.message', "Choose the settings sync service to use after changing the version"), - detail: nls.localize('selectSyncService.detail', "The Insiders version of VS Code will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."), + detail: nls.localize('selectSyncService.detail', "The Insiders version of !!APP_NAME!! will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."), @@ -1153,15 +1140,15 @@ index 393c8c3..9268a6c 100644 + content += `// By default, !!APP_NAME!! trusts "localhost".\n`; } diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts -index b63e894..2798ab1 100644 +index 2b50e71..f322981 100644 --- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts +++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts -@@ -49,3 +49,3 @@ registerAction2(class extends Action2 { +@@ -52,3 +52,3 @@ registerAction2(class extends Action2 { metadata: { - description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in VS Code.') + description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in !!APP_NAME!!.') } -@@ -311,3 +311,3 @@ configurationRegistry.registerConfiguration({ +@@ -322,3 +322,3 @@ configurationRegistry.registerConfiguration({ localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.none' }, "Start without an editor."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with VS Code and extensions."), + localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with !!APP_NAME!! and extensions."), @@ -1345,15 +1332,15 @@ index bdd30bf..317d11c 100644 +Well if you have got this far then you will have touched on some of the editing features in !!APP_NAME!!. But don't stop now :) We have lots of additional [documentation](https://code.visualstudio.com/docs), [introductory videos](https://code.visualstudio.com/docs/getstarted/introvideos) and [tips and tricks](https://go.microsoft.com/fwlink/?linkid=852118) for the product that will help you learn how to use it. And while you are here, here are a few additional things you can try: - Open the Integrated Terminal by pressing kb(workbench.action.terminal.toggleTerminal), then see what's possible by [reviewing the terminal documentation](https://code.visualstudio.com/docs/editor/integrated-terminal) diff --git a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts -index c512b64..dfa2150 100644 +index d134535..93cae5f 100644 --- a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts +++ b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts -@@ -733,3 +733,3 @@ Registry.as(ConfigurationExtensions.Configuration) +@@ -765,3 +765,3 @@ Registry.as(ConfigurationExtensions.Configuration) default: true, - description: localize('workspace.trust.description', "Controls whether or not Workspace Trust is enabled within VS Code."), + description: localize('workspace.trust.description', "Controls whether or not Workspace Trust is enabled within !!APP_NAME!!."), tags: [WORKSPACE_TRUST_SETTING_TAG], -@@ -779,3 +779,3 @@ Registry.as(ConfigurationExtensions.Configuration) +@@ -811,3 +811,3 @@ Registry.as(ConfigurationExtensions.Configuration) default: true, - markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within VS Code. When used with `#{0}#`, you can enable the full functionality of VS Code without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES), + markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within !!APP_NAME!!. When used with `#{0}#`, you can enable the full functionality of !!APP_NAME!! without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES), @@ -1373,7 +1360,7 @@ index 5fad6f9..4edfd81 100644 + description: localize('argv.useInMemorySecretStorage', "Ensures that an in-memory store will be used for secret storage instead of using the OS's credential store. This is often used when running !!APP_NAME!! extension tests or when you're experiencing difficulties with the credential store.") }, diff --git a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts -index df1a6e3..14db691 100644 +index ea7f364..25c4fda 100644 --- a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts +++ b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts @@ -1044,3 +1044,3 @@ export class ExtensionManagementService extends CommontExtensionManagementServic @@ -1382,7 +1369,7 @@ index df1a6e3..14db691 100644 + const productName = localize('!!APP_NAME!! for Web', "{0} for the Web", this.productService.nameLong); const virtualWorkspaceSupport = this.extensionManifestPropertiesService.getExtensionVirtualWorkspaceSupportType(manifest); diff --git a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts -index f6c18c6..6d6b39c 100644 +index 6704355..1d58ea0 100644 --- a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts +++ b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts @@ -181,3 +181,3 @@ export const schema: IJSONSchema = { @@ -1424,17 +1411,17 @@ index f6c18c6..6d6b39c 100644 - description: nls.localize('vscode.extension.activationEvents', 'Activation events for the VS Code extension.'), + description: nls.localize('vscode.extension.activationEvents', 'Activation events for the !!APP_NAME!! extension.'), type: 'array', -@@ -423,3 +423,3 @@ export const schema: IJSONSchema = { +@@ -428,3 +428,3 @@ export const schema: IJSONSchema = { label: '*', - description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on VS Code startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'), + description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on !!APP_NAME!! startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'), body: '*' -@@ -595,3 +595,3 @@ export const schema: IJSONSchema = { +@@ -609,3 +609,3 @@ export const schema: IJSONSchema = { 'vscode:prepublish': { - description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a VS Code extension.'), + description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a !!APP_NAME!! extension.'), type: 'string' -@@ -599,3 +599,3 @@ export const schema: IJSONSchema = { +@@ -613,3 +613,3 @@ export const schema: IJSONSchema = { 'vscode:uninstall': { - description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for VS Code extension. Script that gets executed when the extension is completely uninstalled from VS Code which is when VS Code is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'), + description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for !!APP_NAME!! extension. Script that gets executed when the extension is completely uninstalled from !!APP_NAME!! which is when !!APP_NAME!! is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'), diff --git a/patches/cli.patch b/patches/cli.patch index 22ac8d4..7e81ed8 100644 --- a/patches/cli.patch +++ b/patches/cli.patch @@ -303,11 +303,11 @@ index 55f1dad..3b7ef5c 100644 - pub fn env_default() -> Option { diff --git a/extensions/tunnel-forwarding/src/extension.ts b/extensions/tunnel-forwarding/src/extension.ts -index 299c728..9fb635d 100644 +index 2f71999..e689f62 100644 --- a/extensions/tunnel-forwarding/src/extension.ts +++ b/extensions/tunnel-forwarding/src/extension.ts -@@ -28,3 +28,3 @@ const cliPath = process.env.VSCODE_FORWARDING_IS_DEV - process.platform === 'darwin' ? 'bin' : '../../bin', -- vscode.env.appQuality === 'stable' ? 'code-tunnel' : 'code-tunnel-insiders', -+ '!!TUNNEL_APP_NAME!!' - ) + (process.platform === 'win32' ? '.exe' : ''); +@@ -37,3 +37,3 @@ if (process.env.VSCODE_FORWARDING_IS_DEV) { + +- const cliName = vscode.env.appQuality === 'stable' ? 'code-tunnel' : 'code-tunnel-insiders'; ++ const cliName = '!!TUNNEL_APP_NAME!!'; + const extension = process.platform === 'win32' ? '.exe' : ''; diff --git a/patches/disable-copilot.patch b/patches/disable-copilot.patch index f00ec4b..e5f57d2 100644 --- a/patches/disable-copilot.patch +++ b/patches/disable-copilot.patch @@ -1,61 +1,38 @@ diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts -index 2543324..338c0ca 100644 +index 7b64c28..bea3a3f 100644 --- a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts +++ b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts -@@ -170,3 +170,4 @@ abstract class OpenChatGlobalAction extends Action2 { +@@ -192,3 +192,4 @@ abstract class OpenChatGlobalAction extends Action2 { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ) -@@ -734,3 +735,3 @@ export function registerChatActions() { +@@ -806,3 +807,3 @@ export function registerChatActions() { precondition: ContextKeyExpr.and( - ChatContextKeys.Setup.installed, + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.disabled.negate(), -@@ -947,3 +948,4 @@ MenuRegistry.appendMenuItem(MenuId.CommandCenter, { - ChatContextKeys.Setup.hidden.negate(), -- ChatContextKeys.Setup.disabled.negate() -+ ChatContextKeys.Setup.disabled.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate() - ), -@@ -964,3 +966,4 @@ MenuRegistry.appendMenuItem(MenuId.TitleBar, { - ChatContextKeys.Setup.hidden.negate(), -- ChatContextKeys.Setup.disabled.negate() -+ ChatContextKeys.Setup.disabled.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate() - ), -@@ -981,3 +984,4 @@ registerAction2(class ToggleCopilotControl extends ToggleTitleBarConfigAction { - ChatContextKeys.Setup.hidden.negate(), -- ChatContextKeys.Setup.disabled.negate() -+ ChatContextKeys.Setup.disabled.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate() - ), -@@ -1119,3 +1123,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, { +@@ -1232,3 +1233,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ) diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -index fac472c..107a3b1 100644 +index d211a1d..cfbcdf5 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -186,3 +186,3 @@ configurationRegistry.registerConfiguration({ - markdownDescription: nls.localize('chat.commandCenter.enabled', "Controls whether the command center shows a menu for actions to control chat (requires {0}).", '`#window.commandCenter#`'), -- default: true -+ default: false - }, -@@ -802,3 +802,3 @@ configurationRegistry.registerConfiguration({ +@@ -969,3 +969,3 @@ configurationRegistry.registerConfiguration({ description: nls.localize('chat.disableAIFeatures', "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."), - default: false, + default: true, scope: ConfigurationScope.WINDOW diff --git a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts -index 8953884..cf0c2d2 100644 +index ddb5df4..7831288 100644 --- a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts -@@ -67,10 +67,9 @@ const chatViewDescriptor: IViewDescriptor = { +@@ -70,10 +70,9 @@ const chatViewDescriptor: IViewDescriptor = { ctorDescriptor: new SyncDescriptor(ChatViewPane), - when: ContextKeyExpr.or( - ContextKeyExpr.or( @@ -74,10 +51,10 @@ index 8953884..cf0c2d2 100644 + ) }; diff --git a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts -index 62efc91..12e97c6 100644 +index 9085864..4331066 100644 --- a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts +++ b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts -@@ -119,3 +119,3 @@ export namespace ChatContextKeyExprs { +@@ -126,3 +126,3 @@ export namespace ChatContextKeyExprs { export const chatSetupTriggerContext = ContextKeyExpr.or( - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), @@ -97,19 +74,19 @@ index 7f4dfea..5957267 100644 + when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`).negate(), ProductQualityContext.isEqualTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`).negate()), weight: 40, diff --git a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -index 6f533f1..56c8f9d 100644 +index c38dc40..a3e398c 100644 --- a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts +++ b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -@@ -685,3 +685,3 @@ registerAction2(class extends Action2 { +@@ -704,3 +704,3 @@ registerAction2(class extends Action2 { ChatContextKeys.Setup.disabled.negate(), - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ContextKeyExpr.in(ResourceContextKey.Resource.key, 'git.mergeChanges'), diff --git a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts -index cfea087..5f3efe3 100644 +index 012d3c5..2f53955 100644 --- a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts +++ b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts -@@ -1391,3 +1391,3 @@ registerAction2(class extends Action2 { +@@ -1417,3 +1417,3 @@ registerAction2(class extends Action2 { ChatContextKeys.Setup.disabled.negate(), - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), diff --git a/patches/fix-keymap.patch b/patches/fix-keymap.patch index 9f7f637..59728e8 100644 --- a/patches/fix-keymap.patch +++ b/patches/fix-keymap.patch @@ -1,5 +1,5 @@ diff --git a/.npmrc b/.npmrc -index 060337b..9292787 100644 +index 50d910c..472b622 100644 --- a/.npmrc +++ b/.npmrc @@ -5,2 +5,3 @@ runtime="electron" @@ -7,7 +7,7 @@ index 060337b..9292787 100644 +build_from_source_native_keymap="no" legacy-peer-deps="true" diff --git a/build/.moduleignore b/build/.moduleignore -index fc7c538..7aece0d 100644 +index ed36151..5b040cc 100644 --- a/build/.moduleignore +++ b/build/.moduleignore @@ -65,7 +65,7 @@ fsevents/test/** @@ -24,27 +24,27 @@ index fc7c538..7aece0d 100644 +!@vscodium/native-keymap/build/Release/*.node diff --git a/eslint.config.js b/eslint.config.js -index e9809e6..6065336 100644 +index 47eeebf..f8077c2 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1465,3 +1465,3 @@ export default tseslint.config( 'node:module', - 'native-keymap', + '@vscodium/native-keymap', - 'native-watchdog', + 'net', diff --git a/package-lock.json b/package-lock.json -index b7ae476..93692b8 100644 +index 801e87b..a991591 100644 --- a/package-lock.json +++ b/package-lock.json -@@ -29,2 +29,3 @@ +@@ -32,2 +32,3 @@ "@vscode/windows-registry": "^1.1.0", + "@vscodium/native-keymap": "3.3.7-258424", - "@xterm/addon-clipboard": "^0.3.0-beta.91", -@@ -46,3 +47,2 @@ - "native-is-elevated": "0.8.0", + "@xterm/addon-clipboard": "^0.3.0-beta.109", +@@ -49,3 +50,2 @@ + "native-is-elevated": "0.9.0", - "native-keymap": "^3.3.5", - "native-watchdog": "^1.4.1", -@@ -3300,2 +3300,9 @@ + "node-pty": "^1.2.0-beta.10", +@@ -3674,2 +3674,9 @@ }, + "node_modules/@vscodium/native-keymap": { + "version": "3.3.7-258424", @@ -54,7 +54,7 @@ index b7ae476..93692b8 100644 + "license": "MIT" + }, "node_modules/@webassemblyjs/ast": { -@@ -12516,5 +12523,6 @@ +@@ -12741,5 +12748,6 @@ "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -64,17 +64,17 @@ index b7ae476..93692b8 100644 + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" }, -@@ -12527,9 +12535,2 @@ +@@ -12752,9 +12760,2 @@ }, - "node_modules/native-keymap": { -- "version": "3.3.7", -- "resolved": "https://registry.npmjs.org/native-keymap/-/native-keymap-3.3.7.tgz", -- "integrity": "sha512-07n5kF0L9ERC9pilqEFucnhs1XG4WttbHAMWhhOSqQYXhB8mMNTSCzP4psTaVgDSp6si2HbIPhTIHuxSia6NPQ==", +- "version": "3.3.9", +- "resolved": "https://registry.npmjs.org/native-keymap/-/native-keymap-3.3.9.tgz", +- "integrity": "sha512-d/ydQ5x+GM5W0dyAjFPwexhtc9CDH1g/xWZESS5CXk16ThyFzSBLvlBJq1+FyzUIFf/F2g1MaHdOpa6G9150YQ==", - "hasInstallScript": true, - "license": "MIT" - }, - "node_modules/native-watchdog": { -@@ -13922,5 +13923,6 @@ + "node_modules/natural-compare": { +@@ -14142,5 +14143,6 @@ "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", @@ -84,22 +84,22 @@ index b7ae476..93692b8 100644 + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", "dependencies": { -@@ -13931,3 +13933,3 @@ +@@ -14151,3 +14153,3 @@ "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", diff --git a/package.json b/package.json -index b9978d4..bffe52e 100644 +index efeaec1..b2a6703 100644 --- a/package.json +++ b/package.json -@@ -108,3 +108,3 @@ - "native-is-elevated": "0.8.0", +@@ -111,3 +111,3 @@ + "native-is-elevated": "0.9.0", - "native-keymap": "^3.3.5", + "@vscodium/native-keymap": "3.3.7-258424", - "native-watchdog": "^1.4.1", + "node-pty": "^1.2.0-beta.10", diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -index d4ce18a..9db7f76 100644 +index c30c6da..ca6cea2 100644 --- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts @@ -44,8 +44,8 @@ flakySuite('Native Modules (all platforms)', () => { diff --git a/patches/fix-policies.patch b/patches/fix-policies.patch index 5e72399..4a28de9 100644 --- a/patches/fix-policies.patch +++ b/patches/fix-policies.patch @@ -1,5 +1,5 @@ diff --git a/build/.moduleignore b/build/.moduleignore -index 7aece0d..baebcd5 100644 +index 5b040cc..8d5fd71 100644 --- a/build/.moduleignore +++ b/build/.moduleignore @@ -128,9 +128,11 @@ vsda/** @@ -22,32 +22,32 @@ index 7aece0d..baebcd5 100644 +!@vscodium/policy-watcher/build/Release/vscodium-policy-watcher.node diff --git a/eslint.config.js b/eslint.config.js -index 6065336..1d36678 100644 +index f8077c2..182d6ce 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1448,3 +1448,3 @@ export default tseslint.config( - '@vscode/iconv-lite-umd', + '@vscode/native-watchdog', - '@vscode/policy-watcher', + '@vscodium/policy-watcher', '@vscode/proxy-agent', diff --git a/package-lock.json b/package-lock.json -index 93692b8..fd1d22a 100644 +index a991591..fb05fad 100644 --- a/package-lock.json +++ b/package-lock.json -@@ -17,3 +17,2 @@ - "@vscode/iconv-lite-umd": "0.7.1", +@@ -21,3 +21,2 @@ + "@vscode/native-watchdog": "^1.4.6", - "@vscode/policy-watcher": "^1.3.2", - "@vscode/proxy-agent": "^0.36.0", -@@ -30,2 +29,3 @@ + "@vscode/proxy-agent": "^0.37.0", +@@ -33,2 +32,3 @@ "@vscodium/native-keymap": "3.3.7-258424", + "@vscodium/policy-watcher": "^1.3.2-252465", - "@xterm/addon-clipboard": "^0.3.0-beta.91", -@@ -2952,22 +2952,2 @@ + "@xterm/addon-clipboard": "^0.3.0-beta.109", +@@ -3345,22 +3345,2 @@ }, - "node_modules/@vscode/policy-watcher": { -- "version": "1.3.5", -- "resolved": "https://registry.npmjs.org/@vscode/policy-watcher/-/policy-watcher-1.3.5.tgz", -- "integrity": "sha512-k1n9gaDBjyVRy5yJLABbZCnyFwgQ8OA4sR3vXmXnmB+mO9JA0nsl/XOXQfVCoLasBu3UHCOfAnDWGn2sRzCR+A==", +- "version": "1.3.7", +- "resolved": "https://registry.npmjs.org/@vscode/policy-watcher/-/policy-watcher-1.3.7.tgz", +- "integrity": "sha512-OvIczTbtGLZs7YU0ResbjM0KEB2ORBnlJ4ICxaB9fKHNVBwNVp4i2qIkDQGp3UBGtu7P8/+eg4/ZKk2oJGFcug==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { @@ -65,7 +65,7 @@ index 93692b8..fd1d22a 100644 - } - }, "node_modules/@vscode/proxy-agent": { -@@ -3307,2 +3287,22 @@ +@@ -3681,2 +3661,22 @@ }, + "node_modules/@vscodium/policy-watcher": { + "version": "1.3.2-252465", @@ -89,14 +89,14 @@ index 93692b8..fd1d22a 100644 + }, "node_modules/@webassemblyjs/ast": { diff --git a/package.json b/package.json -index bffe52e..d0e04d0 100644 +index b2a6703..3d03e9a 100644 --- a/package.json +++ b/package.json -@@ -79,3 +79,3 @@ - "@vscode/iconv-lite-umd": "0.7.1", +@@ -83,3 +83,3 @@ + "@vscode/native-watchdog": "^1.4.6", - "@vscode/policy-watcher": "^1.3.2", + "@vscodium/policy-watcher": "^1.3.2-252465", - "@vscode/proxy-agent": "^0.36.0", + "@vscode/proxy-agent": "^0.37.0", diff --git a/src/vs/base/test/node/uri.perf.data.txt b/src/vs/base/test/node/uri.perf.data.txt index ee0a24b..881ce36 100644 --- a/src/vs/base/test/node/uri.perf.data.txt @@ -197,7 +197,7 @@ index ee0a24b..881ce36 100644 +/Users/example/node_modules/@vscodium/policy-watcher/src/windows/NumberPolicy.hh /Users/example/node_modules/@vscode/vscode-languagedetection/CODE_OF_CONDUCT.md diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -index 9db7f76..33beb8c 100644 +index ca6cea2..32b22fe 100644 --- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts @@ -62,5 +62,5 @@ flakySuite('Native Modules (all platforms)', () => { diff --git a/patches/linux/arch-0-support.patch b/patches/linux/arch-0-support.patch index cdc849c..753a647 100644 --- a/patches/linux/arch-0-support.patch +++ b/patches/linux/arch-0-support.patch @@ -1,5 +1,5 @@ diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh -index 2f25764..742aaef 100755 +index f0d5fe6..fdb3707 100755 --- a/build/azure-pipelines/linux/setup-env.sh +++ b/build/azure-pipelines/linux/setup-env.sh @@ -2,3 +2,3 @@ @@ -13,7 +13,7 @@ index 2f25764..742aaef 100755 + SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" node -e 'import { getVSCodeSysroot } from "./build/linux/debian/install-sysroot.ts"; (async () => { await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()' fi diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts -index cb1a0a5..6c21dd2 100644 +index 2714933..36396dc 100644 --- a/build/gulpfile.reh.ts +++ b/build/gulpfile.reh.ts @@ -235,9 +235,23 @@ function nodejs(platform: string, arch: string): NodeJS.ReadWriteStream | undefi @@ -48,10 +48,10 @@ index cb1a0a5..6c21dd2 100644 + } case 'alpine': diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index d3ab651..9dbe6f3 100644 +index 358bb3a..2cc6d9a 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -375,2 +375,12 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d +@@ -372,2 +372,12 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d + const electronOverride: { repo?: string; tag?: string } = {}; + if (process.env.VSCODE_ELECTRON_REPOSITORY) { @@ -64,13 +64,13 @@ index d3ab651..9dbe6f3 100644 + } + let result: NodeJS.ReadWriteStream = all -@@ -379,3 +389,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d +@@ -376,3 +386,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d .pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523 -- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false, ...customElectronConfig })) -+ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false, ...customElectronConfig })) +- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false })) ++ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false })) .pipe(filter(['**', '!LICENSE', '!version'], { dot: true })); diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts -index d00eb59..34ecdf1 100644 +index 46c257d..78bfb66 100644 --- a/build/linux/debian/dep-lists.ts +++ b/build/linux/debian/dep-lists.ts @@ -141,3 +141,3 @@ export const referenceGeneratedDepsByArch = { diff --git a/patches/linux/fix-build.patch b/patches/linux/fix-build.patch index 3bb1fcc..f9e03bb 100644 --- a/patches/linux/fix-build.patch +++ b/patches/linux/fix-build.patch @@ -1,5 +1,5 @@ diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts -index 0ebeb41..c6f0d5c 100644 +index 874c802..04731cf 100644 --- a/build/linux/dependencies-generator.ts +++ b/build/linux/dependencies-generator.ts @@ -13,3 +13,3 @@ import { type DebianArchString, isDebianArchString } from './debian/types.ts'; @@ -18,14 +18,14 @@ index 0ebeb41..c6f0d5c 100644 + // files.push(path.join(buildDir, 'bin', product.tunnelApplicationName)); // Add the main executable. diff --git a/build/package-lock.json b/build/package-lock.json -index d3d0ae9..b47c35f 100644 +index 1a544ba..78337cd 100644 --- a/build/package-lock.json +++ b/build/package-lock.json @@ -17,3 +17,2 @@ "@electron/get": "^2.0.0", - "@electron/osx-sign": "^2.0.0", "@types/ansi-colors": "^3.2.0", -@@ -105,5 +104,5 @@ +@@ -107,5 +106,5 @@ "node_modules/@azure/core-auth": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.9.0.tgz", @@ -34,19 +34,19 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", + "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", "dev": true, -@@ -111,4 +110,4 @@ +@@ -113,4 +112,4 @@ "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.11.0", + "@azure/abort-controller": "^2.1.2", + "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" -@@ -116,3 +115,3 @@ +@@ -118,3 +117,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -235,5 +234,5 @@ +@@ -237,5 +236,5 @@ "node_modules/@azure/core-rest-pipeline": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.18.0.tgz", @@ -55,7 +55,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", + "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", "dev": true, -@@ -241,9 +240,8 @@ +@@ -243,9 +242,8 @@ "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-auth": "^1.8.0", @@ -71,12 +71,12 @@ index d3d0ae9..b47c35f 100644 + "@azure/logger": "^1.3.0", + "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" -@@ -251,3 +249,3 @@ +@@ -253,3 +251,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -268,5 +266,5 @@ +@@ -270,5 +268,5 @@ "node_modules/@azure/core-tracing": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.2.0.tgz", @@ -85,12 +85,12 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz", + "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==", "dev": true, -@@ -277,3 +275,3 @@ +@@ -279,3 +277,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -281,5 +279,5 @@ +@@ -283,5 +281,5 @@ "node_modules/@azure/core-util": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.11.0.tgz", @@ -99,18 +99,18 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", + "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", "dev": true, -@@ -287,3 +285,4 @@ +@@ -289,3 +287,4 @@ "dependencies": { - "@azure/abort-controller": "^2.0.0", + "@azure/abort-controller": "^2.1.2", + "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" -@@ -291,3 +290,3 @@ +@@ -293,3 +292,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -370,11 +369,13 @@ +@@ -372,11 +371,13 @@ "node_modules/@azure/logger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.1.tgz", @@ -129,7 +129,7 @@ index d3d0ae9..b47c35f 100644 - "node": ">=8.0.0" + "node": ">=20.0.0" } -@@ -481,5 +482,5 @@ +@@ -483,5 +484,5 @@ "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", @@ -138,7 +138,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, -@@ -537,50 +538,2 @@ +@@ -766,50 +767,2 @@ }, - "node_modules/@electron/osx-sign": { - "version": "2.0.0", @@ -188,36 +188,8 @@ index d3d0ae9..b47c35f 100644 - "node": ">=10" - } - }, - "node_modules/@esbuild/aix-ppc64": { -@@ -1051,27 +1004,2 @@ - }, -- "node_modules/@isaacs/cliui/node_modules/emoji-regex": { -- "version": "9.2.2", -- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", -- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/@isaacs/cliui/node_modules/string-width": { -- "version": "5.1.2", -- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", -- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "eastasianwidth": "^0.2.0", -- "emoji-regex": "^9.2.2", -- "strip-ansi": "^7.0.1" -- }, -- "engines": { -- "node": ">=12" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/@malept/cross-spawn-promise": { -@@ -1348,5 +1276,5 @@ + "node_modules/@electron/rebuild": { +@@ -2029,5 +1982,5 @@ "node_modules/@textlint/ast-node-types": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.2.2.tgz", @@ -226,7 +198,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.4.1.tgz", + "integrity": "sha512-XifMpBMdo0E1Fuh85YdcYAgy+okNg9WKBzIPIO4JUDnSWUVFihnogrM4cjDapeHkgzSgulwR8oJVJ17eyxI1bA==", "dev": true, -@@ -1355,5 +1283,5 @@ +@@ -2036,5 +1989,5 @@ "node_modules/@textlint/linter-formatter": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.2.2.tgz", @@ -235,7 +207,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.4.1.tgz", + "integrity": "sha512-kAV7Sup3vwvqxKvBbf9lx/JaPHkRybQp/LLvA73U1AorPZE6XyfBAFG24BbMiCs4OX1ax4g7kXRuFPgMLWRf+g==", "dev": true, -@@ -1363,8 +1291,8 @@ +@@ -2044,8 +1997,8 @@ "@azu/style-format": "^1.0.1", - "@textlint/module-interop": "15.2.2", - "@textlint/resolver": "15.2.2", @@ -249,7 +221,7 @@ index d3d0ae9..b47c35f 100644 + "debug": "^4.4.3", + "js-yaml": "^4.1.0", "lodash": "^4.17.21", -@@ -1440,2 +1368,9 @@ +@@ -2121,2 +2074,9 @@ }, + "node_modules/@textlint/linter-formatter/node_modules/emoji-regex": { + "version": "8.0.0", @@ -259,7 +231,7 @@ index d3d0ae9..b47c35f 100644 + "license": "MIT" + }, "node_modules/@textlint/linter-formatter/node_modules/has-flag": { -@@ -1457,2 +1392,17 @@ +@@ -2138,2 +2098,17 @@ }, + "node_modules/@textlint/linter-formatter/node_modules/string-width": { + "version": "4.2.3", @@ -277,7 +249,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/@textlint/linter-formatter/node_modules/strip-ansi": { -@@ -1484,5 +1434,5 @@ +@@ -2165,5 +2140,5 @@ "node_modules/@textlint/module-interop": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.2.2.tgz", @@ -286,7 +258,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.4.1.tgz", + "integrity": "sha512-jHtM2E5CR68P3z/+FGrEU5pml2fQVzEo2sez9FEjrVHSPCrHtqHcPaKfsYbQJjc9C48ObwaWrCzRNaL3KedNCQ==", "dev": true, -@@ -1491,5 +1441,5 @@ +@@ -2172,5 +2147,5 @@ "node_modules/@textlint/resolver": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.2.2.tgz", @@ -295,7 +267,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.4.1.tgz", + "integrity": "sha512-uVssyG3XXXKNY+O7NOajGvQZTyOuhPviwlq7Xek6ZT9K1eDQtA8074cPkAQoLMYhi/TUyOE5P5kpz42UF8Lmdw==", "dev": true, -@@ -1498,5 +1448,5 @@ +@@ -2179,5 +2154,5 @@ "node_modules/@textlint/types": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.2.2.tgz", @@ -304,12 +276,12 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.4.1.tgz", + "integrity": "sha512-WByVZ3zblbvuI+voWQplUP7seSTKXI9z6TMVXEB3dY3JFrZCIXWKNfLbETX5lZV7fYkCMaDtILO1l6s11wdbQA==", "dev": true, -@@ -1504,3 +1454,3 @@ +@@ -2185,3 +2160,3 @@ "dependencies": { - "@textlint/ast-node-types": "15.2.2" + "@textlint/ast-node-types": "15.4.1" } -@@ -1597,12 +1547,2 @@ +@@ -2279,12 +2254,2 @@ }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", @@ -322,7 +294,23 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/@types/gulp": { -@@ -1924,2 +1864,17 @@ +@@ -2429,2 +2394,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -2594,2 +2560,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -2606,2 +2573,3 @@ + "dev": true, ++ "license": "MIT", + "dependencies": { +@@ -2621,2 +2589,3 @@ + "dev": true, ++ "license": "MIT", + "optional": true, +@@ -2626,2 +2595,17 @@ }, + "node_modules/@typespec/ts-http-runtime": { + "version": "0.3.2", @@ -340,7 +328,11 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/@vscode/iconv-lite-umd": { -@@ -2176,5 +2131,5 @@ +@@ -2952,2 +2936,3 @@ + "dev": true, ++ "license": "ISC", + "bin": { +@@ -3056,5 +3041,5 @@ "node_modules/ansi-escapes": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz", @@ -349,7 +341,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz", + "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==", "dev": true, -@@ -2251,17 +2206,7 @@ +@@ -3336,17 +3321,7 @@ "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -371,25 +363,31 @@ index d3d0ae9..b47c35f 100644 - "license": "BSD-3-Clause" + "license": "Python-2.0" }, -@@ -2393,2 +2338,3 @@ +@@ -3477,3 +3452,4 @@ + } +- ] ++ ], ++ "license": "BSD-2-Clause" + }, +@@ -3509,2 +3485,3 @@ "dev": true, -+ "license": "MIT", - "optional": true, -@@ -2404,3 +2350,4 @@ ++ "license": "ISC", + "dependencies": { +@@ -3519,3 +3496,4 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true + "dev": true, + "license": "ISC" }, -@@ -2462,2 +2409,3 @@ - ], -+ "license": "MIT", - "optional": true, -@@ -2506,2 +2454,3 @@ +@@ -3526,2 +3504,3 @@ "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -2565,6 +2514,7 @@ ++ "license": "ISC", + "optional": true +@@ -3782,2 +3761,3 @@ + "dev": true, ++ "license": "MIT", + "engines": { +@@ -3980,6 +3960,7 @@ "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -400,7 +398,7 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "MIT", "dependencies": { -@@ -2573,9 +2523,13 @@ +@@ -3988,9 +3969,13 @@ "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", @@ -419,15 +417,107 @@ index d3d0ae9..b47c35f 100644 - "node": ">= 6" + "node": ">=20.18.1" }, -@@ -2628,2 +2582,3 @@ +@@ -4043,2 +4028,3 @@ "dev": true, -+ "license": "ISC", ++ "license": "MIT", "optional": true -@@ -2778,2 +2733,3 @@ +@@ -4112,2 +4098,13 @@ + }, ++ "node_modules/cli-truncate/node_modules/ansi-regex": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", ++ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/cli-truncate/node_modules/ansi-styles": { +@@ -4151,2 +4148,10 @@ + }, ++ "node_modules/cli-truncate/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true ++ }, + "node_modules/cli-truncate/node_modules/slice-ansi": { +@@ -4167,2 +4172,32 @@ + }, ++ "node_modules/cli-truncate/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/cli-truncate/node_modules/strip-ansi": { ++ "version": "6.0.1", ++ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", ++ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "dependencies": { ++ "ansi-regex": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/cliui": { +@@ -4228,2 +4263,24 @@ + }, ++ "node_modules/cliui/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/cliui/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/cliui/node_modules/strip-ansi": { +@@ -4282,2 +4339,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -4372,3 +4430,3 @@ + "engines": { +- "node": ">=18" ++ "node": ">=20" + } +@@ -4428,2 +4486,3 @@ "dev": true, + "license": "MIT", "dependencies": { -@@ -2790,6 +2746,7 @@ +@@ -4440,6 +4499,7 @@ "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", @@ -438,25 +528,19 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "BSD-2-Clause", "engines": { -@@ -2824,2 +2781,3 @@ - "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -2879,2 +2837,3 @@ +@@ -4501,2 +4561,3 @@ "dev": true, + "license": "(MIT OR WTFPL)", "optional": true, -@@ -2902,2 +2861,3 @@ +@@ -4552,2 +4613,3 @@ "dev": true, + "license": "MIT", "optional": true, -@@ -2948,3 +2908,4 @@ - } -- ] -+ ], -+ "license": "BSD-2-Clause" - }, -@@ -2966,6 +2927,7 @@ +@@ -4584,2 +4646,3 @@ + "dev": true, ++ "license": "ISC", + "optional": true +@@ -4766,6 +4829,7 @@ "node_modules/domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", @@ -467,12 +551,12 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "BSD-2-Clause", "dependencies": { -@@ -2973,3 +2935,3 @@ +@@ -4773,3 +4837,3 @@ "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" + "domhandler": "^5.0.3" }, -@@ -3040,5 +3002,5 @@ +@@ -5029,5 +5093,5 @@ "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -481,7 +565,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, -@@ -3046,2 +3008,16 @@ +@@ -5046,2 +5110,16 @@ }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", @@ -498,7 +582,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/end-of-stream": { -@@ -3056,6 +3032,7 @@ +@@ -5056,6 +5134,7 @@ "node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", @@ -509,11 +593,11 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "BSD-2-Clause", "engines": { -@@ -3143,2 +3120,3 @@ +@@ -5150,2 +5229,3 @@ "dev": true, + "license": "MIT", "optional": true -@@ -3195,16 +3173,2 @@ +@@ -5213,16 +5293,2 @@ }, - "node_modules/esprima": { - "version": "4.0.1", @@ -530,7 +614,15 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/events": { -@@ -3428,5 +3392,5 @@ +@@ -5241,2 +5307,3 @@ + "dev": true, ++ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, +@@ -5271,2 +5338,3 @@ + "dev": true, ++ "license": "ISC", + "dependencies": { +@@ -5515,5 +5583,5 @@ "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", @@ -539,19 +631,23 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "dev": true, -@@ -3553,2 +3517,3 @@ +@@ -5536,2 +5604,3 @@ "dev": true, -+ "license": "ISC", ++ "license": "MIT", "optional": true -@@ -3677,2 +3642,3 @@ +@@ -5576,2 +5645,3 @@ + "hasInstallScript": true, ++ "license": "MIT", + "optional": true, +@@ -5703,2 +5773,3 @@ "dev": true, -+ "license": "ISC", - "dependencies": { -@@ -3756,2 +3722,3 @@ ++ "license": "MIT", + "optional": true, +@@ -5866,2 +5937,3 @@ "dev": true, + "license": "MIT", "engines": { -@@ -3815,5 +3782,5 @@ +@@ -5925,5 +5997,5 @@ "node_modules/htmlparser2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", @@ -560,7 +656,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "dev": true, -@@ -3826,7 +3793,21 @@ +@@ -5936,7 +6008,21 @@ ], + "license": "MIT", "dependencies": { @@ -585,27 +681,7 @@ index d3d0ae9..b47c35f 100644 + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } -@@ -3880,2 +3861,15 @@ - }, -+ "node_modules/iconv-lite": { -+ "version": "0.6.3", -+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", -+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", -+ "dev": true, -+ "license": "MIT", -+ "dependencies": { -+ "safer-buffer": ">= 2.1.2 < 3.0.0" -+ }, -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/ieee754": { -@@ -3899,2 +3893,3 @@ - ], -+ "license": "BSD-3-Clause", - "optional": true -@@ -3912,5 +3907,5 @@ +@@ -6070,5 +6156,5 @@ "node_modules/index-to-position": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz", @@ -614,7 +690,11 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", "dev": true, -@@ -4120,5 +4115,5 @@ +@@ -6088,2 +6174,3 @@ + "dev": true, ++ "license": "MIT", + "dependencies": { +@@ -6359,5 +6446,5 @@ "node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", @@ -623,25 +703,13 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, -@@ -4126,4 +4121,3 @@ +@@ -6365,4 +6452,3 @@ "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, -@@ -4157,2 +4151,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true -@@ -4266,2 +4261,3 @@ - "hasInstallScript": true, -+ "license": "MIT", - "optional": true, -@@ -4333,2 +4329,3 @@ - "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -4358,9 +4355,2 @@ +@@ -6725,9 +6811,2 @@ }, - "node_modules/markdown-it/node_modules/argparse": { - "version": "2.0.1", @@ -651,31 +719,7 @@ index d3d0ae9..b47c35f 100644 - "license": "Python-2.0" - }, "node_modules/matcher": { -@@ -4443,2 +4433,3 @@ - "dev": true, -+ "license": "ISC", - "bin": { -@@ -4487,2 +4478,3 @@ - "dev": true, -+ "license": "MIT", - "dependencies": { -@@ -4495,7 +4487,11 @@ - "node_modules/minimist": { -- "version": "1.2.6", -- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", -- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", -+ "version": "1.2.8", -+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", -+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, -- "optional": true -+ "license": "MIT", -+ "optional": true, -+ "funding": { -+ "url": "https://github.com/sponsors/ljharb" -+ } - }, -@@ -4532,6 +4528,7 @@ +@@ -7047,6 +7126,7 @@ "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -686,11 +730,7 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "MIT", "optional": true -@@ -4578,2 +4575,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true -@@ -4593,5 +4591,5 @@ +@@ -7205,5 +7285,5 @@ "node_modules/node-sarif-builder": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.2.0.tgz", @@ -699,12 +739,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.3.1.tgz", + "integrity": "sha512-8z5dAbhpxmk/WRQHXlv4V0h+9Y4Ugk+w08lyhV/7E/CQX9yDdBc3025/EG+RSMJU2aPFh/IQ7XDV7Ti5TLt/TA==", "dev": true, -@@ -4603,3 +4601,3 @@ - "engines": { -- "node": ">=18" -+ "node": ">=20" - } -@@ -4680,5 +4678,5 @@ +@@ -7308,5 +7388,5 @@ "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", @@ -713,7 +748,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, -@@ -4808,5 +4806,5 @@ +@@ -7575,5 +7655,5 @@ "node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", @@ -722,7 +757,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", + "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", "dev": true, -@@ -4886,8 +4884,9 @@ +@@ -7653,8 +7733,9 @@ "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", @@ -736,7 +771,7 @@ index d3d0ae9..b47c35f 100644 - "entities": "^4.4.0" + "entities": "^6.0.0" }, -@@ -4898,8 +4897,9 @@ +@@ -7665,8 +7746,22 @@ "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", @@ -745,26 +780,26 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", "dev": true, -+ "license": "MIT", - "dependencies": { -- "domhandler": "^5.0.2", -+ "domhandler": "^5.0.3", - "parse5": "^7.0.0" -@@ -4910,2 +4910,28 @@ - }, -+ "node_modules/parse5-parser-stream": { -+ "version": "7.1.2", -+ "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", -+ "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", -+ "dev": true, + "license": "MIT", + "dependencies": { ++ "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, ++ "node_modules/parse5-parser-stream": { ++ "version": "7.1.2", ++ "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", ++ "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", ++ "dev": true, ++ "license": "MIT", + "dependencies": { +- "domhandler": "^5.0.2", + "parse5": "^7.0.0" +@@ -7677,2 +7772,15 @@ + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", @@ -779,7 +814,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/path-is-absolute": { -@@ -4929,5 +4955,5 @@ +@@ -7696,5 +7804,5 @@ "node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", @@ -788,7 +823,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", "dev": true, -@@ -5056,6 +5082,7 @@ +@@ -7838,6 +7946,7 @@ "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", @@ -799,12 +834,12 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "MIT", "optional": true, -@@ -5067,3 +5094,3 @@ +@@ -7849,3 +7958,3 @@ "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", -@@ -5208,22 +5235,2 @@ +@@ -8024,22 +8133,2 @@ }, - "node_modules/rc-config-loader/node_modules/argparse": { - "version": "2.0.1", @@ -827,23 +862,7 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/read": { -@@ -5348,2 +5355,3 @@ - "dev": true, -+ "license": "ISC", - "dependencies": { -@@ -5371,2 +5379,3 @@ - "dev": true, -+ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "optional": true, -@@ -5414,7 +5423,15 @@ - }, -+ "node_modules/safer-buffer": { -+ "version": "2.1.2", -+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", -+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", -+ "dev": true, -+ "license": "MIT" -+ }, +@@ -8320,6 +8409,7 @@ "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -855,23 +874,15 @@ index d3d0ae9..b47c35f 100644 + "dev": true, + "license": "ISC" }, -@@ -5472,2 +5489,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true, -@@ -5612,2 +5630,3 @@ +@@ -8517,2 +8607,3 @@ ], -+ "license": "MIT", ++ "license": "BSD-3-Clause", "optional": true -@@ -5633,2 +5652,3 @@ +@@ -8538,2 +8629,3 @@ ], + "license": "MIT", "optional": true, -@@ -5764,2 +5784,3 @@ - "dev": true, -+ "license": "MIT", - "engines": { -@@ -5791,5 +5812,5 @@ +@@ -8771,5 +8863,5 @@ "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -880,7 +891,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, -@@ -5813,31 +5834,11 @@ +@@ -8793,31 +8885,11 @@ "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", @@ -918,7 +929,7 @@ index d3d0ae9..b47c35f 100644 + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } -@@ -5854,2 +5855,9 @@ +@@ -8834,2 +8906,9 @@ }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", @@ -928,14 +939,14 @@ index d3d0ae9..b47c35f 100644 + "license": "MIT" + }, "node_modules/string-width/node_modules/strip-ansi": { -@@ -5947,4 +5955,5 @@ +@@ -8927,4 +9006,5 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo= sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, + "license": "MIT", "optional": true, -@@ -6062,2 +6071,24 @@ +@@ -9042,2 +9122,24 @@ }, + "node_modules/table/node_modules/emoji-regex": { + "version": "8.0.0", @@ -960,11 +971,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/table/node_modules/strip-ansi": { -@@ -6128,2 +6159,3 @@ - "dev": true, -+ "license": "MIT", - "dependencies": { -@@ -6193,5 +6225,5 @@ +@@ -9310,5 +9412,5 @@ "node_modules/tmp": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", @@ -973,7 +980,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", "dev": true, -@@ -6298,6 +6330,7 @@ +@@ -9435,6 +9537,7 @@ "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", @@ -985,14 +992,14 @@ index d3d0ae9..b47c35f 100644 + "dev": true, + "license": "0BSD" }, -@@ -6316,4 +6349,5 @@ +@@ -9453,4 +9556,5 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, + "license": "Apache-2.0", "optional": true, -@@ -6365,2 +6399,12 @@ +@@ -9502,2 +9606,12 @@ }, + "node_modules/undici": { + "version": "7.16.0", @@ -1005,13 +1012,13 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/undici-types": { -@@ -6404,3 +6448,4 @@ +@@ -9577,3 +9691,4 @@ "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true + "dev": true, + "license": "MIT" }, -@@ -6584,2 +6629,25 @@ +@@ -9790,2 +9905,25 @@ }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", @@ -1037,7 +1044,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/which": { -@@ -6688,2 +6756,24 @@ +@@ -9894,2 +10032,24 @@ }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", @@ -1062,7 +1069,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { -@@ -6714,27 +6804,2 @@ +@@ -9920,27 +10080,2 @@ }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "9.2.2", @@ -1090,8 +1097,56 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/wrappy": { +@@ -10036,2 +10171,47 @@ + }, ++ "node_modules/yargs/node_modules/ansi-regex": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", ++ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", ++ "dev": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/yargs/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/yargs/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/yargs/node_modules/strip-ansi": { ++ "version": "6.0.1", ++ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", ++ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansi-regex": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/yauzl": { diff --git a/build/package.json b/build/package.json -index e084f0e..4517da3 100644 +index e45161d..30ba3c3 100644 --- a/build/package.json +++ b/build/package.json @@ -11,3 +11,2 @@ diff --git a/patches/version-1-update.patch b/patches/version-1-update.patch index dd88101..be046a8 100644 --- a/patches/version-1-update.patch +++ b/patches/version-1-update.patch @@ -1,14 +1,27 @@ +diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts +index a3efce9..be970c6 100644 +--- a/src/vs/code/electron-main/app.ts ++++ b/src/vs/code/electron-main/app.ts +@@ -78,3 +78,2 @@ import { DarwinUpdateService } from '../../platform/update/electron-main/updateS + import { LinuxUpdateService } from '../../platform/update/electron-main/updateService.linux.js'; +-import { SnapUpdateService } from '../../platform/update/electron-main/updateService.snap.js'; + import { Win32UpdateService } from '../../platform/update/electron-main/updateService.win32.js'; +@@ -997,3 +996,3 @@ export class CodeApplication extends Disposable { + if (isLinuxSnap) { +- services.set(IUpdateService, new SyncDescriptor(SnapUpdateService, [process.env['SNAP'], process.env['SNAP_REVISION']])); ++ // services.set(IUpdateService, new SyncDescriptor(SnapUpdateService, [process.env['SNAP'], process.env['SNAP_REVISION']])); + } else { diff --git a/src/vs/platform/update/common/update.ts b/src/vs/platform/update/common/update.ts -index 199f433..a6cbb10 100644 +index b859dfd..75e8987 100644 --- a/src/vs/platform/update/common/update.ts +++ b/src/vs/platform/update/common/update.ts -@@ -51,3 +51,4 @@ export const enum UpdateType { +@@ -54,3 +54,4 @@ export const enum UpdateType { Archive, - Snap + Snap, + WindowsInstaller, } -@@ -110 +111,38 @@ export interface IUpdateService { +@@ -116 +117,38 @@ export interface IUpdateService { } + +export type Architecture = @@ -49,30 +62,37 @@ index 199f433..a6cbb10 100644 + | "user"; \ No newline at end of file diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts -index ed8043f..e19c9e4 100644 +index 0e63d40..c8426ea 100644 --- a/src/vs/platform/update/electron-main/abstractUpdateService.ts +++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts -@@ -14,6 +14,10 @@ import { IProductService } from '../../product/common/productService.js'; +@@ -14,3 +14,3 @@ import { IProductService } from '../../product/common/productService.js'; import { IRequestService } from '../../request/common/request.js'; -import { AvailableForDownload, DisablementReason, IUpdateService, State, StateType, UpdateType } from '../common/update.js'; +import { Architecture, AvailableForDownload, DisablementReason, IUpdateService, Platform, State, StateType, Target, UpdateType } from '../common/update.js'; --export function createUpdateURL(platform: string, quality: string, productService: IProductService): string { -- return `${productService.updateUrl}/api/update/${platform}/${quality}/${productService.commit}`; +@@ -20,10 +20,8 @@ export interface IUpdateURLOptions { + +-export function createUpdateURL(baseUpdateUrl: string, platform: string, quality: string, commit: string, options?: IUpdateURLOptions): string { +- const url = new URL(`${baseUpdateUrl}/api/update/${platform}/${quality}/${commit}`); +- +- if (options?.background) { +- url.searchParams.set('bg', 'true'); +export function createUpdateURL(productService: IProductService, quality: string, platform: Platform, architecture: Architecture, target?: Target): string { + if (target) { + return `${productService.updateUrl}/${quality}/${platform}/${architecture}/${target}/latest.json`; + } else { + return `${productService.updateUrl}/${quality}/${platform}/${architecture}/latest.json`; -+ } + } +- +- return url.toString(); } -@@ -205,3 +209,3 @@ export abstract class AbstractUpdateService implements IUpdateService { +@@ -265,3 +263,3 @@ export abstract class AbstractUpdateService implements IUpdateService { - if (mode === 'none') { + if (mode === 'none' || mode === 'manual') { - return false; + return undefined; diff --git a/src/vs/platform/update/electron-main/updateService.darwin.ts b/src/vs/platform/update/electron-main/updateService.darwin.ts -index b78ebc5..a4a3b1d 100644 +index b20673b..af677f6 100644 --- a/src/vs/platform/update/electron-main/updateService.darwin.ts +++ b/src/vs/platform/update/electron-main/updateService.darwin.ts @@ -15,3 +15,3 @@ import { ILogService } from '../../log/common/log.js'; @@ -81,19 +101,15 @@ index b78ebc5..a4a3b1d 100644 +import { IRequestService, asJson } from '../../request/common/request.js'; import { ITelemetryService } from '../../telemetry/common/telemetry.js'; @@ -19,2 +19,4 @@ import { IUpdate, State, StateType, UpdateType } from '../common/update.js'; - import { AbstractUpdateService, createUpdateURL, UpdateErrorClassification } from './abstractUpdateService.js'; + import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js'; +import { CancellationToken } from '../../../base/common/cancellation.js'; +import * as semver from 'semver'; -@@ -76,17 +78,3 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau - protected buildUpdateFeedUrl(quality: string): string | undefined { -- let assetID: string; -- if (!this.productService.darwinUniversalAssetId) { -- assetID = process.arch === 'x64' ? 'darwin' : 'darwin-arm64'; -- } else { -- assetID = this.productService.darwinUniversalAssetId; -- } -- const url = createUpdateURL(assetID, quality, this.productService); +@@ -75,13 +77,4 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau + +- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string | undefined { +- const assetID = this.productService.darwinUniversalAssetId ?? (process.arch === 'x64' ? 'darwin' : 'darwin-arm64'); +- const url = createUpdateURL(this.productService.updateUrl!, assetID, quality, commit, options); - try { - electron.autoUpdater.setFeedURL({ url }); - } catch (e) { @@ -102,14 +118,13 @@ index b78ebc5..a4a3b1d 100644 - return undefined; - } - return url; ++ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string | undefined { + return createUpdateURL(this.productService, quality, process.platform, process.arch); } -@@ -100,5 +88,30 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau +@@ -112,3 +105,30 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau -- const url = explicit ? this.url : `${this.url}?bg=true`; -- electron.autoUpdater.setFeedURL({ url }); - electron.autoUpdater.checkForUpdates(); -+ this.requestService.request({ url: this.url }, CancellationToken.None) ++ this.requestService.request({ url }, CancellationToken.None) + .then(asJson) + .then(update => { + if (!update || !update.url || !update.version || !update.productVersion) { @@ -125,7 +140,7 @@ index b78ebc5..a4a3b1d 100644 + this.setState(State.Idle(UpdateType.Setup)); + } + else { -+ electron.autoUpdater.setFeedURL({ url: this.url! }); ++ electron.autoUpdater.setFeedURL({ url }); + electron.autoUpdater.checkForUpdates(); + } + @@ -139,27 +154,21 @@ index b78ebc5..a4a3b1d 100644 + }); } diff --git a/src/vs/platform/update/electron-main/updateService.linux.ts b/src/vs/platform/update/electron-main/updateService.linux.ts -index 8550ace..c2fddcb 100644 +index 32040dc..59cf109 100644 --- a/src/vs/platform/update/electron-main/updateService.linux.ts +++ b/src/vs/platform/update/electron-main/updateService.linux.ts @@ -15,2 +15,3 @@ import { AvailableForDownload, IUpdate, State, UpdateType } from '../common/upda - import { AbstractUpdateService, createUpdateURL } from './abstractUpdateService.js'; + import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions } from './abstractUpdateService.js'; +import * as semver from 'semver'; -@@ -31,3 +32,3 @@ export class LinuxUpdateService extends AbstractUpdateService { - protected buildUpdateFeedUrl(quality: string): string { -- return createUpdateURL(`linux-${process.arch}`, quality, this.productService); +@@ -30,4 +31,4 @@ export class LinuxUpdateService extends AbstractUpdateService { + +- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string { +- return createUpdateURL(this.productService.updateUrl!, `linux-${process.arch}`, quality, commit, options); ++ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string { + return createUpdateURL(this.productService, quality, process.platform, process.arch); } -@@ -39,6 +40,5 @@ export class LinuxUpdateService extends AbstractUpdateService { - -- const url = explicit ? this.url : `${this.url}?bg=true`; - this.setState(State.CheckingForUpdates(explicit)); - -- this.requestService.request({ url }, CancellationToken.None) -+ this.requestService.request({ url: this.url }, CancellationToken.None) - .then(asJson) -@@ -47,5 +47,17 @@ export class LinuxUpdateService extends AbstractUpdateService { +@@ -48,5 +49,17 @@ export class LinuxUpdateService extends AbstractUpdateService { this.setState(State.Idle(UpdateType.Archive)); - } else { + @@ -179,7 +188,7 @@ index 8550ace..c2fddcb 100644 + return Promise.resolve(null); }) diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts -index ae4fd9c..7fc81a0 100644 +index 3edbd9d..6666876 100644 --- a/src/vs/platform/update/electron-main/updateService.win32.ts +++ b/src/vs/platform/update/electron-main/updateService.win32.ts @@ -13,3 +13,2 @@ import { CancellationToken } from '../../../base/common/cancellation.js'; @@ -189,9 +198,9 @@ index ae4fd9c..7fc81a0 100644 @@ -27,4 +26,5 @@ import { asJson, IRequestService } from '../../request/common/request.js'; import { ITelemetryService } from '../../telemetry/common/telemetry.js'; -import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, UpdateType } from '../common/update.js'; --import { AbstractUpdateService, createUpdateURL, UpdateErrorClassification } from './abstractUpdateService.js'; +-import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js'; +import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, Target, UpdateType } from '../common/update.js'; -+import { AbstractUpdateService, createUpdateURL} from './abstractUpdateService.js'; ++import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions } from './abstractUpdateService.js'; +import * as semver from 'semver'; @@ -44,5 +44,9 @@ function getUpdateType(): UpdateType { @@ -211,14 +220,17 @@ index ae4fd9c..7fc81a0 100644 @IConfigurationService configurationService: IConfigurationService, + // @ts-expect-error @ITelemetryService private readonly telemetryService: ITelemetryService, -@@ -155,11 +160,21 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - protected buildUpdateFeedUrl(quality: string): string | undefined { +@@ -154,12 +159,22 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun + +- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string | undefined { - let platform = `win32-${process.arch}`; - - if (getUpdateType() === UpdateType.Archive) { - platform += '-archive'; - } else if (this.productService.target === 'user') { - platform += '-user'; +- } ++ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string | undefined { + let target: Target; + + switch (getUpdateType()) { @@ -235,12 +247,12 @@ index ae4fd9c..7fc81a0 100644 + else { + target = "system" + } - } ++ } -- return createUpdateURL(platform, quality, this.productService); +- return createUpdateURL(this.productService.updateUrl!, platform, quality, commit, options); + return createUpdateURL(this.productService, quality, process.platform, process.arch, target); } -@@ -184,2 +199,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -185,2 +200,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun + const fetchedVersion = /\d+\.\d+\.\d+\.\d+/.test(update.productVersion) ? update.productVersion.replace(/(\d+\.\d+\.\d+)\.\d+(\-\w+)?/, '$1$2') : update.productVersion.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3') + const currentVersion = this.productService.version.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3') @@ -251,16 +263,16 @@ index ae4fd9c..7fc81a0 100644 + } + if (updateType === UpdateType.Archive) { -@@ -210,3 +233,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -211,3 +234,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - const fastUpdatesEnabled = this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); + const fastUpdatesEnabled = getUpdateType() == UpdateType.Setup && this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); if (fastUpdatesEnabled) { -@@ -222,3 +245,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -223,3 +246,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun .then(undefined, err => { - this.telemetryService.publicLog2<{ messageHash: string }, UpdateErrorClassification>('update:error', { messageHash: String(hash(String(err))) }); this.logService.error(err); -@@ -307,6 +329,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -309,6 +331,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun } else { - spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], { - detached: true, diff --git a/patches/windows/disable-versioned-resources.patch b/patches/windows/disable-versioned-resources.patch.no similarity index 100% rename from patches/windows/disable-versioned-resources.patch rename to patches/windows/disable-versioned-resources.patch.no diff --git a/prepare_vscode.sh b/prepare_vscode.sh index b582ade..d9d8f90 100755 --- a/prepare_vscode.sh +++ b/prepare_vscode.sh @@ -275,17 +275,11 @@ if [[ "${OS_NAME}" == "linux" ]]; then sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/rpm/code.spec.template # snapcraft.yaml - sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template + sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template elif [[ "${OS_NAME}" == "windows" ]]; then - if [[ "${VSCODE_QUALITY}" == "insider" ]]; then - ISS_PATH="build/win32/code-insider.iss" - else - ISS_PATH="build/win32/code.iss" - fi - # code.iss - sed -i 's|https://code.visualstudio.com|https://vscodium.com|' "${ISS_PATH}" - sed -i 's|Microsoft Corporation|VSCodium|' "${ISS_PATH}" + sed -i 's|https://code.visualstudio.com|https://vscodium.com|' build/win32/code.iss + sed -i 's|Microsoft Corporation|VSCodium|' build/win32/code.iss fi cd .. diff --git a/product.json b/product.json index 2f75e16..7acf85c 100644 --- a/product.json +++ b/product.json @@ -49,10 +49,12 @@ "extensionsEnabledWithApiProposalVersion": [ "GitHub.copilot-chat", "ms-vscode.vscode-commander", - "ms-vscode.vscode-copilot-vision", "GitHub.vscode-pull-request-github" ], "extensionEnabledApiProposals": { + "mrleemurray.theme-2026": [ + "css" + ], "ms-azuretools.vscode-containers": [ "authenticationChallenges" ], @@ -117,7 +119,8 @@ ], "ms-python.vscode-python-envs": [ "terminalShellEnv", - "terminalDataWriteEvent" + "terminalDataWriteEvent", + "taskExecutionTerminal" ], "ms-dotnettools.dotnet-interactive-vscode": [ "notebookMessaging" @@ -240,13 +243,18 @@ ], "GitHub.copilot": [ "inlineCompletionsAdditions", + "interactive", + "terminalDataWriteEvent", "devDeviceId" ], "GitHub.copilot-nightly": [ "inlineCompletionsAdditions", + "interactive", + "terminalDataWriteEvent", "devDeviceId" ], "GitHub.copilot-chat": [ + "agentSessionsWorkspace", "interactive", "terminalDataWriteEvent", "terminalExecuteCommandEvent", @@ -255,7 +263,6 @@ "chatParticipantAdditions", "defaultChatParticipant", "embeddings", - "chatEditing", "chatProvider", "mappedEditsProvider", "aiRelatedInformation", @@ -271,6 +278,8 @@ "contribCommentEditorActionsMenu", "contribCommentThreadAdditionalMenu", "contribCommentsViewThreadMenus", + "contribChatEditorInlineGutterMenu", + "extensionAffinity", "newSymbolNamesProvider", "findFiles2", "chatReferenceDiagnostic", @@ -286,6 +295,7 @@ "languageModelSystem", "languageModelCapabilities", "languageModelThinkingPart", + "languageModelToolSupportsModel", "chatStatusItem", "taskProblemMatcherStatus", "contribLanguageModelToolSets", @@ -296,7 +306,13 @@ "chatSessionsProvider", "devDeviceId", "contribEditorContentMenu", - "tokenInformation" + "tokenInformation", + "chatPromptFiles", + "mcpServerDefinitions", + "tabInputMultiDiff", + "workspaceTrust", + "chatHooks", + "environmentPower" ], "GitHub.remotehub": [ "contribRemoteHelp", @@ -362,7 +378,6 @@ "terminalDataWriteEvent", "chatParticipantAdditions" ], - "vscjava.vscode-java-pack": [], "ms-dotnettools.csdevkit": [ "inlineCompletionsAdditions" ], @@ -381,9 +396,6 @@ "chatParticipantAdditions", "languageModelSystem" ], - "ms-toolsai.datawrangler": [], - "ms-vscode.vscode-commander": [], - "ms-vscode.vscode-websearchforcopilot": [], "ms-vscode.vscode-copilot-vision": [ "chatReferenceBinaryData", "codeActionAI" @@ -391,6 +403,10 @@ "ms-autodev.vscode-autodev": [ "chatParticipantAdditions" ], + "codetrek.haystack-search": [ + "fileSearchProvider", + "textSearchProvider2" + ], "vscjava.vscode-java-upgrade": [ "chatParticipantAdditions", "chatParticipantPrivate" diff --git a/upstream/insider.json b/upstream/insider.json index 94204ea..e2fae29 100644 --- a/upstream/insider.json +++ b/upstream/insider.json @@ -1,4 +1,4 @@ { - "tag": "1.108.0", - "commit": "94e8ae2b28cb5cc932b86e1070569c4463565c37" + "tag": "1.109.0", + "commit": "bdd88df003631aaa0bcbe057cb0a940b80a476fa" } From 091907f2c04eef777eb4f2cb7b1df00e4432edb2 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Mon, 9 Feb 2026 15:20:52 +0100 Subject: [PATCH 31/38] feat(windows): use versioned update (#2690) --- .../disable-versioned-resources.patch.no | 854 ------------------ prepare_vscode.sh | 4 + 2 files changed, 4 insertions(+), 854 deletions(-) delete mode 100644 patches/windows/disable-versioned-resources.patch.no diff --git a/patches/windows/disable-versioned-resources.patch.no b/patches/windows/disable-versioned-resources.patch.no deleted file mode 100644 index 77c7bb6..0000000 --- a/patches/windows/disable-versioned-resources.patch.no +++ /dev/null @@ -1,854 +0,0 @@ -diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index ac70ecb..e04cca7 100644 ---- a/build/gulpfile.vscode.ts -+++ b/build/gulpfile.vscode.ts -@@ -41,3 +41,2 @@ const root = path.dirname(import.meta.dirname); - const commit = getVersion(root); --const versionedResourcesFolder = (product as typeof product & { quality?: string })?.quality === 'insider' ? commit!.substring(0, 10) : ''; - -@@ -356,8 +355,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d - ], { base: '.' })); -- if (quality && quality === 'insider') { -- customElectronConfig = { -- createVersionedResources: true, -- productVersionString: `${versionedResourcesFolder}`, -- }; -- } - } else if (platform === 'linux') { -@@ -398,3 +391,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d - .pipe(replace('@@NAME@@', product.nameShort)) -- .pipe(replace('@@VERSIONFOLDER@@', versionedResourcesFolder)) - .pipe(rename(function (f) { f.basename = product.applicationName; }))); -@@ -407,3 +399,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d - .pipe(replace('@@APPNAME@@', product.applicationName)) -- .pipe(replace('@@VERSIONFOLDER@@', versionedResourcesFolder)) - .pipe(replace('@@SERVERDATAFOLDER@@', product.serverDataFolderName || '.vscode-remote')) -@@ -473,4 +464,4 @@ function patchWin32DependenciesTask(destinationFolderName: string) { - const deps = await glob('**/*.node', { cwd, ignore: 'extensions/node_modules/@vscode/watcher/**' }); -- const packageJson = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'package.json'), 'utf8')); -- const product = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'product.json'), 'utf8')); -+ const packageJson = JSON.parse(await fs.promises.readFile(path.join(cwd, 'resources', 'app', 'package.json'), 'utf8')); -+ const product = JSON.parse(await fs.promises.readFile(path.join(cwd, 'resources', 'app', 'product.json'), 'utf8')); - const baseVersion = packageJson.version.replace(/-.*$/, ''); -diff --git a/build/gulpfile.vscode.win32.ts b/build/gulpfile.vscode.win32.ts -index a7b01f0..4409ce2 100644 ---- a/build/gulpfile.vscode.win32.ts -+++ b/build/gulpfile.vscode.win32.ts -@@ -74,9 +74,4 @@ function buildWin32Setup(arch: string, target: string): task.CallbackTask { - const quality = (product as typeof product & { quality?: string }).quality || 'dev'; -- let versionedResourcesFolder = ''; - let issPath = path.join(import.meta.dirname, 'win32', 'code.iss'); -- if (quality && quality === 'insider') { -- versionedResourcesFolder = commit!.substring(0, 10); -- issPath = path.join(import.meta.dirname, 'win32', 'code-insider.iss'); -- } -- const originalProductJsonPath = path.join(sourcePath, versionedResourcesFolder, 'resources/app/product.json'); -+ const originalProductJsonPath = path.join(sourcePath, 'resources/app/product.json'); - const productJsonPath = path.join(outputPath, 'product.json'); -@@ -113,3 +108,2 @@ function buildWin32Setup(arch: string, target: string): task.CallbackTask { - ProductJsonPath: productJsonPath, -- VersionedResourcesFolder: versionedResourcesFolder, - Quality: quality -diff --git a/build/win32/code-insider.iss b/build/win32/code-insider.iss -index 2cbf252..b8445fb 100644 ---- a/build/win32/code-insider.iss -+++ b/build/win32/code-insider.iss -@@ -69,9 +69,9 @@ Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl,{#RepoDir}\build\ - [InstallDelete] --Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\out"; Check: IsNotBackgroundUpdate --Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\plugins"; Check: IsNotBackgroundUpdate --Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\extensions"; Check: IsNotBackgroundUpdate --Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules"; Check: IsNotBackgroundUpdate --Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules.asar.unpacked"; Check: IsNotBackgroundUpdate --Type: files; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules.asar"; Check: IsNotBackgroundUpdate --Type: files; Name: "{app}\{#VersionedResourcesFolder}\resources\app\Credits_45.0.2454.85.html"; Check: IsNotBackgroundUpdate -+Type: filesandordirs; Name: "{app}\resources\app\out"; Check: IsNotBackgroundUpdate -+Type: filesandordirs; Name: "{app}\resources\app\plugins"; Check: IsNotBackgroundUpdate -+Type: filesandordirs; Name: "{app}\resources\app\extensions"; Check: IsNotBackgroundUpdate -+Type: filesandordirs; Name: "{app}\resources\app\node_modules"; Check: IsNotBackgroundUpdate -+Type: filesandordirs; Name: "{app}\resources\app\node_modules.asar.unpacked"; Check: IsNotBackgroundUpdate -+Type: files; Name: "{app}\resources\app\node_modules.asar"; Check: IsNotBackgroundUpdate -+Type: files; Name: "{app}\resources\app\Credits_45.0.2454.85.html"; Check: IsNotBackgroundUpdate - -@@ -100,4 +100,4 @@ Source: "{#ExeBasename}.exe"; DestDir: "{code:GetDestDir}"; DestName: "{code:Get - Source: "{#ExeBasename}.VisualElementsManifest.xml"; DestDir: "{code:GetDestDir}"; DestName: "{code:GetVisualElementsManifest}"; Flags: ignoreversion --Source: "tools\*"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\tools"; Flags: ignoreversion --Source: "policies\*"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\policies"; Flags: ignoreversion skipifsourcedoesntexist -+Source: "tools\*"; DestDir: "{code:GetDestDir}\tools"; Flags: ignoreversion -+Source: "policies\*"; DestDir: "{code:GetDestDir}\policies"; Flags: ignoreversion skipifsourcedoesntexist - Source: "bin\{#TunnelApplicationName}.exe"; DestDir: "{code:GetDestDir}\bin"; DestName: "{code:GetBinDirTunnelApplicationFilename}"; Flags: ignoreversion skipifsourcedoesntexist -@@ -105,7 +105,7 @@ Source: "bin\{#ApplicationName}.cmd"; DestDir: "{code:GetDestDir}\bin"; DestName - Source: "bin\{#ApplicationName}"; DestDir: "{code:GetDestDir}\bin"; DestName: "{code:GetBinDirApplicationFilename}"; Flags: ignoreversion --Source: "{#ProductJsonPath}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\resources\app"; Flags: ignoreversion -+Source: "{#ProductJsonPath}"; DestDir: "{code:GetDestDir}\resources\app"; Flags: ignoreversion - #ifdef AppxPackageName - #if "user" == InstallTarget --Source: "appx\{#AppxPackage}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\appx"; BeforeInstall: RemoveAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater --Source: "appx\{#AppxPackageDll}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\appx"; AfterInstall: AddAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater -+Source: "appx\{#AppxPackage}"; DestDir: "{code:GetDestDir}\appx"; BeforeInstall: RemoveAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater -+Source: "appx\{#AppxPackageDll}"; DestDir: "{code:GetDestDir}\appx"; AfterInstall: AddAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater - #endif -@@ -133,3 +133,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -141,3 +141,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -149,3 +149,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -157,3 +157,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -165,3 +165,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_ - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -173,3 +173,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_ - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -181,3 +181,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_ - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -189,3 +189,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashr - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -197,3 +197,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -205,3 +205,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bower - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\bower.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\bower.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -213,3 +213,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles -@@ -220,3 +220,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c"; V - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -228,3 +228,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -236,3 +236,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -244,3 +244,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -252,3 +252,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -260,3 +260,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -268,3 +268,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -276,3 +276,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cloju - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -284,3 +284,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -292,3 +292,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code- - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -300,3 +300,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -308,3 +308,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffe - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -316,3 +316,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.confi - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -324,3 +324,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.conta - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles -@@ -331,3 +331,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -339,3 +339,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -347,3 +347,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtm - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -355,3 +355,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cspro - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -363,3 +363,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\css.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\css.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -371,3 +371,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -379,3 +379,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -387,3 +387,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -395,3 +395,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -403,3 +403,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -411,3 +411,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -419,3 +419,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.docke - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -427,3 +427,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -435,3 +435,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -443,3 +443,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edito - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -451,3 +451,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -459,3 +459,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -467,3 +467,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -475,3 +475,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -483,3 +483,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -491,3 +491,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -499,3 +499,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscr - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -507,3 +507,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -515,3 +515,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemsp - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -524,3 +524,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitat - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -533,3 +533,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitco - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -542,3 +542,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitig - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -550,3 +550,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\go.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\go.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -558,3 +558,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradl - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -566,3 +566,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groov - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -574,3 +574,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h"; V - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -582,3 +582,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handl - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -590,3 +590,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -598,3 +598,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles -@@ -605,3 +605,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -613,3 +613,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -621,3 +621,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -629,3 +629,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -637,3 +637,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -645,3 +645,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -653,3 +653,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -661,3 +661,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\jade.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\jade.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -669,3 +669,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -677,3 +677,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -685,3 +685,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -693,3 +693,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -701,3 +701,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsr - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -709,3 +709,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshin - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -717,3 +717,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -725,3 +725,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\json.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\json.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -733,3 +733,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -741,3 +741,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\less.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\less.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -749,3 +749,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -757,3 +757,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -765,3 +765,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m"; V - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -773,3 +773,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makef - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -781,3 +781,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markd - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -789,3 +789,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -797,3 +797,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -805,3 +805,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -813,3 +813,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtex - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -821,3 +821,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -829,3 +829,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -837,3 +837,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -845,3 +845,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -853,3 +853,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -861,3 +861,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -869,3 +869,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -877,3 +877,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -886,3 +886,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmig - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -894,3 +894,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\php.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\php.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -902,3 +902,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -910,3 +910,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -918,3 +918,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -926,3 +926,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -934,3 +934,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -942,3 +942,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -950,3 +950,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -958,3 +958,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -966,3 +966,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profi - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -974,3 +974,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.prope - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -982,3 +982,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -990,3 +990,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -998,3 +998,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1006,3 +1006,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1014,3 +1014,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1022,3 +1022,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1030,3 +1030,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r"; V - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1038,3 +1038,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1046,3 +1046,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhist - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1054,3 +1054,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprof - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1062,3 +1062,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1070,3 +1070,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1078,3 +1078,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1086,3 +1086,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1094,3 +1094,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1102,3 +1102,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1110,3 +1110,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1118,3 +1118,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sql.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\sql.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1126,3 +1126,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1134,3 +1134,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t"; V - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1142,3 +1142,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1150,3 +1150,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\typescript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\typescript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1158,3 +1158,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1166,3 +1166,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1174,3 +1174,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1182,3 +1182,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1190,3 +1190,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\vue.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\vue.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1198,3 +1198,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1206,3 +1206,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1214,3 +1214,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1222,3 +1222,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1230,3 +1230,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1238,3 +1238,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1246,3 +1246,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1254,3 +1254,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1262,3 +1262,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1267,3 +1267,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\s - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,{#NameLong}}"; Flags: uninsdeletekey --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico" -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\shell\open"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe""" -@@ -1272,3 +1272,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}Source - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe"; ValueType: none; ValueName: ""; Flags: uninsdeletekey --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico" -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe""" -@@ -1557,3 +1557,3 @@ begin - Log('Installing appx ' + AppxPackageFullname + ' ...'); -- ShellExec('', 'powershell.exe', '-NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -Command ' + AddQuotes('Add-AppxPackage -Path ''' + ExpandConstant('{app}\{#VersionedResourcesFolder}\appx\{#AppxPackage}') + ''' -ExternalLocation ''' + ExpandConstant('{app}\{#VersionedResourcesFolder}\appx') + ''''), '', SW_HIDE, ewWaitUntilTerminated, AddAppxPackageResultCode); -+ ShellExec('', 'powershell.exe', '-NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -Command ' + AddQuotes('Add-AppxPackage -Path ''' + ExpandConstant('{app}\appx\{#AppxPackage}') + ''' -ExternalLocation ''' + ExpandConstant('{app}\appx') + ''''), '', SW_HIDE, ewWaitUntilTerminated, AddAppxPackageResultCode); - Log('Add-AppxPackage complete.'); -@@ -1614,3 +1614,3 @@ begin - Log('Invoking inno_updater for background update'); -- Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"{app}\{#ExeBasename}.exe" ' + BoolToStr(LockFileExists()) + ' "{cm:UpdatingVisualStudioCode}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); -+ Exec(ExpandConstant('{app}\tools\inno_updater.exe'), ExpandConstant('"{app}\{#ExeBasename}.exe" ' + BoolToStr(LockFileExists()) + ' "{cm:UpdatingVisualStudioCode}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); - DeleteFile(ExpandConstant('{app}\updating_version')); -@@ -1619,3 +1619,3 @@ begin - Log('Invoking inno_updater to remove previous installation folder'); -- Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe" "{#VersionedResourcesFolder}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); -+ Exec(ExpandConstant('{app}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); - Log('inno_updater completed gc successfully'); -@@ -1627,3 +1627,3 @@ begin - Log('Invoking inno_updater to remove previous installation folder'); -- Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe" "{#VersionedResourcesFolder}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); -+ Exec(ExpandConstant('{app}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); - Log('inno_updater completed gc successfully'); -diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts -index ae4fd9c..eb77fcf 100644 ---- a/src/vs/platform/update/electron-main/updateService.win32.ts -+++ b/src/vs/platform/update/electron-main/updateService.win32.ts -@@ -94,10 +94,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - protected override async initialize(): Promise { -- if (this.environmentMainService.isBuilt) { -- const cachePath = await this.cachePath; -- app.setPath('appUpdate', cachePath); -- try { -- await unlink(path.join(cachePath, 'session-ending.flag')); -- } catch { } -- } -- - if (this.productService.target === 'user' && await this.nativeHostMainService.isAdmin(undefined)) { -@@ -140,6 +132,5 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - if (fastUpdatesEnabled && this.productService.target === 'user' && this.productService.commit) { -- const versionedResourcesFolder = this.productService.commit.substring(0, 10); -- const innoUpdater = path.join(exeDir, versionedResourcesFolder, 'tools', 'inno_updater.exe'); -+ const innoUpdater = path.join(exeDir, 'tools', 'inno_updater.exe'); - await new Promise(resolve => { -- const child = spawn(innoUpdater, ['--gc', exePath, versionedResourcesFolder], { -+ const child = spawn(innoUpdater, ['--gc', exePath], { - stdio: ['ignore', 'ignore', 'ignore'], diff --git a/prepare_vscode.sh b/prepare_vscode.sh index d9d8f90..9ac2bb8 100755 --- a/prepare_vscode.sh +++ b/prepare_vscode.sh @@ -58,6 +58,10 @@ if [[ "${DISABLE_UPDATE}" != "yes" ]]; then else setpath "product" "downloadUrl" "https://github.com/VSCodium/vscodium/releases" fi + + if [[ "${OS_NAME}" == "windows" ]]; then + setpath_json "product" "win32VersionedUpdate" "true" + fi fi if [[ "${VSCODE_QUALITY}" == "insider" ]]; then From 8a26e54d3eeb7607eb06b5510a111f66f7aa8769 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Mon, 9 Feb 2026 20:19:21 +0100 Subject: [PATCH 32/38] feat(windows): disable versioned update (#2691) --- prepare_vscode.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prepare_vscode.sh b/prepare_vscode.sh index 9ac2bb8..1761c7f 100755 --- a/prepare_vscode.sh +++ b/prepare_vscode.sh @@ -59,9 +59,9 @@ if [[ "${DISABLE_UPDATE}" != "yes" ]]; then setpath "product" "downloadUrl" "https://github.com/VSCodium/vscodium/releases" fi - if [[ "${OS_NAME}" == "windows" ]]; then - setpath_json "product" "win32VersionedUpdate" "true" - fi + # if [[ "${OS_NAME}" == "windows" ]]; then + # setpath_json "product" "win32VersionedUpdate" "true" + # fi fi if [[ "${VSCODE_QUALITY}" == "insider" ]]; then From 273901d3c27dc7fdb777e463b29814a5e415600c Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Tue, 10 Feb 2026 17:37:21 +0100 Subject: [PATCH 33/38] feat(1.109): update patches (#2692) --- patches/brand.patch | 165 ++-- patches/cli.patch | 12 +- patches/disable-copilot.patch | 51 +- patches/fix-keymap.patch | 48 +- patches/fix-policies.patch | 38 +- patches/linux/arch-0-support.patch | 16 +- patches/linux/fix-build.patch | 535 ++++++----- patches/version-1-update.patch | 114 +-- .../windows/disable-versioned-resources.patch | 854 ------------------ prepare_vscode.sh | 16 +- product.json | 13 +- upstream/insider.json | 4 +- upstream/stable.json | 4 +- 13 files changed, 527 insertions(+), 1343 deletions(-) delete mode 100644 patches/windows/disable-versioned-resources.patch diff --git a/patches/brand.patch b/patches/brand.patch index d21e506..2df46f0 100644 --- a/patches/brand.patch +++ b/patches/brand.patch @@ -62,48 +62,46 @@ index 1be4d0e..647b147 100644 -export const redundantImplicitActivationEvent = l10n.t("This activation event can be removed as VS Code generates these automatically from your package.json contribution declarations."); +export const redundantImplicitActivationEvent = l10n.t("This activation event can be removed as !!APP_NAME!! generates these automatically from your package.json contribution declarations."); diff --git a/extensions/extension-editing/src/extensionLinter.ts b/extensions/extension-editing/src/extensionLinter.ts -index 187100b..7514367 100644 +index 5c73304..3294fd8 100644 --- a/extensions/extension-editing/src/extensionLinter.ts +++ b/extensions/extension-editing/src/extensionLinter.ts -@@ -34,4 +34,4 @@ const relativeUrlRequiresHttpsRepository = l10n.t("Relative image URLs require a +@@ -34,3 +34,3 @@ const relativeUrlRequiresHttpsRepository = l10n.t("Relative image URLs require a const relativeBadgeUrlRequiresHttpsRepository = l10n.t("Relative badge URLs require a repository with HTTPS protocol to be specified in this package.json."); -const apiProposalNotListed = l10n.t("This proposal cannot be used because for this extension the product defines a fixed set of API proposals. You can test your extension but before publishing you MUST reach out to the VS Code team."); --const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75.0 as VS Code will generate these automatically from your package.json contribution declarations."); +const apiProposalNotListed = l10n.t("This proposal cannot be used because for this extension the product defines a fixed set of API proposals. You can test your extension but before publishing you MUST reach out to the !!APP_NAME!! team."); -+const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75.0 as !!APP_NAME!! will generate these automatically from your package.json contribution declarations."); - const starActivation = l10n.t("Using '*' activation is usually a bad idea as it impacts performance."); + diff --git a/extensions/git/package.nls.json b/extensions/git/package.nls.json -index c883415..b3552db 100644 +index 94a1f61..c0ac9ea 100644 --- a/extensions/git/package.nls.json +++ b/extensions/git/package.nls.json -@@ -247,3 +247,3 @@ +@@ -250,3 +250,3 @@ "{Locked='](command:git.showOutput'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -275,4 +275,4 @@ +@@ -278,4 +278,4 @@ "config.showCommitInput": "Controls whether to show the commit input in the Git source control panel.", - "config.terminalAuthentication": "Controls whether to enable VS Code to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.", - "config.terminalGitEditor": "Controls whether to enable VS Code to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.", + "config.terminalAuthentication": "Controls whether to enable !!APP_NAME!! to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.", + "config.terminalGitEditor": "Controls whether to enable !!APP_NAME!! to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.", "config.timeline.showAuthor": "Controls whether to show the commit author in the Timeline view.", -@@ -346,3 +346,3 @@ +@@ -349,3 +349,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -356,3 +356,3 @@ +@@ -359,3 +359,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -366,3 +366,3 @@ +@@ -369,3 +369,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -378,6 +378,6 @@ +@@ -381,6 +381,6 @@ "view.workbench.scm.disabled": { - "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -112,7 +110,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -386,6 +386,6 @@ +@@ -389,6 +389,6 @@ "view.workbench.scm.empty": { - "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -121,7 +119,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -394,6 +394,6 @@ +@@ -397,6 +397,6 @@ "view.workbench.scm.folder": { - "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -130,7 +128,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -402,6 +402,6 @@ +@@ -405,6 +405,6 @@ "view.workbench.scm.workspace": { - "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -139,7 +137,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -410,6 +410,6 @@ +@@ -413,6 +413,6 @@ "view.workbench.scm.emptyWorkspace": { - "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -148,27 +146,27 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -428,3 +428,3 @@ +@@ -431,3 +431,3 @@ "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -437,3 +437,3 @@ +@@ -440,3 +440,3 @@ "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -445,3 +445,3 @@ +@@ -448,3 +448,3 @@ "{Locked='](command:git.manageUnsafeRepositories'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -453,3 +453,3 @@ +@@ -456,3 +456,3 @@ "{Locked='](command:git.manageUnsafeRepositories'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -458,6 +458,6 @@ +@@ -461,6 +461,6 @@ "view.workbench.scm.closedRepository": { - "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -177,7 +175,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -466,6 +466,6 @@ +@@ -469,6 +469,6 @@ "view.workbench.scm.closedRepositories": { - "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -186,12 +184,12 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -477,3 +477,3 @@ +@@ -480,3 +480,3 @@ "{Locked='](command:git.clone'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -481,3 +481,3 @@ +@@ -484,3 +484,3 @@ }, - "view.workbench.learnMore": "To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm)." + "view.workbench.learnMore": "To learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm)." @@ -275,7 +273,7 @@ index e82030e..ac999f6 100644 + "displayName": "Jake support for !!APP_NAME!!", "jake.taskDefinition.type.description": "The Jake task to customize.", diff --git a/extensions/json-language-features/package.nls.json b/extensions/json-language-features/package.nls.json -index abc07c9..2a6de09 100644 +index 9052d37..f505551 100644 --- a/extensions/json-language-features/package.nls.json +++ b/extensions/json-language-features/package.nls.json @@ -11,3 +11,3 @@ @@ -361,7 +359,7 @@ index a8bbe5d..00694dc 100644 + "comment": "The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks !!APP_NAME!! / Atom, see https://github.com/textmate/swift.tmbundle/issues/29", "name": "support.variable.swift", diff --git a/extensions/typescript-language-features/package.nls.json b/extensions/typescript-language-features/package.nls.json -index fb28b2a..788780a 100644 +index e01e4de..1797d03 100644 --- a/extensions/typescript-language-features/package.nls.json +++ b/extensions/typescript-language-features/package.nls.json @@ -82,4 +82,4 @@ @@ -452,7 +450,7 @@ index 207698d..9948527 100644 + vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList)); } else { diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json -index 3f586a8..ece1d67 100644 +index c3c08b1..d0f4d3d 100644 --- a/extensions/vscode-api-tests/package.json +++ b/extensions/vscode-api-tests/package.json @@ -2,3 +2,3 @@ @@ -539,15 +537,15 @@ index 74d25c6..878e228 100644 + progress.report({ message: 'Installing !!APP_NAME!! Server' }); serverLocation = await downloadAndUnzipVSCodeServer(updateUrl, commit, quality, serverBin, m => outputChannel.appendLine(m)); diff --git a/src/main.ts b/src/main.ts -index ec2e45c..8d89e2b 100644 +index ecbbb16..a61b2d3 100644 --- a/src/main.ts +++ b/src/main.ts -@@ -412,3 +412,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -416,3 +416,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { const defaultArgvConfigContent = [ - '// This configuration file allows you to pass permanent command line arguments to VS Code.', + '// This configuration file allows you to pass permanent command line arguments to !!APP_NAME!!.', '// Only a subset of arguments is currently supported to reduce the likelihood of breaking', -@@ -418,6 +418,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -422,6 +422,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { '//', - '// NOTE: Changing this file requires a restart of VS Code.', + '// NOTE: Changing this file requires a restart of !!APP_NAME!!.', @@ -557,10 +555,10 @@ index ec2e45c..8d89e2b 100644 + ' // This can help in cases where you see rendering issues in !!APP_NAME!!.', ' // "disable-hardware-acceleration": true', diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts -index 43aba01..23b55ea 100644 +index a3efce9..ba6055d 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts -@@ -526,3 +526,3 @@ export class CodeApplication extends Disposable { +@@ -532,3 +532,3 @@ export class CodeApplication extends Disposable { async startup(): Promise { - this.logService.debug('Starting VS Code'); + this.logService.debug('Starting !!APP_NAME!!'); @@ -603,10 +601,10 @@ index cdf0c67..d567815 100644 + throw new Error(nls.localize('restartCode', "Please restart !!APP_NAME!! before reinstalling {0}.", this.manifest.displayName || this.manifest.name)); } diff --git a/src/vs/platform/extensions/common/extensionValidator.ts b/src/vs/platform/extensions/common/extensionValidator.ts -index 8740151..dfa35a5 100644 +index 6346b9d..77ff0f9 100644 --- a/src/vs/platform/extensions/common/extensionValidator.ts +++ b/src/vs/platform/extensions/common/extensionValidator.ts -@@ -374,5 +374,5 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: string[ +@@ -380,5 +380,5 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: string[ if (incompatibleProposals.length === 1) { - notices.push(nls.localize('apiProposalMismatch1', "This extension is using the API proposal '{0}' that is not compatible with the current version of VS Code.", incompatibleProposals[0])); + notices.push(nls.localize('apiProposalMismatch1', "This extension is using the API proposal '{0}' that is not compatible with the current version of !!APP_NAME!!.", incompatibleProposals[0])); @@ -642,25 +640,14 @@ index e5fb1ab..bd4740b 100644 + description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new !!APP_NAME!! versions in the background on Windows."), included: isWindows && !isWeb diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts -index ed8043f..ca7a4dc 100644 +index 0e63d40..5b8085e 100644 --- a/src/vs/platform/update/electron-main/abstractUpdateService.ts +++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts -@@ -23,3 +23,3 @@ export type UpdateErrorClassification = { +@@ -33,3 +33,3 @@ export type UpdateErrorClassification = { messageHash: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The hash of the error message.' }; - comment: 'This is used to know how often VS Code updates have failed.'; + comment: 'This is used to know how often !!APP_NAME!! updates have failed.'; }; -diff --git a/src/vs/platform/update/electron-main/updateService.darwin.ts b/src/vs/platform/update/electron-main/updateService.darwin.ts -index b78ebc5..9b0eb56 100644 ---- a/src/vs/platform/update/electron-main/updateService.darwin.ts -+++ b/src/vs/platform/update/electron-main/updateService.darwin.ts -@@ -122,4 +122,4 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau - owner: 'joaomoreno'; -- newVersion: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The version number of the new VS Code that has been downloaded.' }; -- comment: 'This is used to know how often VS Code has successfully downloaded the update.'; -+ newVersion: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The version number of the new !!APP_NAME!! that has been downloaded.' }; -+ comment: 'This is used to know how often !!APP_NAME!! has successfully downloaded the update.'; - }; diff --git a/src/vs/server/node/server.cli.ts b/src/vs/server/node/server.cli.ts index 6a0eacf..2959dad 100644 --- a/src/vs/server/node/server.cli.ts @@ -689,10 +676,10 @@ index 8337870..fdf02ac 100644 + description: localize({ key: 'vscode.extension.contributes.views.containers.id', comment: ['Contribution refers to those that an extension contributes to !!APP_NAME!! through an extension/contribution point. '] }, "Unique id used to identify the container in which views can be contributed using 'views' contribution point"), type: 'string', diff --git a/src/vs/workbench/api/common/extHostApiCommands.ts b/src/vs/workbench/api/common/extHostApiCommands.ts -index 9349335..a94ff8d 100644 +index a04bbd0..202f130 100644 --- a/src/vs/workbench/api/common/extHostApiCommands.ts +++ b/src/vs/workbench/api/common/extHostApiCommands.ts -@@ -443,3 +443,3 @@ const newCommands: ApiCommand[] = [ +@@ -445,3 +445,3 @@ const newCommands: ApiCommand[] = [ ApiCommandArgument.Uri.with('resource', 'Resource to open'), - ApiCommandArgument.String.with('viewId', 'Custom editor view id. This should be the viewType string for custom editors or the notebookType string for notebooks. Use \'default\' to use VS Code\'s default text editor'), + ApiCommandArgument.String.with('viewId', 'Custom editor view id. This should be the viewType string for custom editors or the notebookType string for notebooks. Use \'default\' to use !!APP_NAME!!\'s default text editor'), @@ -718,7 +705,7 @@ index 0d71384..ae8d169 100644 + test('Opening a notebook results in !!APP_NAME!! firing the event onDidChangeActiveNotebookEditor twice #118470', function () { let count = 0; diff --git a/src/vs/workbench/browser/actions/developerActions.ts b/src/vs/workbench/browser/actions/developerActions.ts -index 1fda3db..bbadf28 100644 +index 91f52f5..dbb0ad4 100644 --- a/src/vs/workbench/browser/actions/developerActions.ts +++ b/src/vs/workbench/browser/actions/developerActions.ts @@ -688,3 +688,3 @@ class PolicyDiagnosticsAction extends Action2 { @@ -745,47 +732,47 @@ index e342f83..7c314e6 100644 + throw new Error('Unable to create the !!APP_NAME!! workbench more than once.'); } else { diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts -index dd9f46e..fa0c391 100644 +index 5ea32fb..23584f4 100644 --- a/src/vs/workbench/browser/workbench.contribution.ts +++ b/src/vs/workbench/browser/workbench.contribution.ts -@@ -731,3 +731,3 @@ const registry = Registry.as(ConfigurationExtensions.Con +@@ -748,3 +748,3 @@ const registry = Registry.as(ConfigurationExtensions.Con localize('profileName', "`${profileName}`: name of the profile in which the workspace is opened (e.g. Data Science (Profile)). Ignored if default profile is used."), - localize('appName', "`${appName}`: e.g. VS Code."), + localize('appName', "`${appName}`: e.g. !!APP_NAME!!."), localize('remoteName', "`${remoteName}`: e.g. SSH"), diff --git a/src/vs/workbench/common/contextkeys.ts b/src/vs/workbench/common/contextkeys.ts -index c0528fe..d1fd07f 100644 +index 3a27ea1..684e2c7 100644 --- a/src/vs/workbench/common/contextkeys.ts +++ b/src/vs/workbench/common/contextkeys.ts -@@ -39,3 +39,3 @@ export const EmbedderIdentifierContext = new RawContextKey(' +@@ -43,3 +43,3 @@ export const EmbedderIdentifierContext = new RawContextKey(' -export const InAutomationContext = new RawContextKey('inAutomation', false, localize('inAutomation', "Whether VS Code is running under automation/smoke test")); +export const InAutomationContext = new RawContextKey('inAutomation', false, localize('inAutomation', "Whether !!APP_NAME!! is running under automation/smoke test")); diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -index fac472c..40e59c7 100644 +index d211a1d..bfb973c 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -415,3 +415,3 @@ configurationRegistry.registerConfiguration({ +@@ -467,3 +467,3 @@ configurationRegistry.registerConfiguration({ nls.localize('chat.mcp.access.none', "No access to MCP servers."), - nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), + nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), nls.localize('chat.mcp.access.any', "Allow access to any installed MCP server.") -@@ -442,3 +442,3 @@ configurationRegistry.registerConfiguration({ +@@ -494,3 +494,3 @@ configurationRegistry.registerConfiguration({ { - key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), + key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), }, diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts -index b7c9c49..137d77e 100644 +index 88a46ef..6efa8ab 100644 --- a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts +++ b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts -@@ -104,3 +104,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { +@@ -115,3 +115,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { // Register VSCode agent -- const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Chat, undefined, context, controller); -+ const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Chat, undefined, context, controller); +- const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Chat, ChatModeKind.Agent, context, controller); ++ const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Chat, ChatModeKind.Agent, context, controller); disposables.add(vscodeDisposable); -@@ -121,4 +121,4 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { +@@ -132,4 +132,4 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { displayName: localize('setupToolDisplayName', "New Workspace"), - modelDescription: 'Scaffold a new workspace in VS Code', - userDescription: localize('setupToolsDescription', "Scaffold a new workspace in VS Code"), @@ -793,10 +780,10 @@ index b7c9c49..137d77e 100644 + userDescription: localize('setupToolsDescription', "Scaffold a new workspace in !!APP_NAME!!"), canBeReferencedInPrompt: true, diff --git a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts -index b7e91c4..6e0c67e 100644 +index d582ca6..b721308 100644 --- a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts +++ b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts -@@ -179,5 +179,5 @@ export class PromptValidator { +@@ -218,5 +218,5 @@ export class PromptValidator { if (validGithubCopilotAttributeNames.value.has(attribute.key)) { - report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in VS Code.", attribute.key), attribute.range, MarkerSeverity.Info)); + report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in !!APP_NAME!!.", attribute.key), attribute.range, MarkerSeverity.Info)); @@ -814,7 +801,7 @@ index 7504a9c..2e485bb 100644 + description: nls.localize('debugServer', "For debug extension development only: if a port is specified !!APP_NAME!! tries to connect to a debug adapter running in server mode"), default: 4711 diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -index f6c294e..6fd209d 100644 +index 6956d79..ea5fa28 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts @@ -353,3 +353,3 @@ CommandsRegistry.registerCommand({ @@ -845,7 +832,7 @@ index f6c294e..6fd209d 100644 + : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload VSCodium to enable it."), [{ diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts -index 2b8d2e6..46fb2ca 100644 +index f2a1f70..4bbabd2 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts @@ -109,3 +109,3 @@ export class PromptExtensionInstallFailureAction extends Action { @@ -869,7 +856,7 @@ index 2b8d2e6..46fb2ca 100644 + this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to !!APP_NAME!!. Configure these {0} to use this functionality.", link)) }, true); } else { diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts -index 8574e03..bb1f721 100644 +index 23ea0f7..0e2c889 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts @@ -477,3 +477,3 @@ export class Extension implements IExtension { @@ -1038,7 +1025,7 @@ index e89f6ec..1228544 100644 + Write-Host "`e[0m`e[7m * `e[0;103m !!APP_NAME!! Python powershell activation failed with exit code $($activationError.Exception.Message) `e[0m" } diff --git a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts -index 82345c4..12861a6 100644 +index 7431c14..b9ad2c7 100644 --- a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts +++ b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts @@ -311,3 +311,3 @@ const terminalConfiguration: IStringDictionary = { @@ -1081,7 +1068,7 @@ index 82345c4..12861a6 100644 - markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with VS Code, instead of the one bundled with Windows."), + markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with !!APP_NAME!!, instead of the one bundled with Windows."), type: 'boolean', -@@ -591,3 +591,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -606,3 +606,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VS Code insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), + markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives !!APP_NAME!! insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), @@ -1096,22 +1083,22 @@ index 4979520..30ae11b 100644 + markdownDescription: localize('terminal.integrated.autoReplies', "A set of messages that, when encountered in the terminal, will be automatically responded to. Provided the message is specific enough, this can help automate away common responses.\n\nRemarks:\n\n- Use {0} to automatically respond to the terminate batch job prompt on Windows.\n- The message includes escape sequences so the reply might not happen with styled text.\n- Each reply can only happen once every second.\n- Use {1} in the reply to mean the enter key.\n- To unset a default key, set the value to null.\n- Restart !!APP_NAME!! if new don't apply.", '`"Terminate batch job (Y/N)": "Y\\r"`', '`"\\r"`'), type: 'object', diff --git a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts -index b5ec1c1..737f2be 100644 +index 5913bb7..ae402ea 100644 --- a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts +++ b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts -@@ -240,3 +240,3 @@ export const CreateAndRunTaskToolData: IToolData = { +@@ -241,3 +241,3 @@ export const CreateAndRunTaskToolData: IToolData = { 'type': 'array', - 'description': `The problem matcher to use to parse task output for errors and warnings. Can be a predefined matcher like '$tsc' (TypeScript), '$eslint - stylish', '$gcc', etc., or a custom pattern defined in tasks.json. This helps VS Code display errors in the Problems panel and enables quick navigation to error locations.`, + 'description': `The problem matcher to use to parse task output for errors and warnings. Can be a predefined matcher like '$tsc' (TypeScript), '$eslint - stylish', '$gcc', etc., or a custom pattern defined in tasks.json. This helps !!APP_NAME!! display errors in the Problems panel and enables quick navigation to error locations.`, 'items': { diff --git a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts -index f92fe12..a5a7e02 100644 +index f469f6e..11e2249 100644 --- a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts +++ b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts -@@ -152,3 +152,3 @@ export const RunTaskToolData: IToolData = { +@@ -153,3 +153,3 @@ export const RunTaskToolData: IToolData = { displayName: localize('runInTerminalTool.displayName', 'Run Task'), -- modelDescription: 'Runs a VS Code task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the run_in_terminal tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.', -+ modelDescription: 'Runs a !!APP_NAME!! task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the run_in_terminal tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.', +- modelDescription: `Runs a VS Code task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the ${TerminalToolId.RunInTerminal} tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.`, ++ modelDescription: `Runs a !!APP_NAME!! task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the ${TerminalToolId.RunInTerminal} tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.`, userDescription: localize('runInTerminalTool.userDescription', 'Run tasks in the workspace'), diff --git a/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts b/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts index 0f23e5a..27f311e 100644 @@ -1123,17 +1110,17 @@ index 0f23e5a..27f311e 100644 + message = localize('terminal.voice.installSpeechExtension', "Would you like to install '!!APP_NAME!! Speech' extension from 'Microsoft'?"); run = () => commandService.executeCommand('workbench.extensions.installExtension', 'ms-vscode.vscode-speech'); diff --git a/src/vs/workbench/contrib/update/browser/update.ts b/src/vs/workbench/contrib/update/browser/update.ts -index cc12ca6..056d2d8 100644 +index 55cc7d3..b2a7789 100644 --- a/src/vs/workbench/contrib/update/browser/update.ts +++ b/src/vs/workbench/contrib/update/browser/update.ts -@@ -583,4 +583,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor +@@ -621,4 +621,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor detail: newQuality === 'insider' ? - nls.localize('relaunchDetailInsiders', "Press the reload button to switch to the Insiders version of VS Code.") : - nls.localize('relaunchDetailStable', "Press the reload button to switch to the Stable version of VS Code."), + nls.localize('relaunchDetailInsiders', "Press the reload button to switch to the Insiders version of !!APP_NAME!!.") : + nls.localize('relaunchDetailStable', "Press the reload button to switch to the Stable version of !!APP_NAME!!."), primaryButton: nls.localize({ key: 'reload', comment: ['&& denotes a mnemonic'] }, "&&Reload") -@@ -619,3 +619,3 @@ export class SwitchProductQualityContribution extends Disposable implements IWor +@@ -657,3 +657,3 @@ export class SwitchProductQualityContribution extends Disposable implements IWor message: nls.localize('selectSyncService.message', "Choose the settings sync service to use after changing the version"), - detail: nls.localize('selectSyncService.detail', "The Insiders version of VS Code will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."), + detail: nls.localize('selectSyncService.detail', "The Insiders version of !!APP_NAME!! will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."), @@ -1153,15 +1140,15 @@ index 393c8c3..9268a6c 100644 + content += `// By default, !!APP_NAME!! trusts "localhost".\n`; } diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts -index b63e894..2798ab1 100644 +index 2b50e71..f322981 100644 --- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts +++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts -@@ -49,3 +49,3 @@ registerAction2(class extends Action2 { +@@ -52,3 +52,3 @@ registerAction2(class extends Action2 { metadata: { - description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in VS Code.') + description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in !!APP_NAME!!.') } -@@ -311,3 +311,3 @@ configurationRegistry.registerConfiguration({ +@@ -322,3 +322,3 @@ configurationRegistry.registerConfiguration({ localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.none' }, "Start without an editor."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with VS Code and extensions."), + localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with !!APP_NAME!! and extensions."), @@ -1345,15 +1332,15 @@ index bdd30bf..317d11c 100644 +Well if you have got this far then you will have touched on some of the editing features in !!APP_NAME!!. But don't stop now :) We have lots of additional [documentation](https://code.visualstudio.com/docs), [introductory videos](https://code.visualstudio.com/docs/getstarted/introvideos) and [tips and tricks](https://go.microsoft.com/fwlink/?linkid=852118) for the product that will help you learn how to use it. And while you are here, here are a few additional things you can try: - Open the Integrated Terminal by pressing kb(workbench.action.terminal.toggleTerminal), then see what's possible by [reviewing the terminal documentation](https://code.visualstudio.com/docs/editor/integrated-terminal) diff --git a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts -index c512b64..dfa2150 100644 +index d134535..93cae5f 100644 --- a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts +++ b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts -@@ -733,3 +733,3 @@ Registry.as(ConfigurationExtensions.Configuration) +@@ -765,3 +765,3 @@ Registry.as(ConfigurationExtensions.Configuration) default: true, - description: localize('workspace.trust.description', "Controls whether or not Workspace Trust is enabled within VS Code."), + description: localize('workspace.trust.description', "Controls whether or not Workspace Trust is enabled within !!APP_NAME!!."), tags: [WORKSPACE_TRUST_SETTING_TAG], -@@ -779,3 +779,3 @@ Registry.as(ConfigurationExtensions.Configuration) +@@ -811,3 +811,3 @@ Registry.as(ConfigurationExtensions.Configuration) default: true, - markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within VS Code. When used with `#{0}#`, you can enable the full functionality of VS Code without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES), + markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within !!APP_NAME!!. When used with `#{0}#`, you can enable the full functionality of !!APP_NAME!! without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES), @@ -1373,7 +1360,7 @@ index 5fad6f9..4edfd81 100644 + description: localize('argv.useInMemorySecretStorage', "Ensures that an in-memory store will be used for secret storage instead of using the OS's credential store. This is often used when running !!APP_NAME!! extension tests or when you're experiencing difficulties with the credential store.") }, diff --git a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts -index df1a6e3..14db691 100644 +index ea7f364..25c4fda 100644 --- a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts +++ b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts @@ -1044,3 +1044,3 @@ export class ExtensionManagementService extends CommontExtensionManagementServic @@ -1382,7 +1369,7 @@ index df1a6e3..14db691 100644 + const productName = localize('!!APP_NAME!! for Web', "{0} for the Web", this.productService.nameLong); const virtualWorkspaceSupport = this.extensionManifestPropertiesService.getExtensionVirtualWorkspaceSupportType(manifest); diff --git a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts -index f6c18c6..6d6b39c 100644 +index 6704355..1d58ea0 100644 --- a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts +++ b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts @@ -181,3 +181,3 @@ export const schema: IJSONSchema = { @@ -1424,17 +1411,17 @@ index f6c18c6..6d6b39c 100644 - description: nls.localize('vscode.extension.activationEvents', 'Activation events for the VS Code extension.'), + description: nls.localize('vscode.extension.activationEvents', 'Activation events for the !!APP_NAME!! extension.'), type: 'array', -@@ -423,3 +423,3 @@ export const schema: IJSONSchema = { +@@ -428,3 +428,3 @@ export const schema: IJSONSchema = { label: '*', - description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on VS Code startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'), + description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on !!APP_NAME!! startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'), body: '*' -@@ -595,3 +595,3 @@ export const schema: IJSONSchema = { +@@ -609,3 +609,3 @@ export const schema: IJSONSchema = { 'vscode:prepublish': { - description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a VS Code extension.'), + description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a !!APP_NAME!! extension.'), type: 'string' -@@ -599,3 +599,3 @@ export const schema: IJSONSchema = { +@@ -613,3 +613,3 @@ export const schema: IJSONSchema = { 'vscode:uninstall': { - description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for VS Code extension. Script that gets executed when the extension is completely uninstalled from VS Code which is when VS Code is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'), + description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for !!APP_NAME!! extension. Script that gets executed when the extension is completely uninstalled from !!APP_NAME!! which is when !!APP_NAME!! is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'), diff --git a/patches/cli.patch b/patches/cli.patch index 22ac8d4..7e81ed8 100644 --- a/patches/cli.patch +++ b/patches/cli.patch @@ -303,11 +303,11 @@ index 55f1dad..3b7ef5c 100644 - pub fn env_default() -> Option { diff --git a/extensions/tunnel-forwarding/src/extension.ts b/extensions/tunnel-forwarding/src/extension.ts -index 299c728..9fb635d 100644 +index 2f71999..e689f62 100644 --- a/extensions/tunnel-forwarding/src/extension.ts +++ b/extensions/tunnel-forwarding/src/extension.ts -@@ -28,3 +28,3 @@ const cliPath = process.env.VSCODE_FORWARDING_IS_DEV - process.platform === 'darwin' ? 'bin' : '../../bin', -- vscode.env.appQuality === 'stable' ? 'code-tunnel' : 'code-tunnel-insiders', -+ '!!TUNNEL_APP_NAME!!' - ) + (process.platform === 'win32' ? '.exe' : ''); +@@ -37,3 +37,3 @@ if (process.env.VSCODE_FORWARDING_IS_DEV) { + +- const cliName = vscode.env.appQuality === 'stable' ? 'code-tunnel' : 'code-tunnel-insiders'; ++ const cliName = '!!TUNNEL_APP_NAME!!'; + const extension = process.platform === 'win32' ? '.exe' : ''; diff --git a/patches/disable-copilot.patch b/patches/disable-copilot.patch index f00ec4b..e5f57d2 100644 --- a/patches/disable-copilot.patch +++ b/patches/disable-copilot.patch @@ -1,61 +1,38 @@ diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts -index 2543324..338c0ca 100644 +index 7b64c28..bea3a3f 100644 --- a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts +++ b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts -@@ -170,3 +170,4 @@ abstract class OpenChatGlobalAction extends Action2 { +@@ -192,3 +192,4 @@ abstract class OpenChatGlobalAction extends Action2 { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ) -@@ -734,3 +735,3 @@ export function registerChatActions() { +@@ -806,3 +807,3 @@ export function registerChatActions() { precondition: ContextKeyExpr.and( - ChatContextKeys.Setup.installed, + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.disabled.negate(), -@@ -947,3 +948,4 @@ MenuRegistry.appendMenuItem(MenuId.CommandCenter, { - ChatContextKeys.Setup.hidden.negate(), -- ChatContextKeys.Setup.disabled.negate() -+ ChatContextKeys.Setup.disabled.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate() - ), -@@ -964,3 +966,4 @@ MenuRegistry.appendMenuItem(MenuId.TitleBar, { - ChatContextKeys.Setup.hidden.negate(), -- ChatContextKeys.Setup.disabled.negate() -+ ChatContextKeys.Setup.disabled.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate() - ), -@@ -981,3 +984,4 @@ registerAction2(class ToggleCopilotControl extends ToggleTitleBarConfigAction { - ChatContextKeys.Setup.hidden.negate(), -- ChatContextKeys.Setup.disabled.negate() -+ ChatContextKeys.Setup.disabled.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate() - ), -@@ -1119,3 +1123,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, { +@@ -1232,3 +1233,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ) diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -index fac472c..107a3b1 100644 +index d211a1d..cfbcdf5 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -186,3 +186,3 @@ configurationRegistry.registerConfiguration({ - markdownDescription: nls.localize('chat.commandCenter.enabled', "Controls whether the command center shows a menu for actions to control chat (requires {0}).", '`#window.commandCenter#`'), -- default: true -+ default: false - }, -@@ -802,3 +802,3 @@ configurationRegistry.registerConfiguration({ +@@ -969,3 +969,3 @@ configurationRegistry.registerConfiguration({ description: nls.localize('chat.disableAIFeatures', "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."), - default: false, + default: true, scope: ConfigurationScope.WINDOW diff --git a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts -index 8953884..cf0c2d2 100644 +index ddb5df4..7831288 100644 --- a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts -@@ -67,10 +67,9 @@ const chatViewDescriptor: IViewDescriptor = { +@@ -70,10 +70,9 @@ const chatViewDescriptor: IViewDescriptor = { ctorDescriptor: new SyncDescriptor(ChatViewPane), - when: ContextKeyExpr.or( - ContextKeyExpr.or( @@ -74,10 +51,10 @@ index 8953884..cf0c2d2 100644 + ) }; diff --git a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts -index 62efc91..12e97c6 100644 +index 9085864..4331066 100644 --- a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts +++ b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts -@@ -119,3 +119,3 @@ export namespace ChatContextKeyExprs { +@@ -126,3 +126,3 @@ export namespace ChatContextKeyExprs { export const chatSetupTriggerContext = ContextKeyExpr.or( - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), @@ -97,19 +74,19 @@ index 7f4dfea..5957267 100644 + when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`).negate(), ProductQualityContext.isEqualTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`).negate()), weight: 40, diff --git a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -index 6f533f1..56c8f9d 100644 +index c38dc40..a3e398c 100644 --- a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts +++ b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -@@ -685,3 +685,3 @@ registerAction2(class extends Action2 { +@@ -704,3 +704,3 @@ registerAction2(class extends Action2 { ChatContextKeys.Setup.disabled.negate(), - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ContextKeyExpr.in(ResourceContextKey.Resource.key, 'git.mergeChanges'), diff --git a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts -index cfea087..5f3efe3 100644 +index 012d3c5..2f53955 100644 --- a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts +++ b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts -@@ -1391,3 +1391,3 @@ registerAction2(class extends Action2 { +@@ -1417,3 +1417,3 @@ registerAction2(class extends Action2 { ChatContextKeys.Setup.disabled.negate(), - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), diff --git a/patches/fix-keymap.patch b/patches/fix-keymap.patch index 9f7f637..59728e8 100644 --- a/patches/fix-keymap.patch +++ b/patches/fix-keymap.patch @@ -1,5 +1,5 @@ diff --git a/.npmrc b/.npmrc -index 060337b..9292787 100644 +index 50d910c..472b622 100644 --- a/.npmrc +++ b/.npmrc @@ -5,2 +5,3 @@ runtime="electron" @@ -7,7 +7,7 @@ index 060337b..9292787 100644 +build_from_source_native_keymap="no" legacy-peer-deps="true" diff --git a/build/.moduleignore b/build/.moduleignore -index fc7c538..7aece0d 100644 +index ed36151..5b040cc 100644 --- a/build/.moduleignore +++ b/build/.moduleignore @@ -65,7 +65,7 @@ fsevents/test/** @@ -24,27 +24,27 @@ index fc7c538..7aece0d 100644 +!@vscodium/native-keymap/build/Release/*.node diff --git a/eslint.config.js b/eslint.config.js -index e9809e6..6065336 100644 +index 47eeebf..f8077c2 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1465,3 +1465,3 @@ export default tseslint.config( 'node:module', - 'native-keymap', + '@vscodium/native-keymap', - 'native-watchdog', + 'net', diff --git a/package-lock.json b/package-lock.json -index b7ae476..93692b8 100644 +index 801e87b..a991591 100644 --- a/package-lock.json +++ b/package-lock.json -@@ -29,2 +29,3 @@ +@@ -32,2 +32,3 @@ "@vscode/windows-registry": "^1.1.0", + "@vscodium/native-keymap": "3.3.7-258424", - "@xterm/addon-clipboard": "^0.3.0-beta.91", -@@ -46,3 +47,2 @@ - "native-is-elevated": "0.8.0", + "@xterm/addon-clipboard": "^0.3.0-beta.109", +@@ -49,3 +50,2 @@ + "native-is-elevated": "0.9.0", - "native-keymap": "^3.3.5", - "native-watchdog": "^1.4.1", -@@ -3300,2 +3300,9 @@ + "node-pty": "^1.2.0-beta.10", +@@ -3674,2 +3674,9 @@ }, + "node_modules/@vscodium/native-keymap": { + "version": "3.3.7-258424", @@ -54,7 +54,7 @@ index b7ae476..93692b8 100644 + "license": "MIT" + }, "node_modules/@webassemblyjs/ast": { -@@ -12516,5 +12523,6 @@ +@@ -12741,5 +12748,6 @@ "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -64,17 +64,17 @@ index b7ae476..93692b8 100644 + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" }, -@@ -12527,9 +12535,2 @@ +@@ -12752,9 +12760,2 @@ }, - "node_modules/native-keymap": { -- "version": "3.3.7", -- "resolved": "https://registry.npmjs.org/native-keymap/-/native-keymap-3.3.7.tgz", -- "integrity": "sha512-07n5kF0L9ERC9pilqEFucnhs1XG4WttbHAMWhhOSqQYXhB8mMNTSCzP4psTaVgDSp6si2HbIPhTIHuxSia6NPQ==", +- "version": "3.3.9", +- "resolved": "https://registry.npmjs.org/native-keymap/-/native-keymap-3.3.9.tgz", +- "integrity": "sha512-d/ydQ5x+GM5W0dyAjFPwexhtc9CDH1g/xWZESS5CXk16ThyFzSBLvlBJq1+FyzUIFf/F2g1MaHdOpa6G9150YQ==", - "hasInstallScript": true, - "license": "MIT" - }, - "node_modules/native-watchdog": { -@@ -13922,5 +13923,6 @@ + "node_modules/natural-compare": { +@@ -14142,5 +14143,6 @@ "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", @@ -84,22 +84,22 @@ index b7ae476..93692b8 100644 + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", "dependencies": { -@@ -13931,3 +13933,3 @@ +@@ -14151,3 +14153,3 @@ "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", diff --git a/package.json b/package.json -index b9978d4..bffe52e 100644 +index efeaec1..b2a6703 100644 --- a/package.json +++ b/package.json -@@ -108,3 +108,3 @@ - "native-is-elevated": "0.8.0", +@@ -111,3 +111,3 @@ + "native-is-elevated": "0.9.0", - "native-keymap": "^3.3.5", + "@vscodium/native-keymap": "3.3.7-258424", - "native-watchdog": "^1.4.1", + "node-pty": "^1.2.0-beta.10", diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -index d4ce18a..9db7f76 100644 +index c30c6da..ca6cea2 100644 --- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts @@ -44,8 +44,8 @@ flakySuite('Native Modules (all platforms)', () => { diff --git a/patches/fix-policies.patch b/patches/fix-policies.patch index 5e72399..4a28de9 100644 --- a/patches/fix-policies.patch +++ b/patches/fix-policies.patch @@ -1,5 +1,5 @@ diff --git a/build/.moduleignore b/build/.moduleignore -index 7aece0d..baebcd5 100644 +index 5b040cc..8d5fd71 100644 --- a/build/.moduleignore +++ b/build/.moduleignore @@ -128,9 +128,11 @@ vsda/** @@ -22,32 +22,32 @@ index 7aece0d..baebcd5 100644 +!@vscodium/policy-watcher/build/Release/vscodium-policy-watcher.node diff --git a/eslint.config.js b/eslint.config.js -index 6065336..1d36678 100644 +index f8077c2..182d6ce 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1448,3 +1448,3 @@ export default tseslint.config( - '@vscode/iconv-lite-umd', + '@vscode/native-watchdog', - '@vscode/policy-watcher', + '@vscodium/policy-watcher', '@vscode/proxy-agent', diff --git a/package-lock.json b/package-lock.json -index 93692b8..fd1d22a 100644 +index a991591..fb05fad 100644 --- a/package-lock.json +++ b/package-lock.json -@@ -17,3 +17,2 @@ - "@vscode/iconv-lite-umd": "0.7.1", +@@ -21,3 +21,2 @@ + "@vscode/native-watchdog": "^1.4.6", - "@vscode/policy-watcher": "^1.3.2", - "@vscode/proxy-agent": "^0.36.0", -@@ -30,2 +29,3 @@ + "@vscode/proxy-agent": "^0.37.0", +@@ -33,2 +32,3 @@ "@vscodium/native-keymap": "3.3.7-258424", + "@vscodium/policy-watcher": "^1.3.2-252465", - "@xterm/addon-clipboard": "^0.3.0-beta.91", -@@ -2952,22 +2952,2 @@ + "@xterm/addon-clipboard": "^0.3.0-beta.109", +@@ -3345,22 +3345,2 @@ }, - "node_modules/@vscode/policy-watcher": { -- "version": "1.3.5", -- "resolved": "https://registry.npmjs.org/@vscode/policy-watcher/-/policy-watcher-1.3.5.tgz", -- "integrity": "sha512-k1n9gaDBjyVRy5yJLABbZCnyFwgQ8OA4sR3vXmXnmB+mO9JA0nsl/XOXQfVCoLasBu3UHCOfAnDWGn2sRzCR+A==", +- "version": "1.3.7", +- "resolved": "https://registry.npmjs.org/@vscode/policy-watcher/-/policy-watcher-1.3.7.tgz", +- "integrity": "sha512-OvIczTbtGLZs7YU0ResbjM0KEB2ORBnlJ4ICxaB9fKHNVBwNVp4i2qIkDQGp3UBGtu7P8/+eg4/ZKk2oJGFcug==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { @@ -65,7 +65,7 @@ index 93692b8..fd1d22a 100644 - } - }, "node_modules/@vscode/proxy-agent": { -@@ -3307,2 +3287,22 @@ +@@ -3681,2 +3661,22 @@ }, + "node_modules/@vscodium/policy-watcher": { + "version": "1.3.2-252465", @@ -89,14 +89,14 @@ index 93692b8..fd1d22a 100644 + }, "node_modules/@webassemblyjs/ast": { diff --git a/package.json b/package.json -index bffe52e..d0e04d0 100644 +index b2a6703..3d03e9a 100644 --- a/package.json +++ b/package.json -@@ -79,3 +79,3 @@ - "@vscode/iconv-lite-umd": "0.7.1", +@@ -83,3 +83,3 @@ + "@vscode/native-watchdog": "^1.4.6", - "@vscode/policy-watcher": "^1.3.2", + "@vscodium/policy-watcher": "^1.3.2-252465", - "@vscode/proxy-agent": "^0.36.0", + "@vscode/proxy-agent": "^0.37.0", diff --git a/src/vs/base/test/node/uri.perf.data.txt b/src/vs/base/test/node/uri.perf.data.txt index ee0a24b..881ce36 100644 --- a/src/vs/base/test/node/uri.perf.data.txt @@ -197,7 +197,7 @@ index ee0a24b..881ce36 100644 +/Users/example/node_modules/@vscodium/policy-watcher/src/windows/NumberPolicy.hh /Users/example/node_modules/@vscode/vscode-languagedetection/CODE_OF_CONDUCT.md diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -index 9db7f76..33beb8c 100644 +index ca6cea2..32b22fe 100644 --- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts @@ -62,5 +62,5 @@ flakySuite('Native Modules (all platforms)', () => { diff --git a/patches/linux/arch-0-support.patch b/patches/linux/arch-0-support.patch index cdc849c..753a647 100644 --- a/patches/linux/arch-0-support.patch +++ b/patches/linux/arch-0-support.patch @@ -1,5 +1,5 @@ diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh -index 2f25764..742aaef 100755 +index f0d5fe6..fdb3707 100755 --- a/build/azure-pipelines/linux/setup-env.sh +++ b/build/azure-pipelines/linux/setup-env.sh @@ -2,3 +2,3 @@ @@ -13,7 +13,7 @@ index 2f25764..742aaef 100755 + SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" node -e 'import { getVSCodeSysroot } from "./build/linux/debian/install-sysroot.ts"; (async () => { await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()' fi diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts -index cb1a0a5..6c21dd2 100644 +index 2714933..36396dc 100644 --- a/build/gulpfile.reh.ts +++ b/build/gulpfile.reh.ts @@ -235,9 +235,23 @@ function nodejs(platform: string, arch: string): NodeJS.ReadWriteStream | undefi @@ -48,10 +48,10 @@ index cb1a0a5..6c21dd2 100644 + } case 'alpine': diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index d3ab651..9dbe6f3 100644 +index 358bb3a..2cc6d9a 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -375,2 +375,12 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d +@@ -372,2 +372,12 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d + const electronOverride: { repo?: string; tag?: string } = {}; + if (process.env.VSCODE_ELECTRON_REPOSITORY) { @@ -64,13 +64,13 @@ index d3ab651..9dbe6f3 100644 + } + let result: NodeJS.ReadWriteStream = all -@@ -379,3 +389,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d +@@ -376,3 +386,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d .pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523 -- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false, ...customElectronConfig })) -+ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false, ...customElectronConfig })) +- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false })) ++ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false })) .pipe(filter(['**', '!LICENSE', '!version'], { dot: true })); diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts -index d00eb59..34ecdf1 100644 +index 46c257d..78bfb66 100644 --- a/build/linux/debian/dep-lists.ts +++ b/build/linux/debian/dep-lists.ts @@ -141,3 +141,3 @@ export const referenceGeneratedDepsByArch = { diff --git a/patches/linux/fix-build.patch b/patches/linux/fix-build.patch index 3bb1fcc..f9e03bb 100644 --- a/patches/linux/fix-build.patch +++ b/patches/linux/fix-build.patch @@ -1,5 +1,5 @@ diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts -index 0ebeb41..c6f0d5c 100644 +index 874c802..04731cf 100644 --- a/build/linux/dependencies-generator.ts +++ b/build/linux/dependencies-generator.ts @@ -13,3 +13,3 @@ import { type DebianArchString, isDebianArchString } from './debian/types.ts'; @@ -18,14 +18,14 @@ index 0ebeb41..c6f0d5c 100644 + // files.push(path.join(buildDir, 'bin', product.tunnelApplicationName)); // Add the main executable. diff --git a/build/package-lock.json b/build/package-lock.json -index d3d0ae9..b47c35f 100644 +index 1a544ba..78337cd 100644 --- a/build/package-lock.json +++ b/build/package-lock.json @@ -17,3 +17,2 @@ "@electron/get": "^2.0.0", - "@electron/osx-sign": "^2.0.0", "@types/ansi-colors": "^3.2.0", -@@ -105,5 +104,5 @@ +@@ -107,5 +106,5 @@ "node_modules/@azure/core-auth": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.9.0.tgz", @@ -34,19 +34,19 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", + "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", "dev": true, -@@ -111,4 +110,4 @@ +@@ -113,4 +112,4 @@ "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.11.0", + "@azure/abort-controller": "^2.1.2", + "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" -@@ -116,3 +115,3 @@ +@@ -118,3 +117,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -235,5 +234,5 @@ +@@ -237,5 +236,5 @@ "node_modules/@azure/core-rest-pipeline": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.18.0.tgz", @@ -55,7 +55,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", + "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", "dev": true, -@@ -241,9 +240,8 @@ +@@ -243,9 +242,8 @@ "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-auth": "^1.8.0", @@ -71,12 +71,12 @@ index d3d0ae9..b47c35f 100644 + "@azure/logger": "^1.3.0", + "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" -@@ -251,3 +249,3 @@ +@@ -253,3 +251,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -268,5 +266,5 @@ +@@ -270,5 +268,5 @@ "node_modules/@azure/core-tracing": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.2.0.tgz", @@ -85,12 +85,12 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz", + "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==", "dev": true, -@@ -277,3 +275,3 @@ +@@ -279,3 +277,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -281,5 +279,5 @@ +@@ -283,5 +281,5 @@ "node_modules/@azure/core-util": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.11.0.tgz", @@ -99,18 +99,18 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", + "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", "dev": true, -@@ -287,3 +285,4 @@ +@@ -289,3 +287,4 @@ "dependencies": { - "@azure/abort-controller": "^2.0.0", + "@azure/abort-controller": "^2.1.2", + "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" -@@ -291,3 +290,3 @@ +@@ -293,3 +292,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -370,11 +369,13 @@ +@@ -372,11 +371,13 @@ "node_modules/@azure/logger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.1.tgz", @@ -129,7 +129,7 @@ index d3d0ae9..b47c35f 100644 - "node": ">=8.0.0" + "node": ">=20.0.0" } -@@ -481,5 +482,5 @@ +@@ -483,5 +484,5 @@ "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", @@ -138,7 +138,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, -@@ -537,50 +538,2 @@ +@@ -766,50 +767,2 @@ }, - "node_modules/@electron/osx-sign": { - "version": "2.0.0", @@ -188,36 +188,8 @@ index d3d0ae9..b47c35f 100644 - "node": ">=10" - } - }, - "node_modules/@esbuild/aix-ppc64": { -@@ -1051,27 +1004,2 @@ - }, -- "node_modules/@isaacs/cliui/node_modules/emoji-regex": { -- "version": "9.2.2", -- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", -- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/@isaacs/cliui/node_modules/string-width": { -- "version": "5.1.2", -- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", -- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "eastasianwidth": "^0.2.0", -- "emoji-regex": "^9.2.2", -- "strip-ansi": "^7.0.1" -- }, -- "engines": { -- "node": ">=12" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/@malept/cross-spawn-promise": { -@@ -1348,5 +1276,5 @@ + "node_modules/@electron/rebuild": { +@@ -2029,5 +1982,5 @@ "node_modules/@textlint/ast-node-types": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.2.2.tgz", @@ -226,7 +198,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.4.1.tgz", + "integrity": "sha512-XifMpBMdo0E1Fuh85YdcYAgy+okNg9WKBzIPIO4JUDnSWUVFihnogrM4cjDapeHkgzSgulwR8oJVJ17eyxI1bA==", "dev": true, -@@ -1355,5 +1283,5 @@ +@@ -2036,5 +1989,5 @@ "node_modules/@textlint/linter-formatter": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.2.2.tgz", @@ -235,7 +207,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.4.1.tgz", + "integrity": "sha512-kAV7Sup3vwvqxKvBbf9lx/JaPHkRybQp/LLvA73U1AorPZE6XyfBAFG24BbMiCs4OX1ax4g7kXRuFPgMLWRf+g==", "dev": true, -@@ -1363,8 +1291,8 @@ +@@ -2044,8 +1997,8 @@ "@azu/style-format": "^1.0.1", - "@textlint/module-interop": "15.2.2", - "@textlint/resolver": "15.2.2", @@ -249,7 +221,7 @@ index d3d0ae9..b47c35f 100644 + "debug": "^4.4.3", + "js-yaml": "^4.1.0", "lodash": "^4.17.21", -@@ -1440,2 +1368,9 @@ +@@ -2121,2 +2074,9 @@ }, + "node_modules/@textlint/linter-formatter/node_modules/emoji-regex": { + "version": "8.0.0", @@ -259,7 +231,7 @@ index d3d0ae9..b47c35f 100644 + "license": "MIT" + }, "node_modules/@textlint/linter-formatter/node_modules/has-flag": { -@@ -1457,2 +1392,17 @@ +@@ -2138,2 +2098,17 @@ }, + "node_modules/@textlint/linter-formatter/node_modules/string-width": { + "version": "4.2.3", @@ -277,7 +249,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/@textlint/linter-formatter/node_modules/strip-ansi": { -@@ -1484,5 +1434,5 @@ +@@ -2165,5 +2140,5 @@ "node_modules/@textlint/module-interop": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.2.2.tgz", @@ -286,7 +258,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.4.1.tgz", + "integrity": "sha512-jHtM2E5CR68P3z/+FGrEU5pml2fQVzEo2sez9FEjrVHSPCrHtqHcPaKfsYbQJjc9C48ObwaWrCzRNaL3KedNCQ==", "dev": true, -@@ -1491,5 +1441,5 @@ +@@ -2172,5 +2147,5 @@ "node_modules/@textlint/resolver": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.2.2.tgz", @@ -295,7 +267,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.4.1.tgz", + "integrity": "sha512-uVssyG3XXXKNY+O7NOajGvQZTyOuhPviwlq7Xek6ZT9K1eDQtA8074cPkAQoLMYhi/TUyOE5P5kpz42UF8Lmdw==", "dev": true, -@@ -1498,5 +1448,5 @@ +@@ -2179,5 +2154,5 @@ "node_modules/@textlint/types": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.2.2.tgz", @@ -304,12 +276,12 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.4.1.tgz", + "integrity": "sha512-WByVZ3zblbvuI+voWQplUP7seSTKXI9z6TMVXEB3dY3JFrZCIXWKNfLbETX5lZV7fYkCMaDtILO1l6s11wdbQA==", "dev": true, -@@ -1504,3 +1454,3 @@ +@@ -2185,3 +2160,3 @@ "dependencies": { - "@textlint/ast-node-types": "15.2.2" + "@textlint/ast-node-types": "15.4.1" } -@@ -1597,12 +1547,2 @@ +@@ -2279,12 +2254,2 @@ }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", @@ -322,7 +294,23 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/@types/gulp": { -@@ -1924,2 +1864,17 @@ +@@ -2429,2 +2394,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -2594,2 +2560,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -2606,2 +2573,3 @@ + "dev": true, ++ "license": "MIT", + "dependencies": { +@@ -2621,2 +2589,3 @@ + "dev": true, ++ "license": "MIT", + "optional": true, +@@ -2626,2 +2595,17 @@ }, + "node_modules/@typespec/ts-http-runtime": { + "version": "0.3.2", @@ -340,7 +328,11 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/@vscode/iconv-lite-umd": { -@@ -2176,5 +2131,5 @@ +@@ -2952,2 +2936,3 @@ + "dev": true, ++ "license": "ISC", + "bin": { +@@ -3056,5 +3041,5 @@ "node_modules/ansi-escapes": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz", @@ -349,7 +341,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz", + "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==", "dev": true, -@@ -2251,17 +2206,7 @@ +@@ -3336,17 +3321,7 @@ "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -371,25 +363,31 @@ index d3d0ae9..b47c35f 100644 - "license": "BSD-3-Clause" + "license": "Python-2.0" }, -@@ -2393,2 +2338,3 @@ +@@ -3477,3 +3452,4 @@ + } +- ] ++ ], ++ "license": "BSD-2-Clause" + }, +@@ -3509,2 +3485,3 @@ "dev": true, -+ "license": "MIT", - "optional": true, -@@ -2404,3 +2350,4 @@ ++ "license": "ISC", + "dependencies": { +@@ -3519,3 +3496,4 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true + "dev": true, + "license": "ISC" }, -@@ -2462,2 +2409,3 @@ - ], -+ "license": "MIT", - "optional": true, -@@ -2506,2 +2454,3 @@ +@@ -3526,2 +3504,3 @@ "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -2565,6 +2514,7 @@ ++ "license": "ISC", + "optional": true +@@ -3782,2 +3761,3 @@ + "dev": true, ++ "license": "MIT", + "engines": { +@@ -3980,6 +3960,7 @@ "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -400,7 +398,7 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "MIT", "dependencies": { -@@ -2573,9 +2523,13 @@ +@@ -3988,9 +3969,13 @@ "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", @@ -419,15 +417,107 @@ index d3d0ae9..b47c35f 100644 - "node": ">= 6" + "node": ">=20.18.1" }, -@@ -2628,2 +2582,3 @@ +@@ -4043,2 +4028,3 @@ "dev": true, -+ "license": "ISC", ++ "license": "MIT", "optional": true -@@ -2778,2 +2733,3 @@ +@@ -4112,2 +4098,13 @@ + }, ++ "node_modules/cli-truncate/node_modules/ansi-regex": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", ++ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/cli-truncate/node_modules/ansi-styles": { +@@ -4151,2 +4148,10 @@ + }, ++ "node_modules/cli-truncate/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true ++ }, + "node_modules/cli-truncate/node_modules/slice-ansi": { +@@ -4167,2 +4172,32 @@ + }, ++ "node_modules/cli-truncate/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/cli-truncate/node_modules/strip-ansi": { ++ "version": "6.0.1", ++ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", ++ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "dependencies": { ++ "ansi-regex": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/cliui": { +@@ -4228,2 +4263,24 @@ + }, ++ "node_modules/cliui/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/cliui/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/cliui/node_modules/strip-ansi": { +@@ -4282,2 +4339,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -4372,3 +4430,3 @@ + "engines": { +- "node": ">=18" ++ "node": ">=20" + } +@@ -4428,2 +4486,3 @@ "dev": true, + "license": "MIT", "dependencies": { -@@ -2790,6 +2746,7 @@ +@@ -4440,6 +4499,7 @@ "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", @@ -438,25 +528,19 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "BSD-2-Clause", "engines": { -@@ -2824,2 +2781,3 @@ - "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -2879,2 +2837,3 @@ +@@ -4501,2 +4561,3 @@ "dev": true, + "license": "(MIT OR WTFPL)", "optional": true, -@@ -2902,2 +2861,3 @@ +@@ -4552,2 +4613,3 @@ "dev": true, + "license": "MIT", "optional": true, -@@ -2948,3 +2908,4 @@ - } -- ] -+ ], -+ "license": "BSD-2-Clause" - }, -@@ -2966,6 +2927,7 @@ +@@ -4584,2 +4646,3 @@ + "dev": true, ++ "license": "ISC", + "optional": true +@@ -4766,6 +4829,7 @@ "node_modules/domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", @@ -467,12 +551,12 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "BSD-2-Clause", "dependencies": { -@@ -2973,3 +2935,3 @@ +@@ -4773,3 +4837,3 @@ "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" + "domhandler": "^5.0.3" }, -@@ -3040,5 +3002,5 @@ +@@ -5029,5 +5093,5 @@ "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -481,7 +565,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, -@@ -3046,2 +3008,16 @@ +@@ -5046,2 +5110,16 @@ }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", @@ -498,7 +582,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/end-of-stream": { -@@ -3056,6 +3032,7 @@ +@@ -5056,6 +5134,7 @@ "node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", @@ -509,11 +593,11 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "BSD-2-Clause", "engines": { -@@ -3143,2 +3120,3 @@ +@@ -5150,2 +5229,3 @@ "dev": true, + "license": "MIT", "optional": true -@@ -3195,16 +3173,2 @@ +@@ -5213,16 +5293,2 @@ }, - "node_modules/esprima": { - "version": "4.0.1", @@ -530,7 +614,15 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/events": { -@@ -3428,5 +3392,5 @@ +@@ -5241,2 +5307,3 @@ + "dev": true, ++ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, +@@ -5271,2 +5338,3 @@ + "dev": true, ++ "license": "ISC", + "dependencies": { +@@ -5515,5 +5583,5 @@ "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", @@ -539,19 +631,23 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "dev": true, -@@ -3553,2 +3517,3 @@ +@@ -5536,2 +5604,3 @@ "dev": true, -+ "license": "ISC", ++ "license": "MIT", "optional": true -@@ -3677,2 +3642,3 @@ +@@ -5576,2 +5645,3 @@ + "hasInstallScript": true, ++ "license": "MIT", + "optional": true, +@@ -5703,2 +5773,3 @@ "dev": true, -+ "license": "ISC", - "dependencies": { -@@ -3756,2 +3722,3 @@ ++ "license": "MIT", + "optional": true, +@@ -5866,2 +5937,3 @@ "dev": true, + "license": "MIT", "engines": { -@@ -3815,5 +3782,5 @@ +@@ -5925,5 +5997,5 @@ "node_modules/htmlparser2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", @@ -560,7 +656,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "dev": true, -@@ -3826,7 +3793,21 @@ +@@ -5936,7 +6008,21 @@ ], + "license": "MIT", "dependencies": { @@ -585,27 +681,7 @@ index d3d0ae9..b47c35f 100644 + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } -@@ -3880,2 +3861,15 @@ - }, -+ "node_modules/iconv-lite": { -+ "version": "0.6.3", -+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", -+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", -+ "dev": true, -+ "license": "MIT", -+ "dependencies": { -+ "safer-buffer": ">= 2.1.2 < 3.0.0" -+ }, -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/ieee754": { -@@ -3899,2 +3893,3 @@ - ], -+ "license": "BSD-3-Clause", - "optional": true -@@ -3912,5 +3907,5 @@ +@@ -6070,5 +6156,5 @@ "node_modules/index-to-position": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz", @@ -614,7 +690,11 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", "dev": true, -@@ -4120,5 +4115,5 @@ +@@ -6088,2 +6174,3 @@ + "dev": true, ++ "license": "MIT", + "dependencies": { +@@ -6359,5 +6446,5 @@ "node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", @@ -623,25 +703,13 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, -@@ -4126,4 +4121,3 @@ +@@ -6365,4 +6452,3 @@ "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, -@@ -4157,2 +4151,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true -@@ -4266,2 +4261,3 @@ - "hasInstallScript": true, -+ "license": "MIT", - "optional": true, -@@ -4333,2 +4329,3 @@ - "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -4358,9 +4355,2 @@ +@@ -6725,9 +6811,2 @@ }, - "node_modules/markdown-it/node_modules/argparse": { - "version": "2.0.1", @@ -651,31 +719,7 @@ index d3d0ae9..b47c35f 100644 - "license": "Python-2.0" - }, "node_modules/matcher": { -@@ -4443,2 +4433,3 @@ - "dev": true, -+ "license": "ISC", - "bin": { -@@ -4487,2 +4478,3 @@ - "dev": true, -+ "license": "MIT", - "dependencies": { -@@ -4495,7 +4487,11 @@ - "node_modules/minimist": { -- "version": "1.2.6", -- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", -- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", -+ "version": "1.2.8", -+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", -+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, -- "optional": true -+ "license": "MIT", -+ "optional": true, -+ "funding": { -+ "url": "https://github.com/sponsors/ljharb" -+ } - }, -@@ -4532,6 +4528,7 @@ +@@ -7047,6 +7126,7 @@ "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -686,11 +730,7 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "MIT", "optional": true -@@ -4578,2 +4575,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true -@@ -4593,5 +4591,5 @@ +@@ -7205,5 +7285,5 @@ "node_modules/node-sarif-builder": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.2.0.tgz", @@ -699,12 +739,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.3.1.tgz", + "integrity": "sha512-8z5dAbhpxmk/WRQHXlv4V0h+9Y4Ugk+w08lyhV/7E/CQX9yDdBc3025/EG+RSMJU2aPFh/IQ7XDV7Ti5TLt/TA==", "dev": true, -@@ -4603,3 +4601,3 @@ - "engines": { -- "node": ">=18" -+ "node": ">=20" - } -@@ -4680,5 +4678,5 @@ +@@ -7308,5 +7388,5 @@ "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", @@ -713,7 +748,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, -@@ -4808,5 +4806,5 @@ +@@ -7575,5 +7655,5 @@ "node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", @@ -722,7 +757,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", + "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", "dev": true, -@@ -4886,8 +4884,9 @@ +@@ -7653,8 +7733,9 @@ "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", @@ -736,7 +771,7 @@ index d3d0ae9..b47c35f 100644 - "entities": "^4.4.0" + "entities": "^6.0.0" }, -@@ -4898,8 +4897,9 @@ +@@ -7665,8 +7746,22 @@ "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", @@ -745,26 +780,26 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", "dev": true, -+ "license": "MIT", - "dependencies": { -- "domhandler": "^5.0.2", -+ "domhandler": "^5.0.3", - "parse5": "^7.0.0" -@@ -4910,2 +4910,28 @@ - }, -+ "node_modules/parse5-parser-stream": { -+ "version": "7.1.2", -+ "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", -+ "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", -+ "dev": true, + "license": "MIT", + "dependencies": { ++ "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, ++ "node_modules/parse5-parser-stream": { ++ "version": "7.1.2", ++ "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", ++ "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", ++ "dev": true, ++ "license": "MIT", + "dependencies": { +- "domhandler": "^5.0.2", + "parse5": "^7.0.0" +@@ -7677,2 +7772,15 @@ + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", @@ -779,7 +814,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/path-is-absolute": { -@@ -4929,5 +4955,5 @@ +@@ -7696,5 +7804,5 @@ "node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", @@ -788,7 +823,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", "dev": true, -@@ -5056,6 +5082,7 @@ +@@ -7838,6 +7946,7 @@ "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", @@ -799,12 +834,12 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "MIT", "optional": true, -@@ -5067,3 +5094,3 @@ +@@ -7849,3 +7958,3 @@ "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", -@@ -5208,22 +5235,2 @@ +@@ -8024,22 +8133,2 @@ }, - "node_modules/rc-config-loader/node_modules/argparse": { - "version": "2.0.1", @@ -827,23 +862,7 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/read": { -@@ -5348,2 +5355,3 @@ - "dev": true, -+ "license": "ISC", - "dependencies": { -@@ -5371,2 +5379,3 @@ - "dev": true, -+ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "optional": true, -@@ -5414,7 +5423,15 @@ - }, -+ "node_modules/safer-buffer": { -+ "version": "2.1.2", -+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", -+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", -+ "dev": true, -+ "license": "MIT" -+ }, +@@ -8320,6 +8409,7 @@ "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -855,23 +874,15 @@ index d3d0ae9..b47c35f 100644 + "dev": true, + "license": "ISC" }, -@@ -5472,2 +5489,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true, -@@ -5612,2 +5630,3 @@ +@@ -8517,2 +8607,3 @@ ], -+ "license": "MIT", ++ "license": "BSD-3-Clause", "optional": true -@@ -5633,2 +5652,3 @@ +@@ -8538,2 +8629,3 @@ ], + "license": "MIT", "optional": true, -@@ -5764,2 +5784,3 @@ - "dev": true, -+ "license": "MIT", - "engines": { -@@ -5791,5 +5812,5 @@ +@@ -8771,5 +8863,5 @@ "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -880,7 +891,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, -@@ -5813,31 +5834,11 @@ +@@ -8793,31 +8885,11 @@ "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", @@ -918,7 +929,7 @@ index d3d0ae9..b47c35f 100644 + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } -@@ -5854,2 +5855,9 @@ +@@ -8834,2 +8906,9 @@ }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", @@ -928,14 +939,14 @@ index d3d0ae9..b47c35f 100644 + "license": "MIT" + }, "node_modules/string-width/node_modules/strip-ansi": { -@@ -5947,4 +5955,5 @@ +@@ -8927,4 +9006,5 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo= sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, + "license": "MIT", "optional": true, -@@ -6062,2 +6071,24 @@ +@@ -9042,2 +9122,24 @@ }, + "node_modules/table/node_modules/emoji-regex": { + "version": "8.0.0", @@ -960,11 +971,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/table/node_modules/strip-ansi": { -@@ -6128,2 +6159,3 @@ - "dev": true, -+ "license": "MIT", - "dependencies": { -@@ -6193,5 +6225,5 @@ +@@ -9310,5 +9412,5 @@ "node_modules/tmp": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", @@ -973,7 +980,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", "dev": true, -@@ -6298,6 +6330,7 @@ +@@ -9435,6 +9537,7 @@ "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", @@ -985,14 +992,14 @@ index d3d0ae9..b47c35f 100644 + "dev": true, + "license": "0BSD" }, -@@ -6316,4 +6349,5 @@ +@@ -9453,4 +9556,5 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, + "license": "Apache-2.0", "optional": true, -@@ -6365,2 +6399,12 @@ +@@ -9502,2 +9606,12 @@ }, + "node_modules/undici": { + "version": "7.16.0", @@ -1005,13 +1012,13 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/undici-types": { -@@ -6404,3 +6448,4 @@ +@@ -9577,3 +9691,4 @@ "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true + "dev": true, + "license": "MIT" }, -@@ -6584,2 +6629,25 @@ +@@ -9790,2 +9905,25 @@ }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", @@ -1037,7 +1044,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/which": { -@@ -6688,2 +6756,24 @@ +@@ -9894,2 +10032,24 @@ }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", @@ -1062,7 +1069,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { -@@ -6714,27 +6804,2 @@ +@@ -9920,27 +10080,2 @@ }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "9.2.2", @@ -1090,8 +1097,56 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/wrappy": { +@@ -10036,2 +10171,47 @@ + }, ++ "node_modules/yargs/node_modules/ansi-regex": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", ++ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", ++ "dev": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/yargs/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/yargs/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/yargs/node_modules/strip-ansi": { ++ "version": "6.0.1", ++ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", ++ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansi-regex": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/yauzl": { diff --git a/build/package.json b/build/package.json -index e084f0e..4517da3 100644 +index e45161d..30ba3c3 100644 --- a/build/package.json +++ b/build/package.json @@ -11,3 +11,2 @@ diff --git a/patches/version-1-update.patch b/patches/version-1-update.patch index dd88101..be046a8 100644 --- a/patches/version-1-update.patch +++ b/patches/version-1-update.patch @@ -1,14 +1,27 @@ +diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts +index a3efce9..be970c6 100644 +--- a/src/vs/code/electron-main/app.ts ++++ b/src/vs/code/electron-main/app.ts +@@ -78,3 +78,2 @@ import { DarwinUpdateService } from '../../platform/update/electron-main/updateS + import { LinuxUpdateService } from '../../platform/update/electron-main/updateService.linux.js'; +-import { SnapUpdateService } from '../../platform/update/electron-main/updateService.snap.js'; + import { Win32UpdateService } from '../../platform/update/electron-main/updateService.win32.js'; +@@ -997,3 +996,3 @@ export class CodeApplication extends Disposable { + if (isLinuxSnap) { +- services.set(IUpdateService, new SyncDescriptor(SnapUpdateService, [process.env['SNAP'], process.env['SNAP_REVISION']])); ++ // services.set(IUpdateService, new SyncDescriptor(SnapUpdateService, [process.env['SNAP'], process.env['SNAP_REVISION']])); + } else { diff --git a/src/vs/platform/update/common/update.ts b/src/vs/platform/update/common/update.ts -index 199f433..a6cbb10 100644 +index b859dfd..75e8987 100644 --- a/src/vs/platform/update/common/update.ts +++ b/src/vs/platform/update/common/update.ts -@@ -51,3 +51,4 @@ export const enum UpdateType { +@@ -54,3 +54,4 @@ export const enum UpdateType { Archive, - Snap + Snap, + WindowsInstaller, } -@@ -110 +111,38 @@ export interface IUpdateService { +@@ -116 +117,38 @@ export interface IUpdateService { } + +export type Architecture = @@ -49,30 +62,37 @@ index 199f433..a6cbb10 100644 + | "user"; \ No newline at end of file diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts -index ed8043f..e19c9e4 100644 +index 0e63d40..c8426ea 100644 --- a/src/vs/platform/update/electron-main/abstractUpdateService.ts +++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts -@@ -14,6 +14,10 @@ import { IProductService } from '../../product/common/productService.js'; +@@ -14,3 +14,3 @@ import { IProductService } from '../../product/common/productService.js'; import { IRequestService } from '../../request/common/request.js'; -import { AvailableForDownload, DisablementReason, IUpdateService, State, StateType, UpdateType } from '../common/update.js'; +import { Architecture, AvailableForDownload, DisablementReason, IUpdateService, Platform, State, StateType, Target, UpdateType } from '../common/update.js'; --export function createUpdateURL(platform: string, quality: string, productService: IProductService): string { -- return `${productService.updateUrl}/api/update/${platform}/${quality}/${productService.commit}`; +@@ -20,10 +20,8 @@ export interface IUpdateURLOptions { + +-export function createUpdateURL(baseUpdateUrl: string, platform: string, quality: string, commit: string, options?: IUpdateURLOptions): string { +- const url = new URL(`${baseUpdateUrl}/api/update/${platform}/${quality}/${commit}`); +- +- if (options?.background) { +- url.searchParams.set('bg', 'true'); +export function createUpdateURL(productService: IProductService, quality: string, platform: Platform, architecture: Architecture, target?: Target): string { + if (target) { + return `${productService.updateUrl}/${quality}/${platform}/${architecture}/${target}/latest.json`; + } else { + return `${productService.updateUrl}/${quality}/${platform}/${architecture}/latest.json`; -+ } + } +- +- return url.toString(); } -@@ -205,3 +209,3 @@ export abstract class AbstractUpdateService implements IUpdateService { +@@ -265,3 +263,3 @@ export abstract class AbstractUpdateService implements IUpdateService { - if (mode === 'none') { + if (mode === 'none' || mode === 'manual') { - return false; + return undefined; diff --git a/src/vs/platform/update/electron-main/updateService.darwin.ts b/src/vs/platform/update/electron-main/updateService.darwin.ts -index b78ebc5..a4a3b1d 100644 +index b20673b..af677f6 100644 --- a/src/vs/platform/update/electron-main/updateService.darwin.ts +++ b/src/vs/platform/update/electron-main/updateService.darwin.ts @@ -15,3 +15,3 @@ import { ILogService } from '../../log/common/log.js'; @@ -81,19 +101,15 @@ index b78ebc5..a4a3b1d 100644 +import { IRequestService, asJson } from '../../request/common/request.js'; import { ITelemetryService } from '../../telemetry/common/telemetry.js'; @@ -19,2 +19,4 @@ import { IUpdate, State, StateType, UpdateType } from '../common/update.js'; - import { AbstractUpdateService, createUpdateURL, UpdateErrorClassification } from './abstractUpdateService.js'; + import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js'; +import { CancellationToken } from '../../../base/common/cancellation.js'; +import * as semver from 'semver'; -@@ -76,17 +78,3 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau - protected buildUpdateFeedUrl(quality: string): string | undefined { -- let assetID: string; -- if (!this.productService.darwinUniversalAssetId) { -- assetID = process.arch === 'x64' ? 'darwin' : 'darwin-arm64'; -- } else { -- assetID = this.productService.darwinUniversalAssetId; -- } -- const url = createUpdateURL(assetID, quality, this.productService); +@@ -75,13 +77,4 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau + +- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string | undefined { +- const assetID = this.productService.darwinUniversalAssetId ?? (process.arch === 'x64' ? 'darwin' : 'darwin-arm64'); +- const url = createUpdateURL(this.productService.updateUrl!, assetID, quality, commit, options); - try { - electron.autoUpdater.setFeedURL({ url }); - } catch (e) { @@ -102,14 +118,13 @@ index b78ebc5..a4a3b1d 100644 - return undefined; - } - return url; ++ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string | undefined { + return createUpdateURL(this.productService, quality, process.platform, process.arch); } -@@ -100,5 +88,30 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau +@@ -112,3 +105,30 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau -- const url = explicit ? this.url : `${this.url}?bg=true`; -- electron.autoUpdater.setFeedURL({ url }); - electron.autoUpdater.checkForUpdates(); -+ this.requestService.request({ url: this.url }, CancellationToken.None) ++ this.requestService.request({ url }, CancellationToken.None) + .then(asJson) + .then(update => { + if (!update || !update.url || !update.version || !update.productVersion) { @@ -125,7 +140,7 @@ index b78ebc5..a4a3b1d 100644 + this.setState(State.Idle(UpdateType.Setup)); + } + else { -+ electron.autoUpdater.setFeedURL({ url: this.url! }); ++ electron.autoUpdater.setFeedURL({ url }); + electron.autoUpdater.checkForUpdates(); + } + @@ -139,27 +154,21 @@ index b78ebc5..a4a3b1d 100644 + }); } diff --git a/src/vs/platform/update/electron-main/updateService.linux.ts b/src/vs/platform/update/electron-main/updateService.linux.ts -index 8550ace..c2fddcb 100644 +index 32040dc..59cf109 100644 --- a/src/vs/platform/update/electron-main/updateService.linux.ts +++ b/src/vs/platform/update/electron-main/updateService.linux.ts @@ -15,2 +15,3 @@ import { AvailableForDownload, IUpdate, State, UpdateType } from '../common/upda - import { AbstractUpdateService, createUpdateURL } from './abstractUpdateService.js'; + import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions } from './abstractUpdateService.js'; +import * as semver from 'semver'; -@@ -31,3 +32,3 @@ export class LinuxUpdateService extends AbstractUpdateService { - protected buildUpdateFeedUrl(quality: string): string { -- return createUpdateURL(`linux-${process.arch}`, quality, this.productService); +@@ -30,4 +31,4 @@ export class LinuxUpdateService extends AbstractUpdateService { + +- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string { +- return createUpdateURL(this.productService.updateUrl!, `linux-${process.arch}`, quality, commit, options); ++ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string { + return createUpdateURL(this.productService, quality, process.platform, process.arch); } -@@ -39,6 +40,5 @@ export class LinuxUpdateService extends AbstractUpdateService { - -- const url = explicit ? this.url : `${this.url}?bg=true`; - this.setState(State.CheckingForUpdates(explicit)); - -- this.requestService.request({ url }, CancellationToken.None) -+ this.requestService.request({ url: this.url }, CancellationToken.None) - .then(asJson) -@@ -47,5 +47,17 @@ export class LinuxUpdateService extends AbstractUpdateService { +@@ -48,5 +49,17 @@ export class LinuxUpdateService extends AbstractUpdateService { this.setState(State.Idle(UpdateType.Archive)); - } else { + @@ -179,7 +188,7 @@ index 8550ace..c2fddcb 100644 + return Promise.resolve(null); }) diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts -index ae4fd9c..7fc81a0 100644 +index 3edbd9d..6666876 100644 --- a/src/vs/platform/update/electron-main/updateService.win32.ts +++ b/src/vs/platform/update/electron-main/updateService.win32.ts @@ -13,3 +13,2 @@ import { CancellationToken } from '../../../base/common/cancellation.js'; @@ -189,9 +198,9 @@ index ae4fd9c..7fc81a0 100644 @@ -27,4 +26,5 @@ import { asJson, IRequestService } from '../../request/common/request.js'; import { ITelemetryService } from '../../telemetry/common/telemetry.js'; -import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, UpdateType } from '../common/update.js'; --import { AbstractUpdateService, createUpdateURL, UpdateErrorClassification } from './abstractUpdateService.js'; +-import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js'; +import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, Target, UpdateType } from '../common/update.js'; -+import { AbstractUpdateService, createUpdateURL} from './abstractUpdateService.js'; ++import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions } from './abstractUpdateService.js'; +import * as semver from 'semver'; @@ -44,5 +44,9 @@ function getUpdateType(): UpdateType { @@ -211,14 +220,17 @@ index ae4fd9c..7fc81a0 100644 @IConfigurationService configurationService: IConfigurationService, + // @ts-expect-error @ITelemetryService private readonly telemetryService: ITelemetryService, -@@ -155,11 +160,21 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - protected buildUpdateFeedUrl(quality: string): string | undefined { +@@ -154,12 +159,22 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun + +- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string | undefined { - let platform = `win32-${process.arch}`; - - if (getUpdateType() === UpdateType.Archive) { - platform += '-archive'; - } else if (this.productService.target === 'user') { - platform += '-user'; +- } ++ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string | undefined { + let target: Target; + + switch (getUpdateType()) { @@ -235,12 +247,12 @@ index ae4fd9c..7fc81a0 100644 + else { + target = "system" + } - } ++ } -- return createUpdateURL(platform, quality, this.productService); +- return createUpdateURL(this.productService.updateUrl!, platform, quality, commit, options); + return createUpdateURL(this.productService, quality, process.platform, process.arch, target); } -@@ -184,2 +199,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -185,2 +200,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun + const fetchedVersion = /\d+\.\d+\.\d+\.\d+/.test(update.productVersion) ? update.productVersion.replace(/(\d+\.\d+\.\d+)\.\d+(\-\w+)?/, '$1$2') : update.productVersion.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3') + const currentVersion = this.productService.version.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3') @@ -251,16 +263,16 @@ index ae4fd9c..7fc81a0 100644 + } + if (updateType === UpdateType.Archive) { -@@ -210,3 +233,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -211,3 +234,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - const fastUpdatesEnabled = this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); + const fastUpdatesEnabled = getUpdateType() == UpdateType.Setup && this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); if (fastUpdatesEnabled) { -@@ -222,3 +245,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -223,3 +246,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun .then(undefined, err => { - this.telemetryService.publicLog2<{ messageHash: string }, UpdateErrorClassification>('update:error', { messageHash: String(hash(String(err))) }); this.logService.error(err); -@@ -307,6 +329,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -309,6 +331,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun } else { - spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], { - detached: true, diff --git a/patches/windows/disable-versioned-resources.patch b/patches/windows/disable-versioned-resources.patch deleted file mode 100644 index 77c7bb6..0000000 --- a/patches/windows/disable-versioned-resources.patch +++ /dev/null @@ -1,854 +0,0 @@ -diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index ac70ecb..e04cca7 100644 ---- a/build/gulpfile.vscode.ts -+++ b/build/gulpfile.vscode.ts -@@ -41,3 +41,2 @@ const root = path.dirname(import.meta.dirname); - const commit = getVersion(root); --const versionedResourcesFolder = (product as typeof product & { quality?: string })?.quality === 'insider' ? commit!.substring(0, 10) : ''; - -@@ -356,8 +355,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d - ], { base: '.' })); -- if (quality && quality === 'insider') { -- customElectronConfig = { -- createVersionedResources: true, -- productVersionString: `${versionedResourcesFolder}`, -- }; -- } - } else if (platform === 'linux') { -@@ -398,3 +391,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d - .pipe(replace('@@NAME@@', product.nameShort)) -- .pipe(replace('@@VERSIONFOLDER@@', versionedResourcesFolder)) - .pipe(rename(function (f) { f.basename = product.applicationName; }))); -@@ -407,3 +399,2 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d - .pipe(replace('@@APPNAME@@', product.applicationName)) -- .pipe(replace('@@VERSIONFOLDER@@', versionedResourcesFolder)) - .pipe(replace('@@SERVERDATAFOLDER@@', product.serverDataFolderName || '.vscode-remote')) -@@ -473,4 +464,4 @@ function patchWin32DependenciesTask(destinationFolderName: string) { - const deps = await glob('**/*.node', { cwd, ignore: 'extensions/node_modules/@vscode/watcher/**' }); -- const packageJson = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'package.json'), 'utf8')); -- const product = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'product.json'), 'utf8')); -+ const packageJson = JSON.parse(await fs.promises.readFile(path.join(cwd, 'resources', 'app', 'package.json'), 'utf8')); -+ const product = JSON.parse(await fs.promises.readFile(path.join(cwd, 'resources', 'app', 'product.json'), 'utf8')); - const baseVersion = packageJson.version.replace(/-.*$/, ''); -diff --git a/build/gulpfile.vscode.win32.ts b/build/gulpfile.vscode.win32.ts -index a7b01f0..4409ce2 100644 ---- a/build/gulpfile.vscode.win32.ts -+++ b/build/gulpfile.vscode.win32.ts -@@ -74,9 +74,4 @@ function buildWin32Setup(arch: string, target: string): task.CallbackTask { - const quality = (product as typeof product & { quality?: string }).quality || 'dev'; -- let versionedResourcesFolder = ''; - let issPath = path.join(import.meta.dirname, 'win32', 'code.iss'); -- if (quality && quality === 'insider') { -- versionedResourcesFolder = commit!.substring(0, 10); -- issPath = path.join(import.meta.dirname, 'win32', 'code-insider.iss'); -- } -- const originalProductJsonPath = path.join(sourcePath, versionedResourcesFolder, 'resources/app/product.json'); -+ const originalProductJsonPath = path.join(sourcePath, 'resources/app/product.json'); - const productJsonPath = path.join(outputPath, 'product.json'); -@@ -113,3 +108,2 @@ function buildWin32Setup(arch: string, target: string): task.CallbackTask { - ProductJsonPath: productJsonPath, -- VersionedResourcesFolder: versionedResourcesFolder, - Quality: quality -diff --git a/build/win32/code-insider.iss b/build/win32/code-insider.iss -index 2cbf252..b8445fb 100644 ---- a/build/win32/code-insider.iss -+++ b/build/win32/code-insider.iss -@@ -69,9 +69,9 @@ Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl,{#RepoDir}\build\ - [InstallDelete] --Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\out"; Check: IsNotBackgroundUpdate --Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\plugins"; Check: IsNotBackgroundUpdate --Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\extensions"; Check: IsNotBackgroundUpdate --Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules"; Check: IsNotBackgroundUpdate --Type: filesandordirs; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules.asar.unpacked"; Check: IsNotBackgroundUpdate --Type: files; Name: "{app}\{#VersionedResourcesFolder}\resources\app\node_modules.asar"; Check: IsNotBackgroundUpdate --Type: files; Name: "{app}\{#VersionedResourcesFolder}\resources\app\Credits_45.0.2454.85.html"; Check: IsNotBackgroundUpdate -+Type: filesandordirs; Name: "{app}\resources\app\out"; Check: IsNotBackgroundUpdate -+Type: filesandordirs; Name: "{app}\resources\app\plugins"; Check: IsNotBackgroundUpdate -+Type: filesandordirs; Name: "{app}\resources\app\extensions"; Check: IsNotBackgroundUpdate -+Type: filesandordirs; Name: "{app}\resources\app\node_modules"; Check: IsNotBackgroundUpdate -+Type: filesandordirs; Name: "{app}\resources\app\node_modules.asar.unpacked"; Check: IsNotBackgroundUpdate -+Type: files; Name: "{app}\resources\app\node_modules.asar"; Check: IsNotBackgroundUpdate -+Type: files; Name: "{app}\resources\app\Credits_45.0.2454.85.html"; Check: IsNotBackgroundUpdate - -@@ -100,4 +100,4 @@ Source: "{#ExeBasename}.exe"; DestDir: "{code:GetDestDir}"; DestName: "{code:Get - Source: "{#ExeBasename}.VisualElementsManifest.xml"; DestDir: "{code:GetDestDir}"; DestName: "{code:GetVisualElementsManifest}"; Flags: ignoreversion --Source: "tools\*"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\tools"; Flags: ignoreversion --Source: "policies\*"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\policies"; Flags: ignoreversion skipifsourcedoesntexist -+Source: "tools\*"; DestDir: "{code:GetDestDir}\tools"; Flags: ignoreversion -+Source: "policies\*"; DestDir: "{code:GetDestDir}\policies"; Flags: ignoreversion skipifsourcedoesntexist - Source: "bin\{#TunnelApplicationName}.exe"; DestDir: "{code:GetDestDir}\bin"; DestName: "{code:GetBinDirTunnelApplicationFilename}"; Flags: ignoreversion skipifsourcedoesntexist -@@ -105,7 +105,7 @@ Source: "bin\{#ApplicationName}.cmd"; DestDir: "{code:GetDestDir}\bin"; DestName - Source: "bin\{#ApplicationName}"; DestDir: "{code:GetDestDir}\bin"; DestName: "{code:GetBinDirApplicationFilename}"; Flags: ignoreversion --Source: "{#ProductJsonPath}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\resources\app"; Flags: ignoreversion -+Source: "{#ProductJsonPath}"; DestDir: "{code:GetDestDir}\resources\app"; Flags: ignoreversion - #ifdef AppxPackageName - #if "user" == InstallTarget --Source: "appx\{#AppxPackage}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\appx"; BeforeInstall: RemoveAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater --Source: "appx\{#AppxPackageDll}"; DestDir: "{code:GetDestDir}\{#VersionedResourcesFolder}\appx"; AfterInstall: AddAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater -+Source: "appx\{#AppxPackage}"; DestDir: "{code:GetDestDir}\appx"; BeforeInstall: RemoveAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater -+Source: "appx\{#AppxPackageDll}"; DestDir: "{code:GetDestDir}\appx"; AfterInstall: AddAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater - #endif -@@ -133,3 +133,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ascx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -141,3 +141,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.asp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -149,3 +149,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.aspx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -157,3 +157,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -165,3 +165,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_ - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_login\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -173,3 +173,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_ - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_logout\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -181,3 +181,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_ - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bash_profile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -189,3 +189,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashr - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bashrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -197,3 +197,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bib\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -205,3 +205,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bower - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\bower.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\bower.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.bowerrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -213,3 +213,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c++\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles -@@ -220,3 +220,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c"; V - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.c\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -228,3 +228,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -236,3 +236,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cfg\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -244,3 +244,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cjs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -252,3 +252,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clj\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -260,3 +260,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -268,3 +268,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cljx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -276,3 +276,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cloju - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.clojure\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -284,3 +284,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cls\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -292,3 +292,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code- - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.code-workspace\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -300,3 +300,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cmake\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -308,3 +308,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffe - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.coffee\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -316,3 +316,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.confi - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.config\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -324,3 +324,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.conta - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.containerfile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles -@@ -331,3 +331,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cpp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -339,3 +339,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -347,3 +347,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtm - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cshtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -355,3 +355,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cspro - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csproj\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -363,3 +363,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\css.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\css.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.css\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -371,3 +371,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csv\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -379,3 +379,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\csharp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.csx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -387,3 +387,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ctp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -395,3 +395,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.cxx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -403,3 +403,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dart\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -411,3 +411,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.diff\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -419,3 +419,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.docke - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dockerfile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -427,3 +427,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dot\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -435,3 +435,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.dtd\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -443,3 +443,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edito - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.editorconfig\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -451,3 +451,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.edn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -459,3 +459,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.erb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -467,3 +467,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -475,3 +475,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.eyml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -483,3 +483,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -491,3 +491,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -499,3 +499,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscr - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsscript\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -507,3 +507,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.fsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -515,3 +515,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemsp - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gemspec\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -524,3 +524,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitat - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitattributes\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -533,3 +533,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitco - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitconfig\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -542,3 +542,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitig - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gitignore\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -550,3 +550,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\go.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\go.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.go\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -558,3 +558,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradl - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.gradle\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -566,3 +566,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groov - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.groovy\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -574,3 +574,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h"; V - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\c.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -582,3 +582,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handl - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.handlebars\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -590,3 +590,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hbs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -598,3 +598,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.h++\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe"" ""%1"""; Tasks: associatewithfiles -@@ -605,3 +605,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -613,3 +613,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hpp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -621,3 +621,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.htm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -629,3 +629,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.html\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -637,3 +637,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\cpp.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.hxx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -645,3 +645,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\config.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ini\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -653,3 +653,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ipynb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -661,3 +661,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\jade.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\jade.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jade\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -669,3 +669,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jav\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -677,3 +677,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\java.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.java\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -685,3 +685,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.js\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -693,3 +693,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -701,3 +701,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsr - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jscsrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -709,3 +709,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshin - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshintrc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -717,3 +717,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jshtm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -725,3 +725,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\json.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\json.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.json\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -733,3 +733,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.jsp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -741,3 +741,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\less.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\less.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.less\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -749,3 +749,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.log\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -757,3 +757,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.lua\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -765,3 +765,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m"; V - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.m\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -773,3 +773,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makef - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.makefile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -781,3 +781,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markd - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.markdown\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -789,3 +789,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.md\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -797,3 +797,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdoc\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -805,3 +805,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdown\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -813,3 +813,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtex - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtext\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -821,3 +821,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdtxt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -829,3 +829,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mdwn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -837,3 +837,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mk\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -845,3 +845,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkd\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -853,3 +853,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\markdown.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mkdn\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -861,3 +861,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -869,3 +869,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mli\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -877,3 +877,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\javascript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.mjs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -886,3 +886,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmig - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore"; ValueType: string; ValueName: "AlwaysShowExt"; ValueData: ""; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.npmignore\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -894,3 +894,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\php.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\php.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.php\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -902,3 +902,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.phtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -910,3 +910,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -918,3 +918,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pl6\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -926,3 +926,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.plist\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -934,3 +934,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -942,3 +942,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pm6\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -950,3 +950,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pod\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -958,3 +958,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pp\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -966,3 +966,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profi - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.profile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -974,3 +974,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.prope - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.properties\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -982,3 +982,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ps1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -990,3 +990,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psd1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -998,3 +998,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psgi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1006,3 +1006,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\powershell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.psm1\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1014,3 +1014,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.py\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1022,3 +1022,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\python.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.pyi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1030,3 +1030,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r"; V - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.r\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1038,3 +1038,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\ruby.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1046,3 +1046,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhist - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rhistory\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1054,3 +1054,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprof - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rprofile\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1062,3 +1062,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1070,3 +1070,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rst\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1078,3 +1078,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.rt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1086,3 +1086,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sass\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1094,3 +1094,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\sass.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.scss\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1102,3 +1102,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1110,3 +1110,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.shtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1118,3 +1118,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\sql.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\sql.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.sql\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1126,3 +1126,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.svg\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1134,3 +1134,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t"; V - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.t\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1142,3 +1142,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tex\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1150,3 +1150,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\typescript.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\typescript.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.ts\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1158,3 +1158,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.toml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1166,3 +1166,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\react.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.tsx\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1174,3 +1174,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.txt\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1182,3 +1182,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vb\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1190,3 +1190,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\vue.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\vue.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.vue\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1198,3 +1198,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxi\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1206,3 +1206,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxl\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1214,3 +1214,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.wxs\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1222,3 +1222,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1230,3 +1230,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\html.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xhtml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1238,3 +1238,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\xml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.xml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1246,3 +1246,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yaml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1254,3 +1254,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\yaml.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.yml\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1262,3 +1262,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh"; - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh"; ValueType: string; ValueName: "AppUserModelID"; ValueData: "{#AppUserId}"; Flags: uninsdeletekey; Tasks: associatewithfiles --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\shell.ico"; Tasks: associatewithfiles - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe"""; Tasks: associatewithfiles -@@ -1267,3 +1267,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}.zsh\s - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile"; ValueType: string; ValueName: ""; ValueData: "{cm:SourceFile,{#NameLong}}"; Flags: uninsdeletekey --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico" -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}SourceFile\shell\open"; ValueType: string; ValueName: ""; ValueData: """{app}\{#ExeBasename}.exe""" -@@ -1272,3 +1272,3 @@ Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\{#RegValueName}Source - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe"; ValueType: none; ValueName: ""; Flags: uninsdeletekey --Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#VersionedResourcesFolder}\resources\app\resources\win32\default.ico" -+Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\resources\app\resources\win32\default.ico" - Root: {#SoftwareClassesRootKey}; Subkey: "Software\Classes\Applications\{#ExeBasename}.exe\shell\open"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#ExeBasename}.exe""" -@@ -1557,3 +1557,3 @@ begin - Log('Installing appx ' + AppxPackageFullname + ' ...'); -- ShellExec('', 'powershell.exe', '-NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -Command ' + AddQuotes('Add-AppxPackage -Path ''' + ExpandConstant('{app}\{#VersionedResourcesFolder}\appx\{#AppxPackage}') + ''' -ExternalLocation ''' + ExpandConstant('{app}\{#VersionedResourcesFolder}\appx') + ''''), '', SW_HIDE, ewWaitUntilTerminated, AddAppxPackageResultCode); -+ ShellExec('', 'powershell.exe', '-NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -Command ' + AddQuotes('Add-AppxPackage -Path ''' + ExpandConstant('{app}\appx\{#AppxPackage}') + ''' -ExternalLocation ''' + ExpandConstant('{app}\appx') + ''''), '', SW_HIDE, ewWaitUntilTerminated, AddAppxPackageResultCode); - Log('Add-AppxPackage complete.'); -@@ -1614,3 +1614,3 @@ begin - Log('Invoking inno_updater for background update'); -- Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"{app}\{#ExeBasename}.exe" ' + BoolToStr(LockFileExists()) + ' "{cm:UpdatingVisualStudioCode}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); -+ Exec(ExpandConstant('{app}\tools\inno_updater.exe'), ExpandConstant('"{app}\{#ExeBasename}.exe" ' + BoolToStr(LockFileExists()) + ' "{cm:UpdatingVisualStudioCode}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); - DeleteFile(ExpandConstant('{app}\updating_version')); -@@ -1619,3 +1619,3 @@ begin - Log('Invoking inno_updater to remove previous installation folder'); -- Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe" "{#VersionedResourcesFolder}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); -+ Exec(ExpandConstant('{app}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); - Log('inno_updater completed gc successfully'); -@@ -1627,3 +1627,3 @@ begin - Log('Invoking inno_updater to remove previous installation folder'); -- Exec(ExpandConstant('{app}\{#VersionedResourcesFolder}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe" "{#VersionedResourcesFolder}"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); -+ Exec(ExpandConstant('{app}\tools\inno_updater.exe'), ExpandConstant('"--gc" "{app}\{#ExeBasename}.exe"'), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); - Log('inno_updater completed gc successfully'); -diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts -index ae4fd9c..eb77fcf 100644 ---- a/src/vs/platform/update/electron-main/updateService.win32.ts -+++ b/src/vs/platform/update/electron-main/updateService.win32.ts -@@ -94,10 +94,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - protected override async initialize(): Promise { -- if (this.environmentMainService.isBuilt) { -- const cachePath = await this.cachePath; -- app.setPath('appUpdate', cachePath); -- try { -- await unlink(path.join(cachePath, 'session-ending.flag')); -- } catch { } -- } -- - if (this.productService.target === 'user' && await this.nativeHostMainService.isAdmin(undefined)) { -@@ -140,6 +132,5 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - if (fastUpdatesEnabled && this.productService.target === 'user' && this.productService.commit) { -- const versionedResourcesFolder = this.productService.commit.substring(0, 10); -- const innoUpdater = path.join(exeDir, versionedResourcesFolder, 'tools', 'inno_updater.exe'); -+ const innoUpdater = path.join(exeDir, 'tools', 'inno_updater.exe'); - await new Promise(resolve => { -- const child = spawn(innoUpdater, ['--gc', exePath, versionedResourcesFolder], { -+ const child = spawn(innoUpdater, ['--gc', exePath], { - stdio: ['ignore', 'ignore', 'ignore'], diff --git a/prepare_vscode.sh b/prepare_vscode.sh index b582ade..1761c7f 100755 --- a/prepare_vscode.sh +++ b/prepare_vscode.sh @@ -58,6 +58,10 @@ if [[ "${DISABLE_UPDATE}" != "yes" ]]; then else setpath "product" "downloadUrl" "https://github.com/VSCodium/vscodium/releases" fi + + # if [[ "${OS_NAME}" == "windows" ]]; then + # setpath_json "product" "win32VersionedUpdate" "true" + # fi fi if [[ "${VSCODE_QUALITY}" == "insider" ]]; then @@ -275,17 +279,11 @@ if [[ "${OS_NAME}" == "linux" ]]; then sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/rpm/code.spec.template # snapcraft.yaml - sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template + sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template elif [[ "${OS_NAME}" == "windows" ]]; then - if [[ "${VSCODE_QUALITY}" == "insider" ]]; then - ISS_PATH="build/win32/code-insider.iss" - else - ISS_PATH="build/win32/code.iss" - fi - # code.iss - sed -i 's|https://code.visualstudio.com|https://vscodium.com|' "${ISS_PATH}" - sed -i 's|Microsoft Corporation|VSCodium|' "${ISS_PATH}" + sed -i 's|https://code.visualstudio.com|https://vscodium.com|' build/win32/code.iss + sed -i 's|Microsoft Corporation|VSCodium|' build/win32/code.iss fi cd .. diff --git a/product.json b/product.json index 2f75e16..6062ccc 100644 --- a/product.json +++ b/product.json @@ -53,6 +53,9 @@ "GitHub.vscode-pull-request-github" ], "extensionEnabledApiProposals": { + "mrleemurray.theme-2026": [ + "css" + ], "ms-azuretools.vscode-containers": [ "authenticationChallenges" ], @@ -255,7 +258,6 @@ "chatParticipantAdditions", "defaultChatParticipant", "embeddings", - "chatEditing", "chatProvider", "mappedEditsProvider", "aiRelatedInformation", @@ -271,6 +273,8 @@ "contribCommentEditorActionsMenu", "contribCommentThreadAdditionalMenu", "contribCommentsViewThreadMenus", + "contribChatEditorInlineGutterMenu", + "extensionAffinity", "newSymbolNamesProvider", "findFiles2", "chatReferenceDiagnostic", @@ -286,6 +290,7 @@ "languageModelSystem", "languageModelCapabilities", "languageModelThinkingPart", + "languageModelToolSupportsModel", "chatStatusItem", "taskProblemMatcherStatus", "contribLanguageModelToolSets", @@ -296,7 +301,11 @@ "chatSessionsProvider", "devDeviceId", "contribEditorContentMenu", - "tokenInformation" + "tokenInformation", + "chatPromptFiles", + "mcpServerDefinitions", + "tabInputMultiDiff", + "workspaceTrust" ], "GitHub.remotehub": [ "contribRemoteHelp", diff --git a/upstream/insider.json b/upstream/insider.json index 94204ea..e2fae29 100644 --- a/upstream/insider.json +++ b/upstream/insider.json @@ -1,4 +1,4 @@ { - "tag": "1.108.0", - "commit": "94e8ae2b28cb5cc932b86e1070569c4463565c37" + "tag": "1.109.0", + "commit": "bdd88df003631aaa0bcbe057cb0a940b80a476fa" } diff --git a/upstream/stable.json b/upstream/stable.json index 9e50dd4..e2fae29 100644 --- a/upstream/stable.json +++ b/upstream/stable.json @@ -1,4 +1,4 @@ { - "tag": "1.108.2", - "commit": "c9d77990917f3102ada88be140d28b038d1dd7c7" + "tag": "1.109.0", + "commit": "bdd88df003631aaa0bcbe057cb0a940b80a476fa" } From 325e7a79e990af5d48e59c3a3ecb39f388ada4e2 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 11 Feb 2026 18:53:20 +0000 Subject: [PATCH 34/38] build(stable): update to commit 591199d --- upstream/stable.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/upstream/stable.json b/upstream/stable.json index e2fae29..a743d2c 100644 --- a/upstream/stable.json +++ b/upstream/stable.json @@ -1,4 +1,4 @@ { - "tag": "1.109.0", - "commit": "bdd88df003631aaa0bcbe057cb0a940b80a476fa" + "tag": "1.109.2", + "commit": "591199df409fbf59b4b52d5ad4ee0470152a9b31" } From be3bb0ad5b9cb15f215cfa9574f03cbc59d7dd20 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Thu, 12 Feb 2026 10:47:50 +0100 Subject: [PATCH 35/38] fix(snap): re-add snap update service (#2697) --- patches/version-1-update.patch | 13 ------------- upstream/insider.json | 4 ++-- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/patches/version-1-update.patch b/patches/version-1-update.patch index be046a8..f7fcf56 100644 --- a/patches/version-1-update.patch +++ b/patches/version-1-update.patch @@ -1,16 +1,3 @@ -diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts -index a3efce9..be970c6 100644 ---- a/src/vs/code/electron-main/app.ts -+++ b/src/vs/code/electron-main/app.ts -@@ -78,3 +78,2 @@ import { DarwinUpdateService } from '../../platform/update/electron-main/updateS - import { LinuxUpdateService } from '../../platform/update/electron-main/updateService.linux.js'; --import { SnapUpdateService } from '../../platform/update/electron-main/updateService.snap.js'; - import { Win32UpdateService } from '../../platform/update/electron-main/updateService.win32.js'; -@@ -997,3 +996,3 @@ export class CodeApplication extends Disposable { - if (isLinuxSnap) { -- services.set(IUpdateService, new SyncDescriptor(SnapUpdateService, [process.env['SNAP'], process.env['SNAP_REVISION']])); -+ // services.set(IUpdateService, new SyncDescriptor(SnapUpdateService, [process.env['SNAP'], process.env['SNAP_REVISION']])); - } else { diff --git a/src/vs/platform/update/common/update.ts b/src/vs/platform/update/common/update.ts index b859dfd..75e8987 100644 --- a/src/vs/platform/update/common/update.ts diff --git a/upstream/insider.json b/upstream/insider.json index e2fae29..a743d2c 100644 --- a/upstream/insider.json +++ b/upstream/insider.json @@ -1,4 +1,4 @@ { - "tag": "1.109.0", - "commit": "bdd88df003631aaa0bcbe057cb0a940b80a476fa" + "tag": "1.109.2", + "commit": "591199df409fbf59b4b52d5ad4ee0470152a9b31" } From 399b0222667fd2d050e77116536827545b3105db Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Fri, 13 Feb 2026 18:50:32 +0000 Subject: [PATCH 36/38] build(stable): update to commit b6a47e9 --- upstream/stable.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/upstream/stable.json b/upstream/stable.json index a743d2c..a8799d1 100644 --- a/upstream/stable.json +++ b/upstream/stable.json @@ -1,4 +1,4 @@ { - "tag": "1.109.2", - "commit": "591199df409fbf59b4b52d5ad4ee0470152a9b31" + "tag": "1.109.3", + "commit": "b6a47e94e326b5c209d118cf0f994d6065585705" } From 22a615e8ffc91bd880a72478c8ed6864823d6356 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Mon, 16 Feb 2026 18:35:35 +0000 Subject: [PATCH 37/38] build(stable): update to commit c3a2684 --- upstream/stable.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/upstream/stable.json b/upstream/stable.json index a8799d1..58f3504 100644 --- a/upstream/stable.json +++ b/upstream/stable.json @@ -1,4 +1,4 @@ { - "tag": "1.109.3", - "commit": "b6a47e94e326b5c209d118cf0f994d6065585705" + "tag": "1.109.4", + "commit": "c3a26841a84f20dfe0850d0a5a9bd01da4f003ea" } From cf38c857b27821b135a19bd506ad137b9b6cc0ed Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Tue, 17 Feb 2026 12:22:40 +0100 Subject: [PATCH 38/38] feat(1.110): update patches (#2704) --- .nvmrc | 2 +- build/linux/package_reh.sh | 2 + patches/add-remote-url.patch | 14 +-- patches/binary-name.patch | 12 +-- patches/brand.patch | 152 ++++++++++++++--------------- patches/fix-build-vsce.patch | 78 +++++++++++---- patches/fix-keymap.patch | 24 ++--- patches/fix-policies.patch | 18 ++-- patches/helper/settings.patch | 15 ++- patches/linux/arch-0-support.patch | 12 +-- patches/linux/arch-1-ppc64le.patch | 30 +++--- patches/version-1-update.patch | 70 +++++++------ product.json | 8 ++ upstream/insider.json | 4 +- 14 files changed, 244 insertions(+), 197 deletions(-) diff --git a/.nvmrc b/.nvmrc index 5767036..85e5027 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.21.1 +22.22.0 diff --git a/build/linux/package_reh.sh b/build/linux/package_reh.sh index 834a209..eb49ade 100755 --- a/build/linux/package_reh.sh +++ b/build/linux/package_reh.sh @@ -141,6 +141,8 @@ if [[ -z "${VSCODE_SKIP_SETUPENV}" ]]; then if [[ -n "${VSCODE_SKIP_SYSROOT}" ]]; then source ./build/azure-pipelines/linux/setup-env.sh --skip-sysroot else + cat ./build/checksums/vscode-sysroot.txt + source ./build/azure-pipelines/linux/setup-env.sh fi diff --git a/patches/add-remote-url.patch b/patches/add-remote-url.patch index 3e86344..21f52b5 100644 --- a/patches/add-remote-url.patch +++ b/patches/add-remote-url.patch @@ -1,18 +1,18 @@ diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts -index cb1a0a5..dacedc3 100644 +index b935764..68067db 100644 --- a/build/gulpfile.reh.ts +++ b/build/gulpfile.reh.ts @@ -323,3 +323,3 @@ function packageTask(type: string, platform: string, arch: string, sourceFolderN const productJsonStream = gulp.src(['product.json'], { base: '.' }) -- .pipe(jsonEditor({ commit, date: readISODate('out-build'), version })) -+ .pipe(jsonEditor({ commit, date: readISODate('out-build'), version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' })) +- .pipe(jsonEditor({ commit, date: readISODate(sourceFolderName), version })) ++ .pipe(jsonEditor({ commit, date: readISODate(sourceFolderName), version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' })) .pipe(es.through(function (file) { diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index d3ab651..1000abc 100644 +index a103f11..82142a1 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -272,3 +272,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d +@@ -374,3 +374,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d const productJsonStream = gulp.src(['product.json'], { base: '.' }) -- .pipe(jsonEditor({ commit, date: readISODate('out-build'), checksums, version })) -+ .pipe(jsonEditor({ commit, date: readISODate('out-build'), checksums, version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' })) +- .pipe(jsonEditor({ commit, date: readISODate(out), checksums, version })) ++ .pipe(jsonEditor({ commit, date: readISODate(out), checksums, version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' })) .pipe(es.through(function (file) { diff --git a/patches/binary-name.patch b/patches/binary-name.patch index b8214df..41f2950 100644 --- a/patches/binary-name.patch +++ b/patches/binary-name.patch @@ -1,22 +1,22 @@ diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index d3ab651..63cd71f 100644 +index a103f11..cc95785 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -369,3 +369,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d - .pipe(replace('@@APPNAME@@', product.applicationName)) +@@ -466,3 +466,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d + .pipe(replace('@@NAME@@', product.nameShort)) - .pipe(rename('bin/code')); + .pipe(rename('bin/' + product.applicationName)); const policyDest = gulp.src('.build/policies/darwin/**', { base: '.build/policies/darwin' }) diff --git a/src/vs/platform/native/electron-main/nativeHostMainService.ts b/src/vs/platform/native/electron-main/nativeHostMainService.ts -index 2c3b710..8041f08 100644 +index 93d0008..a04d296 100644 --- a/src/vs/platform/native/electron-main/nativeHostMainService.ts +++ b/src/vs/platform/native/electron-main/nativeHostMainService.ts -@@ -503,3 +503,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain +@@ -539,3 +539,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain private async getShellCommandLink(): Promise<{ readonly source: string; readonly target: string }> { - const target = resolve(this.environmentMainService.appRoot, 'bin', 'code'); + const target = resolve(this.environmentMainService.appRoot, 'bin', this.productService.applicationName); const source = `/usr/local/bin/${this.productService.applicationName}`; -@@ -772,3 +772,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain +@@ -808,3 +808,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain if (this.environmentMainService.isBuilt) { - return join(this.environmentMainService.appRoot, 'bin', 'code'); + return join(this.environmentMainService.appRoot, 'bin', `${this.productService.applicationName}`); diff --git a/patches/brand.patch b/patches/brand.patch index 2df46f0..4aef366 100644 --- a/patches/brand.patch +++ b/patches/brand.patch @@ -332,7 +332,7 @@ index 1cb74c5..3f5f892 100644 + ${vscode.l10n.t("Open file using !!APP_NAME!!'s standard text/binary editor?")} diff --git a/extensions/notebook-renderers/package.json b/extensions/notebook-renderers/package.json -index 77c042e..d262ee3 100644 +index e9890ca..6bed1e6 100644 --- a/extensions/notebook-renderers/package.json +++ b/extensions/notebook-renderers/package.json @@ -22,3 +22,3 @@ @@ -359,31 +359,31 @@ index a8bbe5d..00694dc 100644 + "comment": "The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks !!APP_NAME!! / Atom, see https://github.com/textmate/swift.tmbundle/issues/29", "name": "support.variable.swift", diff --git a/extensions/typescript-language-features/package.nls.json b/extensions/typescript-language-features/package.nls.json -index e01e4de..1797d03 100644 +index 59a9ea9..7cc82d0 100644 --- a/extensions/typescript-language-features/package.nls.json +++ b/extensions/typescript-language-features/package.nls.json -@@ -82,4 +82,4 @@ +@@ -89,4 +89,4 @@ "configuration.tsserver.experimental.enableProjectDiagnostics": "Enables project wide error reporting.", - "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VS Code's locale.", - "typescript.locale.auto": "Use VS Code's configured display language.", + "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use !!APP_NAME!!'s locale.", + "typescript.locale.auto": "Use !!APP_NAME!!'s configured display language.", "configuration.implicitProjectConfig.module": "Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module.", -@@ -166,3 +166,3 @@ +@@ -197,3 +197,3 @@ "typescript.workspaceSymbols.excludeLibrarySymbols": "Exclude symbols that come from library files in `Go to Symbol in Workspace` results. Requires using TypeScript 5.3+ in the workspace.", - "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in VS Code.", + "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in !!APP_NAME!!.", "typescript.updateImportsOnFileMove.enabled.prompt": "Prompt on each rename.", -@@ -173,5 +173,5 @@ - "configuration.suggest.completeJSDocs": "Enable/disable suggestion to complete JSDoc comments.", +@@ -206,5 +206,5 @@ + "configuration.suggest.completeJSDocs.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.completeJSDocs#` instead.", - "configuration.tsserver.useVsCodeWatcher": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.", + "configuration.tsserver.useVsCodeWatcher": "Use !!APP_NAME!!'s file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.", "configuration.tsserver.watchOptions": "Configure which watching strategies should be used to keep track of files and directories.", - "configuration.tsserver.watchOptions.vscode": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.", + "configuration.tsserver.watchOptions.vscode": "Use !!APP_NAME!!'s file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.", "configuration.tsserver.watchOptions.watchFile": "Strategy for how individual files are watched.", -@@ -225,6 +225,6 @@ - "configuration.suggest.objectLiteralMethodSnippets.enabled": "Enable/disable snippet completions for methods in object literals.", +@@ -260,6 +260,6 @@ + "configuration.suggest.objectLiteralMethodSnippets.enabled.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.objectLiteralMethodSnippets.enabled#` instead.", - "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that VS Code is running in a trusted context.", + "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that !!APP_NAME!! is running in a trusted context.", "configuration.tsserver.web.projectWideIntellisense.suppressSemanticErrors": "Suppresses semantic errors on web even when project wide IntelliSense is enabled. This is always on when project wide IntelliSense is not enabled or available. See `#typescript.tsserver.web.projectWideIntellisense.enabled#`", @@ -391,7 +391,7 @@ index e01e4de..1797d03 100644 - "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VS Code to detect a Node installation.", + "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want !!APP_NAME!! to detect a Node installation.", "configuration.updateImportsOnPaste": "Automatically update imports when pasting code. Requires TypeScript 5.6+.", -@@ -240,7 +240,7 @@ +@@ -275,7 +275,7 @@ "walkthroughs.nodejsWelcome.debugJsFile.title": "Run and Debug your JavaScript", - "walkthroughs.nodejsWelcome.debugJsFile.description": "Once you've installed Node.js, you can run JavaScript programs at a terminal by entering ``node your-file-name.js``\nAnother easy way to run Node.js programs is by using VS Code's debugger which lets you run your code, pause at different points, and help you understand what's going on step-by-step.\n[Start Debugging](command:javascript-walkthrough.commands.debugJsFile)", - "walkthroughs.nodejsWelcome.debugJsFile.altText": "Debug and run your JavaScript code in Node.js with Visual Studio Code.", @@ -450,7 +450,7 @@ index 207698d..9948527 100644 + vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList)); } else { diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json -index c3c08b1..d0f4d3d 100644 +index cf23867..f5389b9 100644 --- a/extensions/vscode-api-tests/package.json +++ b/extensions/vscode-api-tests/package.json @@ -2,3 +2,3 @@ @@ -528,24 +528,24 @@ index a351aa7..c32e3ef 100644 + throw Error(`Failed to download and unzip !!APP_NAME!! ${quality} - ${commit}`); } diff --git a/extensions/vscode-test-resolver/src/extension.ts b/extensions/vscode-test-resolver/src/extension.ts -index 74d25c6..878e228 100644 +index 3e6c9f0..6d4176f 100644 --- a/extensions/vscode-test-resolver/src/extension.ts +++ b/extensions/vscode-test-resolver/src/extension.ts -@@ -178,3 +178,3 @@ export function activate(context: vscode.ExtensionContext) { +@@ -180,3 +180,3 @@ export function activate(context: vscode.ExtensionContext) { const serverBin = path.join(remoteDataDir, 'bin'); - progress.report({ message: 'Installing VSCode Server' }); + progress.report({ message: 'Installing !!APP_NAME!! Server' }); serverLocation = await downloadAndUnzipVSCodeServer(updateUrl, commit, quality, serverBin, m => outputChannel.appendLine(m)); diff --git a/src/main.ts b/src/main.ts -index ecbbb16..a61b2d3 100644 +index ec2e45c..8d89e2b 100644 --- a/src/main.ts +++ b/src/main.ts -@@ -416,3 +416,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -412,3 +412,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { const defaultArgvConfigContent = [ - '// This configuration file allows you to pass permanent command line arguments to VS Code.', + '// This configuration file allows you to pass permanent command line arguments to !!APP_NAME!!.', '// Only a subset of arguments is currently supported to reduce the likelihood of breaking', -@@ -422,6 +422,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -418,6 +418,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { '//', - '// NOTE: Changing this file requires a restart of VS Code.', + '// NOTE: Changing this file requires a restart of !!APP_NAME!!.', @@ -555,10 +555,10 @@ index ecbbb16..a61b2d3 100644 + ' // This can help in cases where you see rendering issues in !!APP_NAME!!.', ' // "disable-hardware-acceleration": true', diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts -index a3efce9..ba6055d 100644 +index 0c6cc59..16d8986 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts -@@ -532,3 +532,3 @@ export class CodeApplication extends Disposable { +@@ -539,3 +539,3 @@ export class CodeApplication extends Disposable { async startup(): Promise { - this.logService.debug('Starting VS Code'); + this.logService.debug('Starting !!APP_NAME!!'); @@ -631,7 +631,7 @@ index 27fd88b..ad97d7b 100644 + description: localize('terminal.integrated.inheritEnv', "Whether new shells should inherit their environment from !!APP_NAME!!, which may source a login shell to ensure $PATH and other development variables are initialized. This has no effect on Windows."), type: 'boolean', diff --git a/src/vs/platform/update/common/update.config.contribution.ts b/src/vs/platform/update/common/update.config.contribution.ts -index e5fb1ab..bd4740b 100644 +index 5d1a419..1d7d025 100644 --- a/src/vs/platform/update/common/update.config.contribution.ts +++ b/src/vs/platform/update/common/update.config.contribution.ts @@ -70,3 +70,3 @@ configurationRegistry.registerConfiguration({ @@ -640,19 +640,19 @@ index e5fb1ab..bd4740b 100644 + description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new !!APP_NAME!! versions in the background on Windows."), included: isWindows && !isWeb diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts -index 0e63d40..5b8085e 100644 +index 05c4489..f692f24 100644 --- a/src/vs/platform/update/electron-main/abstractUpdateService.ts +++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts -@@ -33,3 +33,3 @@ export type UpdateErrorClassification = { +@@ -53,3 +53,3 @@ export type UpdateErrorClassification = { messageHash: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The hash of the error message.' }; - comment: 'This is used to know how often VS Code updates have failed.'; + comment: 'This is used to know how often !!APP_NAME!! updates have failed.'; }; diff --git a/src/vs/server/node/server.cli.ts b/src/vs/server/node/server.cli.ts -index 6a0eacf..2959dad 100644 +index 58ff362..9bf7ed9 100644 --- a/src/vs/server/node/server.cli.ts +++ b/src/vs/server/node/server.cli.ts -@@ -474,3 +474,3 @@ function asExtensionIdOrVSIX(inputs: string[] | undefined) { +@@ -475,3 +475,3 @@ function asExtensionIdOrVSIX(inputs: string[] | undefined) { function fatal(message: string, err: unknown): void { - console.error('Unable to connect to VS Code server: ' + message); + console.error('Unable to connect to !!APP_NAME!! server: ' + message); @@ -685,10 +685,10 @@ index a04bbd0..202f130 100644 + ApiCommandArgument.String.with('viewId', 'Custom editor view id. This should be the viewType string for custom editors or the notebookType string for notebooks. Use \'default\' to use !!APP_NAME!!\'s default text editor'), new ApiCommandArgument('columnOrOptions', 'Either the column in which to open or editor options, see vscode.TextDocumentShowOptions', diff --git a/src/vs/workbench/api/common/extHostCommands.ts b/src/vs/workbench/api/common/extHostCommands.ts -index 161e19b..b6bfeb2 100644 +index 15c7693..a8f1975 100644 --- a/src/vs/workbench/api/common/extHostCommands.ts +++ b/src/vs/workbench/api/common/extHostCommands.ts -@@ -466,4 +466,4 @@ export class ApiCommandArgument { +@@ -464,4 +464,4 @@ export class ApiCommandArgument { static readonly TypeHierarchyItem = new ApiCommandArgument('item', 'A type hierarchy item', v => v instanceof extHostTypes.TypeHierarchyItem, extHostTypeConverter.TypeHierarchyItem.from); - static readonly TestItem = new ApiCommandArgument('testItem', 'A VS Code TestItem', v => v instanceof TestItemImpl, extHostTypeConverter.TestItem.from); - static readonly TestProfile = new ApiCommandArgument('testProfile', 'A VS Code test profile', v => v instanceof extHostTypes.TestRunProfileBase, extHostTypeConverter.TestRunProfile.from); @@ -714,7 +714,7 @@ index 91f52f5..dbb0ad4 100644 + let content = '# !!APP_NAME!! Policy Diagnostics\n\n'; content += '*WARNING: This file may contain sensitive information.*\n\n'; diff --git a/src/vs/workbench/browser/actions/helpActions.ts b/src/vs/workbench/browser/actions/helpActions.ts -index 2487213..a22b4d1 100644 +index 7e4fb7b..b459421 100644 --- a/src/vs/workbench/browser/actions/helpActions.ts +++ b/src/vs/workbench/browser/actions/helpActions.ts @@ -163,3 +163,3 @@ class OpenNewsletterSignupUrlAction extends Action2 { @@ -732,47 +732,47 @@ index e342f83..7c314e6 100644 + throw new Error('Unable to create the !!APP_NAME!! workbench more than once.'); } else { diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts -index 5ea32fb..23584f4 100644 +index b1c5637..3619ee6 100644 --- a/src/vs/workbench/browser/workbench.contribution.ts +++ b/src/vs/workbench/browser/workbench.contribution.ts -@@ -748,3 +748,3 @@ const registry = Registry.as(ConfigurationExtensions.Con +@@ -779,3 +779,3 @@ const registry = Registry.as(ConfigurationExtensions.Con localize('profileName', "`${profileName}`: name of the profile in which the workspace is opened (e.g. Data Science (Profile)). Ignored if default profile is used."), - localize('appName', "`${appName}`: e.g. VS Code."), + localize('appName', "`${appName}`: e.g. !!APP_NAME!!."), localize('remoteName', "`${remoteName}`: e.g. SSH"), diff --git a/src/vs/workbench/common/contextkeys.ts b/src/vs/workbench/common/contextkeys.ts -index 3a27ea1..684e2c7 100644 +index 50cc224..7ace915 100644 --- a/src/vs/workbench/common/contextkeys.ts +++ b/src/vs/workbench/common/contextkeys.ts -@@ -43,3 +43,3 @@ export const EmbedderIdentifierContext = new RawContextKey(' +@@ -41,3 +41,3 @@ export const EmbedderIdentifierContext = new RawContextKey(' -export const InAutomationContext = new RawContextKey('inAutomation', false, localize('inAutomation', "Whether VS Code is running under automation/smoke test")); +export const InAutomationContext = new RawContextKey('inAutomation', false, localize('inAutomation', "Whether !!APP_NAME!! is running under automation/smoke test")); diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -index d211a1d..bfb973c 100644 +index 47b9c59..7043d55 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -467,3 +467,3 @@ configurationRegistry.registerConfiguration({ +@@ -492,3 +492,3 @@ configurationRegistry.registerConfiguration({ nls.localize('chat.mcp.access.none', "No access to MCP servers."), - nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), + nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), nls.localize('chat.mcp.access.any', "Allow access to any installed MCP server.") -@@ -494,3 +494,3 @@ configurationRegistry.registerConfiguration({ +@@ -519,3 +519,3 @@ configurationRegistry.registerConfiguration({ { - key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), + key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), }, diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts -index 88a46ef..6efa8ab 100644 +index ed6bad1..7d40581 100644 --- a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts +++ b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts -@@ -115,3 +115,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { +@@ -116,3 +116,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { // Register VSCode agent - const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Chat, ChatModeKind.Agent, context, controller); + const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Chat, ChatModeKind.Agent, context, controller); disposables.add(vscodeDisposable); -@@ -132,4 +132,4 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { +@@ -133,4 +133,4 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { displayName: localize('setupToolDisplayName', "New Workspace"), - modelDescription: 'Scaffold a new workspace in VS Code', - userDescription: localize('setupToolsDescription', "Scaffold a new workspace in VS Code"), @@ -780,10 +780,10 @@ index 88a46ef..6efa8ab 100644 + userDescription: localize('setupToolsDescription', "Scaffold a new workspace in !!APP_NAME!!"), canBeReferencedInPrompt: true, diff --git a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts -index d582ca6..b721308 100644 +index 55559b5..9ff882b 100644 --- a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts +++ b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts -@@ -218,5 +218,5 @@ export class PromptValidator { +@@ -227,5 +227,5 @@ export class PromptValidator { if (validGithubCopilotAttributeNames.value.has(attribute.key)) { - report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in VS Code.", attribute.key), attribute.range, MarkerSeverity.Info)); + report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in !!APP_NAME!!.", attribute.key), attribute.range, MarkerSeverity.Info)); @@ -792,7 +792,7 @@ index d582ca6..b721308 100644 + report(toMarker(localize('promptValidator.unknownAttribute.vscode-agent', "Attribute '{0}' is not supported in !!APP_NAME!! agent files. Supported: {1}.", attribute.key, supportedNames.value), attribute.range, MarkerSeverity.Warning)); } diff --git a/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts b/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts -index 7504a9c..2e485bb 100644 +index 0b9ced3..731d952 100644 --- a/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts +++ b/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts @@ -177,3 +177,3 @@ export class AdapterManager extends Disposable implements IAdapterManager { @@ -801,30 +801,30 @@ index 7504a9c..2e485bb 100644 + description: nls.localize('debugServer', "For debug extension development only: if a port is specified !!APP_NAME!! tries to connect to a debug adapter running in server mode"), default: 4711 diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -index 6956d79..ea5fa28 100644 +index 1d28ae5..2f7686c 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -@@ -353,3 +353,3 @@ CommandsRegistry.registerCommand({ +@@ -362,3 +362,3 @@ CommandsRegistry.registerCommand({ description: '(optional) Options for installing the extension. Object with the following properties: ' + - '`installOnlyNewlyAddedFromExtensionPackVSIX`: When enabled, VS Code installs only newly added extensions from the extension pack VSIX. This option is considered only when installing VSIX. ', + '`installOnlyNewlyAddedFromExtensionPackVSIX`: When enabled, !!APP_NAME!! installs only newly added extensions from the extension pack VSIX. This option is considered only when installing VSIX. ', isOptional: true, -@@ -360,3 +360,3 @@ CommandsRegistry.registerCommand({ +@@ -369,3 +369,3 @@ CommandsRegistry.registerCommand({ 'type': 'boolean', - 'description': localize('workbench.extensions.installExtension.option.installOnlyNewlyAddedFromExtensionPackVSIX', "When enabled, VS Code installs only newly added extensions from the extension pack VSIX. This option is considered only while installing a VSIX."), + 'description': localize('workbench.extensions.installExtension.option.installOnlyNewlyAddedFromExtensionPackVSIX', "When enabled, !!APP_NAME!! installs only newly added extensions from the extension pack VSIX. This option is considered only while installing a VSIX."), default: false -@@ -365,3 +365,3 @@ CommandsRegistry.registerCommand({ +@@ -374,3 +374,3 @@ CommandsRegistry.registerCommand({ 'type': 'boolean', - 'description': localize('workbench.extensions.installExtension.option.installPreReleaseVersion', "When enabled, VS Code installs the pre-release version of the extension if available."), + 'description': localize('workbench.extensions.installExtension.option.installPreReleaseVersion', "When enabled, !!APP_NAME!! installs the pre-release version of the extension if available."), default: false -@@ -370,3 +370,3 @@ CommandsRegistry.registerCommand({ +@@ -379,3 +379,3 @@ CommandsRegistry.registerCommand({ 'type': 'boolean', - 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, VS Code do not sync this extension when Settings Sync is on."), + 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, !!APP_NAME!! do not sync this extension when Settings Sync is on."), default: false -@@ -895,4 +895,4 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi +@@ -904,4 +904,4 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi Severity.Info, - vsixs.length > 1 ? localize('InstallVSIXs.successReload', "Completed installing extensions. Please reload Visual Studio Code to enable them.") - : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload Visual Studio Code to enable it."), @@ -832,7 +832,7 @@ index 6956d79..ea5fa28 100644 + : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload VSCodium to enable it."), [{ diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts -index f2a1f70..4bbabd2 100644 +index d1dacd0..035239a 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts @@ -109,3 +109,3 @@ export class PromptExtensionInstallFailureAction extends Action { @@ -856,15 +856,15 @@ index f2a1f70..4bbabd2 100644 + this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to !!APP_NAME!!. Configure these {0} to use this functionality.", link)) }, true); } else { diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts -index 23ea0f7..0e2c889 100644 +index 6735f7f..f860c4f 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts -@@ -477,3 +477,3 @@ export class Extension implements IExtension { +@@ -478,3 +478,3 @@ export class Extension implements IExtension { return Promise.resolve(`# ${this.displayName || this.name} -**Notice:** This extension is bundled with Visual Studio Code. It can be disabled but not uninstalled. +**Notice:** This extension is bundled with !!APP_NAME!!. It can be disabled but not uninstalled. ## Features -@@ -515,3 +515,3 @@ ${this.description} +@@ -516,3 +516,3 @@ ${this.description} if (this.type === ExtensionType.System) { - return Promise.resolve(`Please check the [VS Code Release Notes](command:${ShowCurrentReleaseNotesActionId}) for changes to the built-in extensions.`); + return Promise.resolve(`Please check the [!!APP_NAME!! Release Notes](command:${ShowCurrentReleaseNotesActionId}) for changes to the built-in extensions.`); @@ -923,10 +923,10 @@ index 050dde4..a8a61bd 100644 + description: localize2('configureLocaleDescription', "Changes the locale of !!APP_NAME!! based on installed language packs. Common languages include French, Chinese, Spanish, Japanese, German, Korean, and more.") } diff --git a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts -index 7f4dfea..2d4da89 100644 +index 9e82f11..690fe56 100644 --- a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts +++ b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts -@@ -262,3 +262,3 @@ export class McpServersListView extends AbstractExtensionsListView = { +@@ -316,3 +316,3 @@ const terminalConfiguration: IStringDictionary = { [TerminalSettingId.DetectLocale]: { - markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since VS Code's terminal only supports UTF-8 encoded data coming from the shell."), + markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since !!APP_NAME!!'s terminal only supports UTF-8 encoded data coming from the shell."), type: 'string', -@@ -325,3 +325,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -330,3 +330,3 @@ const terminalConfiguration: IStringDictionary = { markdownEnumDescriptions: [ - localize('terminal.integrated.gpuAcceleration.auto', "Let VS Code detect which renderer will give the best experience."), + localize('terminal.integrated.gpuAcceleration.auto', "Let !!APP_NAME!! detect which renderer will give the best experience."), localize('terminal.integrated.gpuAcceleration.on', "Enable GPU acceleration within the terminal."), -@@ -413,3 +413,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -418,3 +418,3 @@ const terminalConfiguration: IStringDictionary = { 'terminal.integrated.commandsToSkipShell', - "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by VS Code. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n \n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n \n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n \n\nDefault Skipped Commands:\n\n{0}", + "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by !!APP_NAME!!. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n \n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n \n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n \n\nDefault Skipped Commands:\n\n{0}", DEFAULT_COMMANDS_TO_SKIP_SHELL.sort().map(command => `- ${command}`).join('\n'), -@@ -425,3 +425,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -430,3 +430,3 @@ const terminalConfiguration: IStringDictionary = { [TerminalSettingId.AllowChords]: { - markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not VS Code).", '`#terminal.integrated.commandsToSkipShell#`'), + markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not !!APP_NAME!!).", '`#terminal.integrated.commandsToSkipShell#`'), type: 'boolean', -@@ -436,3 +436,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -441,3 +441,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the VS Code process to be used by the terminal on macOS. Set to `null` to delete the environment variable."), + markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on macOS. Set to `null` to delete the environment variable."), type: 'object', -@@ -445,3 +445,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -450,3 +450,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Linux. Set to `null` to delete the environment variable."), + markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on Linux. Set to `null` to delete the environment variable."), type: 'object', -@@ -454,3 +454,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -459,3 +459,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Windows. Set to `null` to delete the environment variable."), + markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on Windows. Set to `null` to delete the environment variable."), type: 'object', -@@ -473,3 +473,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -478,3 +478,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with VS Code, instead of the one bundled with Windows."), + markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with !!APP_NAME!!, instead of the one bundled with Windows."), type: 'boolean', -@@ -606,3 +606,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -608,3 +608,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VS Code insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), + markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives !!APP_NAME!! insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), type: 'boolean', diff --git a/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts b/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts -index 4979520..30ae11b 100644 +index dc20533..2d2d488 100644 --- a/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts +++ b/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts @@ -19,3 +19,3 @@ export const terminalAutoRepliesConfiguration: IStringDictionary commandService.executeCommand('workbench.extensions.installExtension', 'ms-vscode.vscode-speech'); diff --git a/src/vs/workbench/contrib/update/browser/update.ts b/src/vs/workbench/contrib/update/browser/update.ts -index 55cc7d3..b2a7789 100644 +index f21d2bb..e8320e2 100644 --- a/src/vs/workbench/contrib/update/browser/update.ts +++ b/src/vs/workbench/contrib/update/browser/update.ts -@@ -621,4 +621,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor +@@ -631,4 +631,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor detail: newQuality === 'insider' ? - nls.localize('relaunchDetailInsiders', "Press the reload button to switch to the Insiders version of VS Code.") : - nls.localize('relaunchDetailStable', "Press the reload button to switch to the Stable version of VS Code."), + nls.localize('relaunchDetailInsiders', "Press the reload button to switch to the Insiders version of !!APP_NAME!!.") : + nls.localize('relaunchDetailStable', "Press the reload button to switch to the Stable version of !!APP_NAME!!."), primaryButton: nls.localize({ key: 'reload', comment: ['&& denotes a mnemonic'] }, "&&Reload") -@@ -657,3 +657,3 @@ export class SwitchProductQualityContribution extends Disposable implements IWor +@@ -667,3 +667,3 @@ export class SwitchProductQualityContribution extends Disposable implements IWor message: nls.localize('selectSyncService.message', "Choose the settings sync service to use after changing the version"), - detail: nls.localize('selectSyncService.detail', "The Insiders version of VS Code will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."), + detail: nls.localize('selectSyncService.detail', "The Insiders version of !!APP_NAME!! will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."), @@ -1140,7 +1140,7 @@ index 393c8c3..9268a6c 100644 + content += `// By default, !!APP_NAME!! trusts "localhost".\n`; } diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts -index 2b50e71..f322981 100644 +index f6e28df..86b8e78 100644 --- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts +++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts @@ -52,3 +52,3 @@ registerAction2(class extends Action2 { @@ -1332,7 +1332,7 @@ index bdd30bf..317d11c 100644 +Well if you have got this far then you will have touched on some of the editing features in !!APP_NAME!!. But don't stop now :) We have lots of additional [documentation](https://code.visualstudio.com/docs), [introductory videos](https://code.visualstudio.com/docs/getstarted/introvideos) and [tips and tricks](https://go.microsoft.com/fwlink/?linkid=852118) for the product that will help you learn how to use it. And while you are here, here are a few additional things you can try: - Open the Integrated Terminal by pressing kb(workbench.action.terminal.toggleTerminal), then see what's possible by [reviewing the terminal documentation](https://code.visualstudio.com/docs/editor/integrated-terminal) diff --git a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts -index d134535..93cae5f 100644 +index 1159e4c..d8ebb47 100644 --- a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts +++ b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts @@ -765,3 +765,3 @@ Registry.as(ConfigurationExtensions.Configuration) diff --git a/patches/fix-build-vsce.patch b/patches/fix-build-vsce.patch index 6e3d407..1bda526 100644 --- a/patches/fix-build-vsce.patch +++ b/patches/fix-build-vsce.patch @@ -1,19 +1,50 @@ +diff --git a/build/.moduleignore b/build/.moduleignore +index ed36151..022d6ed 100644 +--- a/build/.moduleignore ++++ b/build/.moduleignore +@@ -82,7 +82,7 @@ native-is-elevated/deps/** + +-@vscode/vsce-sign/** +-!@vscode/vsce-sign/src/main.d.ts +-!@vscode/vsce-sign/src/main.js +-!@vscode/vsce-sign/package.json +-!@vscode/vsce-sign/bin/** ++@vscodium/vsce-sign/** ++!@vscodium/vsce-sign/src/main.d.ts ++!@vscodium/vsce-sign/src/main.js ++!@vscodium/vsce-sign/package.json ++!@vscodium/vsce-sign/bin/** + +diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts +index a103f11..5211245 100644 +--- a/build/gulpfile.vscode.ts ++++ b/build/gulpfile.vscode.ts +@@ -407,3 +407,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d + '**/*.wasm', +- '**/@vscode/vsce-sign/bin/*', ++ '**/@vscodium/vsce-sign/bin/*', + ], [ diff --git a/build/lib/extensions.ts b/build/lib/extensions.ts -index 24462a3..ecb43fd 100644 +index fac7946..a653269 100644 --- a/build/lib/extensions.ts +++ b/build/lib/extensions.ts -@@ -94,3 +94,3 @@ function fromLocal(extensionPath: string, forWeb: boolean, disableMangle: boolea +@@ -125,3 +125,3 @@ export function typeCheckExtensionStream(extensionPath: string, forWeb: boolean) function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string, disableMangle: boolean): Stream { - const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce'); + const vsce = require('@vscodium/vsce') as typeof import('@vscodium/vsce'); const webpack = require('webpack'); -@@ -208,3 +208,3 @@ function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string, +@@ -252,3 +252,3 @@ function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string, function fromLocalNormal(extensionPath: string): Stream { - const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce'); ++ const vsce = require('@vscodium/vsce') as typeof import('@vscodium/vsce'); + const result = es.through(); +@@ -274,3 +274,3 @@ function fromLocalNormal(extensionPath: string): Stream { + function fromLocalEsbuild(extensionPath: string, esbuildConfigFileName: string): Stream { +- const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce'); + const vsce = require('@vscodium/vsce') as typeof import('@vscodium/vsce'); const result = es.through(); diff --git a/build/package-lock.json b/build/package-lock.json -index fe9be0c..9747dca 100644 +index 92ebc36..a610d36 100644 --- a/build/package-lock.json +++ b/build/package-lock.json @@ -51,3 +51,3 @@ @@ -21,7 +52,7 @@ index fe9be0c..9747dca 100644 - "@vscode/vsce": "3.6.1", + "@vscodium/vsce": "3.6.1-258428", "ansi-colors": "^3.2.3", -@@ -1944,6 +1944,6 @@ +@@ -2646,6 +2646,6 @@ }, - "node_modules/@vscode/vsce": { - "version": "3.6.1", @@ -32,11 +63,11 @@ index fe9be0c..9747dca 100644 + "resolved": "https://registry.npmjs.org/@vscodium/vsce/-/vsce-3.6.1-258428.tgz", + "integrity": "sha512-B2uys5YU5MGNmzQPHsMsRXxzlQvZanhxE8Sfkd4Sr/LBN9BaV5yhMCppV7jyLUOQajj9K3YZThLqUYm4CCBy3A==", "dev": true, -@@ -1956,3 +1956,2 @@ +@@ -2658,3 +2658,2 @@ "@secretlint/secretlint-rule-preset-recommend": "^10.1.2", - "@vscode/vsce-sign": "^2.0.0", "azure-devops-node-api": "^12.5.0", -@@ -1991,148 +1990,3 @@ +@@ -2693,148 +2692,3 @@ }, - "node_modules/@vscode/vsce-sign": { - "version": "2.0.7", @@ -186,42 +217,42 @@ index fe9be0c..9747dca 100644 - "node_modules/@vscode/vsce/node_modules/ansi-styles": { + "node_modules/@vscodium/vsce/node_modules/ansi-styles": { "version": "4.3.0", -@@ -2152,3 +2006,3 @@ +@@ -2854,3 +2708,3 @@ }, - "node_modules/@vscode/vsce/node_modules/chalk": { + "node_modules/@vscodium/vsce/node_modules/chalk": { "version": "4.1.2", -@@ -2169,3 +2023,3 @@ +@@ -2871,3 +2725,3 @@ }, - "node_modules/@vscode/vsce/node_modules/color-convert": { + "node_modules/@vscodium/vsce/node_modules/color-convert": { "version": "2.0.1", -@@ -2182,3 +2036,3 @@ +@@ -2884,3 +2738,3 @@ }, - "node_modules/@vscode/vsce/node_modules/color-name": { + "node_modules/@vscodium/vsce/node_modules/color-name": { "version": "1.1.4", -@@ -2189,3 +2043,3 @@ +@@ -2891,3 +2745,3 @@ }, - "node_modules/@vscode/vsce/node_modules/glob": { + "node_modules/@vscodium/vsce/node_modules/glob": { "version": "11.1.0", -@@ -2213,3 +2067,3 @@ +@@ -2915,3 +2769,3 @@ }, - "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": { + "node_modules/@vscodium/vsce/node_modules/glob/node_modules/minimatch": { "version": "10.1.1", -@@ -2229,3 +2083,3 @@ +@@ -2931,3 +2785,3 @@ }, - "node_modules/@vscode/vsce/node_modules/has-flag": { + "node_modules/@vscodium/vsce/node_modules/has-flag": { "version": "4.0.0", -@@ -2239,3 +2093,3 @@ +@@ -2941,3 +2795,3 @@ }, - "node_modules/@vscode/vsce/node_modules/jsonc-parser": { + "node_modules/@vscodium/vsce/node_modules/jsonc-parser": { "version": "3.3.1", -@@ -2243,9 +2097,11 @@ +@@ -2945,9 +2799,11 @@ "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", - "dev": true + "dev": true, @@ -238,12 +269,12 @@ index fe9be0c..9747dca 100644 "dev": true, + "license": "ISC", "bin": { -@@ -2257,3 +2113,3 @@ +@@ -2959,3 +2815,3 @@ }, - "node_modules/@vscode/vsce/node_modules/supports-color": { + "node_modules/@vscodium/vsce/node_modules/supports-color": { "version": "7.2.0", -@@ -2270,12 +2126,2 @@ +@@ -2972,12 +2828,2 @@ }, - "node_modules/@vscode/vsce/node_modules/yazl": { - "version": "2.5.1", @@ -256,7 +287,7 @@ index fe9be0c..9747dca 100644 - } - }, "node_modules/@xmldom/xmldom": { -@@ -6955,2 +6801,12 @@ +@@ -10046,2 +9892,12 @@ }, + "node_modules/yazl": { + "version": "2.5.1", @@ -270,7 +301,7 @@ index fe9be0c..9747dca 100644 + }, "node_modules/yocto-queue": { diff --git a/build/package.json b/build/package.json -index 39db6b7..55beb4a 100644 +index e889b6a..6ebd757 100644 --- a/build/package.json +++ b/build/package.json @@ -45,3 +45,3 @@ @@ -278,3 +309,12 @@ index 39db6b7..55beb4a 100644 - "@vscode/vsce": "3.6.1", + "@vscodium/vsce": "3.6.1-258428", "ansi-colors": "^3.2.3", +diff --git a/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts b/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts +index 98535c5..cc37d7b 100644 +--- a/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts ++++ b/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts +@@ -69,3 +69,3 @@ export class ExtensionSignatureVerificationService implements IExtensionSignatur + private async resolveVsceSign(): Promise { +- const mod = '@vscode/vsce-sign'; ++ const mod = '@vscodium/vsce-sign'; + return import(mod); diff --git a/patches/fix-keymap.patch b/patches/fix-keymap.patch index 59728e8..c91d63c 100644 --- a/patches/fix-keymap.patch +++ b/patches/fix-keymap.patch @@ -1,8 +1,8 @@ diff --git a/.npmrc b/.npmrc -index 50d910c..472b622 100644 +index e2305b4..b7863f9 100644 --- a/.npmrc +++ b/.npmrc -@@ -5,2 +5,3 @@ runtime="electron" +@@ -6,2 +6,3 @@ ignore-scripts=false build_from_source="true" +build_from_source_native_keymap="no" legacy-peer-deps="true" @@ -24,22 +24,22 @@ index ed36151..5b040cc 100644 +!@vscodium/native-keymap/build/Release/*.node diff --git a/eslint.config.js b/eslint.config.js -index 47eeebf..f8077c2 100644 +index c2b3e29..2a8250b 100644 --- a/eslint.config.js +++ b/eslint.config.js -@@ -1465,3 +1465,3 @@ export default tseslint.config( +@@ -1451,3 +1451,3 @@ export default tseslint.config( 'node:module', - 'native-keymap', + '@vscodium/native-keymap', 'net', diff --git a/package-lock.json b/package-lock.json -index 801e87b..a991591 100644 +index c44531c..cc77547 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,2 +32,3 @@ "@vscode/windows-registry": "^1.1.0", + "@vscodium/native-keymap": "3.3.7-258424", - "@xterm/addon-clipboard": "^0.3.0-beta.109", + "@xterm/addon-clipboard": "^0.3.0-beta.152", @@ -49,3 +50,2 @@ "native-is-elevated": "0.9.0", - "native-keymap": "^3.3.5", @@ -54,7 +54,7 @@ index 801e87b..a991591 100644 + "license": "MIT" + }, "node_modules/@webassemblyjs/ast": { -@@ -12741,5 +12748,6 @@ +@@ -12731,5 +12738,6 @@ "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -64,7 +64,7 @@ index 801e87b..a991591 100644 + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" }, -@@ -12752,9 +12760,2 @@ +@@ -12742,9 +12750,2 @@ }, - "node_modules/native-keymap": { - "version": "3.3.9", @@ -74,7 +74,7 @@ index 801e87b..a991591 100644 - "license": "MIT" - }, "node_modules/natural-compare": { -@@ -14142,5 +14143,6 @@ +@@ -14132,5 +14133,6 @@ "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", @@ -84,16 +84,16 @@ index 801e87b..a991591 100644 + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", "dependencies": { -@@ -14151,3 +14153,3 @@ +@@ -14141,3 +14143,3 @@ "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", diff --git a/package.json b/package.json -index efeaec1..b2a6703 100644 +index c5522f4..dcd9913 100644 --- a/package.json +++ b/package.json -@@ -111,3 +111,3 @@ +@@ -114,3 +114,3 @@ "native-is-elevated": "0.9.0", - "native-keymap": "^3.3.5", + "@vscodium/native-keymap": "3.3.7-258424", diff --git a/patches/fix-policies.patch b/patches/fix-policies.patch index 4a28de9..bd4c6ee 100644 --- a/patches/fix-policies.patch +++ b/patches/fix-policies.patch @@ -22,26 +22,26 @@ index 5b040cc..8d5fd71 100644 +!@vscodium/policy-watcher/build/Release/vscodium-policy-watcher.node diff --git a/eslint.config.js b/eslint.config.js -index f8077c2..182d6ce 100644 +index 2a8250b..1df17ec 100644 --- a/eslint.config.js +++ b/eslint.config.js -@@ -1448,3 +1448,3 @@ export default tseslint.config( +@@ -1434,3 +1434,3 @@ export default tseslint.config( '@vscode/native-watchdog', - '@vscode/policy-watcher', + '@vscodium/policy-watcher', '@vscode/proxy-agent', diff --git a/package-lock.json b/package-lock.json -index a991591..fb05fad 100644 +index cc77547..622093b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,3 +21,2 @@ "@vscode/native-watchdog": "^1.4.6", - "@vscode/policy-watcher": "^1.3.2", - "@vscode/proxy-agent": "^0.37.0", + "@vscode/proxy-agent": "^0.38.0", @@ -33,2 +32,3 @@ "@vscodium/native-keymap": "3.3.7-258424", + "@vscodium/policy-watcher": "^1.3.2-252465", - "@xterm/addon-clipboard": "^0.3.0-beta.109", + "@xterm/addon-clipboard": "^0.3.0-beta.152", @@ -3345,22 +3345,2 @@ }, - "node_modules/@vscode/policy-watcher": { @@ -89,14 +89,14 @@ index a991591..fb05fad 100644 + }, "node_modules/@webassemblyjs/ast": { diff --git a/package.json b/package.json -index b2a6703..3d03e9a 100644 +index dcd9913..8becea3 100644 --- a/package.json +++ b/package.json -@@ -83,3 +83,3 @@ +@@ -86,3 +86,3 @@ "@vscode/native-watchdog": "^1.4.6", - "@vscode/policy-watcher": "^1.3.2", + "@vscodium/policy-watcher": "^1.3.2-252465", - "@vscode/proxy-agent": "^0.37.0", + "@vscode/proxy-agent": "^0.38.0", diff --git a/src/vs/base/test/node/uri.perf.data.txt b/src/vs/base/test/node/uri.perf.data.txt index ee0a24b..881ce36 100644 --- a/src/vs/base/test/node/uri.perf.data.txt @@ -210,7 +210,7 @@ index ca6cea2..32b22fe 100644 + assert.ok(typeof watcher.createWatcher === 'function', testErrorMessage('@vscodium/policy-watcher')); }); diff --git a/src/vs/platform/policy/node/nativePolicyService.ts b/src/vs/platform/policy/node/nativePolicyService.ts -index 5b08cd9..728d7bd 100644 +index feb4ba1..4d9e0c3 100644 --- a/src/vs/platform/policy/node/nativePolicyService.ts +++ b/src/vs/platform/policy/node/nativePolicyService.ts @@ -8,3 +8,3 @@ import { IStringDictionary } from '../../../base/common/collections.js'; diff --git a/patches/helper/settings.patch b/patches/helper/settings.patch index fcee390..3655758 100644 --- a/patches/helper/settings.patch +++ b/patches/helper/settings.patch @@ -1,30 +1,29 @@ diff --git a/.vscode/settings.json b/.vscode/settings.json -index 514edcd..9aa6920 100644 +index 3e903f6..fb3b3a8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json -@@ -26,3 +26,3 @@ - "editor.defaultFormatter": "vscode.typescript-language-features", +@@ -26,6 +26,6 @@ + "[typescript]": { - "editor.formatOnSave": true + // "editor.formatOnSave": true }, -@@ -30,3 +30,3 @@ - "editor.defaultFormatter": "vscode.typescript-language-features", + "[javascript]": { - "editor.formatOnSave": true + // "editor.formatOnSave": true }, -@@ -34,3 +34,3 @@ +@@ -33,3 +33,3 @@ "editor.defaultFormatter": "rust-lang.rust-analyzer", - "editor.formatOnSave": true, + // "editor.formatOnSave": true, }, -@@ -41,4 +41,4 @@ +@@ -39,4 +39,4 @@ // --- Files --- - "files.trimTrailingWhitespace": true, - "files.insertFinalNewline": true, + // "files.trimTrailingWhitespace": true, + // "files.insertFinalNewline": true, "files.exclude": { -@@ -51,5 +51,5 @@ +@@ -49,5 +49,5 @@ "build/**/*.js.map": true, - "build/**/*.js": { - "when": "$(basename).ts" diff --git a/patches/linux/arch-0-support.patch b/patches/linux/arch-0-support.patch index 753a647..10b1bc1 100644 --- a/patches/linux/arch-0-support.patch +++ b/patches/linux/arch-0-support.patch @@ -13,7 +13,7 @@ index f0d5fe6..fdb3707 100755 + SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" node -e 'import { getVSCodeSysroot } from "./build/linux/debian/install-sysroot.ts"; (async () => { await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()' fi diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts -index 2714933..36396dc 100644 +index b935764..012df0b 100644 --- a/build/gulpfile.reh.ts +++ b/build/gulpfile.reh.ts @@ -235,9 +235,23 @@ function nodejs(platform: string, arch: string): NodeJS.ReadWriteStream | undefi @@ -48,10 +48,10 @@ index 2714933..36396dc 100644 + } case 'alpine': diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index 358bb3a..2cc6d9a 100644 +index a103f11..ce46a41 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -372,2 +372,12 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d +@@ -472,2 +472,12 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d + const electronOverride: { repo?: string; tag?: string } = {}; + if (process.env.VSCODE_ELECTRON_REPOSITORY) { @@ -64,11 +64,11 @@ index 358bb3a..2cc6d9a 100644 + } + let result: NodeJS.ReadWriteStream = all -@@ -376,3 +386,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d +@@ -476,3 +486,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d .pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523 - .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false })) + .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false })) - .pipe(filter(['**', '!LICENSE', '!version'], { dot: true })); + .pipe(filter(['**', '!LICENSE', '!version', ...(platform === 'darwin' ? ['!**/Contents/Applications/**'] : [])], { dot: true })); diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts index 46c257d..78bfb66 100644 --- a/build/linux/debian/dep-lists.ts @@ -79,7 +79,7 @@ index 46c257d..78bfb66 100644 + ], }; diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts -index 2cab657..0d9dc55 100644 +index 0dfc69a..7b6ac8b 100644 --- a/build/linux/debian/install-sysroot.ts +++ b/build/linux/debian/install-sysroot.ts @@ -82,3 +82,5 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000) diff --git a/patches/linux/arch-1-ppc64le.patch b/patches/linux/arch-1-ppc64le.patch index dbe7397..f94aa0f 100644 --- a/patches/linux/arch-1-ppc64le.patch +++ b/patches/linux/arch-1-ppc64le.patch @@ -1,5 +1,5 @@ diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh -index 2c98e50..6ff90d4 100755 +index fdb3707..67bc741 100755 --- a/build/azure-pipelines/linux/setup-env.sh +++ b/build/azure-pipelines/linux/setup-env.sh @@ -76,2 +76,14 @@ elif [ "$npm_config_arch" == "arm" ]; then @@ -18,7 +18,7 @@ index 2c98e50..6ff90d4 100755 + export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu" fi diff --git a/build/azure-pipelines/linux/verify-glibc-requirements.sh b/build/azure-pipelines/linux/verify-glibc-requirements.sh -index 3db9047..1418fee 100755 +index 5294177..1e33aeb 100755 --- a/build/azure-pipelines/linux/verify-glibc-requirements.sh +++ b/build/azure-pipelines/linux/verify-glibc-requirements.sh @@ -9,2 +9,4 @@ elif [ "$VSCODE_ARCH" == "armhf" ]; then @@ -27,14 +27,14 @@ index 3db9047..1418fee 100755 + TRIPLE="powerpc64le-linux-gnu" fi diff --git a/build/checksums/vscode-sysroot.txt b/build/checksums/vscode-sysroot.txt -index 5744a5f..3fedbe9 100644 +index 847383e..37186f4 100644 --- a/build/checksums/vscode-sysroot.txt +++ b/build/checksums/vscode-sysroot.txt -@@ -7 +7,2 @@ f82c8dacbb9dd85819e4801909eb4e842ac12c899632aa75b4839383a18c7501 arm-rpi-linux- - 84acc5a15566c98ddf80631731d672e0ce9febcf3f2e969101e0dfd7ef2405e3 x86_64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz +@@ -7 +7,2 @@ ac4b6b14b4cec027a22a51bbbb049b3504958a78106c8a8d5cec144206b767d1 x86_64-linux-g + 1ebb6ef1fe2983269fd0855a88f9c9a37f9b515d16524a9146198e4cabdf34f7 x86_64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz +fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts -index 6c21dd2..f986b4e 100644 +index 012df0b..a7da071 100644 --- a/build/gulpfile.reh.ts +++ b/build/gulpfile.reh.ts @@ -52,2 +52,3 @@ const BUILD_TARGETS = [ @@ -66,10 +66,10 @@ index c5d2163..da4fc1f 100644 + { arch: 'ppc64le' }, ]; diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index d5efbdb..1d7e9d5 100644 +index ce46a41..3389ede 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -517,2 +517,3 @@ const BUILD_TARGETS = [ +@@ -614,2 +614,3 @@ const BUILD_TARGETS = [ { platform: 'linux', arch: 'arm64' }, + { platform: 'linux', arch: 'ppc64le' }, ]; @@ -88,7 +88,7 @@ index 98a9630..6c6bbf5 100644 + break; } diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts -index 34ecdf1..73d451f 100644 +index 78bfb66..5acd3a0 100644 --- a/build/linux/debian/dep-lists.ts +++ b/build/linux/debian/dep-lists.ts @@ -142,2 +142,41 @@ export const referenceGeneratedDepsByArch = { @@ -134,7 +134,7 @@ index 34ecdf1..73d451f 100644 + ], }; diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts -index 0d9dc55..3086928 100644 +index 7b6ac8b..dde47ba 100644 --- a/build/linux/debian/install-sysroot.ts +++ b/build/linux/debian/install-sysroot.ts @@ -158,2 +158,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean = @@ -158,10 +158,10 @@ index e97485e..c56d067 100644 + return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le'].includes(s); } diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts -index 783923f..fba6ee4 100644 +index 0424c8d..c7e0820 100644 --- a/build/linux/rpm/dep-lists.ts +++ b/build/linux/rpm/dep-lists.ts -@@ -316,2 +316,102 @@ export const referenceGeneratedDepsByArch = { +@@ -318,2 +318,102 @@ export const referenceGeneratedDepsByArch = { 'xdg-utils' + ], + "ppc64le": [ @@ -320,7 +320,7 @@ index 8ea4c0b..94028e3 100644 + ppc64le) LDCONFIG_ARCH="64bit";; esac diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts -index 34eaca0..a754ff3 100644 +index ab11f6b..fd1ec31 100644 --- a/src/vs/platform/extensionManagement/common/extensionManagement.ts +++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts @@ -48,2 +48,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) { @@ -338,10 +338,10 @@ index 34eaca0..a754ff3 100644 + } return TargetPlatform.UNKNOWN; diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts -index 8961b90..b605be0 100644 +index 021ad01..60cd058 100644 --- a/src/vs/platform/extensions/common/extensions.ts +++ b/src/vs/platform/extensions/common/extensions.ts -@@ -331,2 +331,3 @@ export const enum TargetPlatform { +@@ -342,2 +342,3 @@ export const enum TargetPlatform { LINUX_ARMHF = 'linux-armhf', + LINUX_PPC64LE = 'linux-ppc64le', diff --git a/patches/version-1-update.patch b/patches/version-1-update.patch index f7fcf56..98a1914 100644 --- a/patches/version-1-update.patch +++ b/patches/version-1-update.patch @@ -1,5 +1,5 @@ diff --git a/src/vs/platform/update/common/update.ts b/src/vs/platform/update/common/update.ts -index b859dfd..75e8987 100644 +index 8e3db7c..1a3226c 100644 --- a/src/vs/platform/update/common/update.ts +++ b/src/vs/platform/update/common/update.ts @@ -54,3 +54,4 @@ export const enum UpdateType { @@ -49,15 +49,15 @@ index b859dfd..75e8987 100644 + | "user"; \ No newline at end of file diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts -index 0e63d40..c8426ea 100644 +index 05c4489..59d0bd7 100644 --- a/src/vs/platform/update/electron-main/abstractUpdateService.ts +++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts -@@ -14,3 +14,3 @@ import { IProductService } from '../../product/common/productService.js'; +@@ -17,3 +17,3 @@ import { IProductService } from '../../product/common/productService.js'; import { IRequestService } from '../../request/common/request.js'; -import { AvailableForDownload, DisablementReason, IUpdateService, State, StateType, UpdateType } from '../common/update.js'; +import { Architecture, AvailableForDownload, DisablementReason, IUpdateService, Platform, State, StateType, Target, UpdateType } from '../common/update.js'; -@@ -20,10 +20,8 @@ export interface IUpdateURLOptions { +@@ -23,10 +23,8 @@ export interface IUpdateURLOptions { -export function createUpdateURL(baseUpdateUrl: string, platform: string, quality: string, commit: string, options?: IUpdateURLOptions): string { - const url = new URL(`${baseUpdateUrl}/api/update/${platform}/${quality}/${commit}`); @@ -73,43 +73,41 @@ index 0e63d40..c8426ea 100644 - - return url.toString(); } -@@ -265,3 +263,3 @@ export abstract class AbstractUpdateService implements IUpdateService { +@@ -299,3 +297,3 @@ export abstract class AbstractUpdateService implements IUpdateService { - if (mode === 'none') { + if (mode === 'none' || mode === 'manual') { return undefined; diff --git a/src/vs/platform/update/electron-main/updateService.darwin.ts b/src/vs/platform/update/electron-main/updateService.darwin.ts -index b20673b..af677f6 100644 +index e65a982..950291b 100644 --- a/src/vs/platform/update/electron-main/updateService.darwin.ts +++ b/src/vs/platform/update/electron-main/updateService.darwin.ts -@@ -15,3 +15,3 @@ import { ILogService } from '../../log/common/log.js'; - import { IProductService } from '../../product/common/productService.js'; --import { IRequestService } from '../../request/common/request.js'; -+import { IRequestService, asJson } from '../../request/common/request.js'; - import { ITelemetryService } from '../../telemetry/common/telemetry.js'; -@@ -19,2 +19,4 @@ import { IUpdate, State, StateType, UpdateType } from '../common/update.js'; - import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js'; -+import { CancellationToken } from '../../../base/common/cancellation.js'; +@@ -21,2 +21,3 @@ import { IMeteredConnectionService } from '../../meteredConnection/common/metere + import { AbstractUpdateService, createUpdateURL, getUpdateRequestHeaders, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js'; +import * as semver from 'semver'; -@@ -75,13 +77,4 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau +@@ -90,16 +91,5 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau - protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string | undefined { - const assetID = this.productService.darwinUniversalAssetId ?? (process.arch === 'x64' ? 'darwin' : 'darwin-arm64'); - const url = createUpdateURL(this.productService.updateUrl!, assetID, quality, commit, options); +- const headers = getUpdateRequestHeaders(this.productService.version); - try { -- electron.autoUpdater.setFeedURL({ url }); +- this.logService.trace('update#buildUpdateFeedUrl - setting feed URL for Electron autoUpdater', { url, assetID, quality, commit, headers }); +- electron.autoUpdater.setFeedURL({ url, headers }); - } catch (e) { - // application is very likely not signed - this.logService.error('Failed to set update feed URL', e); - return undefined; - } - return url; +- } + protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string | undefined { + return createUpdateURL(this.productService, quality, process.platform, process.arch); - } -@@ -112,3 +105,30 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau ++ } +@@ -137,3 +127,30 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau + this.logService.trace('update#doCheckForUpdates - using Electron autoUpdater', { url, explicit, background }); - electron.autoUpdater.checkForUpdates(); + this.requestService.request({ url }, CancellationToken.None) + .then(asJson) @@ -141,21 +139,21 @@ index b20673b..af677f6 100644 + }); } diff --git a/src/vs/platform/update/electron-main/updateService.linux.ts b/src/vs/platform/update/electron-main/updateService.linux.ts -index 32040dc..59cf109 100644 +index ee4b291..01d0d9d 100644 --- a/src/vs/platform/update/electron-main/updateService.linux.ts +++ b/src/vs/platform/update/electron-main/updateService.linux.ts -@@ -15,2 +15,3 @@ import { AvailableForDownload, IUpdate, State, UpdateType } from '../common/upda +@@ -16,2 +16,3 @@ import { AvailableForDownload, IUpdate, State, UpdateType } from '../common/upda import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions } from './abstractUpdateService.js'; +import * as semver from 'semver'; -@@ -30,4 +31,4 @@ export class LinuxUpdateService extends AbstractUpdateService { +@@ -32,4 +33,4 @@ export class LinuxUpdateService extends AbstractUpdateService { - protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string { - return createUpdateURL(this.productService.updateUrl!, `linux-${process.arch}`, quality, commit, options); + protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string { + return createUpdateURL(this.productService, quality, process.platform, process.arch); } -@@ -48,5 +49,17 @@ export class LinuxUpdateService extends AbstractUpdateService { +@@ -50,5 +51,17 @@ export class LinuxUpdateService extends AbstractUpdateService { this.setState(State.Idle(UpdateType.Archive)); - } else { + @@ -175,14 +173,14 @@ index 32040dc..59cf109 100644 + return Promise.resolve(null); }) diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts -index 3edbd9d..6666876 100644 +index da4c875..fa634dc 100644 --- a/src/vs/platform/update/electron-main/updateService.win32.ts +++ b/src/vs/platform/update/electron-main/updateService.win32.ts -@@ -13,3 +13,2 @@ import { CancellationToken } from '../../../base/common/cancellation.js'; +@@ -14,3 +14,2 @@ import { CancellationToken, CancellationTokenSource } from '../../../base/common import { memoize } from '../../../base/common/decorators.js'; -import { hash } from '../../../base/common/hash.js'; import * as path from '../../../base/common/path.js'; -@@ -27,4 +26,5 @@ import { asJson, IRequestService } from '../../request/common/request.js'; +@@ -31,4 +30,5 @@ import { asJson, IRequestService } from '../../request/common/request.js'; import { ITelemetryService } from '../../telemetry/common/telemetry.js'; -import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, UpdateType } from '../common/update.js'; -import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js'; @@ -190,7 +188,7 @@ index 3edbd9d..6666876 100644 +import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions } from './abstractUpdateService.js'; +import * as semver from 'semver'; -@@ -44,5 +44,9 @@ function getUpdateType(): UpdateType { +@@ -46,5 +46,9 @@ function getUpdateType(): UpdateType { if (typeof _updateType === 'undefined') { - _updateType = existsSync(path.join(path.dirname(process.execPath), 'unins000.exe')) - ? UpdateType.Setup @@ -203,11 +201,16 @@ index 3edbd9d..6666876 100644 + _updateType = UpdateType.Archive; + } } -@@ -65,2 +69,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -68,2 +72,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun @IConfigurationService configurationService: IConfigurationService, + // @ts-expect-error @ITelemetryService private readonly telemetryService: ITelemetryService, -@@ -154,12 +159,22 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -140,3 +145,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun + } else { +- const fastUpdatesEnabled = this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); ++ const fastUpdatesEnabled = getUpdateType() === UpdateType.Setup && this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); + // GC for background updates in system setup happens via inno_setup since it requires +@@ -158,12 +163,22 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string | undefined { - let platform = `win32-${process.arch}`; @@ -239,7 +242,7 @@ index 3edbd9d..6666876 100644 - return createUpdateURL(this.productService.updateUrl!, platform, quality, commit, options); + return createUpdateURL(this.productService, quality, process.platform, process.arch, target); } -@@ -185,2 +200,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -200,2 +215,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun + const fetchedVersion = /\d+\.\d+\.\d+\.\d+/.test(update.productVersion) ? update.productVersion.replace(/(\d+\.\d+\.\d+)\.\d+(\-\w+)?/, '$1$2') : update.productVersion.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3') + const currentVersion = this.productService.version.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3') @@ -250,16 +253,11 @@ index 3edbd9d..6666876 100644 + } + if (updateType === UpdateType.Archive) { -@@ -211,3 +234,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - -- const fastUpdatesEnabled = this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); -+ const fastUpdatesEnabled = getUpdateType() == UpdateType.Setup && this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); - if (fastUpdatesEnabled) { -@@ -223,3 +246,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -271,3 +294,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun .then(undefined, err => { - this.telemetryService.publicLog2<{ messageHash: string }, UpdateErrorClassification>('update:error', { messageHash: String(hash(String(err))) }); this.logService.error(err); -@@ -309,6 +331,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -494,6 +516,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun } else { - spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], { - detached: true, diff --git a/product.json b/product.json index 7acf85c..1b906f8 100644 --- a/product.json +++ b/product.json @@ -384,6 +384,10 @@ "ms-dotnettools.vscodeintellicode-csharp": [ "inlineCompletionsAdditions" ], + "ms-dotnettools.vscode-dotnet-modernize": [ + "chatParticipantAdditions", + "chatPromptFiles" + ], "microsoft-IsvExpTools.powerplatform-vscode": [ "fileSearchProvider", "textSearchProvider" @@ -424,6 +428,10 @@ "languageModelProxy", "chatSessionsProvider" ], + "TypeScriptTeam.native-preview": [ + "editorHoverVerbosityLevel", + "multiDocumentHighlightProvider" + ], "jeanp413.open-remote-ssh": [ "resolvers", "tunnels", diff --git a/upstream/insider.json b/upstream/insider.json index a743d2c..b533d50 100644 --- a/upstream/insider.json +++ b/upstream/insider.json @@ -1,4 +1,4 @@ { - "tag": "1.109.2", - "commit": "591199df409fbf59b4b52d5ad4ee0470152a9b31" + "tag": "1.110.0", + "commit": "547a36e89fec78f3c1a33302cdd7d8d8143cb09e" }