Skip to content

fix(chat): align queue actions and keep attachments beside messages - #3781

Merged
bobleer merged 1 commit into
GCWing:mainfrom
bobleer:bob/fix-queue-attachment-alignment
Nov 6, 2026
Merged

bobleer merged 1 commit into
GCWing:mainfrom
bobleer:bob/fix-queue-attachment-alignment

Conversation

@bobleer

@bobleer bobleer commented Nov 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

When queued messages have attachments, the badge sits at the far end of the content area instead of following the text. Recovery descriptions also change the row height and vertically shift its controls. Group previews and attachments on a dedicated message line, and align normal and recovery controls to that line with consistent widths and icon sizes.

Type and Areas

Type: UI/UX and bug fix

Areas: Web UI and shared composer components

Changes

  • Add an optional ChatComposerQueueItemMessage slot. Short previews retain their natural width; long previews shrink while their attachment badge remains visible next to the text.
  • Keep status descriptions below the message line. Allow additional bounded height for recovery descriptions, without changing the four-row limit for ordinary queued messages.
  • Reserve the same action area across rows. Recovery actions use a labeled retry/restore action plus consistently sized copy and dismiss icons; narrow trays retain accessible icon controls.
  • Apply the composition to both host and legacy queues, document it in the UI package, and add attachment-placement and alignment contracts.

Verification

  • pnpm run check:web — type-check, typography, appearance, theme color and visual contracts passed
  • Focused queue, timeline, draft, icon integration and startup tests — 56 passed
  • node --test design-system/packages/ui/tests/*.test.mjs after package build — 352 passed
  • pnpm run i18n:audit; pnpm --dir src/web-ui run icons:check; focused ESLint; git diff --check — passed
  • pnpm run motion:audit — no new queue motion identified

The local review fixture was rebuilt from the current production component source, with its visualization-shell CSS removed to avoid button-style interference. Its dark/light and narrow layouts were inspected for debugging; fixture screenshots are not evidence of native WebView fidelity. No live SSH, Remote Control, Peer Device or Detached Dispatch scenario was exercised. The focused tests include simulated Peer and host recovery; transport and persisted shapes are unchanged.

Reviewer Notes

Local history and source review found that 127c69929 already changed queue presentation and actions, but retained the badge outside the content and centered controls against the entire row. The reported local preview had an older component bundle; rebuilding it alone would not fix the remaining attachment placement in production.

Checklist

  • Focused changes; no generated preview files, secrets or unrelated artifacts committed.
  • Relevant verification recorded above.
  • User-facing copy and owning component documentation updated.

@bobleer
bobleer merged commit 50cfd79 into GCWing:main Nov 6, 2026
9 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.

1 participant