Skip to content

Agents web: Host filtering improvements and mobile improvements#313062

Merged
osortega merged 6 commits into
mainfrom
agents/playwright-file-evaluation
Apr 28, 2026
Merged

Agents web: Host filtering improvements and mobile improvements#313062
osortega merged 6 commits into
mainfrom
agents/playwright-file-evaluation

Conversation

@osortega
Copy link
Copy Markdown
Contributor

Mobile UI Improvements for Agents Window

Four phone-only UX improvements for the vscode.dev/agents workbench, based on the Copilot Mobile redesign mockup evaluation.

All features are gated on IsPhoneLayoutContext. Desktop behavior is unchanged.


Feature 1: Filter Chips for Session List

Adds a horizontally scrollable chip row below the session list header (phone only).

  • Completed, In Progress, Failed status chips — act as inclusive toggles
  • Active chip renders with filled/highlighted style (badge.background/badge.foreground)
  • When no chip is active, all sessions are shown; one or more active chips filter to matching sessions
  • Widget: MobileSessionFilterChips in browser/parts/mobile/mobileSessionFilterChips.ts

Feature 2: Touch-Friendly Tool Cards

Improves touch targets for collapsible tool cards in the chat thread on phone.

  • Minimum 44px height on tool card toggle buttons (Apple/Google HIG)
  • Always-visible expand/collapse chevron (no hover required)
  • CSS-only change in mobileChatShell.css

Feature 3: Dedicated Mobile Terminal View

Full-screen overlay for terminal tool output on phone, replacing the gated-out desktop panel.

  • Header: ← Back + command name + exit code/duration badge
  • Body: monospace pre-formatted output, horizontally + vertically scrollable
  • Footer: Copy output · Search in output actions
  • Entry point: tap a terminal tool invocation in the chat thread
  • File: browser/parts/mobile/contributions/mobileTerminalView.ts

Feature 4: Dedicated Mobile Diff View

Full-screen overlay for file changes produced by a coding session.

  • Segmented control: Diff | File tabs
  • Diff tab: Unified diff with colored +/- gutters and line numbers (embedded lightweight Myers diff engine — no Monaco dependency)
  • File tab: Full file content with changed lines highlighted
  • Entry point: tap a file change card in chat or session details
  • File: browser/parts/mobile/contributions/mobileDiffView.ts

Architecture

  • Layer rules respected: vs/sessions/browser/** imports only from vs/workbench/services/**; contrib-layer command handlers (vs/sessions/contrib/sessions/browser/mobile/) bridge to view functions via local interfaces (TypeScript structural typing)
  • All overlay views use position: fixed; inset: 0 pattern, safe-area-inset-bottom for iOS, and Gesture.addTarget + EventType.CLICK + TouchEventType.Tap for touch compatibility
  • Touch targets: minimum 44px per HIG guidelines

…view, tool cards

- Feature 1: Add horizontally scrollable filter chips below session list header on phone layout.
  Chips for Completed, In Progress, and Failed status filters; active state highlights chip.

- Feature 2: Improve touch targets for collapsible tool cards in chat on mobile.
  Minimum 44px height for tool card toggle buttons and always-visible chevron.

- Feature 3: Add dedicated full-screen mobile terminal view overlay.
  Tapping a terminal tool invocation on phone opens a full-screen output view with
  back navigation, monospace output, and copy/search footer actions.

- Feature 4: Add dedicated full-screen mobile diff view overlay.
  Tapping a file change on phone opens a Diff/File segmented control view with
  inline unified diff (colored +/- gutters) and full file content tab.

All features are phone-only (IsPhoneLayoutContext). Desktop behavior is unchanged.
Layer rules preserved: sessions/browser imports only vs/workbench/services;
contrib-layer command handlers bridge to local-interface view functions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 28, 2026 17:41
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds several phone-only UX enhancements to the Agents (sessions) window: a session-list status chip row, improved touch targets for collapsible tool cards, and new full-screen mobile overlay views for terminal output and diffs, with command-based entry points gated by IsPhoneLayoutContext.

Changes:

  • Add mobile session status filter chips to the Sessions view (phone layout).
  • Introduce phone-only commands to open new mobile terminal/diff overlay views, and ensure they’re registered from the chat contribution.
  • Add new mobile overlay view implementations + shared CSS, and tweak mobile chat shell CSS for better touch affordances.
Show a summary per file
File Description
src/vs/sessions/contrib/sessions/browser/views/sessionsView.ts Conditionally creates a DOM slot and instantiates MobileSessionFilterChips on phone layout.
src/vs/sessions/contrib/sessions/browser/mobile/mobileOverlayContribution.ts Registers phone-only commands that open the terminal/diff overlay views.
src/vs/sessions/contrib/chat/browser/chat.contribution.ts Side-effect import to ensure mobile overlay commands are registered.
src/vs/sessions/browser/parts/mobile/mobileSessionFilterChips.ts New chip-row widget that drives status filtering via the sessions list host.
src/vs/sessions/browser/parts/mobile/mobileChatShell.css CSS tweaks to improve touch targets and chevron visibility on phone.
src/vs/sessions/browser/parts/mobile/media/mobileSessionFilterChips.css Styling for the new chip row.
src/vs/sessions/browser/parts/mobile/contributions/mobileTerminalView.ts New full-screen phone overlay to show terminal tool output + actions.
src/vs/sessions/browser/parts/mobile/contributions/mobileDiffView.ts New full-screen phone overlay to show a unified diff and file view (custom diff engine).
src/vs/sessions/browser/parts/mobile/contributions/media/mobileOverlayViews.css Shared overlay CSS + terminal/diff specific styling.

Copilot's findings

  • Files reviewed: 9/9 changed files
  • Comments generated: 15

Comment thread src/vs/sessions/browser/parts/mobile/contributions/mobileDiffView.ts Outdated
Comment thread src/vs/sessions/browser/parts/mobile/contributions/mobileDiffView.ts Outdated
Comment thread src/vs/sessions/contrib/sessions/browser/views/sessionsView.ts
Comment thread src/vs/sessions/browser/parts/mobile/contributions/mobileTerminalView.ts Outdated
Comment thread src/vs/sessions/browser/parts/mobile/mobileSessionFilterChips.ts
Comment thread src/vs/sessions/browser/parts/mobile/contributions/mobileDiffView.ts Outdated
Comment thread src/vs/sessions/browser/parts/mobile/mobileChatShell.css Outdated
Comment thread src/vs/sessions/browser/parts/mobile/contributions/mobileTerminalView.ts Outdated
Comment thread src/vs/sessions/browser/parts/mobile/contributions/mobileDiffView.ts Outdated
osortega and others added 4 commits April 28, 2026 13:57
Co-authored-by: Copilot <copilot@github.com>
@osortega osortega changed the title sessions: mobile UI improvements — filter chips, terminal view, diff view, tool cards Agents web: Host filtering improvements and mobile improvements Apr 28, 2026
Co-authored-by: Copilot <copilot@github.com>
@osortega osortega marked this pull request as ready for review April 28, 2026 22:45
@osortega osortega enabled auto-merge (squash) April 28, 2026 22:45
@osortega osortega merged commit 4701612 into main Apr 28, 2026
40 of 41 checks passed
@osortega osortega deleted the agents/playwright-file-evaluation branch April 28, 2026 22:53
@vs-code-engineering vs-code-engineering Bot added this to the 1.119.0 milestone Apr 28, 2026
dpearson2699 pushed a commit to dpearson2699/vscode that referenced this pull request Apr 29, 2026
…osoft#313062)

* sessions: mobile UI improvements — filter chips, terminal view, diff view, tool cards

- Feature 1: Add horizontally scrollable filter chips below session list header on phone layout.
  Chips for Completed, In Progress, and Failed status filters; active state highlights chip.

- Feature 2: Improve touch targets for collapsible tool cards in chat on mobile.
  Minimum 44px height for tool card toggle buttons and always-visible chevron.

- Feature 3: Add dedicated full-screen mobile terminal view overlay.
  Tapping a terminal tool invocation on phone opens a full-screen output view with
  back navigation, monospace output, and copy/search footer actions.

- Feature 4: Add dedicated full-screen mobile diff view overlay.
  Tapping a file change on phone opens a Diff/File segmented control view with
  inline unified diff (colored +/- gutters) and full file content tab.

All features are phone-only (IsPhoneLayoutContext). Desktop behavior is unchanged.
Layer rules preserved: sessions/browser imports only vs/workbench/services;
contrib-layer command handlers bridge to local-interface view functions.

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

* MVP

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

* Review

* Clean up

* Filter fixes

* Search fix

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
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.

3 participants