Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2481 commits
Select commit Hold shift + click to select a range
0960d73
Sessions - remove code that is not needed since checkpoints are now l…
lszomoru Mar 22, 2026
6f3bb99
fix: update chat slash commands to include GitHub Copilot targets and…
TylerLeonhardt Mar 22, 2026
7b17c65
Fix non-hardcoded meta commands not working with kitty keyboard, Fish…
anthonykim1 Mar 22, 2026
c7a1fc8
fix image carousel image position detection. (#303370)
rebornix Mar 23, 2026
56498ab
fix: correct file extension check in update-localization-extension sc…
TylerLeonhardt Mar 23, 2026
47924f8
Bump fast-xml-parser from 5.5.6 to 5.5.8 (#303716)
dependabot[bot] Mar 23, 2026
4debf1b
fix mouse click for Element Screenshot
rebornix Mar 23, 2026
2b44ec5
Merge pull request #303937 from microsoft/rebornix/open-marmot
rebornix Mar 23, 2026
9b649d8
update version to 1.114 (#303975)
jrieken Mar 23, 2026
2edf08f
Git - optimize worktree ignored-path computation (#303955)
xingsy97 Mar 23, 2026
604fe23
Revert "Add chat session header component and styles" (#304031)
sandy081 Mar 23, 2026
c0dfb08
Revert "Merge pull request #303499 from microsoft/mrleemurray/session…
mrleemurray Mar 23, 2026
e898258
Sessions: Enhance chat bar and title bar styling with borders (#304066)
mrleemurray Mar 23, 2026
9df8719
Merge branch 'main' into mrleemurray/revert-sessions-panel-animations
mrleemurray Mar 23, 2026
5e748c9
Support taskVar variables from problem matcher named capture groups
hediet Mar 20, 2026
13d5f73
Sessions: fix stale CI checks when switching active session (#304062)
benibenj Mar 23, 2026
7073d27
Fixes https://github.com/microsoft/vscode/issues/304047 (#304080)
hediet Mar 23, 2026
1954156
fiy chat overflow toolbar
benibenj Mar 23, 2026
b870c7b
fix test
benibenj Mar 23, 2026
f77788e
remove tests
benibenj Mar 23, 2026
38c26af
Merge pull request #303156 from ConsoleTVs/fix/plugin-mcp-env-var-sub…
connor4312 Mar 23, 2026
8fd03e3
Merge pull request #304083 from microsoft/benibenj/running-albatross
benibenj Mar 23, 2026
c8e82bf
Show static pinned icon on sessions list items that hides on hover (#…
benibenj Mar 23, 2026
86caa42
Merge pull request #304060 from microsoft/mrleemurray/revert-sessions…
mrleemurray Mar 23, 2026
36b085b
some more minor chat input improvements
benibenj Mar 23, 2026
ee7a0d3
Keyboard layout - replace all dashes/dots in macOS layout labels (#30…
xingsy97 Mar 23, 2026
dbe6a13
fix #304013 (#304105)
sandy081 Mar 23, 2026
072e113
Revert "Use bracketed paste for multiline executed terminal text (#30…
meganrogge Mar 23, 2026
9ea434f
Session grouping api
benibenj Mar 23, 2026
c685394
Fix get_task_output empty results for background tasks while preservi…
meganrogge Mar 23, 2026
98d306b
update endgame notebook (#304144)
jrieken Mar 23, 2026
6865491
Merge pull request #304149 from microsoft/benibenj/silky-raccoon
benibenj Mar 23, 2026
b56ff98
Track update velocity in the base update service (#304151)
dmitrivMS Mar 23, 2026
59ffcc0
Merge pull request #304119 from microsoft/benibenj/entire-viper
benibenj Mar 23, 2026
551308f
Remove automated trigger for sanity tests pipeline (#304168)
dmitrivMS Mar 23, 2026
99d5394
fix #303771
rebornix Mar 23, 2026
fb7273f
select model when sub menu value is selected (#304172)
sandy081 Mar 23, 2026
1771717
Make sure update tooltip is updated in all windows, not just focused …
dmitrivMS Mar 23, 2026
70019df
Fix Azure pipeline parameter whitespace handling (#304065)
joaomoreno Mar 23, 2026
072e1e6
agentPlugins: add plugin creation flow (#304207)
connor4312 Mar 23, 2026
ac0b7fc
Add workbench.browser.openLocalhostLinks to ExP (#304224)
jruales Mar 23, 2026
87134ba
Editor - fix paste preference filter matching all providers (#304044)
xingsy97 Mar 23, 2026
79721dc
Remove unnecessary progress handling in Copilot CLI forking (#304189)
DonJayamanne Mar 23, 2026
73ae3f2
feat: add `chatPlugins` extension contribution point for agent plugin…
connor4312 Mar 23, 2026
3b2648b
Sessions - always show the version submenu (#304238)
lszomoru Mar 23, 2026
e9a5354
Enable terminal commands to run freely in `Autopilot` and `Bypass App…
meganrogge Mar 23, 2026
8a0e70c
Set max height for the chat input part (#302670)
roblourens Mar 23, 2026
4357790
Add "add remote" command to sessions app (#303781)
roblourens Mar 23, 2026
2736a7b
Revert "Sessions: Replace badge with inline title count in Changes vi…
lszomoru Mar 23, 2026
c72e8d2
Prioritize active sessions in sorting for improved user experience
osortega Mar 19, 2026
0edbe88
fix: don't block window reload on extension host graceful shutdown (#…
deepak1556 Mar 23, 2026
ebe83b2
Add "Show More" functionality for capped repository groups in agent s…
osortega Mar 23, 2026
bcc578a
fix https://github.com/microsoft/vscode/issues/304025 (#304260)
joshspicer Mar 23, 2026
bb2dcc7
Implement repository group capping with "Show More" functionality in …
osortega Mar 23, 2026
424f656
Update agent session item styling for improved alignment and color
osortega Mar 23, 2026
7038907
Enhance "Show More" label styling with hover effect for better visibi…
osortega Mar 23, 2026
59c4a85
Add repository group capping functionality with toggle actions in ses…
osortega Mar 23, 2026
6c52b71
Bump copilot-sdk (#304267)
roblourens Mar 23, 2026
1765f3a
Refactor repository group capping methods for clarity and consistency…
osortega Mar 23, 2026
28f5880
Enhance "Show More" label styling with !important rule for consistent…
osortega Mar 23, 2026
02633fa
Remove redundant text decoration rules for "Show More" label in agent…
osortega Mar 23, 2026
85e9d41
agentHost: ui side of edits
connor4312 Mar 23, 2026
29359ef
Accessible View: include file paths for inline references in chat res…
Copilot Mar 23, 2026
9cc4cb2
Merge remote-tracking branch 'origin/main' into connor4312/agent-edits
connor4312 Mar 23, 2026
8978366
Move .claude creation for testing agent harness to postinstall (#304283)
TylerLeonhardt Mar 23, 2026
dc49368
tests
connor4312 Mar 23, 2026
5785d32
add debounce for working shimmer (#304285)
justschen Mar 23, 2026
c3231e5
chat customizations: fix clipping (#304281)
joshspicer Mar 23, 2026
5a791c6
Use bracketed paste mode for `run_in_terminal` tool (#304268)
meganrogge Mar 23, 2026
3d843ae
Flatten sandbox network settings (#304287)
alexdima Mar 23, 2026
184c7f1
fix: destroy read streams to prevent file descriptor leaks (#303395)
buley Mar 23, 2026
d5aa1c4
fix merge
connor4312 Mar 23, 2026
60f0814
update distro to 6c98cfe8 (#304298)
joshspicer Mar 23, 2026
69fd6c6
Show unsandboxed execution reason in terminal tool confirmation (#304…
alexdima Mar 23, 2026
a0edb50
comments and build
connor4312 Mar 23, 2026
762894c
Rename "Show Top 5 Sessions" to "Show Recent Sessions" in filter menu
osortega Mar 24, 2026
e288f0d
Address PR review feedback: scope cap actions, fix expanded state, ma…
osortega Mar 24, 2026
ee0d019
padding
osortega Mar 24, 2026
970e788
color change
osortega Mar 24, 2026
e0ebee2
Merge branch 'main' into copilot/moral-shrimp
osortega Mar 24, 2026
c19696b
Fix loading copilot-sdk 0.2 (#304310)
roblourens Mar 24, 2026
a2d7169
Keep agent host alive while there are active websocket connections (#…
roblourens Mar 24, 2026
b0f5ea8
Merge pull request #304284 from microsoft/copilot/moral-shrimp
osortega Mar 24, 2026
161bd36
Merge remote-tracking branch 'origin/main' into connor4312/agent-edits
connor4312 Mar 24, 2026
f2597ce
fix test
connor4312 Mar 24, 2026
f655846
Revert "Accessible View: include file paths for inline references in …
alexdima Mar 24, 2026
007f51c
Merge remote-tracking branch 'origin/main' into connor4312/agent-edits
connor4312 Mar 24, 2026
b9ef737
Merge pull request #304303 from microsoft/connor4312/agent-edits
connor4312 Mar 24, 2026
c82bc51
More specific log string for cli agent host proxy (#304339)
roblourens Mar 24, 2026
efb9c8b
Remove outdated docs/instructions for remote agent host (#304341)
roblourens Mar 24, 2026
3535854
IPC logging for agent hosts (#304338)
roblourens Mar 24, 2026
cdf4f2f
feat: updates for Copilot CLI to include mode instructions (#303962)
DonJayamanne Mar 24, 2026
5ac5e8a
Merge pull request #304252 from microsoft/rebornix/icy-aardvark
rebornix Mar 24, 2026
a2e9209
Fix loading sessions that were created by a previous remote agent hos…
roblourens Mar 24, 2026
3ad404e
refactor: Copilot CLI resort to restoring model from history (#304364)
DonJayamanne Mar 24, 2026
d1c2013
refactor: Copilot CLI simplify preselectModelFromSessionHistory (#304…
DonJayamanne Mar 24, 2026
e3ecdcf
Update src/vs/platform/quickinput/browser/quickInputActions.ts
jrieken Mar 24, 2026
599a33b
Refactor symbol ID generation in GotoSymbolQuickAccessProvider and Sy…
jrieken Mar 24, 2026
7674c07
fix: update TPI_CREATION variable reference in GitHub issues queries …
jrieken Mar 24, 2026
bb77888
Fix Windows agent harness links in postinstall (#304392)
benibenj Mar 24, 2026
fc6b205
fix: trigger stable build instead of insider build on release branche…
joaomoreno Mar 24, 2026
49610e6
Revert "Session grouping api"
benibenj Mar 24, 2026
de4d27a
Sessions: Use ITaskService to run tasks instead of terminal commands …
benibenj Mar 24, 2026
d847f21
Merge pull request #304412 from microsoft/benibenj/big-kite
benibenj Mar 24, 2026
0f66161
Sessions - customize badge rendering (#304411)
lszomoru Mar 24, 2026
5d82d8a
fix: correct terminal sandbox icon in thinking dropdown (#304327)
alexdima Mar 24, 2026
148436b
refactor: rename CollapsedSidebarWidget to SessionStatusWidget and up…
mrleemurray Mar 23, 2026
f8aa82c
feat: implement session count widget in titlebar with unread session …
mrleemurray Mar 23, 2026
85dff95
refactor: update session status widget and titlebar count button for …
mrleemurray Mar 24, 2026
46c65bc
run oss tool (#304416)
jrieken Mar 24, 2026
17abe50
feat: add countUnreadSessions function to streamline unread session c…
mrleemurray Mar 24, 2026
5d16f08
refactor: remove unused CollapsedSidebarWidget class and related CSS …
mrleemurray Mar 24, 2026
a12f544
Fix dragging editor tab issue with truncated filenames (#304037)
Copilot Mar 24, 2026
576cc0a
Merge pull request #303513 from microsoft/joh/copilot/steep-weasel
jrieken Mar 24, 2026
ad0f5e5
feat: implement changes indicator in titlebar and clean up auxiliary …
mrleemurray Mar 24, 2026
b4f8b08
refactor: update comments and clean up ChangesTitleBarActionViewItem …
mrleemurray Mar 24, 2026
6575b13
Merge pull request #304424 from microsoft/mrleemurray/systematic-teal…
mrleemurray Mar 24, 2026
b2529c3
Merge remote-tracking branch 'origin/main' into mrleemurray/solid-blu…
mrleemurray Mar 24, 2026
d70ac11
Replace chat.subagents.maxDepth with chat.subagents.allowInvocationsF…
aeschli Mar 24, 2026
b9f6b79
chat session actions: parse slash command (#304225)
aeschli Mar 24, 2026
6276ee7
style: adjust margin for titlebar-right-layout-container in non-Windo…
mrleemurray Mar 24, 2026
38d366b
style: refine titlebar-right layout for non-Windows workbench
mrleemurray Mar 24, 2026
f267d17
style: update titlebar-right layout for mac in agent sessions workbench
mrleemurray Mar 24, 2026
29a9060
Merge pull request #304433 from microsoft/mrleemurray/solid-blush-shark
mrleemurray Mar 24, 2026
d8f0ea0
Support color override for sessions
benibenj Mar 24, 2026
ec4b9c6
Update src/vs/platform/theme/common/colorUtils.ts
benibenj Mar 24, 2026
3582df3
Merge pull request #304479 from microsoft/benibenj/amateur-marlin
benibenj Mar 24, 2026
b7d981c
show warning when subagents are used but not enabled (#290746)
aeschli Mar 24, 2026
754b67f
Sessions - expose Changes view menu (#304489)
lszomoru Mar 24, 2026
8657f43
Remove self from notify, classifier, events, etc.
Tyriar Mar 24, 2026
a31e6e0
Merge pull request #304498 from microsoft/tyriar/remove
Tyriar Mar 24, 2026
ce19b8e
Refactor theme and layout for sidebar, panel, and auxiliary component…
mrleemurray Mar 24, 2026
6b3f6e6
Add subtle appear transitions for sidebar and auxiliary parts
mrleemurray Mar 24, 2026
c0a0761
Fix `get_terminal_output` Invalid ID Handling and Clarify Background …
meganrogge Mar 24, 2026
6973c35
Sessions - expose session resource to actions (#304497)
lszomoru Mar 24, 2026
0f2816f
Update distro commit (main) (#304506)
vs-code-engineering[bot] Mar 24, 2026
90e5e74
Refactor theme and layout for sidebar, panel, and auxiliary component…
mrleemurray Mar 24, 2026
3b679fd
Add transition effects for sidebar and auxiliary components
mrleemurray Mar 24, 2026
58ddf85
Update src/vs/sessions/browser/media/style.css
mrleemurray Mar 24, 2026
34f07d4
Update src/vs/sessions/browser/media/style.css
mrleemurray Mar 24, 2026
81d9831
browser: prevent new tab from flashing in quick pick (#304297)
jonathanrao99 Mar 24, 2026
0848b91
prompts: fix agent plugin hooks being picked up multiple times (#304523)
connor4312 Mar 24, 2026
4feb37f
settings: use local StopWatch to avoid timing corruption between conc…
xingsy97 Mar 24, 2026
020636f
Fix remote agent host file picker for new URI scheme (#304541)
roblourens Mar 24, 2026
16b26aa
Add "remove" button to remote picker (#304535)
roblourens Mar 24, 2026
5bbfc4b
Fix remote AH enablement setting name (#304547)
roblourens Mar 24, 2026
f42f9b1
Make "attach" only a QuickAccess thing, not a QuickPick thing (#304521)
TylerLeonhardt Mar 24, 2026
be51e1f
Fix subagent hook (#304543)
pwang347 Mar 24, 2026
fad70f3
set chat tips to true, always elevate AI profiles (#304553)
meganrogge Mar 24, 2026
2572ad4
agentPlugins: allow targeting a specific plugin install in deep link …
connor4312 Mar 24, 2026
4f9068c
Use skill folder as primary identifier (#304316)
pwang347 Mar 24, 2026
d55d222
Fix untitled session in sessions lists
osortega Mar 24, 2026
ad32a00
Merge pull request #304572 from microsoft/osortega/general-hare
osortega Mar 24, 2026
3ab5516
Refactor code structure for improved readability and maintainability
osortega Mar 24, 2026
fa98436
Refactor code structure for improved readability and maintainability
osortega Mar 24, 2026
44497f3
Add "Show less" functionality for agent sessions and update related c…
osortega Mar 24, 2026
76dd8d3
Update "Show more" label format for agent sessions
osortega Mar 24, 2026
b0d93e1
Refactor code structure for improved readability and maintainability
osortega Mar 24, 2026
1d1076e
Add prototype images for group hover and no-hover states
osortega Mar 24, 2026
ff895d1
agentHost: sync fixed tool call ordering
connor4312 Mar 24, 2026
e5e43a4
Enhance agent sessions viewer with new styling and options for sessio…
osortega Mar 24, 2026
6e8eabe
Refactor show-more/show-less styles for improved visibility and hover…
osortega Mar 24, 2026
e2226f7
Refactor agent session show-more styles for improved animation and vi…
osortega Mar 25, 2026
07489f9
Add compact show-more option for improved session viewer layout
osortega Mar 25, 2026
e6f030d
pr comments
connor4312 Mar 25, 2026
ac75cb2
Refactor agent sessions viewer to simplify show-more functionality an…
osortega Mar 25, 2026
b4e7793
chat customizations: improve agentic engineering dev loop (#304305)
joshspicer Mar 25, 2026
61a2511
Refactor agent sessions viewer to support compact show-more option an…
osortega Mar 25, 2026
ea88714
Refactor agent sessions viewer to remove compact show-more option and…
osortega Mar 25, 2026
4e34dc0
Refactor agent sessions viewer to implement compact show-more option …
osortega Mar 25, 2026
21739da
Refactor agent sessions viewer styles to improve show-more functional…
osortega Mar 25, 2026
1bf796e
Let browser pages handle key events first (#304490)
kycutler Mar 25, 2026
13b519d
Refactor agent sessions viewer to enhance show-more functionality and…
osortega Mar 25, 2026
f321872
Refactor agent sessions viewer to implement compact show-more functio…
osortega Mar 25, 2026
1eeb413
Refactor agent sessions viewer to pass compact show-more option to li…
osortega Mar 25, 2026
cf9bfd8
Fix show-more height adjustment for compact option in AgentSessionsLi…
osortega Mar 25, 2026
90bfdcd
Use correct ID for browser editor resolver (#304585)
kycutler Mar 25, 2026
219c7f6
Refactor show-more height change events to include height parameter i…
osortega Mar 25, 2026
f652161
Enhance compact mode functionality for show-more/show-less items with…
osortega Mar 25, 2026
934a7b4
Improve section label determination for agent session hover interactions
osortega Mar 25, 2026
8a841f4
Add debug logging for show-more interactions in agent sessions control
osortega Mar 25, 2026
aad823e
Improve show-more/show-less section retrieval by traversing tree nodes
osortega Mar 25, 2026
f78e576
Refactor show-more section retrieval to traverse root node children f…
osortega Mar 25, 2026
10c0065
Enhance compact mode for show-more items by updating class states on …
osortega Mar 25, 2026
0d3b896
Refactor show-more section handling to improve label mapping and expa…
osortega Mar 25, 2026
0fe94be
Add pull request status icons to agent session renderer
osortega Mar 25, 2026
adfcb01
Add foreground colors for open and merged pull request indicators in …
osortega Mar 25, 2026
53ffddc
Refactor show-more and show-less renderers to remove compact mode han…
osortega Mar 25, 2026
25d01d9
Refactor show-more section styles for improved visibility control and…
osortega Mar 25, 2026
9191c69
Refactor show-more section comments and structure for clarity and imp…
osortega Mar 25, 2026
0687599
Add transition effect for agent session show-more rows
osortega Mar 25, 2026
226c26a
Enhance image carousel to support video playback (#304582)
rebornix Mar 25, 2026
c7ab91e
Implement height animation for show-more/collapse functionality in ag…
osortega Mar 25, 2026
390041d
Improve hover behavior in agent sessions control to prevent unintende…
osortega Mar 25, 2026
bc23ca3
Remove unused time label styles and transitions in agent session items
osortega Mar 25, 2026
bdfe93b
Enhance PR status icon detection by checking badge text for indicators
osortega Mar 25, 2026
274a1ac
refactor: remove unused log files and optimize agent sessions rendering
osortega Mar 25, 2026
fda9afb
refactor: consolidate agent session styles and improve PR status icon…
osortega Mar 25, 2026
8953494
Improve hover behavior in agent sessions control to delay collapse on…
osortega Mar 25, 2026
d006b5f
refactor: simplify collapse behavior in agent sessions control by rem…
osortega Mar 25, 2026
31880b9
fix: ensure data-section-label is removed when repository name is not…
osortega Mar 25, 2026
3f5842a
fix: remove unnecessary data-section-label removal logic in AgentSess…
osortega Mar 25, 2026
29f9bf2
fix: reset expanded elements on tree model changes to prevent invalid…
osortega Mar 25, 2026
23694a8
fix: improve handling of expanded elements on tree model changes to m…
osortega Mar 25, 2026
fade5c6
fix: prevent re-entrancy during tree model updates in AgentSessionsCo…
osortega Mar 25, 2026
7ca0a20
fix(copilot): handle case sensitivity for PATH environment variable o…
TylerLeonhardt Mar 25, 2026
2a7d6f4
fix: address PR review feedback for sessions list redesign
osortega Mar 25, 2026
b8fc726
fix: remove empty sessionsViewer.css that was causing CI hygiene failure
osortega Mar 25, 2026
16ea249
Fix "BrowserEditor: Failed to start console session" noise (#304595)
kycutler Mar 25, 2026
99ab288
Merge pull request #304637 from microsoft/copilot/foreign-takin
osortega Mar 25, 2026
0b84fd1
Add 'Mark as Done' button for session archiving (#304473)
mrleemurray Mar 25, 2026
687dc1c
Update sessions tasks
benibenj Mar 25, 2026
a042e57
remove old test
benibenj Mar 25, 2026
dced473
fix: update icon color to use var(--vscode-icon-foreground) in titleb…
mrleemurray Mar 25, 2026
ed2356f
sessions - focus app when launching from protocol link (#304682)
bpasero Mar 25, 2026
ee794a4
Update src/vs/sessions/browser/parts/media/titlebarpart.css
mrleemurray Mar 25, 2026
928b737
Remove box-shadows
mrleemurray Mar 25, 2026
73aee05
Merge branch 'main' into mrleemurray/hushed-rose-python
mrleemurray Mar 25, 2026
8ce5b55
Merge pull request #304526 from microsoft/mrleemurray/effective-plum-…
mrleemurray Mar 25, 2026
cfa545c
Fixes https://github.com/microsoft/vscode/issues/303784
hediet Mar 25, 2026
1db31f8
Merge pull request #304699 from microsoft/benibenj/thoughtless-porpoise
benibenj Mar 25, 2026
4e0be70
Initial plan
Copilot Mar 25, 2026
50e62eb
fix: preserve selection context when using "Ask in Chat" from inline …
Copilot Mar 25, 2026
5096904
mergeEditor: optimize removeDiffs from O(K*N) to O(N) with single-pas…
xingsy97 Mar 24, 2026
54b102d
sessions - hide diff stats from changes view button (#304738)
bpasero Mar 25, 2026
5c69811
Fix Claude forking (#304662)
TylerLeonhardt Mar 25, 2026
c425760
Fix operator precedence in fuzzyScore2 test assertion (#304449)
ShehabSherif0 Mar 25, 2026
d82ec93
sessions - fix title for cloud sessions (#304733)
bpasero Mar 25, 2026
c92f8a4
Skip confirmation dialog when unarchiving a single session (#304718)
bpasero Mar 25, 2026
7b9578c
Include metadata in agent sessions trace logging (#304725)
bpasero Mar 25, 2026
224a1e1
Can't read archived sessions in light mode (fix #304294) (#304720)
bpasero Mar 25, 2026
2ec87ae
sessions - restore file icons in modal editor titles (#304714)
bpasero Mar 25, 2026
e852b58
sessions - separate user dir for `--sessions` runs (#304726)
bpasero Mar 25, 2026
29d5ff7
Fix copy-paste bug in performance view blocking startup count (#304452)
ShehabSherif0 Mar 25, 2026
7d7fff2
Merge pull request #304734 from microsoft/copilot/fix-inline-chat-con…
jrieken Mar 25, 2026
0502a8b
update mywork milestone (#304707)
jrieken Mar 25, 2026
ac688e9
sessions - hide worktree icon but show others (#304739)
bpasero Mar 25, 2026
f4e6a58
Merge pull request #304704 from microsoft/mrleemurray/hushed-rose-python
mrleemurray Mar 25, 2026
3ac9e26
Merge pull request #304603 from microsoft/connor4312/agent-res-cleanup
connor4312 Mar 25, 2026
19e3c14
Sessions - source control providers do not need the parent/child rela…
lszomoru Mar 25, 2026
783e24a
sessions - dim the top area of scrolled out of view chats (#304804)
bpasero Mar 25, 2026
6a12c45
Fix wrapped title spacing on the agent sessions welcome page (#304686)
a77ming Mar 25, 2026
db9c369
Add New Chat entry point in the title bar menu (fix #304774) (#304790)
bpasero Mar 25, 2026
6a45123
Enhance agent session icon rendering with dynamic colors and improved…
osortega Mar 25, 2026
d466d7d
sessions: Extensible sessions provider architecture and ISessionData …
sandy081 Mar 25, 2026
0e0b01f
Merge pull request #304879 from microsoft/copilot/thin-wombat
osortega Mar 25, 2026
d9bb1c3
Also do attach for goto symbols (#304841)
TylerLeonhardt Mar 25, 2026
c2e1f3b
chore: give pr pipeline release read permissions (#304929)
rzhao271 Mar 25, 2026
d7b9781
fix: send user preferences to TS server even without visible editor
yogeshwaran-c Mar 26, 2026
9b03f3b
fix: use setupDelayedHover for settings indicator hovers to support C…
yogeshwaran-c Mar 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
374 changes: 374 additions & 0 deletions .agents/skills/launch/SKILL.md

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion .claude/CLAUDE.md

This file was deleted.

2 changes: 0 additions & 2 deletions .eslint-ignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
**/extensions/terminal-suggest/src/shell/fishBuiltinsCache.ts
**/extensions/terminal-suggest/third_party/**
**/extensions/typescript-language-features/test-workspace/**
**/extensions/typescript-language-features/extension.webpack.config.js
**/extensions/typescript-language-features/extension-browser.webpack.config.js
**/extensions/typescript-language-features/package-manager/node-maintainer/**
**/extensions/vscode-api-tests/testWorkspace/**
**/extensions/vscode-api-tests/testWorkspace2/**
Expand Down
99 changes: 99 additions & 0 deletions .eslint-plugin-local/code-no-icons-in-localized-strings.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

import * as eslint from 'eslint';
import { TSESTree } from '@typescript-eslint/utils';

/**
* Prevents theme icon syntax `$(iconName)` from appearing inside localized
* string arguments. Localizers may translate or corrupt the icon syntax,
* breaking rendering. Icon references should be kept outside the localized
* string - either prepended via concatenation or passed as a placeholder
* argument.
*
* Examples:
* ❌ localize('key', "$(gear) Settings")
* ✅ '$(gear) ' + localize('key', "Settings")
* ✅ localize('key', "Like {0}", '$(gear)')
*
* ❌ nls.localize('key', "$(loading~spin) Loading...")
* ✅ '$(loading~spin) ' + nls.localize('key', "Loading...")
*/
export default new class NoIconsInLocalizedStrings implements eslint.Rule.RuleModule {

readonly meta: eslint.Rule.RuleMetaData = {
messages: {
noIconInLocalizedString: 'Theme icon syntax $(…) should not appear inside localized strings. Move it outside the localize call or pass it as a placeholder argument.'
},
docs: {
description: 'Prevents $(icon) theme icon syntax inside localize() string arguments',
},
type: 'problem',
schema: false,
};

create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {

// Matches $(iconName) or $(iconName~modifier) but not escaped \$(...)
const iconPattern = /(?<!\\)\$\([a-zA-Z][\w~-]*\)/;

function isLocalizeCall(callee: TSESTree.CallExpression['callee']): { isLocalize: boolean; messageArgIndex: number } {
// Direct localize('key', "message", ...) or localize2('key', "message", ...)
if (callee.type === 'Identifier' && (callee.name === 'localize' || callee.name === 'localize2')) {
return { isLocalize: true, messageArgIndex: 1 };
}

// nls.localize('key', "message", ...) or *.localize(...)
if (callee.type === 'MemberExpression' && callee.property.type === 'Identifier' && callee.property.name === 'localize') {
return { isLocalize: true, messageArgIndex: 1 };
}

return { isLocalize: false, messageArgIndex: -1 };
}

function getStringValue(node: TSESTree.Node): string | undefined {
if (node.type === 'Literal' && typeof node.value === 'string') {
return node.value;
}
if (node.type === 'TemplateLiteral' && node.expressions.length === 0 && node.quasis.length === 1) {
return node.quasis[0].value.cooked ?? undefined;
}
return undefined;
}

function checkCallExpression(node: TSESTree.CallExpression) {
const { isLocalize, messageArgIndex } = isLocalizeCall(node.callee);
if (!isLocalize) {
return;
}

// The first argument may be a string key or an object { key, comment }.
// Adjust the message argument index if the first arg is an object.
let actualMessageArgIndex = messageArgIndex;
const firstArg = node.arguments[0];
if (firstArg && firstArg.type === 'ObjectExpression') {
// localize({ key: '...', comment: [...] }, "message", ...)
actualMessageArgIndex = 1;
}

const messageArg = node.arguments[actualMessageArgIndex];
if (!messageArg) {
return;
}

const messageValue = getStringValue(messageArg);
if (messageValue !== undefined && iconPattern.test(messageValue)) {
context.report({
node: messageArg,
messageId: 'noIconInLocalizedString'
});
}
}

return {
CallExpression: (node: any) => checkCallExpression(node as TSESTree.CallExpression)
};
}
};
79 changes: 79 additions & 0 deletions .eslint-plugin-local/code-no-static-node-module-import.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

import { TSESTree } from '@typescript-eslint/typescript-estree';
import * as eslint from 'eslint';
import { builtinModules } from 'module';
import { join, normalize, relative } from 'path';
import minimatch from 'minimatch';
import { createImportRuleListener } from './utils.ts';

const nodeBuiltins = new Set([
...builtinModules,
...builtinModules.map(m => `node:${m}`)
]);

const REPO_ROOT = normalize(join(import.meta.dirname, '../'));

export default new class implements eslint.Rule.RuleModule {

readonly meta: eslint.Rule.RuleMetaData = {
messages: {
staticImport: 'Static imports of \'{{module}}\' are not allowed here because they are loaded synchronously on startup. Use a dynamic `await import(...)` or `import type` instead.'
},
docs: {
description: 'Disallow static imports of node_modules packages to prevent synchronous loading on startup. Allows Node.js built-ins, electron, relative imports, and whitelisted file paths.'
},
schema: {
type: 'array',
items: {
type: 'string'
}
}
};

create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
const allowedPaths = context.options as string[];
const filePath = normalize(relative(REPO_ROOT, normalize(context.getFilename()))).replace(/\\/g, '/');

// Skip whitelisted files
if (allowedPaths.some(pattern => filePath === pattern || minimatch(filePath, pattern))) {
return {};
}

return createImportRuleListener((node, value) => {
// Allow `import type` and `export type` declarations
if (node.parent?.type === TSESTree.AST_NODE_TYPES.ImportDeclaration && node.parent.importKind === 'type') {
return;
}
if (node.parent && 'exportKind' in node.parent && node.parent.exportKind === 'type') {
return;
}

// Allow relative imports
if (value.startsWith('.')) {
return;
}

// Allow Node.js built-in modules
if (nodeBuiltins.has(value)) {
return;
}

// Allow electron
if (value === 'electron') {
return;
}

context.report({
loc: node.parent!.loc,
messageId: 'staticImport',
data: {
module: value
}
});
});
}
};
103 changes: 103 additions & 0 deletions .eslint-plugin-local/code-no-telemetry-common-property.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

import * as eslint from 'eslint';
import type * as ESTree from 'estree';

const telemetryMethods = new Set(['publicLog', 'publicLog2', 'publicLogError', 'publicLogError2']);

/**
* Common telemetry property names that are automatically added to every event.
* Telemetry events must not set these because they would collide with / be
* overwritten by the common properties that the telemetry pipeline injects.
*
* Collected from:
* - src/vs/platform/telemetry/common/commonProperties.ts (resolveCommonProperties)
* - src/vs/workbench/services/telemetry/common/workbenchCommonProperties.ts
* - src/vs/workbench/services/telemetry/browser/workbenchCommonProperties.ts
*/
const commonTelemetryProperties = new Set([
'common.machineid',
'common.sqmid',
'common.devdeviceid',
'sessionid',
'commithash',
'version',
'common.releasedate',
'common.platformversion',
'common.platform',
'common.nodeplatform',
'common.nodearch',
'common.product',
'common.msftinternal',
'timestamp',
'common.timesincesessionstart',
'common.sequence',
'common.snap',
'common.platformdetail',
'common.version.shell',
'common.version.renderer',
'common.firstsessiondate',
'common.lastsessiondate',
'common.isnewsession',
'common.remoteauthority',
'common.cli',
'common.useragent',
'common.istouchdevice',
]);

export default new class NoTelemetryCommonProperty implements eslint.Rule.RuleModule {

readonly meta: eslint.Rule.RuleMetaData = {
messages: {
noCommonProperty: 'Telemetry events must not contain the common property "{{name}}". Common properties are automatically added by the telemetry pipeline and will be dropped.',
},
schema: false,
};

create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {

/**
* Check whether any property key in an object expression is a reserved common telemetry property.
*/
function checkObjectForCommonProperties(node: ESTree.ObjectExpression) {
for (const prop of node.properties) {
if (prop.type === 'Property') {
let name: string | undefined;
if (prop.key.type === 'Identifier') {
name = prop.key.name;
} else if (prop.key.type === 'Literal' && typeof prop.key.value === 'string') {
name = prop.key.value;
}
if (name && commonTelemetryProperties.has(name.toLowerCase())) {
context.report({
node: prop.key,
messageId: 'noCommonProperty',
data: { name },
});
}
}
}
}

return {
['CallExpression[callee.property.type="Identifier"]'](node: ESTree.CallExpression) {
const callee = node.callee;
if (callee.type !== 'MemberExpression') {
return;
}
const prop = callee.property;
if (prop.type !== 'Identifier' || !telemetryMethods.has(prop.name)) {
return;
}
// The data argument is the second argument for publicLog/publicLog2/publicLogError/publicLogError2
const dataArg = node.arguments[1];
if (dataArg && dataArg.type === 'ObjectExpression') {
checkObjectForCommonProperties(dataArg);
}
},
};
}
};
12 changes: 7 additions & 5 deletions .eslint-plugin-local/code-translation-remind.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,19 @@ export default new class TranslationRemind implements eslint.Rule.RuleModule {

private _checkImport(context: eslint.Rule.RuleContext, node: TSESTree.Node, path: string) {

if (path !== TranslationRemind.NLS_MODULE) {
if (path !== TranslationRemind.NLS_MODULE && !path.endsWith('/nls.js')) {
return;
}

const currentFile = context.getFilename();
const matchService = currentFile.match(/vs\/workbench\/services\/\w+/);
const matchPart = currentFile.match(/vs\/workbench\/contrib\/\w+/);
if (!matchService && !matchPart) {
const matchSessionsPart = currentFile.match(/vs\/sessions\/contrib\/\w+/);
if (!matchService && !matchPart && !matchSessionsPart) {
return;
}

const resource = matchService ? matchService[0] : matchPart![0];
const resource = matchService ? matchService[0] : matchPart ? matchPart[0] : matchSessionsPart![0];
let resourceDefined = false;

let json;
Expand All @@ -47,9 +48,10 @@ export default new class TranslationRemind implements eslint.Rule.RuleModule {
console.error('[translation-remind rule]: File with resources to pull from Transifex was not found. Aborting translation resource check for newly defined workbench part/service.');
return;
}
const workbenchResources = JSON.parse(json).workbench;
const parsed = JSON.parse(json);
const resources = [...parsed.workbench, ...parsed.sessions];

workbenchResources.forEach((existingResource: any) => {
resources.forEach((existingResource: any) => {
if (existingResource.name === resource) {
resourceDefined = true;
return;
Expand Down
7 changes: 5 additions & 2 deletions .github/CODENOTIFY
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ src/vs/base/browser/ui/tree/** @joaomoreno @benibenj
# Platform
src/vs/platform/auxiliaryWindow/** @bpasero
src/vs/platform/backup/** @bpasero
src/vs/platform/browserView/** @kycutler @jruales
src/vs/platform/dialogs/** @bpasero
src/vs/platform/editor/** @bpasero
src/vs/platform/environment/** @bpasero
Expand All @@ -40,8 +41,8 @@ src/vs/platform/secrets/** @TylerLeonhardt
src/vs/platform/sharedProcess/** @bpasero
src/vs/platform/state/** @bpasero
src/vs/platform/storage/** @bpasero
src/vs/platform/terminal/electron-main/** @Tyriar
src/vs/platform/terminal/node/** @Tyriar
src/vs/platform/terminal/electron-main/** @anthonykim1
src/vs/platform/terminal/node/** @anthonykim1
src/vs/platform/utilityProcess/** @bpasero
src/vs/platform/window/** @bpasero
src/vs/platform/windows/** @bpasero
Expand All @@ -65,6 +66,7 @@ src/vs/code/** @bpasero @deepak1556
src/vs/workbench/services/activity/** @bpasero
src/vs/workbench/services/authentication/** @TylerLeonhardt
src/vs/workbench/services/auxiliaryWindow/** @bpasero
src/vs/workbench/services/browserView/** @kycutler @jruales
src/vs/workbench/services/contextmenu/** @bpasero
src/vs/workbench/services/dialogs/** @alexr00 @bpasero
src/vs/workbench/services/editor/** @bpasero
Expand Down Expand Up @@ -97,6 +99,7 @@ src/vs/workbench/electron-browser/** @bpasero

# Workbench Contributions
src/vs/workbench/contrib/authentication/** @TylerLeonhardt
src/vs/workbench/contrib/browserView/** @kycutler @jruales
src/vs/workbench/contrib/files/** @bpasero
src/vs/workbench/contrib/chat/browser/chatListRenderer.ts @roblourens
src/vs/workbench/contrib/localization/** @TylerLeonhardt
Expand Down
4 changes: 4 additions & 0 deletions .github/agents/data.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,7 @@ Your response should include:
- Interpretation and analysis of the results
- References to specific documentation files when applicable
- Additional context or insights from the telemetry data

# Troubleshooting

If the connection to the Kusto cluster is timing out consistently, stop and ask the user to check whether they are connected to Azure VPN.
15 changes: 15 additions & 0 deletions .github/agents/sessions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: Sessions Window Developer
description: Specialist in developing the Agent Sessions Window
---

# Role and Objective

You are a developer working on the 'sessions window'. Your goal is to make changes to the sessions window (`src/vs/sessions`), minimally editing outside of that directory.

# Instructions

1. **Always read the `sessions` skill first.** This is your primary source of truth for the sessions architecture.
- Invoke `skill: "sessions"`.
2. Focus your work on `src/vs/sessions/`.
3. Avoid making changes to core VS Code files (`src/vs/workbench/`, `src/vs/platform/`, etc.) unless absolutely necessary for the sessions window functionality.
Loading