Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
80a90a2
Add mobile multi-diff view with per-file folding
rebornix May 23, 2026
b07b889
Address mobile diff PR feedback
rebornix May 23, 2026
d4f28a4
Add mobile diff virtualization groundwork
rebornix May 24, 2026
d0eeff2
Virtualize mobile multi-diff file sections
rebornix May 24, 2026
b47071a
Optimize mobile multi-diff body rendering
rebornix May 24, 2026
84d14fe
Avoid reappending mobile multi-diff sections
rebornix May 24, 2026
815a121
Improve mobile multi-diff lazy loading
rebornix May 26, 2026
eff5ed3
Update part visibility loading logic based on default settings
rebornix May 26, 2026
73ec7e0
Merge remote-tracking branch 'origin/main' into rebornix/fascinating-…
rebornix May 26, 2026
a333bd8
feat(workbench): handle part visibility based on viewport class for p…
rebornix May 27, 2026
70a3175
fix(sessions): layout mobile sessions grid on phone
rebornix May 27, 2026
036f442
feat: enable 'Manage Models' action in Agent Host Model Picker
vritant24 May 27, 2026
75a2bfd
tighten mobile layout detection
rebornix May 27, 2026
9f0f92f
polish border
rebornix May 27, 2026
cbdbafe
actually fix agent window
vritant24 May 27, 2026
c76c3c4
Merge branch 'main' into agents/missing-config-icon-model-picker
vritant24 May 27, 2026
de64517
build(deps-dev): bump tmp from 0.2.4 to 0.2.6 in /extensions/copilot …
dependabot[bot] May 27, 2026
a5dd3cc
Fix browser pixel alignment (#318563)
kycutler May 27, 2026
0fd3a3d
[WindowsSandboxing]: Updated env and commandline for executing comman…
dileepyavan May 27, 2026
3f35867
Merge pull request #318575 from microsoft/agents/missing-config-icon-…
vritant24 May 27, 2026
fd29833
Initial plan
Copilot May 27, 2026
b82a21a
Make onboarding agent cards non-focusable and rename section
Copilot May 27, 2026
4fd26f5
Fix mailto links in Manage Language Models tooltips
Copilot May 27, 2026
ee4fd9a
Update sign-in text to specify GitHub Copilot (#318603)
Copilot May 27, 2026
d10bf32
Correcting the model family for tool search (#318608)
dileepyavan May 27, 2026
2d95154
feat: XAA enterprise-managed MCP authentication (ID-JAG) (#318067)
TylerLeonhardt May 27, 2026
7d654c3
Update inline suggestions quota message to limit
Copilot May 27, 2026
404261d
Merge pull request #318624 from microsoft/copilot/change-inline-sugge…
eli-w-king May 27, 2026
6369c6b
better tap handling
rebornix May 27, 2026
4849279
Merge branch 'main' into copilot/remove-button-focus-borders
eli-w-king May 27, 2026
6ab81ab
fix opening session (#318626)
sandy081 May 27, 2026
3345e39
More enterprise friendly wording (#318610)
lramos15 May 27, 2026
ba99925
Chronicle cost-tips: scope to interactive VS Code chat with explicit…
vijayupadya May 27, 2026
0c15482
copilot: remove leftover code from /tests test-generation codelens (#…
ulugbekna May 27, 2026
e55a7ac
Merge pull request #318613 from microsoft/copilot/fix-tooltip-mailto-…
vritant24 May 27, 2026
8ed3078
Tweak Anthropic Opus prompt routing and tool-search heuristics (#318597)
bhavyaus May 27, 2026
182d43f
Update src/vs/workbench/contrib/welcomeOnboarding/browser/onboardingV…
eli-w-king May 27, 2026
a43ae2e
Update src/vs/workbench/contrib/welcomeOnboarding/browser/onboardingV…
eli-w-king May 27, 2026
6418c95
Update src/vs/workbench/contrib/welcomeOnboarding/browser/onboardingV…
eli-w-king May 27, 2026
2dd09ee
Merge branch 'main' into copilot/remove-button-focus-borders
eli-w-king May 27, 2026
67caeb2
mobile thinking cleanup + icon fix (#318628)
justschen May 27, 2026
8544893
[Search Subagent] Handle context window limit exceeded error (#316529)
guomaggie May 27, 2026
dedf927
Merge pull request #318081 from microsoft/rebornix/fascinating-camel
rebornix May 27, 2026
cd9b8c7
multiple panes improvements
benibenj May 27, 2026
dc97685
Refactor browser WebContentsView layout into feature contribution (#3…
kycutler May 27, 2026
150d40b
agentHost: adopt new customization protocol shape
connor4312 May 27, 2026
8bc3060
agentPlugins: single source of truth for child customizations
connor4312 May 27, 2026
36c5718
Claude agent — Phase 11: customizations / plugins (#318113)
TylerLeonhardt May 27, 2026
9f475b0
Sync quota snapshots (#318460)
pwang347 May 27, 2026
1c265a4
Merge pull request #318633 from microsoft/benibenj/expensive-sailfish
benibenj May 27, 2026
99b24fc
Merge pull request #318615 from microsoft/copilot/remove-button-focus…
eli-w-king May 27, 2026
0245c88
mcp: prefer announced server title for tool prefixes and picker label…
connor4312 May 27, 2026
6c30651
Merge remote-tracking branch 'origin/main' into connor4312/ahp-custom…
connor4312 May 27, 2026
cbbe0a9
Merge pull request #318634 from microsoft/connor4312/ahp-customizatio…
connor4312 May 27, 2026
c7d320d
agentHost: dedupe concurrent _resumeSession calls per sessionId (#318…
roblourens May 28, 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: 4 additions & 2 deletions .agents/skills/launch/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@ The clone is **slim**: workspace storage, browser caches, file history, cached V
## Prerequisites

- macOS or Linux. The launcher is a bash script and depends on `rsync`, `curl`, `nohup`, and Node on `PATH`. The example caller snippets below also use `jq` (parse the JSON output) and `lsof` (kill-by-port fallback) — install those if you plan to use them, but the launcher itself does not require them.
- A VS Code checkout with sources built. Run `npm run compile` once (one-shot) or `npm run watch` for incremental rebuilds. Both build the full client **and** the Copilot extension. The launcher also runs `node build/lib/preLaunch.ts` before starting Code OSS, which auto-runs `npm run compile` if `out/` is missing and downloads Electron + built-in extensions.
- A VS Code checkout with `node_modules/` installed (`npm install` if missing — do **not** symlink from a sibling worktree; that breaks builds in subtle ways).
- A VS Code checkout with sources built. Run `npm run compile` once (one-shot) or `npm run watch` for incremental rebuilds. Both build the full client **and** all built-in extensions under `extensions/`. You must build the full product to run successfully, building just the client is not enough.
- An **authenticated** Code OSS profile to seed from. By default the launcher uses `~/.vscode-oss-dev`, which is the user-data-dir the repo's `launch.json` configs use - if the user has ever signed in to Copilot in a dev build, this should work. Only pass `--source-user-data-dir <path>` (or set `$CODE_OSS_DEV_AUTHED_USER_DATA_DIR`) when you specifically want to seed from a different profile (e.g. your regular `~/Library/Application Support/Code` install).
- If Code OSS launches and needs a sign-in, don't give up! Use the questions tool to ask the user to sign in.
- `@playwright/cli` available (it's a devDependency in the vscode repo - `npm install` then use `npx @playwright/cli`).
- For debugger work: `dap-cli` on `PATH`. If debugger support would be useful but the `dap-cli` skill is not present, prompt the user to install it from https://github.com/roblourens/dap-cli.
- CSS selectors are internal implementation details. If a selector-based `eval` stops working, take a fresh `snapshot`, inspect the current DOM, and update the selector rather than assuming an old one still applies.
Expand Down Expand Up @@ -329,7 +331,7 @@ Code OSS is a full Electron app and easily eats 1-4 GB. Always clean up.

- **"Sent env to running instance. Terminating..."** - The dynamic `--user-data-dir` should prevent this. If you see it, another Code OSS is using the same profile path; pass `--source-user-data-dir` to a different source or check that the temp copy actually happened (`ls "$(jq -r .userDataDir <<<"$INFO")"`).
- **Renderer ESM errors / `import { Menu } from 'electron'`** - `ELECTRON_RUN_AS_NODE` is set in your env. The launcher unsets it for the child, but if you spawn `code.sh` yourself, do the same.
- **Built-in extension fails to load (`Cannot find module .../extensions/.../out/extension.js`)** - extensions weren't compiled. Run `npm run compile` (one-shot, also rebuilds the Copilot extension) or `npm run watch` (incremental).
- **Built-in extension fails to load (`Cannot find module .../extensions/.../out/extension.js`)** - extensions weren't compiled. Run `npm run compile` (one-shot, also rebuilds all built-in extensions) or `npm run watch` (incremental). A common cause: you ran `npm run transpile-client` to satisfy unit tests, which populated `out/` but not `extensions/*/out/`, so preLaunch's "is `out/` missing?" check skipped the compile.
- **`launch.sh` exits non-zero with a log tail** - either pre-launch failed, `code.sh` died before CDP came up, or CDP never opened within 90s. The tail printed to stderr is from `runDir/code.log` - read it to diagnose.
- **Snapshot shows the wrong page or no expected controls** - use `tab-list`, switch with `tab-select <index>` if needed, then re-snapshot before interacting.
- **CLI typing commands complete but the input stays empty** - focus chat with the platform shortcut, use `press` or clipboard paste rather than `fill` / `type`, then verify the input state before sending.
Expand Down
15 changes: 15 additions & 0 deletions build/lib/policies/policyData.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,21 @@
}
],
"policies": [
{
"key": "mcp.enterpriseManagedAuth.idp",
"name": "McpEnterpriseManagedAuthIdp",
"category": "InteractiveSession",
"minimumVersion": "1.122",
"localization": {
"description": {
"key": "mcp.enterpriseManagedAuth.idp.policy",
"value": "The OAuth/OIDC IdP configuration used for enterprise-managed Model Context Protocol (MCP) server authentication. Delivered through enterprise policy (Windows Group Policy, macOS managed preferences, Linux `/etc/vscode/policy.json`)."
}
},
"type": "object",
"default": {},
"included": false
},
{
"key": "chat.mcp.gallery.serviceUrl",
"name": "McpGalleryServiceUrl",
Expand Down
6 changes: 6 additions & 0 deletions build/lib/stylelint/vscode-known-variables.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
"--vscode-activityBarBadge-background",
"--vscode-activityBarBadge-foreground",
"--vscode-activityBarTop-activeBackground",
"--vscode-activeSessionView-background",
"--vscode-activeSessionView-foreground",
"--vscode-activityBarTop-activeBorder",
"--vscode-activityBarTop-background",
"--vscode-activityBarTop-dropBorder",
Expand All @@ -25,6 +27,8 @@
"--vscode-agentSessionReadIndicator-foreground",
"--vscode-agentSessionSelectedBadge-border",
"--vscode-agentSessionSelectedUnfocusedBadge-border",
"--vscode-inactiveSessionView-background",
"--vscode-inactiveSessionView-foreground",
"--vscode-agentStatusIndicator-background",
"--vscode-badge-background",
"--vscode-badge-foreground",
Expand Down Expand Up @@ -947,6 +951,8 @@
"--mobile-diff-tok-keyword",
"--mobile-diff-tok-number",
"--chat-editing-last-edit-shift",
"--session-view-background",
"--session-view-foreground",
"--chat-current-response-min-height",
"--chat-smooth-delay",
"--chat-smooth-duration",
Expand Down
23 changes: 23 additions & 0 deletions build/vite/mobile-multi-diff-worker.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

import { computeUnifiedDiff } from '../../src/vs/sessions/browser/parts/mobile/contributions/mobileDiffHelpers.js';

interface IComputeDiffRequest {
readonly id: number;
readonly originalText: string;
readonly modifiedText: string;
}

self.addEventListener('message', (event: MessageEvent<IComputeDiffRequest>) => {
const { id, originalText, modifiedText } = event.data;
try {
self.postMessage({ id, hunks: computeUnifiedDiff(originalText, modifiedText) });
} catch (error) {
self.postMessage({ id, error: error instanceof Error ? error.message : String(error) });
}
});

self.postMessage({ type: 'ready' });
103 changes: 103 additions & 0 deletions build/vite/mobile-multi-diff.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="../../node_modules/@vscode/codicons/dist/codicon.css">
<style>
html, body {
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: var(--page-bg);
color: var(--vscode-foreground);
}
body.vs-dark {
--page-bg: #0a0a0a;
--device-border: #3a3a3a;
--vscode-foreground: #cccccc;
--vscode-descriptionForeground: #9d9d9d;
--vscode-editor-background: #1f1f1f;
--vscode-editor-foreground: #cccccc;
--vscode-editorLineNumber-foreground: #6e7681;
--vscode-diffEditor-insertedTextBackground: rgba(155, 185, 85, 0.2);
--vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, 0.2);
--vscode-multiDiffEditor-headerBackground: #262626;
--vscode-multiDiffEditor-border: #2b2b2b;
--vscode-sideBarSectionHeader-border: #2b2b2b;
--vscode-gitDecoration-addedResourceForeground: #81b88b;
--vscode-gitDecoration-deletedResourceForeground: #c74e39;
--vscode-toolbar-hoverBackground: rgba(90, 93, 94, 0.31);
}
body.vs-light {
--page-bg: #e4e4e4;
--device-border: #c0c4cc;
--vscode-foreground: #3b3b3b;
--vscode-descriptionForeground: #6e6e6e;
--vscode-editor-background: #ffffff;
--vscode-editor-foreground: #3b3b3b;
--vscode-editorLineNumber-foreground: #6e7681;
--vscode-diffEditor-insertedTextBackground: rgba(35, 134, 54, 0.15);
--vscode-diffEditor-removedTextBackground: rgba(255, 129, 130, 0.20);
--vscode-multiDiffEditor-headerBackground: #f3f3f3;
--vscode-multiDiffEditor-border: #e5e5e5;
--vscode-sideBarSectionHeader-border: #e5e5e5;
--vscode-gitDecoration-addedResourceForeground: #587c0c;
--vscode-gitDecoration-deletedResourceForeground: #ad0707;
--vscode-toolbar-hoverBackground: rgba(184, 184, 184, 0.31);
}
#stage {
position: fixed;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
box-sizing: border-box;
}
#container {
width: 100%;
max-width: 430px;
height: 100%;
max-height: 932px;
position: relative;
background: var(--vscode-editor-background);
border: 1px solid var(--device-border);
border-radius: 18px;
overflow: hidden;
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35), 0 2px 8px rgba(0, 0, 0, 0.15);
}
/* The production overlay uses position: fixed to cover the viewport.
* In this design playground we constrain it to the device frame. */
#container .mobile-overlay-view {
position: absolute;
}
body.vs-light #container {
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.10), 0 2px 6px rgba(0, 0, 0, 0.06);
}
#theme-toggle {
position: fixed;
top: 12px;
right: 12px;
z-index: 100;
padding: 4px 10px;
border: 1px solid var(--device-border);
border-radius: 6px;
background: var(--vscode-editor-background);
color: var(--vscode-foreground);
cursor: pointer;
font-size: 12px;
font-family: inherit;
}
</style>
</head>
<body class="vs-dark">
<button id="theme-toggle" onclick="document.body.classList.toggle('vs-dark'); document.body.classList.toggle('vs-light'); this.textContent = document.body.classList.contains('vs-dark') ? 'Light' : 'Dark'">Light</button>
<div id="stage">
<div id="container"></div>
</div>
<script src="./mobile-multi-diff.ts" type="module"></script>
</body>
</html>

Loading
Loading