Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
469ad3d
sessions: match new agent-host session by type, not just novelty
Giuspepe Jun 19, 2026
b955ea3
fix Custom Instructions agent log title (#321739)
aeschli Jun 19, 2026
edc6fba
Remove letter-spacing from agent sessions title style (#322088)
mrleemurray Jun 19, 2026
9bfd3c1
AH skill completions: qualify skill with plugin (#321929)
aeschli Jun 19, 2026
52869e8
Update scrollbar and minimap slider colors for improved visibility (#…
mrleemurray Jun 19, 2026
2ec8fa9
Remove unnecessary scroll shadows for Monaco list and embedded editor…
mrleemurray Jun 19, 2026
e421d25
Adjust tab sizing and enable overflow scrolling (#322087)
mrleemurray Jun 19, 2026
446f2ce
Use prod endpoints for testing telemetry (#322065)
chrmarti Jun 19, 2026
554b344
Enhance logging for model refresh and update CopilotClient integratio…
DonJayamanne Jun 19, 2026
a0c54ca
Update GitHub Copilot and SDK versions to 1.0.64-0 in package and pac…
DonJayamanne Jun 19, 2026
894554b
sessions: restore trailing separator in panel part configuration (#32…
benibenj Jun 19, 2026
bf46ff6
Centralize Modern UI toggle (#322086)
mrleemurray Jun 19, 2026
0c4d517
Agents - avoid flickering of the changes list when switching between …
lszomoru Jun 19, 2026
ada7777
fix: don't report failed web openTunnel as a bug assertion (fixes #32…
vs-code-engineering[bot] Jun 19, 2026
85217f7
fix: plugin skill files not accessible when connected to remote (#309…
cavalloJustinEmery Jun 19, 2026
3195153
Merge pull request #322073 from microsoft/fix-agenthost-session-type-…
Giuspepe Jun 19, 2026
f736b7d
Update strictKnownMarketplaces managed setting to support rich types …
vijayupadya Jun 19, 2026
37e7e85
Optimize node_modules caching for CI & PR checks (#322074)
alexdima Jun 19, 2026
b04eaf5
sessions: add [PR-ICON-TRACE] logs to PR polling/fetching pipeline (#…
benibenj Jun 19, 2026
686cd89
Update icon for continue in background action in chat terminal tool p…
mrleemurray Jun 19, 2026
53b36d6
Reduce duplication of browser history items on refresh etc. (#322105)
kycutler Jun 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .eslint-allowed-javascript-files
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ extensions/copilot/.mocha-multi-reporters.js
extensions/copilot/.mocharc.js
extensions/copilot/.vscode-test.mjs
extensions/copilot/.vscode/extensions/visualization-runner/entry.js
extensions/copilot/build/listBuildCacheFiles.js
extensions/copilot/script/electron/simulationWorkbenchMain.js
extensions/copilot/src/extension/completions-core/vscode-node/extension/test/run.js
extensions/copilot/src/extension/test/node/fixtures/gitdiff/generate-diffs.js
Expand Down Expand Up @@ -98,13 +97,8 @@ scripts/code-sessions-web.js
scripts/code-web.js
scripts/xterm-update.js
src/vs/base/browser/dompurify/dompurify.js
src/vs/base/common/lit-html/directive-helpers.js
src/vs/base/common/lit-html/directive.js
src/vs/base/common/lit-html/directives/repeat.js
src/vs/base/common/lit-html/lit-html.js
src/vs/base/common/marked/marked.js
src/vs/base/common/semver/semver.js
src/vs/base/common/signals-core/signals-core.js
src/vs/base/test/common/filters.perf.data.js
src/vs/editor/test/node/diffing/fixtures/difficult-move/1.js
src/vs/editor/test/node/diffing/fixtures/difficult-move/2.js
Expand Down
60 changes: 60 additions & 0 deletions .github/actions/restore-node-modules/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Restore node_modules cache
description: Computes the node_modules cache key, restores the cache, and extracts it on a hit.

inputs:
key-prefix:
description: Prefix for the cache key. The package-lock hash is appended automatically.
required: true
key-args:
description: Arguments passed to build/azure-pipelines/common/computeNodeModulesCacheKey.ts.
required: true
extract:
description: When 'true', the restored archive is extracted into node_modules on a cache hit.
default: 'true'

outputs:
cache-hit:
description: "'true' when the node_modules cache was restored from an exact key match."
value: ${{ steps.restore.outputs.cache-hit }}

runs:
using: composite
steps:
- name: Prepare node_modules cache key
if: runner.os != 'Windows'
shell: bash
run: mkdir -p .build && node build/azure-pipelines/common/computeNodeModulesCacheKey.ts ${{ inputs.key-args }} > .build/packagelockhash

- name: Prepare node_modules cache key
if: runner.os == 'Windows'
shell: pwsh
run: |
mkdir .build -ea 0
node build/azure-pipelines/common/computeNodeModulesCacheKey.ts ${{ inputs.key-args }} > .build/packagelockhash

- name: Restore node_modules cache
id: restore
uses: actions/cache/restore@v5
with:
path: .build/node_modules_cache
key: "${{ inputs.key-prefix }}-${{ hashFiles('.build/packagelockhash') }}"

- name: Export node_modules cache key
if: runner.os != 'Windows'
shell: bash
run: echo "NODE_MODULES_CACHE_KEY=${{ steps.restore.outputs.cache-primary-key }}" >> "$GITHUB_ENV"

- name: Export node_modules cache key
if: runner.os == 'Windows'
shell: pwsh
run: Add-Content -Path $env:GITHUB_ENV -Value "NODE_MODULES_CACHE_KEY=${{ steps.restore.outputs.cache-primary-key }}"

- name: Extract node_modules cache
if: runner.os != 'Windows' && inputs.extract == 'true' && steps.restore.outputs.cache-hit == 'true'
shell: bash
run: ./.github/workflows/node_modules_cache/cache.sh extract

- name: Extract node_modules cache
if: runner.os == 'Windows' && inputs.extract == 'true' && steps.restore.outputs.cache-hit == 'true'
shell: pwsh
run: ./.github/workflows/node_modules_cache/cache.ps1 extract
21 changes: 21 additions & 0 deletions .github/actions/save-node-modules/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Save node_modules cache
description: Archives node_modules and saves the archive to the GitHub Actions cache.

runs:
using: composite
steps:
- name: Create node_modules archive
if: runner.os != 'Windows'
shell: bash
run: ./.github/workflows/node_modules_cache/cache.sh archive

- name: Create node_modules archive
if: runner.os == 'Windows'
shell: pwsh
run: ./.github/workflows/node_modules_cache/cache.ps1 archive

- name: Save node_modules cache
uses: actions/cache/save@v5
with:
path: .build/node_modules_cache
key: ${{ env.NODE_MODULES_CACHE_KEY }}
24 changes: 7 additions & 17 deletions .github/workflows/component-fixtures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,19 +38,12 @@ jobs:
with:
node-version-file: .nvmrc

- name: Prepare node_modules cache key
run: mkdir -p .build && node build/azure-pipelines/common/computeNodeModulesCacheKey.ts compile $(node -p process.arch) > .build/packagelockhash

- name: Restore node_modules cache
id: cache-node-modules
uses: actions/cache@v5
uses: ./.github/actions/restore-node-modules
with:
path: .build/node_modules_cache
key: "node_modules-component-fixtures-${{ hashFiles('.build/packagelockhash') }}"

- name: Extract node_modules cache
if: steps.cache-node-modules.outputs.cache-hit == 'true'
run: tar -xzf .build/node_modules_cache/cache.tgz
key-prefix: node_modules-component-fixtures
key-args: "compile $(node -p process.arch)"

- name: Install dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
Expand All @@ -70,13 +63,10 @@ jobs:
run: npm ci
working-directory: build/rspack

- name: Create node_modules archive
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: |
set -e
node build/azure-pipelines/common/listNodeModules.ts .build/node_modules_list.txt
mkdir -p .build/node_modules_cache
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt
- name: Save node_modules cache
# Only seed the cache on branch pushes — PR-scoped caches are not shared with other refs.
if: github.event_name != 'pull_request' && steps.cache-node-modules.outputs.cache-hit != 'true'
uses: ./.github/actions/save-node-modules

- name: Copy codicons
run: cp node_modules/@vscode/codicons/dist/codicon.ttf src/vs/base/browser/ui/codicons/codicon/codicon.ttf
Expand Down
21 changes: 3 additions & 18 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,19 +50,12 @@ jobs:
sudo update-rc.d xvfb defaults
sudo service xvfb start

- name: Prepare node_modules cache key
run: mkdir -p .build && node build/azure-pipelines/common/computeNodeModulesCacheKey.ts linux x64 $(node -p process.arch) > .build/packagelockhash

- name: Restore node_modules cache
id: cache-node-modules
uses: actions/cache/restore@v5
uses: ./.github/actions/restore-node-modules
with:
path: .build/node_modules_cache
key: "node_modules-linux-${{ hashFiles('.build/packagelockhash') }}"

- name: Extract node_modules cache
if: steps.cache-node-modules.outputs.cache-hit == 'true'
run: tar -xzf .build/node_modules_cache/cache.tgz
key-prefix: node_modules-linux
key-args: "linux x64 $(node -p process.arch)"

- name: Install build dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -103,14 +96,6 @@ jobs:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create node_modules archive
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: |
set -e
node build/azure-pipelines/common/listNodeModules.ts .build/node_modules_list.txt
mkdir -p .build/node_modules_cache
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt

- name: Create .build folder
run: mkdir -p .build

Expand Down
21 changes: 5 additions & 16 deletions .github/workflows/css-order-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,12 @@ jobs:
with:
node-version-file: .nvmrc

- name: Prepare node_modules cache key
run: mkdir -p .build && node build/azure-pipelines/common/computeNodeModulesCacheKey.ts compile $(node -p process.arch) > .build/packagelockhash

- name: Restore node_modules cache
id: cache-node-modules
uses: actions/cache@v5
uses: ./.github/actions/restore-node-modules
with:
path: .build/node_modules_cache
key: "node_modules-css-order-scan-${{ hashFiles('.build/packagelockhash') }}"

- name: Extract node_modules cache
if: steps.cache-node-modules.outputs.cache-hit == 'true'
run: tar -xzf .build/node_modules_cache/cache.tgz
key-prefix: node_modules-css-order-scan
key-args: "compile $(node -p process.arch)"

- name: Install dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
Expand All @@ -61,13 +54,9 @@ jobs:
run: npm ci
working-directory: build/rspack

- name: Create node_modules archive
- name: Save node_modules cache
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: |
set -e
node build/azure-pipelines/common/listNodeModules.ts .build/node_modules_list.txt
mkdir -p .build/node_modules_cache
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt
uses: ./.github/actions/save-node-modules

- name: Copy codicons
run: cp node_modules/@vscode/codicons/dist/codicon.ttf src/vs/base/browser/ui/codicons/codicon/codicon.ttf
Expand Down
35 changes: 35 additions & 0 deletions .github/workflows/node_modules_cache/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# node_modules cache scripts

Shared helpers used by the GitHub Actions workflows to store and restore the
`node_modules` cache. They exist so the archive format and compression flags
live in a single place instead of being duplicated across every workflow.

Each script takes an action argument:

| Script | Platform | `archive` | `extract` |
| ------ | -------- | --------- | --------- |
| `cache.sh <action>` | Linux / macOS | Create `node-modules.tzst` (cache miss) | Restore `node-modules.tzst` (cache hit) |
| `cache.ps1 <action>` | Windows | Create `cache.7z` (cache miss) | Restore `cache.7z` (cache hit) |

Linux/macOS use multi-threaded `zstd` (`node-modules.tzst`); Windows uses 7-Zip
(`cache.7z`). The archive must NOT be named `cache.tzst`: `actions/cache` names
its own tarball `cache.tzst` and passes `--exclude cache.tzst`, which would drop
our archive and save an empty cache. The two families are not interchangeable,
so the cache key already encodes the OS (`node_modules-linux-*`,
`node_modules-windows-*`, …).

Example usage from a workflow step:

```yaml
- name: Extract node_modules cache
if: steps.cache-node-modules.outputs.cache-hit == 'true'
run: ./.github/workflows/node_modules_cache/cache.sh extract

- name: Create node_modules archive
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: ./.github/workflows/node_modules_cache/cache.sh archive
```

If you change the archive format or flags, update both the `archive` and
`extract` branch of the script, and bump `build/.cachesalt` to invalidate
existing caches.
27 changes: 27 additions & 0 deletions .github/workflows/node_modules_cache/cache.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Store or restore the node_modules cache on Windows.
#
# Usage:
# cache.ps1 archive # create .build/node_modules_cache/cache.7z (cache miss)
# cache.ps1 extract # restore .build/node_modules_cache/cache.7z (cache hit)
#
# Uses 7-Zip. The archive and extract format must stay compatible; if you change
# the format here, bump build/.cachesalt to invalidate old caches.
param(
[Parameter(Mandatory = $true)]
[ValidateSet("archive", "extract")]
[string]$Action
)

. build/azure-pipelines/win32/exec.ps1
$ErrorActionPreference = "Stop"

switch ($Action) {
"archive" {
exec { node build/azure-pipelines/common/listNodeModules.ts .build/node_modules_list.txt }
exec { mkdir -Force .build/node_modules_cache }
exec { 7z.exe a .build/node_modules_cache/cache.7z -mx3 `@.build/node_modules_list.txt }
}
"extract" {
exec { 7z.exe x .build/node_modules_cache/cache.7z -aoa }
}
}
27 changes: 27 additions & 0 deletions .github/workflows/node_modules_cache/cache.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Store or restore the node_modules cache on Linux / macOS.
#
# Usage:
# cache.sh archive # create .build/node_modules_cache/node-modules.tzst (cache miss)
# cache.sh extract # restore .build/node_modules_cache/node-modules.tzst (cache hit)
#
# Uses multi-threaded zstd. The archive must NOT be named cache.tzst because
# actions/cache reserves that name and excludes it from the saved cache. The
# archive and extract flags must stay compatible; if you change the format
# here, bump build/.cachesalt to invalidate old caches.
set -e

case "$1" in
archive)
node build/azure-pipelines/common/listNodeModules.ts .build/node_modules_list.txt
mkdir -p .build/node_modules_cache
tar --use-compress-program='zstd -T0 -3' -cf .build/node_modules_cache/node-modules.tzst --files-from .build/node_modules_list.txt
;;
extract)
tar --use-compress-program='zstd -d -T0' -xf .build/node_modules_cache/node-modules.tzst
;;
*)
echo "Usage: $0 {archive|extract}" >&2
exit 1
;;
esac
21 changes: 3 additions & 18 deletions .github/workflows/pr-darwin-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,12 @@ jobs:
with:
node-version-file: .nvmrc

- name: Prepare node_modules cache key
run: mkdir -p .build && node build/azure-pipelines/common/computeNodeModulesCacheKey.ts darwin $VSCODE_ARCH $(node -p process.arch) > .build/packagelockhash

- name: Restore node_modules cache
id: cache-node-modules
uses: actions/cache/restore@v5
uses: ./.github/actions/restore-node-modules
with:
path: .build/node_modules_cache
key: "node_modules-macos-${{ hashFiles('.build/packagelockhash') }}"

- name: Extract node_modules cache
if: steps.cache-node-modules.outputs.cache-hit == 'true'
run: tar -xzf .build/node_modules_cache/cache.tgz
key-prefix: node_modules-macos
key-args: "darwin ${{ env.VSCODE_ARCH }} $(node -p process.arch)"

- name: Install dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -75,14 +68,6 @@ jobs:
# on macOS.
GYP_DEFINES: "kerberos_use_rtld=false"

- name: Create node_modules archive
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: |
set -e
node build/azure-pipelines/common/listNodeModules.ts .build/node_modules_list.txt
mkdir -p .build/node_modules_cache
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt

- name: Create .build folder
run: mkdir -p .build

Expand Down
21 changes: 3 additions & 18 deletions .github/workflows/pr-linux-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,19 +55,12 @@ jobs:
sudo update-rc.d xvfb defaults
sudo service xvfb start

- name: Prepare node_modules cache key
run: mkdir -p .build && node build/azure-pipelines/common/computeNodeModulesCacheKey.ts linux $VSCODE_ARCH $(node -p process.arch) > .build/packagelockhash

- name: Restore node_modules cache
id: cache-node-modules
uses: actions/cache/restore@v5
uses: ./.github/actions/restore-node-modules
with:
path: .build/node_modules_cache
key: "node_modules-linux-${{ hashFiles('.build/packagelockhash') }}"

- name: Extract node_modules cache
if: steps.cache-node-modules.outputs.cache-hit == 'true'
run: tar -xzf .build/node_modules_cache/cache.tgz
key-prefix: node_modules-linux
key-args: "linux ${{ env.VSCODE_ARCH }} $(node -p process.arch)"

- name: Install build dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -108,14 +101,6 @@ jobs:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create node_modules archive
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: |
set -e
node build/azure-pipelines/common/listNodeModules.ts .build/node_modules_list.txt
mkdir -p .build/node_modules_cache
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt

- name: Create .build folder
run: mkdir -p .build

Expand Down
Loading
Loading