Conversation
Mount status and stability tooltips only while their badge is hovered or focused, and memoize unchanged badges so search keystrokes skip them. Typing "readFile" to its final result is 53% faster at normal CPU speed and 48% faster under 4x CPU throttling in lab measurements. Add Playwright browser contracts for row reachability, search and tier filters, badge render counts, and mouse/keyboard tooltip details. Run them in the docs gate and a required CI job. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
@jonbaldie is attempting to deploy a commit to the Vercel Labs Team on Vercel. A member of the Team first needs to authorize it. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The
/compatibilitymatrix mounted a hidden tooltip for every badge (~32k elements with all 3,662 rows expanded) and re-rendered every badge on each search keystroke.Every row, label, filter, and tooltip text is unchanged. Tooltips still appear on hover and keyboard focus.
CI gains a required
test (docs compatibility browser contracts)job that runs the docs gate with Chromium.Evidence
Lab-only: production Next.js build, Apple M3, Chrome for Testing 154, 9 attempts per phase. Measured from first input until two animation frames after the final matching
readFileresult.r→recalls the status renderer 6,128 times. The new contracts failed on2069684.After: 0 tooltip nodes, at most
17 × rows + 500elements (58,649 vs 90,922 before), and ≤ 16 retained-badge renders per kind. All 4 contracts pass.Settled tooltip screenshots: desktop is pixel-identical, and mobile differs in 92 of 912,600 color channels.
A CSS
content-visibilityexperiment was rejected because it collapsed table height from ~210k to ~68k px, changing scroll geometry.Validation. On this branch (rebased onto
0845c7f), both frozen installs andNEXT_DIST_DIR=.next-check pnpm checkpass.pnpm test:sandboxwas unavailable (expired Vercel credentials). The local fallback ran on2069684and is not green:zig COFF dry-run inputs retain complete cross-target cache hitsfailed withENOENTscanningcache/binafter 34.7 s under load. It passes in 5.9 s when run alone.No external symbolizers found … Is PATH set?into byte-compared stderr. It reproduces alone via2946-child-fork-ipc, which forks withenv: { IPC_FIXTURE: "yes" }(noPATH). Upstream's macOS 15sanshards passed on the same base commit, so this appears specific to the Darwin 25.6 host.This PR changes no compiler, runtime, or harness code.
Merge Danger
Door: two-way
Revert the commit to restore the old matrix and remove the CI job.
Blast Radius: docs-and-CI
mouseenter/focus. Settled visuals match, but the hover/focus fade-in has not been checked on real devices.@playwright/testas a root dev dependency.testaggregate. A flaky browser would block merges.🤖 Generated with Claude Code