Skip to content

test(e2e): Port the TanStack Start Cloudflare E2E app to span streaming - #24173

Merged
RulaKhaled merged 4 commits into
developfrom
rolaabuhasna/js-3489/tanstackstart-react-cloudflare
Sep 11, 2026
Merged

test(e2e): Port the TanStack Start Cloudflare E2E app to span streaming#24173
RulaKhaled merged 4 commits into
developfrom
rolaabuhasna/js-3489/tanstackstart-react-cloudflare

Conversation

@RulaKhaled

Copy link
Copy Markdown
Collaborator

Removes the traceLifecycle: 'static' pin from the TanStack Start Cloudflare E2E app and rewrites its server, pageload, and SSR-error specs onto streamed spans.

Why

This app is not a copy of the Node TanStack Start suite: the client SDK is @sentry/browser, server origin is auto.http.cloudflare, and there is no middleware, route-param, tunnel, or db-driver coverage. Cloudflare http.server names are also method-only unless the source is already route, so waits match url.path.

Part of #23805

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 128.59 kB +0.02% +14 B 🔺
@sentry/node/import (ESM hook with diagnostics-channel injection) 81.82 kB - -
@sentry/node - without tracing 89.55 kB +0.04% +29 B 🔺
@sentry/node - without channel injection 107.52 kB +0.02% +21 B 🔺
@sentry/aws-serverless 97.77 kB +0.03% +23 B 🔺
@sentry/cloudflare (withSentry) - minified 203.02 kB - -
@sentry/cloudflare (withSentry) 505.43 kB - -

View base workflow run

Co-Authored-By: Cursor Grok 4.6 <cursoragent@cursor.com>
@RulaKhaled
RulaKhaled marked this pull request as ready for review September 8, 2026 12:15
attributes: expect.objectContaining({
'sentry.op': { type: 'string', value: 'function' },
'sentry.origin': { type: 'string', value: 'auto.function.tanstackstart.server' },
'tanstackstart.function.filename': { type: 'string', value: 'src/routes/test-serverFn.tsx' },

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.

was the assertion on tanstackstart.function.id dropped on purpose?

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.

this was accidentally dropped, thanks for catching!

attributes: expect.objectContaining({
'sentry.op': { type: 'string', value: 'function' },
'sentry.origin': { type: 'string', value: 'auto.function.tanstackstart.server' },
'tanstackstart.function.filename': { type: 'string', value: 'src/routes/test-serverFn.tsx' },

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.

same here

… spans

The streaming port had to swap the exact `data` match for
`expect.objectContaining`, since streamed spans carry more attributes and
wrap each value as `{ type, value }`. The three attributes with concrete
expected values were carried over, but `tanstackstart.function.id` was
dropped along the way.

`expect.any(String)` was still doing work there: it asserted presence, and
under `objectContaining` the attribute disappearing would otherwise pass
silently. Restore it in both server function specs.

Verified locally against the built worker: full app suite passes (11), and
swapping the matcher for a literal sentinel fails both specs, confirming the
attribute is really emitted on the streamed span.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WQM2HA4xdirxTSCtQvDRP6
@RulaKhaled
RulaKhaled merged commit 900a5c3 into develop Sep 11, 2026
43 checks passed
@RulaKhaled
RulaKhaled deleted the rolaabuhasna/js-3489/tanstackstart-react-cloudflare branch September 11, 2026 08:33
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