From a556566dbe7aa83b7b0f87fe8c6fc4403ef0214f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 1 Oct 2026 15:32:41 +0000 Subject: [PATCH 1/3] fix: reject with proper Error on audio error event (fixes #339115) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../browser/accessibilitySignalService.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.ts b/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.ts index 3576d7b9ba90a8..51b5647bb90754 100644 --- a/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.ts +++ b/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.ts @@ -294,9 +294,12 @@ function doPlayAudio(url: string, volume: number, disposables: DisposableStore): disposables.add(addDisposableListener(audio, 'ended', () => { resolve(audio); })); - disposables.add(addDisposableListener(audio, 'error', (e) => { - // When the error event fires, ended might not be called - reject(e.error); + disposables.add(addDisposableListener(audio, 'error', () => { + // When the error event fires, ended might not be called. + // The media `error` event is a plain Event without an `error` + // property; the actual failure is described by `audio.error`. + const mediaError = audio.error; + reject(new Error(mediaError ? `Failed to play audio (code ${mediaError.code}): ${mediaError.message}` : 'Failed to play audio')); })); audio.play().catch(e => { // When play fails, the error event is not fired. From 7d73618cf10f3c54ea277cd924dc954954880d16 Mon Sep 17 00:00:00 2001 From: Bryan Chen Date: Thu, 1 Oct 2026 11:26:54 -0700 Subject: [PATCH 2/3] ci: run ESLint after parallel compile checks The Compile & Hygiene job repeatedly killed ESLint with exit code 137 while core-ci was bundling. Run the full linter after the parallel checks to avoid overlapping their memory peaks without skipping validation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/pr.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index b4f1182cb0a8f4..1dfa183731dd69 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -96,10 +96,14 @@ jobs: npm --prefix extensions/markdown-language-features run test-markdown-editor-package-json - name: Compile & Hygiene - run: npm exec -- npm-run-all2 -lp core-ci hygiene eslint valid-layers-check define-class-fields-check vscode-dts-compile-check tsec-compile-check test-build-scripts + run: npm exec -- npm-run-all2 -lp core-ci hygiene valid-layers-check define-class-fields-check vscode-dts-compile-check tsec-compile-check test-build-scripts env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # Avoid overlapping ESLint's worker memory with the parallel compilation checks. + - name: ESLint + run: npm run eslint + - name: Check Codex protocol client is in sync run: | git fetch --no-tags --depth=1 origin "$CODEX_SYNC_BASE" || true From 60d04a7ef933053c872c5c0852b5ef08c095fc21 Mon Sep 17 00:00:00 2001 From: Bryan Chen Date: Thu, 1 Oct 2026 13:41:23 -0700 Subject: [PATCH 3/3] ci: separate workflow scheduling fix from accessibility change Restore the original Code OSS workflow in this PR. Track the shared ESLint resource-contention fix independently in microsoft/vscode#339153. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/pr.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 1dfa183731dd69..b4f1182cb0a8f4 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -96,14 +96,10 @@ jobs: npm --prefix extensions/markdown-language-features run test-markdown-editor-package-json - name: Compile & Hygiene - run: npm exec -- npm-run-all2 -lp core-ci hygiene valid-layers-check define-class-fields-check vscode-dts-compile-check tsec-compile-check test-build-scripts + run: npm exec -- npm-run-all2 -lp core-ci hygiene eslint valid-layers-check define-class-fields-check vscode-dts-compile-check tsec-compile-check test-build-scripts env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # Avoid overlapping ESLint's worker memory with the parallel compilation checks. - - name: ESLint - run: npm run eslint - - name: Check Codex protocol client is in sync run: | git fetch --no-tags --depth=1 origin "$CODEX_SYNC_BASE" || true