Skip to content

test: Capture the sections of the new home page of nextjs.org - #927

Merged
shuding merged 1 commit into
mainfrom
shu/fidelity-recapture-home
Oct 15, 2026
Merged

shuding merged 1 commit into
mainfrom
shu/fidelity-recapture-home

Conversation

@shuding

@shuding shuding commented Oct 15, 2026

Copy link
Copy Markdown
Member

The home page of nextjs.org was redesigned. The selectors of its four cases used hashed class names, like [class*="_intro"], which don't match anything anymore, so they couldn't be captured again. The other seven cases still match.

The selectors are now structural, which survive new deployments of the page, and the four sections are captured from the new page:

Case Selector Old section New section
nextjs-hero main > div > section:nth-of-type(1) 1280×500 1280×694
nextjs-features main > div > section:nth-of-type(2) > div:nth-of-type(2) > ul 1280×700 1280×1204
nextjs-showcase main > div > section:nth-of-type(4) > div:nth-of-type(1) 1280×676 1280×696
nextjs-footer footer 1280×533 1280×552

The content is new, so the scores start over. On main:

Case Content mismatch, old section New section
nextjs-hero 1.88% 6.43%
nextjs-features 8.26% 6.10%
nextjs-showcase 6.32% 3.29%
nextjs-footer 16.32% 17.31%

The new sections already show gaps to fix: the outlined "NEXT" graphic of the hero is missing, and the placeholder of the footer's email field has no height, because Tailwind's line-height: calc(1.25 / .875) isn't supported. Both are fixed separately.

The home page of nextjs.org was redesigned, and the hashed class names
that the selectors of its four cases used don't match anything anymore.
The selectors are now structural, and the sections are captured again:
the hero, the features, the showcase and the footer of the new page.
@vercel

vercel Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated
satori-playground Ready Ready Preview, v0 Oct 15, 2026 8:07am UTC

@shuding
shuding merged commit 1f70b2e into main Oct 15, 2026
10 checks passed
@shuding
shuding deleted the shu/fidelity-recapture-home branch October 15, 2026 08:13
shuding added a commit that referenced this pull request Oct 15, 2026
Tailwind v4 sets the line height of `text-sm` and the other font sizes
with unitless math:

```css
--text-sm--line-height: calc(1.25 / .875);
.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
```

Satori converted string line heights like lengths, so `calc(1.25 /
.875)` became `NaN`, and the text had no height. No style error was
reported. On the new footer of nextjs.org (#927), the placeholder of the
email field was 0px tall and disappeared.

In math functions, unitless values are now multiples of the font size,
and lengths and percentages are of the font size, like in browsers.

A new test compares math functions with their values as numbers, also
with `var()` fallbacks, lengths and percentages. It fails without this
change.

| Case | Content mismatch |
|---|---|
| `nextjs-footer`, new section of #927 | 17.31% → 16.02% |

The current cases don't change.
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 0.59.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

This branch was successfully deployed

1 active deployment
Preview — 028276e3 Deployed Oct 15, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant