Skip to content

fix(transcript): keep a message's image chip in the body text flow - #1411

Merged
vastsa merged 1 commit into
mainfrom
feat/message-attachment-inline-flow
Oct 4, 2026
Merged

vastsa merged 1 commit into
mainfrom
feat/message-attachment-inline-flow

Conversation

@vastsa

@vastsa vastsa commented Oct 4, 2026

Copy link
Copy Markdown
Owner

What

An attachment a user message does not already name inline was rendered as a block above the message text. It now continues the body line, so a sent image reads as part of the message instead of a header over it.

Why

After #1400 and #1401 the draft and the message both show images as chips, but the message chip still sat in its own flex row above the text (margin-bottom: 7px, display: flex), which looked like a detached top block.

Notes

  • The chips stay one role="list" inside the body text container for assistive technology; an image-only message still renders its chip on its own.
  • No data change: this is where the existing chips are placed, nothing about which attachments render.
  • Spec, transcript scenario and the rendered-message contract cover the position ("continuation of the body", not a heading block).

Checks

  • tsc -p apps/desktop/tsconfig.json --noEmit
  • node --test apps/desktop/test/*.test.mjs — 3513 passed (new session-reference-ui case asserts the chip follows the text inside the body container)
  • biome lint, scripts/check-style-tokens.mjs
  • node scripts/e2e-transcript-render.mjs — ok
  • node scripts/e2e-image-chat.mjs — ok
  • node scripts/e2e-composer-paste.mjs — ok
  • Specs: 04-ux/08-component-spec.md, 06-delivery/04-e2e-test-plan.md (+ zh-CN)

Task candidate a840a14db on base main b9ad05edf.

An attachment the user message body does not already name inline was rendered
as a block above the text, so a sent image read as a header instead of part of
the message. The chip now continues the body line, while an image-only message
still shows its own chip.

The chips stay a list for assistive technology, and both the rendered-message
contract and the transcript scenario cover the position.
Copilot AI balanced review requested due to automatic review settings October 4, 2026 17:37

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@vastsa
vastsa merged commit abfeeb2 into main Oct 4, 2026
4 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