We’re launching improvements to the SPA browser agent that adopt soft navigation heuristics from Google, reduce conflicts with third-party libraries, simplify interaction determinations, and more.
What’s changing?
The new soft navigation release adopts heuristics from Google and includes a refactor of our SPA functionality/agent, reducing code conflicts with third-party libraries.
Currently, the SPA agent experiences occasional third-party conflicts, particularly around promises, which disrupts code functionality. Performance bottlenecks include conflicts with code using timers, RAF, and promise chaining, leading to some issues like slowdowns and freezes.
After the change, improvements include:
Unwrapped execution: By not wrapping core globals, the new SPA experience boosts execution speed for your application.
Aligned with soft navigation heuristics: Adopts Google Chrome's heuristics for more accurate interaction tracking and improved browser behavior alignment.
Simplified interaction determination: Interactions are now defined as a UI event (click/keydown/submit -> route change -> DOM modification), offering a clearer and more efficient capture approach.
Please note: Previously, we relied on wrapping many native browser APIs and a complex tracking system to now monitoring long running tasks (>= 50ms) on select callbacks. Metrics derived this way include jsDuration, timeToSettle, and timeToLastCallbackEnd.
For more details on Browser SPA monitoring, see our documentation.
For more on SPA data collection, see our docs here.