Skip to content

feat(techreport): add experimental soft navigation Core Web Vitals - #1373

Merged
max-ostapenko merged 7 commits into
mainfrom
feat/crux-softnavs
Oct 16, 2026
Merged

max-ostapenko merged 7 commits into
mainfrom
feat/crux-softnavs

Conversation

@max-ostapenko

Copy link
Copy Markdown
Contributor

Description

Extends the Technology Report frontend on httparchive.org to support the newly available CrUX experimental soft navigation Core Web Vitals metrics starting with the September 2026 dataset (web.dev blog).

  • Adds overall_sn, LCP_sn, CLS_sn, and INP_sn to cwv_subcategories, cwv_thresholds, and display labels.
  • Adds histogram bucket configs in cwv_distribution.metric_config for LCP_sn, INP_sn, and CLS_sn using *_sn_origins.
  • Exposes metrics across Drilldown and Comparison timeseries selectors.
  • Adds soft navigation columns to the Geographic Breakdown table.
  • Verified with Astro build (all 46 pages built cleanly, internal links valid).

Closes #1372

- Add overall_sn, LCP_sn, CLS_sn, INP_sn to cwv_subcategories, thresholds, and labels
- Configure metric histogram buckets for LCP_sn, INP_sn, CLS_sn
- Add dropdown options in drilldown and comparison views
- Support soft navigation columns in geographic breakdown table

Closes #1372
@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Visit the preview URL for this PR (updated for commit 46413b4):

https://httparchive--pr1373-feat-crux-softnavs-pk00snpp.web.app

(expires Fri, 23 Oct 2026 19:41:41 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 1069cba7974889c25bacf4f0a19ddb6735592729

@max-ostapenko

Copy link
Copy Markdown
Contributor Author

@tunetheweb do we also need this for metric's histograms?

@tunetheweb tunetheweb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks! Looking good, though I'm not seeing the data on the test site:

Image

@tunetheweb do we also need this for metric's histograms?

Yes ideally. Not sure they're used much, but ideally we'd have the exact same functionality!

Comment thread config/techreport.json Outdated
Comment thread src/js/techreport/cwvDistribution.js Outdated
Comment thread src/js/techreport/cwvDistribution.js Outdated
Comment thread src/js/techreport/geoBreakdown.js Outdated
Comment thread src/js/techreport/geoBreakdown.js Outdated
@max-ostapenko

max-ostapenko commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor Author

@tunetheweb cache?

It's also just one point, so you need to hover over it to find it
Screenshot 2026-10-15 at 22 29 53

The line will appear next month.

I don't think it's worth adding point markers just for this.

@tunetheweb

tunetheweb commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

I think it must be a cache issue. Cause if you look you can see I also see undefined in the big number below the heading whereas your screenshot doesn’t show that.

@max-ostapenko

Copy link
Copy Markdown
Contributor Author

Good call on the metric labels. Cleaned up display_name.
Also found a way to add point marker for series with only 1 data point (length === 1).

For the histograms - ready in HTTPArchive/tech-report-apis#168

…or single data points in tech report charts

Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
@tunetheweb

Copy link
Copy Markdown
Member

Changing to a different technology shows results for me. Does ALL work for you?

…ion.js

Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
@max-ostapenko

Copy link
Copy Markdown
Contributor Author

Cleaned cache
Screenshot 2026-10-15 at 23 22 06

Comment thread src/js/techreport/geoBreakdown.js Outdated
@tunetheweb

Copy link
Copy Markdown
Member

Can we exclude rows where the date is N/A?

image

Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
@tunetheweb

Copy link
Copy Markdown
Member

Looking real good now!

I wonder if it would be possible to add a toggle to show soft nav data on CWV/LCP/CLS/INP charts as additional data points to allow for easy comparison of how much they will change when these become stable and replace the old definitions (currently planned for May 2027)?

That would be easier than toggling back and forth (especially at the moment when there data points don't line up).

Note I'd keep the current functionality AS WELL so you can see table, country and histograms.

Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…eakdown metric labels

Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
@max-ostapenko

Copy link
Copy Markdown
Contributor Author

Added as a dashed line on the main CWV metrics.

@max-ostapenko

Copy link
Copy Markdown
Contributor Author

BTW In May 2027 release I assume the main metrics will just get the softnav values, so the transition will be just to rollback all the changes from this PR.

@tunetheweb

Copy link
Copy Markdown
Member

Added as a dashed line on the main CWV metrics.

I like it! But worry it could get very noisy to have this on by default, especially in the comparison view. WDYT about reverting the overlay in the default view, and changing the soft nav view to show both instead?

BTW In May 2027 release I assume the main metrics will just get the softnav values, so the transition will be just to rollback all the changes from this PR.

That's correct, though we've some small changes we'd wanna keep (excluding N/A from table, diabling histogram view in CWV view).

… timeseries support

Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
@max-ostapenko

Copy link
Copy Markdown
Contributor Author

So skipped toggle, added both types on the soft nav charts to focus on the comparison right away.
Have a look please.

@tunetheweb tunetheweb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

Great work and thanks for getting this together so quickly.

@max-ostapenko
max-ostapenko merged commit 5679acb into main Oct 16, 2026
10 checks passed
@max-ostapenko
max-ostapenko deleted the feat/crux-softnavs branch October 16, 2026 19:59
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.

Tech Report: Add experimental soft navigation Core Web Vitals metrics

2 participants