Skip to content

Compact single-line action bubbles on mobile with expandable full input#149

Merged
PureWeen merged 3 commits intomainfrom
mobile-compact-action-bubbles
Feb 20, 2026
Merged

Compact single-line action bubbles on mobile with expandable full input#149
PureWeen merged 3 commits intomainfrom
mobile-compact-action-bubbles

Conversation

@Redth
Copy link
Collaborator

@Redth Redth commented Feb 19, 2026

Summary

On mobile, tool action bubbles (Read, Run, Search, Edit) previously took multiple lines and didn't show useful context like the filename, command, or search query in the header. This made it hard to follow what Copilot was doing without expanding every bubble.

552424453-c3a656a4-a5c9-4f5a-8e00-b5ba4be8543e

Changes

Single-line mobile layout

Action bubbles on mobile (≤640px) are now compact single-line items with a chevron toggle:

● Read  …Components/ChatMessageList.razor  ▶
● Run   $ dotnet build -f net10.0-maccatalyst  ▶
● Edit  …Services/CopilotService.cs (+3 -2)  ▶
  • Header is clickable for expand/collapse (when output exists)
  • Chevron indicator (▶/▼) shown on mobile; desktop layout unchanged
  • action-input and separate action-output-toggle hidden on mobile
  • Tighter margins for compact vertical spacing

Head-truncated paths

File paths now show the tail (most informative part) with prefix when truncated — e.g., …Components/ChatMessageList.razor.css instead of just ChatMessageList.razor.css.

Full input visible on expand

When a bubble is expanded, the full command/path/query is shown as a distinct wrapping line at the top of the output area, so the complete text is always readable even when the header truncates it.

Desktop impact

None — desktop layout is completely unchanged. The chevron is hidden on desktop and the existing Output toggle row remains.

Testing

  • All 684 tests pass
  • Verified on Mac Catalyst and iPhone 17 Pro

Redth and others added 3 commits February 19, 2026 18:13
On mobile (≤640px), tool action bubbles (Read, Run, Search, Edit) are
now single-line with a chevron toggle instead of a separate Output row:

  ● Read  …path/to/file.txt  ▶

Changes:
- Header is clickable for expand/collapse when output exists
- Chevron indicator shown on mobile, hidden on desktop (unchanged)
- action-input and action-output-toggle hidden on mobile
- File paths head-truncated with … prefix to show the most useful tail
- Full command/path/query shown as a wrapping line inside the expanded
  output area so the complete text is always accessible

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The ToolStartedPayload was sending ToolName and CallId but dropping the
ToolInput parameter. This meant mobile clients in remote mode couldn't
display file paths, commands, or search queries in real-time — only
after reconnecting and syncing full history.

Now ToolInput flows through the entire bridge pipeline:
  Server → ToolStartedPayload → Client → ChatMessage.ToolCallMessage

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
File paths (Read, Edit, Create) use direction:rtl CSS trick to truncate
from the head, showing the most useful tail of the path with ellipsis
on the left. Commands and queries use default tail truncation.

Removed TruncateHead() C# helper — full paths are now passed to the
template and CSS handles overflow naturally at any viewport width.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@PureWeen PureWeen merged commit 997b795 into main Feb 20, 2026
6 checks passed
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.

2 participants