Skip to content

fix(trpc): match @sentry/core to the API's Sentry SDK - #9281

Merged
saddlepaddle merged 1 commit into
mainfrom
fix/trpc-sentry-core-version
Nov 2, 2026
Merged

saddlepaddle merged 1 commit into
mainfrom
fix/trpc-sentry-core-version

Conversation

@saddlepaddle

@saddlepaddle saddlepaddle commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Bump @sentry/core in packages/trpc from 10.68.0 to 10.75.2, the version @sentry/nextjs 10.75.2 in apps/api depends on.

Why / Context

Sentry keeps its client under __SENTRY__[SDK_VERSION] (getSentryCarrier in @sentry/core). #9042 moved the API to @sentry/nextjs 10.75.2 and left packages/trpc on @sentry/core 10.68.0. Since then, trpc code running in the API has looked in an empty carrier, so its spans and captureException calls have done nothing:

Testing

  • Resolved versions: packages/trpc → @sentry/core 10.75.2; apps/api's @sentry/nextjs → @sentry/core 10.75.2
  • packages/trpc: tsc --noEmit, bun test (841 pass)
  • apps/api: tsc --noEmit
  • After deploy: create one cloud workspace and check that its start and provision transactions appear in Sentry as one trace

Risks / Rollout

  • Risk: low. Patch-level upgrades within the Sentry 10.x line that the API already runs.
  • Rollback: revert the commit.

Summary by cubic

Bumps @sentry/core in packages/trpc from 10.68.0 to 10.75.2 to match the @sentry/nextjs version in apps/api. Since Sentry stores its client under __SENTRY__[SDK_VERSION], the version mismatch made trpc code running in the API look in an empty carrier, silently dropping spans and captureException calls — cloud-workspace.provision traces stopped, the start trace recorded nothing, and exceptions from meter.ts and wake.ts were lost. Now trpc shares the same Sentry core and telemetry works again. Patch-level upgrade, low risk; verified with type checks and passing tests.

Written for commit 96e28dc. Summary will update on new commits.

View guided diff Turn on auto-fix

Summary by CodeRabbit

  • Chores
    • Updated an underlying component. No user-facing changes are noted.

Sentry keeps its client under `__SENTRY__[SDK_VERSION]`. #9042 moved the
API to @sentry/nextjs 10.75.2 but left packages/trpc on @sentry/core
10.68.0, so every span and captureException from trpc code running in the
API has looked in an empty carrier and done nothing since 2026-10-29: the
provision job's trace, the cloud-workspace start trace, and the
exceptions meter.ts and wake.ts report.
@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d1dd1b5f-4697-41ea-b175-6385f3a5dd24
Commits

Reviewing files that changed from the base of the PR and between cafad5a and 96e28dc.

Files ignored due to path filters: 1
  • bun.lock is excluded by !**/*.lock
Files selected for processing: 1
  • packages/trpc/package.json

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.

Walkthrough

The @sentry/core dependency in packages/trpc is upgraded from version 10.68.0 to 10.75.2.

Changes: Sentry Core Dependency Update

Layer / File(s) Summary
Dependency version update
packages/trpc/package.json
The declared @sentry/core version changes from 10.68.0 to 10.75.2.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Bug fix

Possibly related PRs

Suggested reviewers: harshithmullapudi

Merge Risk: Minimal · up to 96e28

The dependency versions are aligned, with no actionable merge-blocking risk identified.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly describes the dependency alignment fix and follows the required conventional commit format.
Description check Passed The description explains what changed, why it was needed, testing performed, risks, and rollback. It does not use the exact template headings and omits the checklist, but it provides the required core…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description explains what changed, why it was needed, testing performed, risks, and rollback. It does not use the exact template headings and omits the checklist, but it provides the required core information.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

Finishing Touches
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

Architecture diagram
sequenceDiagram
    participant API as apps/api (@sentry/nextjs 10.75.2)
    participant TRPC as packages/trpc (@sentry/core 10.75.2)
    participant Carrier as __SENTRY__[SDK_VERSION]
    participant Sentry as Sentry Backend
    
    Note over API,TRPC: Runtime telemetry flow after version match
    
    API->>TRPC: Initialize tRPC route (cloud-workspace.provision/start)
    TRPC->>Carrier: getSentryCarrier() - lookup by SDK_VERSION 10.75.2
    Carrier-->>TRPC: Return shared carrier (now populated)
    
    TRPC->>Sentry: captureException() / startSpan() via shared client
    Sentry-->>API: Trace/error reported
    
    Note over API,Sentry: Both packages now share same SDK_VERSION key
Loading

View guided diff | Turn on auto-fix | Re-trigger cubic

@greptile-apps

greptile-apps Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge.

Summary

Updates packages/trpc to use @sentry/core 10.75.2, matching the API’s Sentry SDK.

  • Cloud workspace telemetry uses the API's Sentry core version.

Reviews (1) · Last reviewed commit: "fix(trpc): match @sentry/core to the API..." · Reviewed by Greptile

@expo

expo Bot commented Nov 2, 2026

Copy link
Copy Markdown

Preview update published for development build eca66a32 (fingerprint e65ce637d4ee). Open the build on your phone and scan:

Update group fca3463c

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

🧹 Preview Cleanup Complete

The following preview resources have been cleaned up:

  • ✅ Neon database branch

Thank you for your contribution! 🎉

@saddlepaddle
saddlepaddle merged commit 6c939aa into main Nov 2, 2026
20 checks passed

superset-home commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Verdict: looks good. The fix is correct. I reproduced the version-keyed carrier miss locally: trpc's getClient() sees the API's client only when the two @sentry/core versions match, and they match at this head. Sentry also shows the last cloud-workspace.provision span at 2026-10-29 23:37 UTC, five minutes before #9042 merged.

Findings:

  • Minor: packages/trpc/package.json:169: nothing keeps this pin in step with apps/api/package.json:23. The next @sentry/nextjs Dependabot bump will silently break this again, and .github/dependabot.yml has no @sentry/* group. I suggest a small version-match test or a Dependabot group, possibly as a follow-up.
  • Info: packages/host-service/package.json:88 and apps/relay/package.json:13 stay on 10.68.0 and now differ from trpc. There is no effect today, because neither imports a Sentry-using trpc module at runtime.

Checks at 96e28dcc: frozen install OK, trpc tsc passes, bun test 841/841, sherif clean, and CI is green except Deploy Marketing, which was still pending.

Full report: https://app.superset.sh/page/pr-9281-review-trpc-sentry-core-version-match-toivhx

Slack post failed: Slack MCP server needs re-authentication

This branch was previously deployed

1 inactive deployment
preview — 96e28dcc Deployed Nov 2, 2026 by saddlepaddle via Deploy API #13612
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