Skip to content

Conversation

onurtemizkan
Copy link
Collaborator

@onurtemizkan onurtemizkan commented Oct 6, 2025

This resolves the issue that occurs when an extra navigation transaction is created after a prematurely ended pageload transaction in React Router lazy routes.

This apparently occurs when there's a long-running pageload with lazy-routes (after fetching assets, there are multiple potentially long-running API calls happening).

This causes the pageload transaction to prematurely end, even before the fully parameterized transaction name is resolved. The reason is that there can be a POP event emitted, which we subscribe to create a navigation transaction. This ends the ongoing pageload transaction before its name is updated with a resolved parameterized route path, and starts a navigation transaction, which contains the remaining spans that were supposed to be a part of the pageload transaction.

This fix makes sure the initial POP events are not necessarily treated as navigation pointers, which should fix both:

  • Duplicate / extra navigation transactions having a part of pageload spans.
  • Remaining wildcards in the pageload transaction names

@onurtemizkan onurtemizkan force-pushed the onur/react-router-long-running-pageload-guard branch from c5b63b9 to b3027fd Compare October 6, 2025 11:21
@onurtemizkan onurtemizkan marked this pull request as ready for review October 6, 2025 12:14
cursor[bot]

This comment was marked as outdated.

Copy link
Member

@chargome chargome left a comment

Choose a reason for hiding this comment

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

Nice find! Any way we can test this in e2e?

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.

2 participants