You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
INP degradation (~10%) after upgrade from 10.25.0 to 10.29.0 #18995
After reviewing all changes as part of the release, the only one that we thought could affect INP across the app was an update of our Sentry dependencies from v10.25.0 to v10.29.0 for our next release we wanted to “proof” this hypothesis, so we reverted Sentry back to v10.25.0
Steps to Reproduce
For an TV app, check INP measurements between 10.25.0 -> 10.29.0
Expected Result
No impact
Actual Result
a degradation of our INP metric (~10% slower) in the tv app
Additional Context
One thought I had was that 10.26.0 introduced an upgrade of the web vitals lib from 5.0.2 to 5.1.0
Key changes causing potential performance impact:
Event listeners moved from document to window (via new globalListeners.ts)
Listeners now execute later in event chain
Broader scope affects interaction timing
Additional pagehide event listener for Safari <14.4 compatibility
3 event listeners instead of 2 (visibilitychange, pagehide, prerenderingchange)
More events to process during interactions
Early registration of visibility watcher
Listeners registered immediately in getVisibilityWatcher()
Previously registered on-demand
Synchronous callback execution system
// New code in getVisibilityWatcher.ts const onHiddenFunctions: Set<() => void> = new Set(); for (const onHiddenFunction of onHiddenFunctions) { onHiddenFunction(); // Blocks main thread }
Priority
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it.
I agree, #18091 is the most likely cause for the change in INP. Just to confirm: The customer measure INP via the Sentry SDK, correct?
I made a small change in 10.33. to reduce the number of listeners again (#18581). Might be worth to give this upgrade a chance. While nothing in web-vitals@5.1.0 directly suggests an INP measurement change, they did merge a PR which slightly changed the event listening logic, also within INP. So this could be the reason for the increase.
cc @logaretm any other ideas what could be causing the increase?
I believe my PR #18091 added a bug when every time whenIdleOrHidden() was called, it added visibilitychange and pagehide event listeners that were never cleaned up even after the callbacks had already executed. These listeners might've just kept accumulating throughout the page's lifetime.
I don't think the other changes would have an impact, listening on window rather than document is trivial as it is just 1 more bubbling step. the other changes are not related to INP.
@Lms24 Your PR should've fixed that issue so I think it's worth to upgrade to 10.33 and see if that brings the delta down.
This issue has gone three weeks without activity. In another week, I will close it.
But! If you comment or otherwise update it, I will reset the clock, and if you remove the label Waiting for: Community, I will leave it alone ... forever!
"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀
Activity
linear commentedon Jan 27, 2026
JS-1562
Lms24 commentedon Jan 27, 2026
I agree, #18091 is the most likely cause for the change in INP. Just to confirm: The customer measure INP via the Sentry SDK, correct?
I made a small change in
10.33.to reduce the number of listeners again (#18581). Might be worth to give this upgrade a chance. While nothing inweb-vitals@5.1.0directly suggests an INP measurement change, they did merge a PR which slightly changed the event listening logic, also within INP. So this could be the reason for the increase.cc @logaretm any other ideas what could be causing the increase?
logaretm commentedon Jan 27, 2026
I believe my PR #18091 added a bug when every time
whenIdleOrHidden()was called, it addedvisibilitychangeandpagehideevent listeners that were never cleaned up even after the callbacks had already executed. These listeners might've just kept accumulating throughout the page's lifetime.I don't think the other changes would have an impact, listening on window rather than document is trivial as it is just 1 more bubbling step. the other changes are not related to INP.
@Lms24 Your PR should've fixed that issue so I think it's worth to upgrade to
10.33and see if that brings the delta down.getsantry commentedon Feb 19, 2026
This issue has gone three weeks without activity. In another week, I will close it.
But! If you comment or otherwise update it, I will reset the clock, and if you remove the label
Waiting for: Community, I will leave it alone ... forever!"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀