Skip to content

fix(patches): rebase patches 11 + 20 for VS Code 1.124.0#17

Merged
sbs44 merged 3 commits into
mainfrom
fix/1.124.0-combined
Jun 12, 2026
Merged

fix(patches): rebase patches 11 + 20 for VS Code 1.124.0#17
sbs44 merged 3 commits into
mainfrom
fix/1.124.0-combined

Conversation

@sbs44

@sbs44 sbs44 commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Combines closed PRs #13 (patch 11) and #14 (patch 20).

Refs #12

github-actions Bot and others added 2 commits June 11, 2026 18:12
VS Code 1.124.0 restructured doApplyUpdate in updateService.win32.ts:
moved the spawn() block inside an else { } branch guarded by a new
mutex-based isInstallerActive() check, adding one tab of indentation
and a blank line before const child = spawn().

Hunk #11 of the patch was searching for the old 2-tab-indented context
without the blank line — no longer present in 1.124.0 — causing a
patch rejection.

Fix: regenerate the win32.ts section of the patch from the 1.124.0
base so the spawn MSI/Setup conditional lands inside the existing
else { } block with correct 3-tab indentation and blank-line context.

Also bump upstream/stable.json to 1.124.0 so the PR build targets
the same upstream commit the patch is written against.
@claude

claude Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Claude finished @sbs44's task in 2m 19s —— View job


Code Review — PR #17: rebase patches 11 + 20 for VS Code 1.124.0

  • Read repo guidelines and gather context
  • Review patch 11 (11-update-use-github-release.patch)
  • Review patch 20 (20-keymap-use-custom-lib.patch)
  • Review upstream/stable.json version bump
  • Cross-check against CI build log
  • Post review findings

Summary

This is a clean, well-scoped patch rebase. Both target patches apply successfully against 1.124.0 — I confirmed this directly in the CI build log: patches 10, 11, 20, 30 all apply, and the build only fails later on an out-of-scope patch (see below). The functional content of both patches is preserved; the diff is almost entirely regenerated git blob hashes and context lines, which is exactly what a rebase should look like.

✅ What's correct

  • upstream/stable.json bump to 1.124.0 / commit 1b50d58d… is consistent with the patches being written against that base. Good that it's bumped in the same PR so the build targets the matching upstream.
  • Patch 20 — the swap from native-keymap@vscodium/native-keymap is internally consistent: version 3.3.7-258424 matches in both package.json:139 and package-lock.json:71, and all references (.npmrc, build/.moduleignore, eslint.config.js, nativeModules.integrationTest.ts, keyboardLayoutMainService.ts) are updated together. The lockfile also captures transitive bumps (napi-build-utils 1.0.2→2.0.0, prebuild-install 7.1.2→7.1.3) — these are the expected side-effect of the dependency swap.
  • Patch 11 — the win32 section was regenerated from the 1.124.0 base (per commit 4592361), correctly landing the MSI/Setup spawn() conditional inside the new else { } mutex branch with 3-tab indentation. The other hunks (darwin/linux/common) are unchanged in semantics.

⚠️ CI build is still red — but not because of this PR

The cron-build-and-release run failed, however the failure is out of scope for this PR. From the build log:

applying patch: ../patches/51-ext-copilot-remove-it.patch
error: package-lock.json: patch does not apply
error: src/vs/platform/agentHost/node/copilot/copilotAgent.ts: patch does not apply
...
failed to apply patch ../patches/51-ext-copilot-remove-it.patch

Patch 51-ext-copilot-remove-it.patch is not modified by this PR and needs its own rebase (consistent with this being one piece of the broader #12 effort). So patches 11 and 20 are verified good; a green build will require rebasing the remaining patches in follow-up PRs.

🔸 Minor / non-blocking notes

  • Style inconsistency in patch 11: the win32 hunks now carry full 3-line context while the darwin/linux/common hunks remain in the repo's minimal-context style. Purely cosmetic and a natural consequence of regenerating just that section — no action needed.
  • Pre-existing typo (carried over, not introduced): the latest-check is spelled lastest throughout ({ lastest, update }, result.lastest, compareBuild(...) >= 0). It's internally consistent so it works, and keeping it minimizes the rebase diff — but flagging for an eventual cleanup. Fix this →
  • A few added lines omit trailing semicolons (target = "archive", let child: ChildProcess) — also pre-existing patch content, not new here.

Verdict

LGTM for its stated goal — patches 11 and 20 are correctly rebased and verified to apply on 1.124.0. The remaining red build is from the un-rebased patch 51 and should be tracked separately under #12.
• branch fix/1.124.0-combined

VS Code 1.124.0 restructured the agent host's Copilot integration, so
51-ext-copilot-remove-it no longer applied (build halted on it after the
11 + 20 rebases). Rebase it so it both applies AND leaves no dangling
references once @github/copilot* is removed (would otherwise fail
compile-src on the next attempt):

- package.json / package-lock.json: drop @github/copilot +
  @github/copilot-sdk against the new 1.0.57 / 1.0.0 entries (versions
  drifted from 1.0.55-3 / 1.0.0-beta.8); lock root deps stay in sync
  with package.json for `npm ci`.
- agentHostServerMain.ts: drop the CopilotAgent import + registration
  (surrounding context shifted in 1.124.0).
- Delete copilotSessionLauncher.ts — a new copilot-only file that
  imports @github/copilot-sdk and is referenced only by the deleted
  copilot agent/tests.
- common/otel/agentHostOTelService.ts: shim the SDK TelemetryConfig
  import. 1.123.0 used a local IAgentHostSdkTelemetryConfig mirror;
  1.124.0 switched it to `import type { TelemetryConfig } from
  '@github/copilot-sdk'`, mirroring the existing node/otel shim.

Verified locally: every patch applies in CI order against pristine
1.124.0, and no @github/copilot* imports or references to deleted
copilot modules remain in compiled src.

Refs #12
@claude

claude Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Pushed 2bf824a — rebases the third broken patch for 1.124.0, 51-ext-copilot-remove-it.

Root cause: prepare_vscode.sh halts on the first patch-apply failure, so the cron log only showed patch 51 rejecting (package-lock.json, package.json, agentHostServerMain.ts, and several copilot-file deletions). A full dry-apply against 1.124.0 confirmed 51 was the only remaining break after the 11 + 20 rebases on this branch.

1.124.0 didnt just drift context — it restructured the agent-host Copilot integration, adding new SDK couplings the old patch didnt cover. Beyond re-aligning the drifted hunks, this commit:

  • deletes copilotSessionLauncher.ts — a new copilot-only file importing @github/copilot-sdk (referenced only by the deleted copilot agent/tests);
  • shims the SDK TelemetryConfig import in common/otel/agentHostOTelService.ts (1.123.0 used a local mirror interface; 1.124.0 switched it to import type … from "@github/copilot-sdk").

Both would pass patch-apply but break compile-src on the next attempt, so they are fixed in the same pass.

Verified locally: all patches apply in CI order against pristine 1.124.0; package.jsonpackage-lock.json root deps stay in sync for npm ci; no @github/copilot* imports or references to deleted copilot modules remain in compiled src/. Kept files still used by the Claude agent (copilotGitProject, copilotToolDisplay, mapSessionEvents, sessionCustomizationDiscovery, pendingEditContentStore) are preserved.

@sbs44 sbs44 merged commit acb2b75 into main Jun 12, 2026
5 of 6 checks passed
@sbs44 sbs44 deleted the fix/1.124.0-combined branch June 12, 2026 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants