Skip to content

[pull] main from microsoft:main#1181

Merged
pull[bot] merged 12 commits intocode:mainfrom
microsoft:main
Apr 25, 2026
Merged

[pull] main from microsoft:main#1181
pull[bot] merged 12 commits intocode:mainfrom
microsoft:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 25, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

rebornix and others added 12 commits April 24, 2026 14:31
Remove 22 !important declarations from mobileChatShell.css where the
.phone-layout class already wins by specificity. Kept !important only
where it fights SplitView inline styles, Part.layoutContents inline
sizing, or an equal-specificity desktop rule. Added a top-of-file
policy comment documenting the three legitimate reasons to use
!important here so future additions don't accrete out of habit.

Verified against a 393x852 iPhone emulation with the mock agent host:
welcome screen, sidebar overlay, session opening, and chat input
layout are unchanged.

Also updated the vscode-dev-workbench skill to call out that npm run
dev must run in the vscode-dev folder (not vscode) and that the mock
agent host is a separate process that must be started in addition to
the dev server.
Replace the hamburger icon (Codicon.menu) in the mobile titlebar with
the agents-app sidebar toggle icon (layoutSidebarLeftOff /
layoutSidebarLeft), matching desktop/web. The icon flips based on
SideBarVisibleContext, and the aria-label toggles between "Open
sessions" and "Close sessions".

Make the mobile sidebar cover the full viewport width below the top
bar instead of an 85%/360px drawer with scrim. The toggle button in
the top bar stays visible and is the dismiss affordance. Removes the
no-longer-needed backdrop element and its CSS.
The previous code wrote inline position/top/left/width/height/zIndex
on the sidebar Part container from layoutMobileSidebar(). Those styles
were applied AFTER the grid had already made the wrapper visible and
the browser had painted one frame, producing a visible snap on every
toggle.

The geometry was redundant with the existing layout anyway: the
mobile top bar is a flex sibling above the grid, so the grid (and
therefore the .split-view-view wrapper which fills the grid via CSS)
is already correctly positioned below the top bar. The Part fills
the wrapper. No inline positioning is needed.

Drop the inline style writes; keep the mobile-overlay-sidebar class
toggle (used for background) and the explicit sidebarPart.layout()
call so the Part's internal sizing matches the drawer dimensions
even on the first paint.
* Fix popup-blocked dialog on vscode.dev/agents first load

Register SessionsWorkspaceContextService and the sessions ConfigurationService in the browser agents workbench, mirroring what the desktop entry does in electron-browser/sessions.main.ts.

The fix:
- Make BrowserMain.initServices() protected so SessionsBrowserMain can override it
- Override initServices() to replace IWorkspaceContextService, IWorkspaceEditingService, and IWorkbenchConfigurationService with the sessions implementations that manage workspace folders in-memory

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix sessions web workspace service initialization

Extract createWorkspaceConfigAndStorageServices() from BrowserMain as a
protected method so SessionsBrowserMain can override just the workspace,
configuration, storage, and trust service creation.

This mirrors the desktop SessionsMain pattern: the agents window builds its
workspace/configuration services from the start, using SessionsWorkspaceContextService
and sessions ConfigurationService. No standard WorkspaceService is ever created.

All dependent services (request, encryption, secrets, user data sync/init) remain
in the base class and are shared by both the standard and sessions web entries.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Show hint text when links are opened in the browser by default

Co-authored-by: Copilot <copilot@github.com>

* feedback

---------

Co-authored-by: Copilot <copilot@github.com>
mobile: styling updates and smoother animation
* link to claude in permissions picker

* address comments
…312458)

better autopilot wording + if no tools were called in the last round, we dont continue
…Observer optimization (#312469)

PR #312317 made MenuWorkbenchToolBar use IntersectionObserver to only subscribe
to menu change events while the container is visible. This broke the account
widget in the Agent Sessions titlebar because both registerAction2 calls were
inside AccountWidgetContribution (WorkbenchPhase.AfterRestored). By the time
the contribution ran, the TitleBarRightLayout toolbar container was already
 has-no-actions class), the observer had fired with
isIntersecting:false, and it had stopped listening. The late-registered
menu items were never picked up.

Fix: move registerAction2 calls to module level so the actions are present in
Menus.TitleBarRightLayout when MenuWorkbenchToolBar first renders. The container
has items from the start, stays visible, and the IntersectionObserver keeps the
subscription active so subsequent actionViewItemService changes are picked up.
The actionViewItemService.register calls remain inside the contribution since
they require instantiationService.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Apr 25, 2026
@pull pull Bot added the ⤵️ pull label Apr 25, 2026
@pull pull Bot merged commit d716c75 into code:main Apr 25, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants