Skip to content

test(e2e): Port the Vue TanStack Router E2E app to span streaming - #24170

Merged
RulaKhaled merged 2 commits into
developfrom
rolaabuhasna/js-3489/vue-tanstack-router
Sep 11, 2026
Merged

test(e2e): Port the Vue TanStack Router E2E app to span streaming#24170
RulaKhaled merged 2 commits into
developfrom
rolaabuhasna/js-3489/vue-tanstack-router

Conversation

@RulaKhaled

Copy link
Copy Markdown
Collaborator

Removes the traceLifecycle: 'static' pin from the Vue TanStack Router E2E app and rewrites the routing specs onto streamed spans.

Why

Web vitals measurements live on transaction events, not streamed spans, so those asserts are dropped rather than rewritten. Route names stay /posts/$postId; the Vue SDK still uses url.path.parameter.postId.

Part of #23805

Web vitals stay off the streamed pageload span, so that assertion is dropped. Redirect and follow-up navigation specs still match the parameterized target route.

Co-Authored-By: Cursor Grok 4.6 <cursoragent@cursor.com>
@linear-code

linear-code Bot commented Sep 7, 2026

Copy link
Copy Markdown

JS-3489

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size % Change Change
@sentry/browser 28.92 kB - -
@sentry/browser - with treeshaking flags 27.21 kB - -
@sentry/browser - with treeshaking flags tracing without tracing 27.11 kB - -
@sentry/browser (incl. Tracing) 50.42 kB - -
@sentry/browser (incl. Tracing + Span Streaming) 50.43 kB - -
@sentry/browser (incl. Tracing, Profiling) 53.41 kB - -
@sentry/browser (incl. Tracing, Replay) 89.93 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 79.05 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 94.64 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 107.65 kB - -
@sentry/browser (incl. Feedback) 46.41 kB - -
@sentry/browser (incl. sendFeedback) 33.97 kB - -
@sentry/browser (incl. FeedbackAsync) 39.08 kB - -
@sentry/browser (incl. Metrics) 29.93 kB - -
@sentry/browser (incl. Logs) 30.2 kB - -
@sentry/browser (incl. Metrics & Logs) 30.87 kB - -
@sentry/react 30.67 kB - -
@sentry/react (incl. Tracing) 52.73 kB - -
@sentry/vue 36.16 kB - -
@sentry/vue (incl. Tracing) 52.66 kB - -
@sentry/svelte 28.93 kB - -
CDN Bundle 30.66 kB - -
CDN Bundle (incl. Tracing) 50.93 kB - -
CDN Bundle (incl. Logs, Metrics) 32.93 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) 52.91 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) 73.62 kB - -
CDN Bundle (incl. Tracing, Replay) 88.48 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 90.43 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 94.55 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 96.55 kB - -
CDN Bundle - uncompressed 90.73 kB - -
CDN Bundle (incl. Tracing) - uncompressed 152.17 kB - -
CDN Bundle (incl. Logs, Metrics) - uncompressed 97.31 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 158.13 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 226.72 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 271.74 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 277.69 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 285.44 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 291.38 kB - -
@sentry/nextjs (client) 55.05 kB - -
@sentry/sveltekit (client) 50.83 kB - -
@sentry/core/server 37.08 kB - -
@sentry/core/browser 13.66 kB - -
@sentry/node 129.77 kB +0.02% +18 B 🔺
@sentry/node/import (ESM hook with diagnostics-channel injection) 81.83 kB - -
@sentry/node - without tracing 89.57 kB +0.04% +30 B 🔺
@sentry/node - without channel injection 108.65 kB +0.03% +22 B 🔺
@sentry/aws-serverless 97.78 kB +0.02% +18 B 🔺
@sentry/cloudflare (withSentry) - minified 203.02 kB - -
@sentry/cloudflare (withSentry) 505.43 kB - -

View base workflow run

@RulaKhaled
RulaKhaled marked this pull request as ready for review September 8, 2026 12:15

@Lms24 Lms24 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.

Let's address my web vitals comment please. Other than that LGTM, thanks! Approving to unblock

transaction_info: {
source: 'route',
},
measurements: expect.objectContaining({

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.

Web vitals measurements live on transaction events, not streamed spans, so those asserts are dropped rather than rewritten

Partially true. Web vitals are no longer collected on segment spans. But they are sent as separate spans. Can you check if we have other tests for Vue that directly assert on web vitals? If not, maybe we can assert on the web vital spans here. Or in a separate test in this app. Happy to leave it up to you.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Checked! no other Vue app asserts web vitals, only the test this PR deleted.
Added them back in 737e7e4

Web vitals are no longer collected on segment spans, but they are still
sent: TTFB, FP and FCP as attributes on the pageload span, and LCP as a
standalone `ui.webvital.lcp` span. The port dropped the old
`measurements` asserts without replacing them, which left Vue with no
web vitals coverage at all.

Extends the root route pageload test to assert both, mirroring the
already ported solid-tanstack-router app.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WQM2HA4xdirxTSCtQvDRP6
@RulaKhaled
RulaKhaled merged commit 6a68683 into develop Sep 11, 2026
314 of 317 checks passed
@RulaKhaled
RulaKhaled deleted the rolaabuhasna/js-3489/vue-tanstack-router branch September 11, 2026 12:01
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