Repository navigation
Conversation
mydea
added this pull request to stack #24871
September 30, 2026 13:45
Contributor
size-limit report 📦
|
mydea
force-pushed
the
feat/nitro-anchor-both-on-h3
branch
from
September 30, 2026 14:13
a38c9f8 to
b12d5d7
Compare
mydea
removed this pull request from stack #24871
October 1, 2026 06:50
mydea
force-pushed
the
feat/nitro-anchor-both-on-h3
branch
from
October 1, 2026 06:51
b12d5d7 to
42650ee
Compare
mydea
changed the base branch from
feat/nuxt-strip-update-route-name
to
feat/nitro-move-to-server-utils
October 1, 2026 06:51
mydea
added this pull request to stack #24913
October 1, 2026 07:14
mydea
force-pushed
the
feat/nitro-anchor-both-on-h3
branch
2 times, most recently
from
October 1, 2026 07:17
b7712e1 to
1a7314a
Compare
mydea
force-pushed
the
feat/nitro-anchor-both-on-h3
branch
from
October 1, 2026 11:00
1a7314a to
424ddfa
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 424ddfa. Configure here.
mydea
force-pushed
the
feat/nitro-anchor-both-on-h3
branch
from
October 1, 2026 12:41
4cf95b6 to
a01699a
Compare
mydea
marked this pull request as ready for review
October 12, 2026 13:13
mydea
requested review from
JPeer264,
isaacs,
nicohrubec and
s1gr1d
and removed request for
a team
October 12, 2026 13:13
mydea
force-pushed
the
feat/nitro-anchor-both-on-h3
branch
from
October 12, 2026 13:18
a01699a to
4316c1b
Compare
…injection The orchestrion registration previously mapped one integration per module, so `nitroServerTimingIntegration` was anchored on `unstorage` while `nitroIntegration` took `h3`. `unstorage` is practically always evaluated in a Nitro app, but it is not the guaranteed HTTP module, so a Nitro app that did not load it would silently fail to register Server-Timing (breaking pageload trace propagation) on a bundler-only SDK like `@sentry/cloudflare`. Let a module register several integrations, and anchor both nitro integrations on `h3` — the module every HTTP-serving Nitro app loads. The global orchestrion marker now stores a Set of factories per module; the injected snippet emits one registration call per export; and cloudflare instantiates all of them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ctories The prior test only exercised the init-time path with a Set of factories. Add a test that emits `orchestrion.module-injected` for a module holding a Set, so the late-registration listener's Set-unwrapping is covered with more than one factory too. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Emitting one `orchestrionModuleInjected` call per export made the helper merge factories across calls, but every instrumented file of a package injects its own fresh thunk for the same integration. Packages split across files (pg, amqplib, ...) therefore accumulated duplicate factories and were upgraded to a Set despite having a single integration, breaking the plain-factory shape kept for older readers. The snippet now passes all of a module's factories in a single call, and the helper treats each call as the module's complete list and replaces the entry: one factory stays a plain factory, several become a Set. This also announces `h3` once per file instead of once per integration. Adds a transform test for the multi-export `h3` injection. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mydea
force-pushed
the
feat/nitro-anchor-both-on-h3
branch
from
October 12, 2026 13:55
4316c1b to
800b14e
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Stacked on #24861.
Addresses review feedback on the orchestrion registration:
nitroServerTimingIntegrationwas anchored onunstorage(because the registration mapped one integration per module andh3was taken bynitroIntegration).unstorageis practically always evaluated in a Nitro app, but it isn't the guaranteed HTTP module — so a Nitro app that didn't load it would silently fail to register the Server-Timing headers on a bundler-only SDK like@sentry/cloudflare, breaking pageload trace propagation with no error.This lets a single module register multiple integrations and anchors both nitro integrations on
h3— the module every HTTP-serving Nitro app loads.channel-integration-definitions.ts: both nitro entries →h3;subscriberExportForModule→subscriberExportsForModule(returns all exports for a module).factory | Set<factory>: a module keeps a single factory for the common one-integration case (so an older reader stays compatible) and upgrades to aSetonly once it registers a second integration.@sentry/cloudflarereads either shape.config/nitro.tsdrops the now-unnecessaryunstorageanchor.Only affects the Cloudflare (bundler-only) path — on node/deno/bun these integrations are registered statically.
🤖 Generated with Claude Code