Skip to content

feat(web): wide chat tables grow past the reading column before scrolling - #13443

Closed
itssotsot wants to merge 3 commits into
pingdotgg:mainfrom
itssotsot:feat/chat-tables-fit-width
Closed

itssotsot wants to merge 3 commits into
pingdotgg:mainfrom
itssotsot:feat/chat-tables-fit-width

Conversation

@itssotsot

@itssotsot itssotsot commented Sep 24, 2026 •

Copy link
Copy Markdown

What Changed

  • Wider tables. Top-level tables in assistant replies can grow up to 64rem, centered on the 48rem reading column, so they widen evenly into the side gutters. Past that, or past the pane width minus the minimap gutter, the existing horizontal scroll view takes over. The centering is flex layout (justify-content: center), not transforms, so text stays pixel-snapped. The timeline scroll element is a size container (@container/chat-timeline) so the cap can use the pane width.
  • No more expand/collapse toggle. Cells always wrap at 24rem instead of truncating with an ellipsis, which is what the old expanded mode did. The table footer now only has the copy button.
  • Scope. Only direct-child tables of assistant message markdown (.chat-markdown-wide-tables) widen. Tables inside lists, blockquotes, reasoning, user messages, and cards stay in the column.
  • Row clip. I removed the timeline row's overflow-x-clip so the wider table can paint. The list's own overflow-x-hidden and LegendList's per-item contain: paint still clip at the pane edge.

Surfaces: web and desktop share this path. Mobile uses its own native markdown renderer and is unchanged.

Why

Markdown tables in assistant replies were capped to the reading column. Any table with more than a few columns got a horizontal scroll view and truncated cells, even when the chat pane had plenty of empty space on both sides. Letting tables use a bounded amount of that space makes most comparison tables readable at a glance. The scroll view stays as the fallback for very wide tables. Once cells wrap by default, the expand toggle has nothing left to do, so it's removed rather than kept as a dead control.

UI Changes

Before: the table is limited to the reading column, cells truncate, and it scrolls horizontally.

Before

After: the table widens past the column (up to 64rem), cells wrap, and there's no expand toggle.

After

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes (N/A: no animation or new interaction; the change is static layout)

🤖 Generated with Claude Code (Claude Opus 5.5)

Summary by CodeRabbit

  • Improvements

    • Assistant reply tables now wrap long cell content and use a wider, capped layout for easier reading.
    • The copy-as-Markdown and copy-as-CSV controls appear beside the table.
  • Changes

    • Expand/collapse controls have been removed from assistant reply tables.

…crolling

Top-level tables in assistant replies now widen into the timeline's side
gutters (centered, capped to the pane minus the minimap gutter). The
horizontal scroll view only kicks in when even the full pane is too narrow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 24, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at fe3dbbc

Macroscope's review found this PR approvable — This is a localized web UI adjustment that changes how assistant markdown tables use available timeline width while preserving the existing scrolling fallback and table controls. It introduces no schema, deployment, security, billing, or configuration changes.

You can add or adjust custom eligibility rules. Learn more.

@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: pingdotgg/t3code/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: eccd7096-e97d-4b73-a5c6-2aa511a3f0b8

📥 Commits

Reviewing files that changed from the base of the PR and between fe3dbbc and ce42794.

📒 Files selected for processing (3)
  • apps/web/src/components/ChatMarkdown.tsx
  • apps/web/src/components/chat/MessagesTimeline.tsx
  • apps/web/src/index.css
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/web/src/components/chat/MessagesTimeline.tsx

Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review.


📝 Walkthrough

Walkthrough

Assistant markdown tables no longer have expand and collapse controls. Their cells always wrap. The assistant timeline opts into wide-table styling, which sizes the table frame against the timeline container and caps its width at 64rem.

Changes

Assistant table layout

Layer / File(s) Summary
Table controls and cell layout
apps/web/src/components/ChatMarkdown.tsx, apps/web/src/index.css
The table retains its copy menu and removes expansion state and controls. Cells always wrap, with a maximum width of 24rem.
Timeline frame sizing
apps/web/src/components/chat/MessagesTimeline.tsx, apps/web/src/index.css
The assistant timeline opts into wide-table styling and adds a container query. The row wrapper no longer clips horizontal overflow. The frame is top-aligned and capped at 64rem.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: juliusmarminge

Merge Risk: ⚪ Minimal · up to ce427

No actionable merge-blocking issue remains. Wide assistant tables can use the wider frame while other inspected content stays bounded.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files. (1 skipped: 1… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly and concisely summarizes the primary change: assistant chat tables can grow beyond the reading column before horizontal scrolling applies.
Description check ✅ Passed The description includes all required sections, explains the layout and behavior changes, states the rationale, provides before/after UI screenshots, and completes the checklist.
Full details: Docstring Coverage

Explanation

Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

…idth

The expand/collapse cell toggle is gone: cells always wrap at 24rem now that
tables can widen. The breakout is capped at 64rem so tables scroll sooner,
and the flex wrapper no longer stretches the frame, which had let the
ScrollArea swallow the copy footer and overlap the following text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@itssotsot itssotsot changed the title feat(web): wide chat tables grow past the reading column instead of scrolling feat(web): wide chat tables grow past the reading column before scrolling Sep 24, 2026
…antTimelineRow

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Sep 24, 2026
@GammelSami

Copy link
Copy Markdown

Cool! I'm here because it's annoying to scroll sideways when there's still space left on my screen. But why 64rem as the limit? I like the approach of #11594, but I don't want the whole chat to be wide, I only want huge tables to be wide.

@itssotsot

Copy link
Copy Markdown
Author

I added that limit because I didn't want the table to occupy the whole width. It felt a little bit weird. Either way, I don't think they will merge with BR.

Copy link
Copy Markdown
Member

Note

This comment is posted by Julius' dot

This changes the default table layout and removes the existing expand/collapse control. No maintainer approval for that direction is linked. Closing under prior approval. The wasted space around wide tables is useful feedback; please agree on the layout and controls in Ideas, then link that approval for reconsideration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants