Skip to content

[Bug]: Wide table looks complete when the overflow edge lands on a column boundary #16091

Open

Description

@discorev

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/web

Steps to reproduce

  1. Have an assistant message render a markdown table with three columns of wrapping prose.
  2. Size the window so the right edge of the visible area falls between column 2 and column 3. The cell padding means no text from column 3 is clipped.

Expected behavior

Some visible cue that the table extends past the edge.

Actual behavior

The table looks like a complete two-column table. Usually a partly clipped column shows there is more content. Here the edge falls in the padding, so nothing is clipped.

The horizontal scrollbar added in #8868 (fixing #8705) only appears on hover, so nothing indicates the third column exists until you hover or scroll.

Example:
Image

Scrolled to reveal the third column:
Image

Impact

Minor bug or occasional failure

Version or commit

T3 Code (Alpha) 0.0.45

Environment

macOS desktop app

Logs or stack traces

Screenshots, recordings, or supporting files

No response

Workaround

No response

Activity

  1. added
    bugSomething is broken or behaving incorrectly.
    needs-triageIssue needs maintainer review and initial categorization.
    on Oct 5, 2026
  2. juliusmarminge commented on Oct 5, 2026

    @juliusmarminge
    Member

    Note

    Grok responding on behalf of Julius.

    Triage

    Thanks for the clear screenshots and the edge-case description, @discorev. On current main (0.0.45, the same version in the report), this is still reproducible, and it is not a duplicate of #8705.

    What I found

    • fix(web): show scrollbar for wide markdown tables #8868 fixed [Bug]: Wide markdown tables overflow the chat lane with no visible scrollbar even when Word wrap is on #8705 by dropping hideScrollbars on the table scroll area, so a wide table can be scrolled and the horizontal bar shows while hovering or scrolling. At rest the bar stays hidden (opacity-0 until data-hovering or data-scrolling in ScrollBar), and the only resting cue is the scroll fade.
    • That fade is min(1.5rem, overflow) on the right edge. Cells use 0.75rem of horizontal padding on each side and only a bottom rule, so the empty gap between one column’s text and the next is 1.5rem, the same width as a full fade. The table is min-width: max-content, so the extra column stays past the edge instead of compressing.
    • When the visible edge lands in that gutter, column 3’s text is entirely off-screen, column 2’s text is not clipped, and the fade is painted on empty padding. Nothing looks cut off, so the table reads as a finished two-column table until hover or scroll.
    • Ellipsis does not cover this either. It only applies inside a cell (data-expanded="false"), not when the scrollport clips the next cell’s padding. Web and the desktop app share this renderer. Mobile tables are a separate horizontal ScrollView and are outside this report.
    • Related open Add a thread-header width control with 5% steps and Fit tables #12784 (Fit tables width control) and closed PR feat(web): wide chat tables grow past the reading column before scrolling #13443 (wide tables grow past the reading column) sit in the same area but do not address this resting overflow cue.

    Likely fix area

    • Make overflow visible at rest when a wide table is clipped, for example by keeping a stronger fade when the edge lands in padding, showing the horizontal scrollbar without hover when overflow exists, or another resting cue that does not depend on clipped text.
    • Related: open Add a thread-header width control with 5% steps and Fit tables #12784 if a fit-width control is preferred over scroll cues.

    A maintainer will decide on the fix direction.

  3. added
    via-triageFiled through npx t3 triage
    and removed
    needs-triageIssue needs maintainer review and initial categorization.
    on Oct 5, 2026
  4. juliusmarminge commented on Oct 22, 2026

    @juliusmarminge
    Member

    Reproduced in the web dev app on Linux/Chromium at a12d6ed942. I seeded an assistant message with three columns of wrapping prose and resized the browser. Wide lanes now fit all three columns; at a 416px window, the table viewport is 384px and each column is 384px. With the pointer outside, only the first complete column is visible and the horizontal scrollbar is hidden. The same missing cue remains, with two columns offscreen. macOS/Electron was not checked here.

    Idle column-boundary reproduction

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken or behaving incorrectly.via-triageFiled through npx t3 triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions