Skip to content

fix(site): stop docs tables overflowing and showing through sticky bars#40

Draft
macanderson wants to merge 1 commit into
mainfrom
fix/docs-table-readability
Draft

fix(site): stop docs tables overflowing and showing through sticky bars#40
macanderson wants to merge 1 commit into
mainfrom
fix/docs-table-readability

Conversation

@macanderson

Copy link
Copy Markdown
Owner

What was wrong

On /docs/protocol-surface the conformance tables were unreadable at tablet and phone widths — the last column was cut off with no way to scroll to it, and table rows stayed visible through the two sticky bars while scrolling, reading as a ghosted second table overlapping the real one.

Root causes

1. html { zoom: 1.07 } was global. Media queries are evaluated against the unzoomed viewport, so every breakpoint fired while the layout actually had 1/1.07 of that width to work with. Measured on production:

width table overflow (with zoom) escapes article by without zoom
768 59px +38px 0
430 91px +81px 64px
390 128px +121px 104px

Once a table escapes the article, the docs grid's overflow-x-clip silently cuts it off.

The zoom is only wanted for the px-authored marketing page, so it moves from html onto .marketing-page.

2. Unbreakable code tokens. contextgraph-host::wire::versions_compatible is a single token, so it set the cell's min-content width and pushed the table past the viewport on narrow screens even with the zoom removed. Code inside table cells may now break mid-token.

3. Translucent sticky bars. Fumadocs ships the docs header and the TOC popover bar at bg-fd-background/80 + backdrop-blur-sm. Against this near-monochrome palette the rows underneath stayed legible through them.

Verification

Run against the production build (pnpm build && pnpm start), Chrome, 320–1512px, light and dark:

  • Table overflow and article escape are 0 at every width in both colour schemes (previously up to 194px at 320px).
  • Marketing page is pixel-identical to production — screenshot sha256 matches at 1440 and 1024. This is the check that the relocated zoom did not regress what the zoom was for.
  • pnpm lint clean, pnpm test 5/5, pnpm build clean.

Note on scope

The reported symptom was reproduced at tablet/phone widths. Desktop Chrome (1280/1440) measured and screenshotted clean before this change, so if the original report was from a desktop-width window this may not be the same defect — worth a confirmation. WebKit/Safari was not tested (browser install timed out); zoom on the root is handled differently there, so removing it should help rather than hurt.

The protocol-surface conformance tables were unreadable at tablet and
phone widths: the last column was cut off with no way to scroll to it,
and table rows stayed visible through the two sticky bars as you
scrolled, reading as a ghosted second table over the real one.

Three causes, all in the docs' shared CSS:

* `html { zoom: 1.07 }` was global. Media queries are evaluated against
  the unzoomed viewport, so every breakpoint fired while the layout
  actually had 1/1.07 of that width to work with. At 768px the tables
  overflowed by up to 59px and escaped the article, where the docs
  grid's `overflow-x-clip` silently cut them off. The zoom is only
  wanted for the px-authored marketing page, so it moves onto
  `.marketing-page` — the marketing layout renders pixel-identically
  (verified by screenshot hash at 1440 and 1024), and the docs go back
  to the natural scale fumadocs is designed around.

* Long identifiers like `contextgraph-host::wire::versions_compatible`
  are one unbreakable token, so they set the cell's min-content width
  and pushed the table past the viewport on narrow screens even without
  the zoom. Code inside table cells may now break mid-token.

* Fumadocs ships the docs header and the TOC popover bar at 80% alpha
  over a backdrop blur. Against this near-monochrome palette the rows
  underneath stayed legible through them. Both bars are now opaque.

Verified on the production build at 320–1512px in both colour schemes:
table overflow and article escape are 0 at every width (previously up
to 194px at 320px), and the marketing page is byte-identical.
@vercel

vercel Bot commented Jul 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
context-graph-protocol Ready Ready Preview, Comment Jul 22, 2026 1:17am

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @macanderson, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

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.

1 participant