Uh oh!
There was an error while loading. Please reload this page.
fix(v10/cloudflare): Instrument Durable Object handlers installed as read-only properties - #23769
Merged
JPeer264 merged 1 commit intoAug 31, 2026
Merged
Conversation
…read-only properties Backport of: #23759
JPeer264
marked this pull request as ready for review
August 31, 2026 12:54
JPeer264
requested review from
andreiborza, isaacs and mydea
and removed request for
a teamAugust 31, 2026 12:54
andreiborza
approved these changes
Aug 31, 2026
Contributor
size-limit report 📦
|
Uh oh!
There was an error while loading. Please reload this page.
JPeer264
deleted the
fix/v10-cloudflare-durable-object-readonly-handlers
branch
August 31, 2026 13:27
46 tasks
This was referenced Sep 5, 2026
brandhaug added a commit
to brandhaug/b2b-saas-starter
that referenced
this pull request
Sep 5, 2026
## Dependency Updates | Package | From | To | Type | | --- | --- | --- | --- | | `@sentry/react` | 10.71.0 | 10.73.0 | minor | ## Release Notes <details> <summary><b>@sentry/react</b> (10.71.0 → 10.73.0) — 2 releases</summary> <details> <summary><b>10.73.0</b></summary> ### Important Changes - **feat(v10/nextjs): Add `@sentry/nextjs/config` entry point ([#23766](getsentry/sentry-javascript#23766 `withSentryConfig` is now available from `@sentry/nextjs/config`, the path it moves to in v11. Importing it from `@sentry/nextjs` still works on v10 but logs a warning once, so you can change your `next.config` file today and upgrade to v11 without touching it again. ```js // next.config.mjs - import { withSentryConfig } from '@sentry/nextjs'; + import { withSentryConfig } from '@sentry/nextjs/config'; ``` ### Other Changes - feat(v10/node): Deprecate `shouldHandleError` on `setupExpressErrorHandler` and `setupFasitfyErrorHandler` ([#23734](getsentry/sentry-javascript#23734)) - fix(v10/cloudflare): Instrument Durable Object handlers installed as read-only properties ([#23769](getsentry/sentry-javascript#23769)) <details> <summary><strong>Internal Changes</strong></summary> - test(v10/nextjs): Drop nextjs-16-cf-workers canary variant ([#23775](getsentry/sentry-javascript#23775)) </details> ## Bundle size 📦 | Path | Size | | -------------------------------------------------------------------------- | ----------------- | | @sentry/browser | 27.1 KB | | @sentry/browser - with treeshaking flags | 25.58 KB | | @sentry/browser (incl. Tracing) | 45.54 KB | | @sentry/browser (incl. Tracing + Span Streaming) | 47.28 KB | | @sentry/browser (incl. Tracing, Profiling) | 50.17 KB | | @sentry/browser (incl. Tracing, Replay) | 83.87 KB | | @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | …[full notes](https://github.com/getsentry/sentry-javascript/releases/tag/10.73.0) </details> <details> <summary><b>10.72.0</b></summary> ### Important Changes - **AI integrations no longer report errors that propagate to the caller ([#23638](getsentry/sentry-javascript#23638), [#23639](getsentry/sentry-javascript#23639), [#23640](getsentry/sentry-javascript#23640 Across all AI integrations (OpenAI, Anthropic, Google GenAI, LangChain, and LangGraph), the SDK no longer sends an event to Sentry for errors that the AI framework propagates to your code. Previously the instrumentation reported these as unhandled (`handled: false`) before your own error handling ran, so an error your code caught still showed up in Sentry as an unhandled crash. The span is still marked as errored and the error still propagates, so reporting is left to your application: if your code does not handle the error, it reaches Sentry's global error handlers and is captured as unhandled, just like any other uncaught error. Errors that a provider surfaces as data on an otherwise successful response (such as Anthropic error-shaped responses or Google GenAI blocked content) are still captured, since your code never sees them propagate. - **feat(v10/cloudflare): Add `rpcTracePropagationBindings` ([#23737](getsentry/sentry-javascript#23737), [#23738](getsentry/sentry-javascript#23738 The new `rpcTracePropagationBindings` option names the `env` bindings that outgoing RPC calls propagate trace context to. Strings match a binding name exactly, regular expressions match by pattern, and the default empty array propagates to nothing. RPC has no headers to carry trace context, so the SDK appends it as a trailing argument that only a Sentry-instrumented receiver removes again. List only the bindings whose receiver you know runs Sentry. Setting the option takes precedence over `enableRpcTracePropagation`, which is now deprecated. When you build with the Sentry Cloudflare Vite plugin, the bindings that resolve to t …[full notes](https://github.com/getsentry/sentry-javascript/releases/tag/10.72.0) </details> </details> --- *This PR was auto-generated by [catalog-update-action](https://github.com/brandhaug/catalog-update-action).*
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 freeto 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.
Backport of: #23759
Differences to the original PR
The fix itself (
setInstanceHandler) and both new tests are identical to the original. The movedinstrumentDurableObjectHandlerskeeps v10's existing semantics, because v10 lacks the APIsdevelopuses:packages/cloudflare/src/instrumentations/instrumentDurableObjectHandlers.ts: useswrapRequestHandlerfrom../requestinstead ofwrapRequestHandlerWithInit+init, whichdo not exist on v10.
packages/cloudflare/src/instrumentations/instrumentDurableObjectHandlers.ts:alarmkeepsspanOp: 'function'and thewebSocket*handlers keep nospanOp, instead of theFUNCTION/WEBSOCKETconstants from@sentry/conventions/op. v10 does not use thoseconstants here.