Files
vscode/src
Osvaldo Ortega 38f7aedc6b Agents mobile: phone-aware dialog handler (#323741)
* Agents mobile (prototype): phone-aware dialog handler

Render IDialogService confirm/prompt as native bottom sheets on phone
layout, covering every modal in the Agents window in one place instead of
converting call sites individually.

The Agents window now registers a MobileDialogHandlerContribution (in place
of the standard web dialog handler) that drains the shared dialog model
through a MobileAwareDialogHandler. That handler delegates to the standard
BrowserDialogHandler off-phone and for text input / about, and on phone maps
the dialog model (message + detail + ordered buttons + optional checkbox)
onto a bottom sheet via the existing showMobileContentSheet primitive:
full-width stacked buttons at 44px, the safe action styled secondary, focus
moved into the sheet and restored on close.

Because confirmations from the sessions layer AND inherited chat / workbench
dialogs all flow through one handler, this covers them uniformly (e.g. delete
session, delete chat, discard changes, sign out) without per-call-site work.

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

* Agents mobile: drop the bespoke archive confirm sheet

The phone-aware dialog handler now renders every IDialogService.confirm as
a bottom sheet on phone, so the per-call-site mobileArchiveConfirmSheet is
redundant. Collapse ArchiveSectionAction back to a single dialogService.confirm
(matching the group "Mark All as Done" action) and delete the bespoke helper.

This also brings the section archive-all in line with the group archive-all:
both now flow through the handler and get the same sheet on phone, including
the "Do not ask me again" checkbox (safe to surface now that it renders in a
proper bottom sheet rather than the previously cramped desktop dialog).

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

* Address review: live checkbox state + dialog aria-describedby

- Track the chosen button and checkbox state across the whole interaction so
  a backdrop / Escape dismiss (or a checkbox toggle) returns the live values
  instead of a snapshot captured only on button click.
- Wire the message / detail to the sheet's role="dialog" element via
  aria-describedby so screen readers announce them when the sheet opens.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-01 10:45:16 -07:00
..