Repository navigation
feat(cloudflare): Export the channel integrations - #25584
Open
isaacs wants to merge 1 commit into
Conversation
isaacs
added this pull request to stack #25589
October 20, 2026 22:30
Contributor
size-limit report 📦Compared: 02bd99d (PR test merge using develop at 4571bb1) Against: b3e0c9e (develop) · base run #63030
|
isaacs
marked this pull request as ready for review
October 21, 2026 00:41
isaacs
requested review from
JPeer264 and
andreiborza
and removed request for
a team
October 21, 2026 00:41
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.
Reviewed by Cursor Bugbot for commit 2c4f115. Configure here.
isaacs
force-pushed
the
isaacschlueter/js-3973-cloudflare-export-channel-integrations
branch
from
October 21, 2026 01:07
2c4f115 to
2b12e9d
Compare
isaacs
requested review from
chargome and
nicohrubec
and removed request for
a team
October 21, 2026 01:13
isaacs
force-pushed
the
isaacschlueter/js-3973-cloudflare-export-channel-integrations
branch
from
October 21, 2026 01:13
2b12e9d to
0078f5e
Compare
isaacs
force-pushed
the
isaacschlueter/js-3973-cloudflare-export-channel-integrations
branch
2 times, most recently
from
October 21, 2026 14:16
92f9004 to
a90fae3
Compare
Contributor
Optional E2E testsSome optional checks were not successful. They do not block the merge. 3 failing, 56 successful. See the run.
Successful checks
|
isaacs
force-pushed
the
isaacschlueter/js-3973-cloudflare-export-channel-integrations
branch
from
October 21, 2026 16:45
a90fae3 to
af846b5
Compare
isaacs
force-pushed
the
isaacschlueter/js-3973-cloudflare-export-channel-integrations
branch
from
October 21, 2026 16:58
af846b5 to
78979a7
Compare
isaacs
force-pushed
the
isaacschlueter/js-3973-cloudflare-export-channel-integrations
branch
from
October 21, 2026 17:26
78979a7 to
adb8e1a
Compare
isaacs
force-pushed
the
isaacschlueter/js-3973-cloudflare-export-channel-integrations
branch
from
October 21, 2026 18:27
adb8e1a to
5dfe525
Compare
isaacs
force-pushed
the
isaacschlueter/js-3973-cloudflare-export-channel-integrations
branch
from
October 21, 2026 18:36
5dfe525 to
6084ce0
Compare
When the `@sentry/cloudflare/vite` plugin bundles an instrumented
package, such as `pg` or `openai`, the SDK adds the matching channel
integration. It calls each factory with no arguments, so a Cloudflare
user always got the default options. They could not, for example, turn
off prompt and response capture with
`openAIIntegration({ recordInputs: false })`, as Node, Bun and Deno
users can.
`@sentry/cloudflare` now exports the channel integrations that Node
exports. These are the integrations that the vite plugin can register,
so their code already runs on workerd. A user instance passed in
`integrations` replaces the registered default with the same name, at
`init()` and also when the module loads after `init()`. Both packages
set `"sideEffects": false`, so a worker bundles only the integrations
it imports. The `withSentry` bundle does not change in size.
These integrations get data only when the vite plugin injected the
channels. Without the plugin, a configured integration records nothing.
On Cloudflare, `invokeOrchestrionInstrumentation` now logs a debug
warning, once for each integration, when the plugin did not run.
Fixes #25575
Fixes JS-3973
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
isaacs
force-pushed
the
isaacschlueter/js-3973-cloudflare-export-channel-integrations
branch
2 times, most recently
from
October 21, 2026 18:40
6084ce0 to
e3b5ac5
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.

When the
@sentry/cloudflare/viteplugin bundles an instrumented package, such aspgoropenai, the SDK adds the matching channel integration. It calls each factory with no arguments, so a Cloudflare user always got the default options. They could not, for example, turn off prompt and response capture withopenAIIntegration({ recordInputs: false }), as Node, Bun and Deno users can.@sentry/cloudflarenow exports the channel integrations that Node exports. These are the integrations that the vite plugin can register, so their code already runs on workerd. A user instance passed inintegrationsreplaces the registered default with the same name, atinit()and also when the module loads afterinit(). Both packages set"sideEffects": false, so a worker bundles only the integrations it imports. ThewithSentrybundle does not change in size.These integrations get data only when the vite plugin injected the channels. Without the plugin, a configured integration records nothing. On Cloudflare,
invokeOrchestrionInstrumentationnow logs a debug warning, once for each integration, when the plugin did not run.Fixes #25575
Fixes JS-3973