block / block/buzz

Desktop: thread panel activity row is centered at max-w-4xl, misaligned with its composer

Open
#5,803 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.