Desktop: thread panel activity row is centered at max-w-4xl, misaligned with its composer
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
## What
In the thread panel, the composer activity row — the inline `: ` indicator rendered by `BotActivityComposerAction` — does not left-align with the composer directly above it. On a wide thread panel it drifts toward the center, leaving a large gap on its left. The same indicator in the main channel composer is flush left.
## Where
`desktop/src/features/messages/ui/MessageThreadPanel.tsx:930`
```tsx
```
The channel's equivalent wrapper has neither the cap nor the centering — `desktop/src/features/channels/ui/ChannelComposerActivityAccessory.tsx:43`:
```tsx
```
Both outer wrappers already share the same gutter (`THREAD_PANEL_COMPOSER_GUTTER_CLASS` is `"px-5"`, `desktop/src/features/messages/lib/messageThreadPanelLayout.ts:10`), and the thread's own `MessageComposer` receives only that gutter (`MessageThreadPanel.tsx:896-899`) — no `max-w-4xl`, no `mx-auto`. So the activity row is the only element in that stack constrained to 56rem and centered.
## Why it only shows up on wide panels
- row content box = `panelWidth - 40` (from `px-5`)
- cap = `max-w-4xl` = 896px
- `mx-auto` therefore starts to bite at `panelWidth > 936px`, and the left inset grows as `(panelWidth - 40 - 896) / 2`
The thread panel's upper bound is `max(720, viewport - 300)` (`shared/layout/auxiliaryPanelLayout.ts:15-20`), so any viewport at or above ~1236px can be dragged past the threshold. Below it the two frames coincide by luck, which is probably why this went unnoticed.
## Origin
`git log -L 930,930` points at #3151 ("Polish composer activity layout and transitions"): the `mx-auto ... max-w-4xl` frame was carried over from the previous toolbar row into the new accessory row. It is the only `max-w-4xl` in the entire conversation UI — the four remaining occurrences are Settings, two dialogs and onboarding.
## Repro
1. Window at ~1300px or wider.
2. Open a thread and drag the thread panel divider until the panel is wider than ~936px.
3. Mention an agent so the activity row appears.
4. The row — and the "Agents working" popover anchored to it — sits indented from the composer. The same row in the main channel is flush left.
## Expected
The activity row shares its composer's frame, exactly as it does in the channel.
## Duplicates
Searched open issues for `activity` and for `thread composer align`. The agent-activity issues that came back are behavioral (indicator missing or stale, replies not rendered) — none about layout. None found.
Contributor guide
Assessment
This issue has not been assessed yet.