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
Port these E2E test applications to span streaming (8 apps).
ember-strict-resolver already has a streamed variant from #23548 and is the reference for the Ember apps.
Apps
ember-classic
ember-embroider
ember-vite
tanstack-router
tanstackstart-react
tanstackstart-react-cloudflare
vue-3
vue-tanstack-router
What to do
For each app:
Remove the traceLifecycle: 'static' pin added in test(e2e): Disable span streaming in e2e test applications #22590 from every Sentry.init (client, server, edge). tanstackstart-react reads the lifecycle from E2E_TEST_STREAMED_SPANS; make streaming the single path instead.
Rewrite the specs from transaction envelopes to span v2:
contexts.trace.op becomes getSpanOp(span) plus span.is_segment
contexts.trace.data['x'] becomes span.attributes['x'], which has the shape { value, type }
transaction_info.source becomes the sentry.segment.name.source attribute
Streamed child spans arrive across several envelopes, so use collectStreamedSpans wherever a test asserts on children of a segment span.
Ember router spans lose their route:a -> route:b name and become Router under streaming, so those assertions have to change.
Reference apps: ember-strict-resolver (streamed variant) and react-router-7-spa-streaming. Worked example: #23797.
Keep static trace lifecycle coverage
This group covers three unrelated SDKs, so one representative does not cover it. Duplicate tanstackstart-react into tanstackstart-react-static, ember-classic into ember-classic-static and vue-3 into vue-3-static, each as-is, and leave those copies on the current transaction-based specs.
Each copy is verbatim; only the app name changes:
package.json -> name
start-event-proxy.mjs -> proxyServerName
every waitForTransaction / waitForError / waitForSession call in tests/
Keep traceLifecycle: 'static' in each copy's Sentry.init calls. The e2e matrix discovers apps by directory, so no CI config change is needed.
ember-strict-resolver already carries a streamed variant from #23548, so the Ember copy may be redundant; check that first.
Port these E2E test applications to span streaming (8 apps).
ember-strict-resolveralready has a streamed variant from #23548 and is the reference for the Ember apps.Apps
What to do
For each app:
traceLifecycle: 'static'pin added in test(e2e): Disable span streaming in e2e test applications #22590 from everySentry.init(client, server, edge).tanstackstart-reactreads the lifecycle fromE2E_TEST_STREAMED_SPANS; make streaming the single path instead.waitForTransactionbecomeswaitForStreamedSpan/waitForStreamedSpansevent.transactionbecomesspan.namecontexts.trace.opbecomesgetSpanOp(span)plusspan.is_segmentcontexts.trace.data['x']becomesspan.attributes['x'], which has the shape{ value, type }transaction_info.sourcebecomes thesentry.segment.name.sourceattributecollectStreamedSpanswherever a test asserts on children of a segment span.Ember
routerspans lose theirroute:a -> route:bname and becomeRouterunder streaming, so those assertions have to change.Reference apps:
ember-strict-resolver(streamed variant) andreact-router-7-spa-streaming. Worked example: #23797.Keep static trace lifecycle coverage
This group covers three unrelated SDKs, so one representative does not cover it. Duplicate
tanstackstart-reactintotanstackstart-react-static,ember-classicintoember-classic-staticandvue-3intovue-3-static, each as-is, and leave those copies on the current transaction-based specs.Each copy is verbatim; only the app name changes:
package.json->namestart-event-proxy.mjs->proxyServerNamewaitForTransaction/waitForError/waitForSessioncall intests/Keep
traceLifecycle: 'static'in each copy'sSentry.initcalls. The e2e matrix discovers apps by directory, so no CI config change is needed.ember-strict-resolveralready carries a streamed variant from #23548, so the Ember copy may be redundant; check that first.