Skip to content

Commit 65c8438

Browse files
authored
Merge branch 'main' into disassembly-context
2 parents cdc7e82 + ee56498 commit 65c8438

File tree

1,283 files changed

+16168
-7267
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,283 files changed

+16168
-7267
lines changed

.configurations/configuration.dsc.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ properties:
1212
- resource: Microsoft.WinGet.DSC/WinGetPackage
1313
id: npm
1414
directives:
15-
description: Install NodeJS version >=18.15.x and <19
15+
description: Install NodeJS version 20
1616
allowPrerelease: true
1717
settings:
1818
id: OpenJS.NodeJS.LTS
19-
version: "18.18.0"
19+
version: "20.14.0"
2020
source: winget
2121
- resource: NpmDsc/NpmPackage
2222
id: yarn

.eslintrc.json

+4-10
Original file line numberDiff line numberDiff line change
@@ -151,21 +151,13 @@
151151
{
152152
// Files should (only) be removed from the list they adopt the leak detector
153153
"exclude": [
154-
"src/vs/base/test/browser/browser.test.ts",
155-
"src/vs/base/test/browser/ui/scrollbar/scrollableElement.test.ts",
156-
"src/vs/base/test/browser/ui/scrollbar/scrollbarState.test.ts",
157154
"src/vs/editor/contrib/codeAction/test/browser/codeActionModel.test.ts",
158-
"src/vs/editor/test/common/services/languageService.test.ts",
159-
"src/vs/editor/test/node/classification/typescript.test.ts",
160155
"src/vs/platform/configuration/test/common/configuration.test.ts",
161-
"src/vs/platform/extensions/test/common/extensionValidator.test.ts",
162156
"src/vs/platform/opener/test/common/opener.test.ts",
163157
"src/vs/platform/registry/test/common/platform.test.ts",
164-
"src/vs/platform/remote/test/common/remoteHosts.test.ts",
165158
"src/vs/platform/workspace/test/common/workspace.test.ts",
166159
"src/vs/platform/workspaces/test/electron-main/workspaces.test.ts",
167160
"src/vs/workbench/api/test/browser/mainThreadConfiguration.test.ts",
168-
"src/vs/workbench/api/test/common/extHostExtensionActivator.test.ts",
169161
"src/vs/workbench/api/test/node/extHostTunnelService.test.ts",
170162
"src/vs/workbench/contrib/bulkEdit/test/browser/bulkCellEdits.test.ts",
171163
"src/vs/workbench/contrib/chat/test/common/chatWordCounter.test.ts",
@@ -176,7 +168,6 @@
176168
"src/vs/workbench/contrib/tasks/test/common/problemMatcher.test.ts",
177169
"src/vs/workbench/contrib/tasks/test/common/taskConfiguration.test.ts",
178170
"src/vs/workbench/services/commands/test/common/commandService.test.ts",
179-
"src/vs/workbench/services/extensions/test/common/extensionDescriptionRegistry.test.ts",
180171
"src/vs/workbench/services/userActivity/test/browser/domActivityTracker.test.ts",
181172
"src/vs/workbench/test/browser/quickAccess.test.ts"
182173
]
@@ -317,6 +308,10 @@
317308
"selector": "BinaryExpression[operator='instanceof'][right.name='MouseEvent']",
318309
"message": "Use DOM.isMouseEvent() to support multi-window scenarios."
319310
},
311+
{
312+
"selector": "BinaryExpression[operator='instanceof'][right.name=/^HTML\\w+/]",
313+
"message": "Use DOM.isHTMLElement() and related methods to support multi-window scenarios."
314+
},
320315
{
321316
"selector": "BinaryExpression[operator='instanceof'][right.name='KeyboardEvent']",
322317
"message": "Use DOM.isKeyboardEvent() to support multi-window scenarios."
@@ -650,7 +645,6 @@
650645
"events",
651646
"fs",
652647
"fs/promises",
653-
"graceful-fs",
654648
"http",
655649
"https",
656650
"minimist",

.github/workflows/locker.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ jobs:
2121
uses: ./actions/locker
2222
with:
2323
daysSinceClose: 45
24-
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
2524
daysSinceUpdate: 3
2625
ignoredLabel: "*out-of-scope,accessibility"
2726
ignoreLabelUntil: "author-verification-requested"
27+
ignoredMilestones: "Backlog Candidates"
2828
labelUntil: "verified"

.vscode/extensions/vscode-selfhost-test-provider/src/extension.ts

+13-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const TEST_FILE_PATTERN = 'src/vs/**/*.{test,integrationTest}.ts';
2525

2626
const getWorkspaceFolderForTestFile = (uri: vscode.Uri) =>
2727
(uri.path.endsWith('.test.ts') || uri.path.endsWith('.integrationTest.ts')) &&
28-
uri.path.includes('/src/vs/')
28+
uri.path.includes('/src/vs/')
2929
? vscode.workspace.getWorkspaceFolder(uri)
3030
: undefined;
3131

@@ -41,6 +41,17 @@ export async function activate(context: vscode.ExtensionContext) {
4141
const ctrl = vscode.tests.createTestController('selfhost-test-controller', 'VS Code Tests');
4242
const fileChangedEmitter = new vscode.EventEmitter<FileChangeEvent>();
4343

44+
context.subscriptions.push(vscode.tests.registerTestFollowupProvider({
45+
async provideFollowup(_result, test, taskIndex, messageIndex, _token) {
46+
return [{
47+
title: '$(sparkle) Ask copilot for help',
48+
command: 'github.copilot.tests.fixTestFailure',
49+
arguments: [{ source: 'peekFollowup', test, message: test.taskStates[taskIndex].messages[messageIndex] }]
50+
}];
51+
},
52+
}));
53+
54+
4455
ctrl.resolveHandler = async test => {
4556
if (!test) {
4657
context.subscriptions.push(await startWatchingWorkspace(ctrl, fileChangedEmitter));
@@ -62,7 +73,7 @@ export async function activate(context: vscode.ExtensionContext) {
6273
});
6374

6475
const createRunHandler = (
65-
runnerCtor: { new (folder: vscode.WorkspaceFolder): VSCodeTestRunner },
76+
runnerCtor: { new(folder: vscode.WorkspaceFolder): VSCodeTestRunner },
6677
kind: vscode.TestRunProfileKind,
6778
args: string[] = []
6879
) => {

.vscode/extensions/vscode-selfhost-test-provider/src/failingDeepStrictEqualAssertFixer.ts

+8-10
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,6 @@ export class FailingDeepStrictEqualAssertFixer {
7171
},
7272
})
7373
);
74-
75-
tests.testResults;
7674
}
7775

7876
dispose() {
@@ -99,15 +97,15 @@ const formatJsonValue = (value: unknown) => {
9997
context => (node: ts.Node) => {
10098
const visitor = (node: ts.Node): ts.Node =>
10199
ts.isPropertyAssignment(node) &&
102-
ts.isStringLiteralLike(node.name) &&
103-
identifierLikeRe.test(node.name.text)
100+
ts.isStringLiteralLike(node.name) &&
101+
identifierLikeRe.test(node.name.text)
104102
? ts.factory.createPropertyAssignment(
105-
ts.factory.createIdentifier(node.name.text),
106-
ts.visitNode(node.initializer, visitor) as ts.Expression
107-
)
103+
ts.factory.createIdentifier(node.name.text),
104+
ts.visitNode(node.initializer, visitor) as ts.Expression
105+
)
108106
: ts.isStringLiteralLike(node) && node.text === '[undefined]'
109-
? ts.factory.createIdentifier('undefined')
110-
: ts.visitEachChild(node, visitor, context);
107+
? ts.factory.createIdentifier('undefined')
108+
: ts.visitEachChild(node, visitor, context);
111109

112110
return ts.visitNode(node, visitor);
113111
},
@@ -190,7 +188,7 @@ class StrictEqualAssertion {
190188
return undefined;
191189
}
192190

193-
constructor(private readonly expression: ts.CallExpression) {}
191+
constructor(private readonly expression: ts.CallExpression) { }
194192

195193
/** Gets the expected value */
196194
public get expectedValue(): ts.Expression | undefined {

.vscode/extensions/vscode-selfhost-test-provider/src/vscodeTestRunner.ts

+32-10
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const ATTACH_CONFIG_NAME = 'Attach to VS Code';
2424
const DEBUG_TYPE = 'pwa-chrome';
2525

2626
export abstract class VSCodeTestRunner {
27-
constructor(protected readonly repoLocation: vscode.WorkspaceFolder) {}
27+
constructor(protected readonly repoLocation: vscode.WorkspaceFolder) { }
2828

2929
public async run(baseArgs: ReadonlyArray<string>, filter?: ReadonlyArray<vscode.TestItem>) {
3030
const args = this.prepareArguments(baseArgs, filter);
@@ -163,18 +163,40 @@ export abstract class VSCodeTestRunner {
163163
path.relative(data.workspaceFolder.uri.fsPath, data.uri.fsPath).replace(/\\/g, '/')
164164
);
165165

166+
const itemDatas = filter.map(f => itemData.get(f));
167+
/** If true, we have to be careful with greps, as a grep for one test file affects the run of the other test file. */
168+
const hasBothTestCaseOrTestSuiteAndTestFileFilters =
169+
itemDatas.some(d => (d instanceof TestCase) || (d instanceof TestSuite)) &&
170+
itemDatas.some(d => d instanceof TestFile);
171+
172+
function addTestCaseOrSuite(data: TestCase | TestSuite, test: vscode.TestItem): void {
173+
grepRe.push(escapeRe(data.fullName) + (data instanceof TestCase ? '$' : ' '));
174+
for (let p = test.parent; p; p = p.parent) {
175+
const parentData = itemData.get(p);
176+
if (parentData instanceof TestFile) {
177+
addTestFileRunPath(parentData);
178+
}
179+
}
180+
}
181+
166182
for (const test of filter) {
167183
const data = itemData.get(test);
168184
if (data instanceof TestCase || data instanceof TestSuite) {
169-
grepRe.push(escapeRe(data.fullName) + (data instanceof TestCase ? '$' : ' '));
170-
for (let p = test.parent; p; p = p.parent) {
171-
const parentData = itemData.get(p);
172-
if (parentData instanceof TestFile) {
173-
addTestFileRunPath(parentData);
185+
addTestCaseOrSuite(data, test);
186+
} else if (data instanceof TestFile) {
187+
if (!hasBothTestCaseOrTestSuiteAndTestFileFilters) {
188+
addTestFileRunPath(data);
189+
} else {
190+
// We add all the items individually so they get their own grep expressions.
191+
for (const [_id, nestedTest] of test.children) {
192+
const childData = itemData.get(nestedTest);
193+
if (childData instanceof TestCase || childData instanceof TestSuite) {
194+
addTestCaseOrSuite(childData, nestedTest);
195+
} else {
196+
console.error('Unexpected test item in test file', nestedTest.id, nestedTest.label);
197+
}
174198
}
175199
}
176-
} else if (data instanceof TestFile) {
177-
addTestFileRunPath(data);
178200
}
179201
}
180202

@@ -303,5 +325,5 @@ export const PlatformTestRunner =
303325
process.platform === 'win32'
304326
? WindowsTestRunner
305327
: process.platform === 'darwin'
306-
? DarwinTestRunner
307-
: PosixTestRunner;
328+
? DarwinTestRunner
329+
: PosixTestRunner;

.vscode/settings.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,5 @@
170170
},
171171
"css.format.spaceAroundSelectorSeparator": true,
172172
"inlineChat.mode": "live",
173-
"typescript.enablePromptUseWorkspaceTsdk": true,
174-
"typescript.tsserver.experimental.useVsCodeWatcher": true
173+
"typescript.enablePromptUseWorkspaceTsdk": true
175174
}

ThirdPartyNotices.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ to the base-name name of the original file, and an extension of txt, html, or si
517517

518518
---------------------------------------------------------
519519

520-
go-syntax 0.6.5 - MIT
520+
go-syntax 0.6.6 - MIT
521521
https://github.com/worlpaker/go-syntax
522522

523523
MIT License
@@ -777,7 +777,7 @@ SOFTWARE.
777777

778778
---------------------------------------------------------
779779

780-
jeff-hykin/better-shell-syntax 1.8.3 - MIT
780+
jeff-hykin/better-shell-syntax 1.8.7 - MIT
781781
https://github.com/jeff-hykin/better-shell-syntax
782782

783783
MIT License

build/.cachesalt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2024-05-16T14:24:05.381Z
1+
2024-05-25T03:29:59.419Z

build/.moduleignore

+9
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,15 @@ fsevents/test/**
2020
@vscode/spdlog/*.yml
2121
!@vscode/spdlog/build/Release/*.node
2222

23+
@vscode/deviceid/binding.gyp
24+
@vscode/deviceid/build/**
25+
@vscode/deviceid/deps/**
26+
@vscode/deviceid/src/**
27+
@vscode/deviceid/test/**
28+
@vscode/deviceid/*.yml
29+
!@vscode/deviceid/build/Release/*.node
30+
31+
2332
@vscode/sqlite3/binding.gyp
2433
@vscode/sqlite3/benchmark/**
2534
@vscode/sqlite3/cloudformation/**

build/azure-pipelines/linux/product-build-linux-test.yml

-16
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,6 @@ steps:
100100
timeoutInMinutes: 20
101101

102102
- script: ./scripts/test-remote-integration.sh
103-
env:
104-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
105-
UV_USE_IO_URING: 0
106103
displayName: Run integration tests (Remote)
107104
timeoutInMinutes: 20
108105

@@ -137,8 +134,6 @@ steps:
137134
./scripts/test-remote-integration.sh
138135
env:
139136
VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)
140-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
141-
UV_USE_IO_URING: 0
142137
displayName: Run integration tests (Remote)
143138
timeoutInMinutes: 20
144139
@@ -169,16 +164,10 @@ steps:
169164

170165
- script: yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
171166
timeoutInMinutes: 20
172-
env:
173-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
174-
UV_USE_IO_URING: 0
175167
displayName: Run smoke tests (Browser, Chromium)
176168

177169
- script: yarn smoketest-no-compile --remote --tracing
178170
timeoutInMinutes: 20
179-
env:
180-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
181-
UV_USE_IO_URING: 0
182171
displayName: Run smoke tests (Remote)
183172

184173
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
@@ -189,8 +178,6 @@ steps:
189178
- script: yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
190179
env:
191180
VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)-web
192-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
193-
UV_USE_IO_URING: 0
194181
timeoutInMinutes: 20
195182
displayName: Run smoke tests (Browser, Chromium)
196183

@@ -201,9 +188,6 @@ steps:
201188
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)" \
202189
yarn smoketest-no-compile --tracing --remote --build "$APP_PATH"
203190
timeoutInMinutes: 20
204-
env:
205-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
206-
UV_USE_IO_URING: 0
207191
displayName: Run smoke tests (Remote)
208192
209193
- script: |

build/azure-pipelines/product-build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ resources:
164164
- repository: 1ESPipelines
165165
type: git
166166
name: 1ESPipelineTemplates/1ESPipelineTemplates
167-
ref: refs/heads/joao/disable-tsa-linux-arm64
167+
ref: refs/tags/release
168168

169169
extends:
170170
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines

build/azure-pipelines/product-compile.yml

+10-1
Original file line numberDiff line numberDiff line change
@@ -135,13 +135,22 @@ steps:
135135
136136
- script: |
137137
set -e
138-
AZURE_STORAGE_ACCOUNT="ticino" \
138+
AZURE_STORAGE_ACCOUNT="vscodeweb" \
139139
AZURE_TENANT_ID="$(AZURE_TENANT_ID)" \
140140
AZURE_CLIENT_ID="$(AZURE_CLIENT_ID)" \
141141
AZURE_CLIENT_SECRET="$(AZURE_CLIENT_SECRET)" \
142142
node build/azure-pipelines/upload-sourcemaps
143143
displayName: Upload sourcemaps to Azure
144144
145+
- script: |
146+
set -e
147+
AZURE_STORAGE_ACCOUNT="ticino" \
148+
AZURE_TENANT_ID="$(AZURE_TENANT_ID)" \
149+
AZURE_CLIENT_ID="$(AZURE_CLIENT_ID)" \
150+
AZURE_CLIENT_SECRET="$(AZURE_CLIENT_SECRET)" \
151+
node build/azure-pipelines/upload-sourcemaps
152+
displayName: Upload sourcemaps to Azure (Deprecated)
153+
145154
- script: ./build/azure-pipelines/common/extract-telemetry.sh
146155
displayName: Generate lists of telemetry events
147156

build/azure-pipelines/web/product-build-web.yml

+10-1
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,15 @@ steps:
129129
node build/azure-pipelines/upload-cdn
130130
displayName: Upload to CDN
131131
132+
- script: |
133+
set -e
134+
AZURE_STORAGE_ACCOUNT="vscodeweb" \
135+
AZURE_TENANT_ID="$(AZURE_TENANT_ID)" \
136+
AZURE_CLIENT_ID="$(AZURE_CLIENT_ID)" \
137+
AZURE_CLIENT_SECRET="$(AZURE_CLIENT_SECRET)" \
138+
node build/azure-pipelines/upload-sourcemaps out-vscode-web-min out-vscode-web-min/vs/workbench/workbench.web.main.js.map
139+
displayName: Upload sourcemaps (Web)
140+
132141
# upload only the workbench.web.main.js source maps because
133142
# we just compiled these bits in the previous step and the
134143
# general task to upload source maps has already been run
@@ -139,7 +148,7 @@ steps:
139148
AZURE_CLIENT_ID="$(AZURE_CLIENT_ID)" \
140149
AZURE_CLIENT_SECRET="$(AZURE_CLIENT_SECRET)" \
141150
node build/azure-pipelines/upload-sourcemaps out-vscode-web-min out-vscode-web-min/vs/workbench/workbench.web.main.js.map
142-
displayName: Upload sourcemaps (Web)
151+
displayName: Upload sourcemaps (Deprecated)
143152
144153
- script: |
145154
set -e

build/checksums/nodejs.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
31d2d46ae8d8a3982f54e2ff1e60c2e4a8e80bf78a3e8b46dcaac95ac5d7ce6a node-v20.9.0-darwin-arm64.tar.gz
2-
fc5b73f2a78c17bbe926cdb1447d652f9f094c79582f1be6471b4b38a2e1ccc8 node-v20.9.0-darwin-x64.tar.gz
3-
d2a7dbeeb274bfd16b579d2cafb92f673010df36c83a5b55de3916aad6806a6a node-v20.9.0-linux-arm64.tar.gz
4-
a28a0de05177106d241ef426b3e006022bc7d242224adace7565868bd9ee6c06 node-v20.9.0-linux-armv7l.tar.gz
5-
f0919f092fbf74544438907fa083c21e76b2d7a4bc287f0607ada1553ef16f60 node-v20.9.0-linux-x64.tar.gz
6-
54e165b89e75158993910053db5b0e652c1826521e624126de5ca6de9ff7b06d win-arm64/node.exe
7-
538140015da83597ea7e7ef5e108ebac8a2dc4784b2a4134222b6c27c39f90ad win-x64/node.exe
1+
e0065c61f340e85106a99c4b54746c5cee09d59b08c5712f67f99e92aa44995d node-v20.11.1-darwin-arm64.tar.gz
2+
c52e7fb0709dbe63a4cbe08ac8af3479188692937a7bd8e776e0eedfa33bb848 node-v20.11.1-darwin-x64.tar.gz
3+
e34ab2fc2726b4abd896bcbff0250e9b2da737cbd9d24267518a802ed0606f3b node-v20.11.1-linux-arm64.tar.gz
4+
e42791f76ece283c7a4b97fbf716da72c5128c54a9779f10f03ae74a4bcfb8f6 node-v20.11.1-linux-armv7l.tar.gz
5+
bf3a779bef19452da90fb88358ec2c57e0d2f882839b20dc6afc297b6aafc0d7 node-v20.11.1-linux-x64.tar.gz
6+
a5a9d30a8f7d56e00ccb27c1a7d24c8d0bc96a2689ebba8eb7527698793496f1 win-arm64/node.exe
7+
bc585910690318aaebe3c57669cb83ca9d1e5791efd63195e238f54686e6c2ec win-x64/node.exe

build/gulpfile.extensions.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ const compilations = [
7171
'.vscode/extensions/vscode-selfhost-test-provider/tsconfig.json',
7272
];
7373

74-
const getBaseUrl = out => `https://ticino.blob.core.windows.net/sourcemaps/${commit}/${out}`;
74+
const getBaseUrl = out => `https://main.vscode-cdn.net/sourcemaps/${commit}/${out}`;
7575

7676
const tasks = compilations.map(function (tsconfigFile) {
7777
const absolutePath = path.join(root, tsconfigFile);

0 commit comments

Comments
 (0)