Skip to content

fix(dashboard): keep the reply name and map preview inside the panel - #1429

Merged
rmyndharis merged 1 commit into
mainfrom
fix/chats-narrow-overflow-residuals
Aug 21, 2026
Merged

fix(dashboard): keep the reply name and map preview inside the panel#1429
rmyndharis merged 1 commit into
mainfrom
fix/chats-narrow-overflow-residuals

Conversation

@rmyndharis

Copy link
Copy Markdown
Owner

Two elements in the chat pane carry no width constraint of their own, so once the room is narrow they paint through their neighbours and out past .chats-layout's clip. Neither is caused by the composer work in #1425 or #1427; both are pre-existing.

What changed

  • .chats-page .replying-to-title gains white-space: nowrap, overflow: hidden and text-overflow: ellipsis. It was the only text node in the reply banner without them; its own sibling .replying-to-body has had all three all along.
  • The location message's map preview moves from an inline style={{ maxWidth: 220, ... }} to a .chats-page .chat-location-media class with max-width: min(220px, 100%). It keeps the same 220px cap but is now bounded by the bubble, which is how every other media element in a bubble is already sized. min() follows the existing use in CustomSelect.css.

Impact

Measured in headless Chromium with the real webfont and the production globals, navigation expanded. 889px is the narrowest viewport at which the two-pane layout survives once #1427 lands, and 243px is the room there.

Reply banner, quoted name with no break opportunity, measured from the text's own rectangle because the element box reports no overflow at all:

Quoted name Ink relative to the close button, before
12 characters 58px clear
18 characters 10px clear
25 characters 44px across it
40 characters 162px across it, 107px past the panel edge

After, the title is clipped inside its box and shows an ellipsis. The discriminating evidence is structural plus visual, not the rectangle: scrollWidth 385 against clientWidth 133 with a non-visible overflow, and the two screenshots hash differently. A Range rectangle is the wrong instrument here, since it is not clipped by an ancestor's overflow and reports where the text would sit rather than where it paints.

Map preview:

Viewport Room Width before past the edge before Width after past the edge after
889px 243px 220px 15px outside 165px 40px inside
900px 254px 220px 4px outside 176px 40px inside
960px and wider 314px and wider 220px inside 220px unchanged

The cap still binds wherever there is room for it, so nothing changes on an ordinary desktop width.

Verification

  • Both tables above measured on the branch files themselves against main.
  • The map preview is unchanged at 960px and wider, so the visual size on a normal window is untouched.
  • The reply title change is visible in pixels, confirmed by differing screenshot hashes at 889px.
  • Dashboard lane locally: lint, format:check, typecheck, i18n:check, build, test:unit. Docs lane test:docs, 264 tests. The page-CSS scope gate passes, 11 of 11.
  • Removing the inline style let Prettier collapse the JSX onto one line; that reformat is in the diff and format:check is clean.

Note

The changelog entry sits at the same anchor as the one in #1427. Whichever lands second needs a one line rebase there, and a conflicted PR in this repository gets no CI run at all while reporting "no checks reported", so re-check it after rebasing.

Fixes #1428

Two elements in the chat pane carried no width constraint of their own,
so once the room was narrow they painted through their neighbours and
out past the panel's clip.

The reply banner's quoted name was the only text node there without the
truncation its own sibling body already has, so an unbreakable name kept
its box and its ink ran across the close button: 44px across it at 25
characters and 162px at 40, measured at the narrowest two-pane width.

The location message's map preview carried its size as an inline pixel
width, the one media element in a bubble not bounded by its container.
It stayed 220px wide however narrow the room got, passing the clip by
15px. It now sizes from a class beside the other media types and keeps
the same cap, bounded by the bubble.
@rmyndharis
rmyndharis force-pushed the fix/chats-narrow-overflow-residuals branch from 99268b2 to 9c11dd1 Compare August 21, 2026 08:18
@rmyndharis
rmyndharis merged commit f87e6f5 into main Aug 21, 2026
9 checks passed
@rmyndharis
rmyndharis deleted the fix/chats-narrow-overflow-residuals branch August 21, 2026 08:26
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.

Reply banner title and location thumbnail paint outside a narrow chat panel

1 participant