fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches - #249

Merged
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk
Feb 16, 2026
Merged

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches#249
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk

Conversation

@BYK

@BYKBYK commented Feb 16, 2026

Copy link
Copy Markdown
Member

Summary

Upgrade @sentry/bun and @sentry/node from 10.38.0 → 10.39.0 and remove all custom patches/workarounds that are now fixed upstream.

Changes

  • Removed patches/@sentry%2Fcore@10.38.0.patch (92 lines) — Added .unref() to timers in setupWeightBasedFlushing, _isClientDoneProcessing, and makePromiseBuffer to prevent the CLI from hanging on exit. Fixed upstream by #19062 and #19174.
  • Removed runtime context workaround in src/lib/telemetry.ts (14 lines) — Manually overrode options.runtime after Sentry.init() to report Bun instead of Node.js. Fixed upstream — NodeClient now uses options.runtime || { name: 'node', ... } and @sentry/bun passes { name: 'bun', version: Bun.version }. Tracked as #19269.
  • Updated package.json — Bumped both SDK packages to 10.39.0 and removed @sentry/core from patchedDependencies.

Verification

  • Verified all three upstream fixes by reading the 10.39.0 source code and linked PRs
  • bun install, typecheck, lint, and tests all pass cleanly
  • No new test failures introduced (pre-existing ~95 failures on main are unrelated)

Upstream 10.39.0 fixes all issues we had manually patched:
- Timer .unref() calls that prevented CLI from exiting (#19062, #19174)
- Bun runtime context override in NodeClient (#19269)
Remove the @sentry/core@10.38.0 patch file and the runtime context
workaround in telemetry.ts since they are no longer needed.
@github-actions

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Build

  • Add hole-punch tool to reduce compressed binary size by BYK in #245
  • Add gzip-compressed binary downloads by BYK in #244

Bug Fixes 🐛

  • (polyfill) Add exited promise and stdin to Bun.spawn Node.js polyfill by BYK in #248
  • (telemetry) Upgrade Sentry SDK to 10.39.0 and remove custom patches by BYK in #249
  • (upgrade) Remove v prefix from release URLs and work around Bun.write streaming bug by BYK in #243

Internal Changes 🔧

  • (build) Replace local hole-punch script with binpunch package by BYK in #246
  • Use @sentry/api client for requests by MathurAditya724 in #226

🤖 This preview updates automatically when you update the PR.

@github-actions

Copy link
Copy Markdown
Contributor

Codecov Results 📊

✅ Patch coverage is 100.00%. Project has 4126 uncovered lines.
❌ Project coverage is 68.17%. Comparing base (base) to head (head).

Files with missing lines (71)
FilePatch %Lines
human.ts58.29%⚠️ 395 Missing
resolve-target.ts20.26%⚠️ 366 Missing
list.ts14.39%⚠️ 345 Missing
api-client.ts59.38%⚠️ 262 Missing
list.ts23.47%⚠️ 212 Missing
oauth.ts30.68%⚠️ 183 Missing
list.ts21.96%⚠️ 167 Missing
plan.ts19.37%⚠️ 154 Missing
resolver.ts3.23%⚠️ 120 Missing
help.ts19.85%⚠️ 109 Missing
upgrade.ts61.37%⚠️ 107 Missing
view.ts36.48%⚠️ 101 Missing
interactive-login.ts9.17%⚠️ 99 Missing
errors.ts5.94%⚠️ 95 Missing
view.ts25.81%⚠️ 92 Missing
view.ts39.44%⚠️ 86 Missing
clipboard.ts4.49%⚠️ 85 Missing
status.ts24.07%⚠️ 82 Missing
migration.ts47.44%⚠️ 82 Missing
list.ts27.18%⚠️ 75 Missing
browser.ts4.11%⚠️ 70 Missing
login.ts33.33%⚠️ 64 Missing
span-tree.ts5.00%⚠️ 57 Missing
explain.ts33.33%⚠️ 56 Missing
api.ts89.80%⚠️ 47 Missing
upgrade.ts66.91%⚠️ 46 Missing
telemetry.ts84.35%⚠️ 46 Missing
seer.ts75.54%⚠️ 45 Missing
schema.ts89.56%⚠️ 40 Missing
refresh.ts40.63%⚠️ 38 Missing
seer.ts79.87%⚠️ 30 Missing
preload.ts53.23%⚠️ 29 Missing
view.ts87.27%⚠️ 28 Missing
utils.ts88.94%⚠️ 25 Missing
view.ts61.54%⚠️ 25 Missing
detector.ts90.10%⚠️ 20 Missing
binary.ts88.67%⚠️ 17 Missing
list.ts91.16%⚠️ 16 Missing
list.ts90.70%⚠️ 16 Missing
code-scanner.ts95.00%⚠️ 16 Missing
help.ts57.14%⚠️ 15 Missing
sentry-client.ts92.22%⚠️ 13 Missing
arg-parsing.ts90.00%⚠️ 12 Missing
dsn-cache.ts94.62%⚠️ 12 Missing
logout.ts56.00%⚠️ 11 Missing
token.ts52.17%⚠️ 11 Missing
fix.ts83.61%⚠️ 10 Missing
qrcode.ts33.33%⚠️ 10 Missing
fs-utils.ts57.14%⚠️ 9 Missing
view.ts94.70%⚠️ 7 Missing
project-root.ts97.73%⚠️ 7 Missing
version-check.ts91.76%⚠️ 7 Missing
feedback.ts84.21%⚠️ 6 Missing
auth.ts95.52%⚠️ 6 Missing
shell.ts96.23%⚠️ 6 Missing
app.ts93.90%⚠️ 5 Missing
region.ts86.49%⚠️ 5 Missing
setup.ts97.84%⚠️ 4 Missing
list.ts97.33%⚠️ 4 Missing
index.ts95.96%⚠️ 4 Missing
project-aliases.ts97.40%⚠️ 2 Missing
project-root-cache.ts96.92%⚠️ 2 Missing
output.ts89.47%⚠️ 2 Missing
alias.ts99.42%⚠️ 1 Missing
completions.ts99.37%⚠️ 1 Missing
env-file.ts99.19%⚠️ 1 Missing
parser.ts98.63%⚠️ 1 Missing
colors.ts98.21%⚠️ 1 Missing
trace.ts99.16%⚠️ 1 Missing
helpers.ts97.62%⚠️ 1 Missing
helpers.ts94.74%⚠️ 1 Missing
Coverage diff
@@ Coverage Diff @@## main #PR +/-##
==========================================
- Coverage 68.18% 68.17% -0.01%
==========================================
Files 108 108 —
Lines 12968 12961 -7
Branches 0 0 —
==========================================
+ Hits 8842 8835 -7- Misses 4126 4126 —- Partials 0 0 —

Generated by Codecov Action

@BYK
BYK marked this pull request as ready for review February 16, 2026 20:52
@BYK
BYK merged commit 604b4e6 into mainFeb 16, 2026
23 checks passed
@BYK
BYK deleted the byk/upgrade-sentry-sdk branch February 16, 2026 20:58
betegon added a commit that referenced this pull request Aug 21, 2026
## Summary
Make `sentry init` accept a terminal workflow result as successful only
when it explicitly reports `status: "success"` and `result.exitCode: 0`.
Previously, a successful response with no `result` or no `exitCode`
passed the truthiness check and could print the success handoff with
process exit 0. The CLI now treats that as malformed, surfaces a
specific `WizardError`, and exits nonzero. Existing nonzero
workflow-to-CLI exit mappings are unchanged.
This makes the process exit status a reliable black-box signal for the
init smoke harness.
## Compatibility
This intentionally stops accepting terminal success payloads that omit
`exitCode`. The current wizard success output already returns `exitCode:
0`.
The draft [#1406](#1406) also
touches `handleFinalResult`; merge order will require rebasing whichever
PR lands second.
## Test plan
- focused wizard runner tests: 74 passed
- CLI typecheck
- Biome on the three changed files
- `git diff --check`
- native `darwin-arm64` binary build
- real Express init against the local candidate API: exit 0
- invalid OpenRouter credential: CLI exit 61 and smoke harness exit 1
## Rollout
The paired API-owned smoke is
[getsentry/cli-init-api#249](getsentry/cli-init-api#249).
Once this lands, bump its pinned CLI SHA so malformed successful
workflow responses cannot produce a false-green smoke result.
Sign up for freeto 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.

1 participant

@BYK
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches - #249

Merged
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk
Feb 16, 2026
Merged

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches#249
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk

Conversation

@BYK

@BYKBYK commented Feb 16, 2026

Copy link
Copy Markdown
Member

Summary

Upgrade @sentry/bun and @sentry/node from 10.38.0 → 10.39.0 and remove all custom patches/workarounds that are now fixed upstream.

Changes

  • Removed patches/@sentry%2Fcore@10.38.0.patch (92 lines) — Added .unref() to timers in setupWeightBasedFlushing, _isClientDoneProcessing, and makePromiseBuffer to prevent the CLI from hanging on exit. Fixed upstream by #19062 and #19174.
  • Removed runtime context workaround in src/lib/telemetry.ts (14 lines) — Manually overrode options.runtime after Sentry.init() to report Bun instead of Node.js. Fixed upstream — NodeClient now uses options.runtime || { name: 'node', ... } and @sentry/bun passes { name: 'bun', version: Bun.version }. Tracked as #19269.
  • Updated package.json — Bumped both SDK packages to 10.39.0 and removed @sentry/core from patchedDependencies.

Verification

  • Verified all three upstream fixes by reading the 10.39.0 source code and linked PRs
  • bun install, typecheck, lint, and tests all pass cleanly
  • No new test failures introduced (pre-existing ~95 failures on main are unrelated)

Upstream 10.39.0 fixes all issues we had manually patched:
- Timer .unref() calls that prevented CLI from exiting (#19062, #19174)
- Bun runtime context override in NodeClient (#19269)
Remove the @sentry/core@10.38.0 patch file and the runtime context
workaround in telemetry.ts since they are no longer needed.
@github-actions

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Build

  • Add hole-punch tool to reduce compressed binary size by BYK in #245
  • Add gzip-compressed binary downloads by BYK in #244

Bug Fixes 🐛

  • (polyfill) Add exited promise and stdin to Bun.spawn Node.js polyfill by BYK in #248
  • (telemetry) Upgrade Sentry SDK to 10.39.0 and remove custom patches by BYK in #249
  • (upgrade) Remove v prefix from release URLs and work around Bun.write streaming bug by BYK in #243

Internal Changes 🔧

  • (build) Replace local hole-punch script with binpunch package by BYK in #246
  • Use @sentry/api client for requests by MathurAditya724 in #226

🤖 This preview updates automatically when you update the PR.

@github-actions

Copy link
Copy Markdown
Contributor

Codecov Results 📊

✅ Patch coverage is 100.00%. Project has 4126 uncovered lines.
❌ Project coverage is 68.17%. Comparing base (base) to head (head).

Files with missing lines (71)
FilePatch %Lines
human.ts58.29%⚠️ 395 Missing
resolve-target.ts20.26%⚠️ 366 Missing
list.ts14.39%⚠️ 345 Missing
api-client.ts59.38%⚠️ 262 Missing
list.ts23.47%⚠️ 212 Missing
oauth.ts30.68%⚠️ 183 Missing
list.ts21.96%⚠️ 167 Missing
plan.ts19.37%⚠️ 154 Missing
resolver.ts3.23%⚠️ 120 Missing
help.ts19.85%⚠️ 109 Missing
upgrade.ts61.37%⚠️ 107 Missing
view.ts36.48%⚠️ 101 Missing
interactive-login.ts9.17%⚠️ 99 Missing
errors.ts5.94%⚠️ 95 Missing
view.ts25.81%⚠️ 92 Missing
view.ts39.44%⚠️ 86 Missing
clipboard.ts4.49%⚠️ 85 Missing
status.ts24.07%⚠️ 82 Missing
migration.ts47.44%⚠️ 82 Missing
list.ts27.18%⚠️ 75 Missing
browser.ts4.11%⚠️ 70 Missing
login.ts33.33%⚠️ 64 Missing
span-tree.ts5.00%⚠️ 57 Missing
explain.ts33.33%⚠️ 56 Missing
api.ts89.80%⚠️ 47 Missing
upgrade.ts66.91%⚠️ 46 Missing
telemetry.ts84.35%⚠️ 46 Missing
seer.ts75.54%⚠️ 45 Missing
schema.ts89.56%⚠️ 40 Missing
refresh.ts40.63%⚠️ 38 Missing
seer.ts79.87%⚠️ 30 Missing
preload.ts53.23%⚠️ 29 Missing
view.ts87.27%⚠️ 28 Missing
utils.ts88.94%⚠️ 25 Missing
view.ts61.54%⚠️ 25 Missing
detector.ts90.10%⚠️ 20 Missing
binary.ts88.67%⚠️ 17 Missing
list.ts91.16%⚠️ 16 Missing
list.ts90.70%⚠️ 16 Missing
code-scanner.ts95.00%⚠️ 16 Missing
help.ts57.14%⚠️ 15 Missing
sentry-client.ts92.22%⚠️ 13 Missing
arg-parsing.ts90.00%⚠️ 12 Missing
dsn-cache.ts94.62%⚠️ 12 Missing
logout.ts56.00%⚠️ 11 Missing
token.ts52.17%⚠️ 11 Missing
fix.ts83.61%⚠️ 10 Missing
qrcode.ts33.33%⚠️ 10 Missing
fs-utils.ts57.14%⚠️ 9 Missing
view.ts94.70%⚠️ 7 Missing
project-root.ts97.73%⚠️ 7 Missing
version-check.ts91.76%⚠️ 7 Missing
feedback.ts84.21%⚠️ 6 Missing
auth.ts95.52%⚠️ 6 Missing
shell.ts96.23%⚠️ 6 Missing
app.ts93.90%⚠️ 5 Missing
region.ts86.49%⚠️ 5 Missing
setup.ts97.84%⚠️ 4 Missing
list.ts97.33%⚠️ 4 Missing
index.ts95.96%⚠️ 4 Missing
project-aliases.ts97.40%⚠️ 2 Missing
project-root-cache.ts96.92%⚠️ 2 Missing
output.ts89.47%⚠️ 2 Missing
alias.ts99.42%⚠️ 1 Missing
completions.ts99.37%⚠️ 1 Missing
env-file.ts99.19%⚠️ 1 Missing
parser.ts98.63%⚠️ 1 Missing
colors.ts98.21%⚠️ 1 Missing
trace.ts99.16%⚠️ 1 Missing
helpers.ts97.62%⚠️ 1 Missing
helpers.ts94.74%⚠️ 1 Missing
Coverage diff
@@ Coverage Diff @@## main #PR +/-##
==========================================
- Coverage 68.18% 68.17% -0.01%
==========================================
Files 108 108 —
Lines 12968 12961 -7
Branches 0 0 —
==========================================
+ Hits 8842 8835 -7- Misses 4126 4126 —- Partials 0 0 —

Generated by Codecov Action

@BYK
BYK marked this pull request as ready for review February 16, 2026 20:52
@BYK
BYK merged commit 604b4e6 into mainFeb 16, 2026
23 checks passed
@BYK
BYK deleted the byk/upgrade-sentry-sdk branch February 16, 2026 20:58
betegon added a commit that referenced this pull request Aug 21, 2026
## Summary
Make `sentry init` accept a terminal workflow result as successful only
when it explicitly reports `status: "success"` and `result.exitCode: 0`.
Previously, a successful response with no `result` or no `exitCode`
passed the truthiness check and could print the success handoff with
process exit 0. The CLI now treats that as malformed, surfaces a
specific `WizardError`, and exits nonzero. Existing nonzero
workflow-to-CLI exit mappings are unchanged.
This makes the process exit status a reliable black-box signal for the
init smoke harness.
## Compatibility
This intentionally stops accepting terminal success payloads that omit
`exitCode`. The current wizard success output already returns `exitCode:
0`.
The draft [#1406](#1406) also
touches `handleFinalResult`; merge order will require rebasing whichever
PR lands second.
## Test plan
- focused wizard runner tests: 74 passed
- CLI typecheck
- Biome on the three changed files
- `git diff --check`
- native `darwin-arm64` binary build
- real Express init against the local candidate API: exit 0
- invalid OpenRouter credential: CLI exit 61 and smoke harness exit 1
## Rollout
The paired API-owned smoke is
[getsentry/cli-init-api#249](getsentry/cli-init-api#249).
Once this lands, bump its pinned CLI SHA so malformed successful
workflow responses cannot produce a false-green smoke result.
Sign up for freeto 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.

1 participant

@BYK
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches - #249

Merged
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk
Feb 16, 2026
Merged

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches#249
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk

Conversation

@BYK

@BYKBYK commented Feb 16, 2026

Copy link
Copy Markdown
Member

Summary

Upgrade @sentry/bun and @sentry/node from 10.38.0 → 10.39.0 and remove all custom patches/workarounds that are now fixed upstream.

Changes

  • Removed patches/@sentry%2Fcore@10.38.0.patch (92 lines) — Added .unref() to timers in setupWeightBasedFlushing, _isClientDoneProcessing, and makePromiseBuffer to prevent the CLI from hanging on exit. Fixed upstream by #19062 and #19174.
  • Removed runtime context workaround in src/lib/telemetry.ts (14 lines) — Manually overrode options.runtime after Sentry.init() to report Bun instead of Node.js. Fixed upstream — NodeClient now uses options.runtime || { name: 'node', ... } and @sentry/bun passes { name: 'bun', version: Bun.version }. Tracked as #19269.
  • Updated package.json — Bumped both SDK packages to 10.39.0 and removed @sentry/core from patchedDependencies.

Verification

  • Verified all three upstream fixes by reading the 10.39.0 source code and linked PRs
  • bun install, typecheck, lint, and tests all pass cleanly
  • No new test failures introduced (pre-existing ~95 failures on main are unrelated)

Upstream 10.39.0 fixes all issues we had manually patched:
- Timer .unref() calls that prevented CLI from exiting (#19062, #19174)
- Bun runtime context override in NodeClient (#19269)
Remove the @sentry/core@10.38.0 patch file and the runtime context
workaround in telemetry.ts since they are no longer needed.
@github-actions

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Build

  • Add hole-punch tool to reduce compressed binary size by BYK in #245
  • Add gzip-compressed binary downloads by BYK in #244

Bug Fixes 🐛

  • (polyfill) Add exited promise and stdin to Bun.spawn Node.js polyfill by BYK in #248
  • (telemetry) Upgrade Sentry SDK to 10.39.0 and remove custom patches by BYK in #249
  • (upgrade) Remove v prefix from release URLs and work around Bun.write streaming bug by BYK in #243

Internal Changes 🔧

  • (build) Replace local hole-punch script with binpunch package by BYK in #246
  • Use @sentry/api client for requests by MathurAditya724 in #226

🤖 This preview updates automatically when you update the PR.

@github-actions

Copy link
Copy Markdown
Contributor

Codecov Results 📊

✅ Patch coverage is 100.00%. Project has 4126 uncovered lines.
❌ Project coverage is 68.17%. Comparing base (base) to head (head).

Files with missing lines (71)
FilePatch %Lines
human.ts58.29%⚠️ 395 Missing
resolve-target.ts20.26%⚠️ 366 Missing
list.ts14.39%⚠️ 345 Missing
api-client.ts59.38%⚠️ 262 Missing
list.ts23.47%⚠️ 212 Missing
oauth.ts30.68%⚠️ 183 Missing
list.ts21.96%⚠️ 167 Missing
plan.ts19.37%⚠️ 154 Missing
resolver.ts3.23%⚠️ 120 Missing
help.ts19.85%⚠️ 109 Missing
upgrade.ts61.37%⚠️ 107 Missing
view.ts36.48%⚠️ 101 Missing
interactive-login.ts9.17%⚠️ 99 Missing
errors.ts5.94%⚠️ 95 Missing
view.ts25.81%⚠️ 92 Missing
view.ts39.44%⚠️ 86 Missing
clipboard.ts4.49%⚠️ 85 Missing
status.ts24.07%⚠️ 82 Missing
migration.ts47.44%⚠️ 82 Missing
list.ts27.18%⚠️ 75 Missing
browser.ts4.11%⚠️ 70 Missing
login.ts33.33%⚠️ 64 Missing
span-tree.ts5.00%⚠️ 57 Missing
explain.ts33.33%⚠️ 56 Missing
api.ts89.80%⚠️ 47 Missing
upgrade.ts66.91%⚠️ 46 Missing
telemetry.ts84.35%⚠️ 46 Missing
seer.ts75.54%⚠️ 45 Missing
schema.ts89.56%⚠️ 40 Missing
refresh.ts40.63%⚠️ 38 Missing
seer.ts79.87%⚠️ 30 Missing
preload.ts53.23%⚠️ 29 Missing
view.ts87.27%⚠️ 28 Missing
utils.ts88.94%⚠️ 25 Missing
view.ts61.54%⚠️ 25 Missing
detector.ts90.10%⚠️ 20 Missing
binary.ts88.67%⚠️ 17 Missing
list.ts91.16%⚠️ 16 Missing
list.ts90.70%⚠️ 16 Missing
code-scanner.ts95.00%⚠️ 16 Missing
help.ts57.14%⚠️ 15 Missing
sentry-client.ts92.22%⚠️ 13 Missing
arg-parsing.ts90.00%⚠️ 12 Missing
dsn-cache.ts94.62%⚠️ 12 Missing
logout.ts56.00%⚠️ 11 Missing
token.ts52.17%⚠️ 11 Missing
fix.ts83.61%⚠️ 10 Missing
qrcode.ts33.33%⚠️ 10 Missing
fs-utils.ts57.14%⚠️ 9 Missing
view.ts94.70%⚠️ 7 Missing
project-root.ts97.73%⚠️ 7 Missing
version-check.ts91.76%⚠️ 7 Missing
feedback.ts84.21%⚠️ 6 Missing
auth.ts95.52%⚠️ 6 Missing
shell.ts96.23%⚠️ 6 Missing
app.ts93.90%⚠️ 5 Missing
region.ts86.49%⚠️ 5 Missing
setup.ts97.84%⚠️ 4 Missing
list.ts97.33%⚠️ 4 Missing
index.ts95.96%⚠️ 4 Missing
project-aliases.ts97.40%⚠️ 2 Missing
project-root-cache.ts96.92%⚠️ 2 Missing
output.ts89.47%⚠️ 2 Missing
alias.ts99.42%⚠️ 1 Missing
completions.ts99.37%⚠️ 1 Missing
env-file.ts99.19%⚠️ 1 Missing
parser.ts98.63%⚠️ 1 Missing
colors.ts98.21%⚠️ 1 Missing
trace.ts99.16%⚠️ 1 Missing
helpers.ts97.62%⚠️ 1 Missing
helpers.ts94.74%⚠️ 1 Missing
Coverage diff
@@ Coverage Diff @@## main #PR +/-##
==========================================
- Coverage 68.18% 68.17% -0.01%
==========================================
Files 108 108 —
Lines 12968 12961 -7
Branches 0 0 —
==========================================
+ Hits 8842 8835 -7- Misses 4126 4126 —- Partials 0 0 —

Generated by Codecov Action

@BYK
BYK marked this pull request as ready for review February 16, 2026 20:52
@BYK
BYK merged commit 604b4e6 into mainFeb 16, 2026
23 checks passed
@BYK
BYK deleted the byk/upgrade-sentry-sdk branch February 16, 2026 20:58
betegon added a commit that referenced this pull request Aug 21, 2026
## Summary
Make `sentry init` accept a terminal workflow result as successful only
when it explicitly reports `status: "success"` and `result.exitCode: 0`.
Previously, a successful response with no `result` or no `exitCode`
passed the truthiness check and could print the success handoff with
process exit 0. The CLI now treats that as malformed, surfaces a
specific `WizardError`, and exits nonzero. Existing nonzero
workflow-to-CLI exit mappings are unchanged.
This makes the process exit status a reliable black-box signal for the
init smoke harness.
## Compatibility
This intentionally stops accepting terminal success payloads that omit
`exitCode`. The current wizard success output already returns `exitCode:
0`.
The draft [#1406](#1406) also
touches `handleFinalResult`; merge order will require rebasing whichever
PR lands second.
## Test plan
- focused wizard runner tests: 74 passed
- CLI typecheck
- Biome on the three changed files
- `git diff --check`
- native `darwin-arm64` binary build
- real Express init against the local candidate API: exit 0
- invalid OpenRouter credential: CLI exit 61 and smoke harness exit 1
## Rollout
The paired API-owned smoke is
[getsentry/cli-init-api#249](getsentry/cli-init-api#249).
Once this lands, bump its pinned CLI SHA so malformed successful
workflow responses cannot produce a false-green smoke result.
Sign up for freeto 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.

1 participant

@BYK
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches - #249

Merged
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk
Feb 16, 2026
Merged

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches#249
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk

Conversation

@BYK

@BYKBYK commented Feb 16, 2026

Copy link
Copy Markdown
Member

Summary

Upgrade @sentry/bun and @sentry/node from 10.38.0 → 10.39.0 and remove all custom patches/workarounds that are now fixed upstream.

Changes

  • Removed patches/@sentry%2Fcore@10.38.0.patch (92 lines) — Added .unref() to timers in setupWeightBasedFlushing, _isClientDoneProcessing, and makePromiseBuffer to prevent the CLI from hanging on exit. Fixed upstream by #19062 and #19174.
  • Removed runtime context workaround in src/lib/telemetry.ts (14 lines) — Manually overrode options.runtime after Sentry.init() to report Bun instead of Node.js. Fixed upstream — NodeClient now uses options.runtime || { name: 'node', ... } and @sentry/bun passes { name: 'bun', version: Bun.version }. Tracked as #19269.
  • Updated package.json — Bumped both SDK packages to 10.39.0 and removed @sentry/core from patchedDependencies.

Verification

  • Verified all three upstream fixes by reading the 10.39.0 source code and linked PRs
  • bun install, typecheck, lint, and tests all pass cleanly
  • No new test failures introduced (pre-existing ~95 failures on main are unrelated)

Upstream 10.39.0 fixes all issues we had manually patched:
- Timer .unref() calls that prevented CLI from exiting (#19062, #19174)
- Bun runtime context override in NodeClient (#19269)
Remove the @sentry/core@10.38.0 patch file and the runtime context
workaround in telemetry.ts since they are no longer needed.
@github-actions

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Build

  • Add hole-punch tool to reduce compressed binary size by BYK in #245
  • Add gzip-compressed binary downloads by BYK in #244

Bug Fixes 🐛

  • (polyfill) Add exited promise and stdin to Bun.spawn Node.js polyfill by BYK in #248
  • (telemetry) Upgrade Sentry SDK to 10.39.0 and remove custom patches by BYK in #249
  • (upgrade) Remove v prefix from release URLs and work around Bun.write streaming bug by BYK in #243

Internal Changes 🔧

  • (build) Replace local hole-punch script with binpunch package by BYK in #246
  • Use @sentry/api client for requests by MathurAditya724 in #226

🤖 This preview updates automatically when you update the PR.

@github-actions

Copy link
Copy Markdown
Contributor

Codecov Results 📊

✅ Patch coverage is 100.00%. Project has 4126 uncovered lines.
❌ Project coverage is 68.17%. Comparing base (base) to head (head).

Files with missing lines (71)
FilePatch %Lines
human.ts58.29%⚠️ 395 Missing
resolve-target.ts20.26%⚠️ 366 Missing
list.ts14.39%⚠️ 345 Missing
api-client.ts59.38%⚠️ 262 Missing
list.ts23.47%⚠️ 212 Missing
oauth.ts30.68%⚠️ 183 Missing
list.ts21.96%⚠️ 167 Missing
plan.ts19.37%⚠️ 154 Missing
resolver.ts3.23%⚠️ 120 Missing
help.ts19.85%⚠️ 109 Missing
upgrade.ts61.37%⚠️ 107 Missing
view.ts36.48%⚠️ 101 Missing
interactive-login.ts9.17%⚠️ 99 Missing
errors.ts5.94%⚠️ 95 Missing
view.ts25.81%⚠️ 92 Missing
view.ts39.44%⚠️ 86 Missing
clipboard.ts4.49%⚠️ 85 Missing
status.ts24.07%⚠️ 82 Missing
migration.ts47.44%⚠️ 82 Missing
list.ts27.18%⚠️ 75 Missing
browser.ts4.11%⚠️ 70 Missing
login.ts33.33%⚠️ 64 Missing
span-tree.ts5.00%⚠️ 57 Missing
explain.ts33.33%⚠️ 56 Missing
api.ts89.80%⚠️ 47 Missing
upgrade.ts66.91%⚠️ 46 Missing
telemetry.ts84.35%⚠️ 46 Missing
seer.ts75.54%⚠️ 45 Missing
schema.ts89.56%⚠️ 40 Missing
refresh.ts40.63%⚠️ 38 Missing
seer.ts79.87%⚠️ 30 Missing
preload.ts53.23%⚠️ 29 Missing
view.ts87.27%⚠️ 28 Missing
utils.ts88.94%⚠️ 25 Missing
view.ts61.54%⚠️ 25 Missing
detector.ts90.10%⚠️ 20 Missing
binary.ts88.67%⚠️ 17 Missing
list.ts91.16%⚠️ 16 Missing
list.ts90.70%⚠️ 16 Missing
code-scanner.ts95.00%⚠️ 16 Missing
help.ts57.14%⚠️ 15 Missing
sentry-client.ts92.22%⚠️ 13 Missing
arg-parsing.ts90.00%⚠️ 12 Missing
dsn-cache.ts94.62%⚠️ 12 Missing
logout.ts56.00%⚠️ 11 Missing
token.ts52.17%⚠️ 11 Missing
fix.ts83.61%⚠️ 10 Missing
qrcode.ts33.33%⚠️ 10 Missing
fs-utils.ts57.14%⚠️ 9 Missing
view.ts94.70%⚠️ 7 Missing
project-root.ts97.73%⚠️ 7 Missing
version-check.ts91.76%⚠️ 7 Missing
feedback.ts84.21%⚠️ 6 Missing
auth.ts95.52%⚠️ 6 Missing
shell.ts96.23%⚠️ 6 Missing
app.ts93.90%⚠️ 5 Missing
region.ts86.49%⚠️ 5 Missing
setup.ts97.84%⚠️ 4 Missing
list.ts97.33%⚠️ 4 Missing
index.ts95.96%⚠️ 4 Missing
project-aliases.ts97.40%⚠️ 2 Missing
project-root-cache.ts96.92%⚠️ 2 Missing
output.ts89.47%⚠️ 2 Missing
alias.ts99.42%⚠️ 1 Missing
completions.ts99.37%⚠️ 1 Missing
env-file.ts99.19%⚠️ 1 Missing
parser.ts98.63%⚠️ 1 Missing
colors.ts98.21%⚠️ 1 Missing
trace.ts99.16%⚠️ 1 Missing
helpers.ts97.62%⚠️ 1 Missing
helpers.ts94.74%⚠️ 1 Missing
Coverage diff
@@ Coverage Diff @@## main #PR +/-##
==========================================
- Coverage 68.18% 68.17% -0.01%
==========================================
Files 108 108 —
Lines 12968 12961 -7
Branches 0 0 —
==========================================
+ Hits 8842 8835 -7- Misses 4126 4126 —- Partials 0 0 —

Generated by Codecov Action

@BYK
BYK marked this pull request as ready for review February 16, 2026 20:52
@BYK
BYK merged commit 604b4e6 into mainFeb 16, 2026
23 checks passed
@BYK
BYK deleted the byk/upgrade-sentry-sdk branch February 16, 2026 20:58
betegon added a commit that referenced this pull request Aug 21, 2026
## Summary
Make `sentry init` accept a terminal workflow result as successful only
when it explicitly reports `status: "success"` and `result.exitCode: 0`.
Previously, a successful response with no `result` or no `exitCode`
passed the truthiness check and could print the success handoff with
process exit 0. The CLI now treats that as malformed, surfaces a
specific `WizardError`, and exits nonzero. Existing nonzero
workflow-to-CLI exit mappings are unchanged.
This makes the process exit status a reliable black-box signal for the
init smoke harness.
## Compatibility
This intentionally stops accepting terminal success payloads that omit
`exitCode`. The current wizard success output already returns `exitCode:
0`.
The draft [#1406](#1406) also
touches `handleFinalResult`; merge order will require rebasing whichever
PR lands second.
## Test plan
- focused wizard runner tests: 74 passed
- CLI typecheck
- Biome on the three changed files
- `git diff --check`
- native `darwin-arm64` binary build
- real Express init against the local candidate API: exit 0
- invalid OpenRouter credential: CLI exit 61 and smoke harness exit 1
## Rollout
The paired API-owned smoke is
[getsentry/cli-init-api#249](getsentry/cli-init-api#249).
Once this lands, bump its pinned CLI SHA so malformed successful
workflow responses cannot produce a false-green smoke result.
Sign up for freeto 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.

1 participant

@BYK
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches - #249

Merged
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk
Feb 16, 2026
Merged

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches#249
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk

Conversation

@BYK

@BYKBYK commented Feb 16, 2026

Copy link
Copy Markdown
Member

Summary

Upgrade @sentry/bun and @sentry/node from 10.38.0 → 10.39.0 and remove all custom patches/workarounds that are now fixed upstream.

Changes

  • Removed patches/@sentry%2Fcore@10.38.0.patch (92 lines) — Added .unref() to timers in setupWeightBasedFlushing, _isClientDoneProcessing, and makePromiseBuffer to prevent the CLI from hanging on exit. Fixed upstream by #19062 and #19174.
  • Removed runtime context workaround in src/lib/telemetry.ts (14 lines) — Manually overrode options.runtime after Sentry.init() to report Bun instead of Node.js. Fixed upstream — NodeClient now uses options.runtime || { name: 'node', ... } and @sentry/bun passes { name: 'bun', version: Bun.version }. Tracked as #19269.
  • Updated package.json — Bumped both SDK packages to 10.39.0 and removed @sentry/core from patchedDependencies.

Verification

  • Verified all three upstream fixes by reading the 10.39.0 source code and linked PRs
  • bun install, typecheck, lint, and tests all pass cleanly
  • No new test failures introduced (pre-existing ~95 failures on main are unrelated)

Upstream 10.39.0 fixes all issues we had manually patched:
- Timer .unref() calls that prevented CLI from exiting (#19062, #19174)
- Bun runtime context override in NodeClient (#19269)
Remove the @sentry/core@10.38.0 patch file and the runtime context
workaround in telemetry.ts since they are no longer needed.
@github-actions

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Build

  • Add hole-punch tool to reduce compressed binary size by BYK in #245
  • Add gzip-compressed binary downloads by BYK in #244

Bug Fixes 🐛

  • (polyfill) Add exited promise and stdin to Bun.spawn Node.js polyfill by BYK in #248
  • (telemetry) Upgrade Sentry SDK to 10.39.0 and remove custom patches by BYK in #249
  • (upgrade) Remove v prefix from release URLs and work around Bun.write streaming bug by BYK in #243

Internal Changes 🔧

  • (build) Replace local hole-punch script with binpunch package by BYK in #246
  • Use @sentry/api client for requests by MathurAditya724 in #226

🤖 This preview updates automatically when you update the PR.

@github-actions

Copy link
Copy Markdown
Contributor

Codecov Results 📊

✅ Patch coverage is 100.00%. Project has 4126 uncovered lines.
❌ Project coverage is 68.17%. Comparing base (base) to head (head).

Files with missing lines (71)
FilePatch %Lines
human.ts58.29%⚠️ 395 Missing
resolve-target.ts20.26%⚠️ 366 Missing
list.ts14.39%⚠️ 345 Missing
api-client.ts59.38%⚠️ 262 Missing
list.ts23.47%⚠️ 212 Missing
oauth.ts30.68%⚠️ 183 Missing
list.ts21.96%⚠️ 167 Missing
plan.ts19.37%⚠️ 154 Missing
resolver.ts3.23%⚠️ 120 Missing
help.ts19.85%⚠️ 109 Missing
upgrade.ts61.37%⚠️ 107 Missing
view.ts36.48%⚠️ 101 Missing
interactive-login.ts9.17%⚠️ 99 Missing
errors.ts5.94%⚠️ 95 Missing
view.ts25.81%⚠️ 92 Missing
view.ts39.44%⚠️ 86 Missing
clipboard.ts4.49%⚠️ 85 Missing
status.ts24.07%⚠️ 82 Missing
migration.ts47.44%⚠️ 82 Missing
list.ts27.18%⚠️ 75 Missing
browser.ts4.11%⚠️ 70 Missing
login.ts33.33%⚠️ 64 Missing
span-tree.ts5.00%⚠️ 57 Missing
explain.ts33.33%⚠️ 56 Missing
api.ts89.80%⚠️ 47 Missing
upgrade.ts66.91%⚠️ 46 Missing
telemetry.ts84.35%⚠️ 46 Missing
seer.ts75.54%⚠️ 45 Missing
schema.ts89.56%⚠️ 40 Missing
refresh.ts40.63%⚠️ 38 Missing
seer.ts79.87%⚠️ 30 Missing
preload.ts53.23%⚠️ 29 Missing
view.ts87.27%⚠️ 28 Missing
utils.ts88.94%⚠️ 25 Missing
view.ts61.54%⚠️ 25 Missing
detector.ts90.10%⚠️ 20 Missing
binary.ts88.67%⚠️ 17 Missing
list.ts91.16%⚠️ 16 Missing
list.ts90.70%⚠️ 16 Missing
code-scanner.ts95.00%⚠️ 16 Missing
help.ts57.14%⚠️ 15 Missing
sentry-client.ts92.22%⚠️ 13 Missing
arg-parsing.ts90.00%⚠️ 12 Missing
dsn-cache.ts94.62%⚠️ 12 Missing
logout.ts56.00%⚠️ 11 Missing
token.ts52.17%⚠️ 11 Missing
fix.ts83.61%⚠️ 10 Missing
qrcode.ts33.33%⚠️ 10 Missing
fs-utils.ts57.14%⚠️ 9 Missing
view.ts94.70%⚠️ 7 Missing
project-root.ts97.73%⚠️ 7 Missing
version-check.ts91.76%⚠️ 7 Missing
feedback.ts84.21%⚠️ 6 Missing
auth.ts95.52%⚠️ 6 Missing
shell.ts96.23%⚠️ 6 Missing
app.ts93.90%⚠️ 5 Missing
region.ts86.49%⚠️ 5 Missing
setup.ts97.84%⚠️ 4 Missing
list.ts97.33%⚠️ 4 Missing
index.ts95.96%⚠️ 4 Missing
project-aliases.ts97.40%⚠️ 2 Missing
project-root-cache.ts96.92%⚠️ 2 Missing
output.ts89.47%⚠️ 2 Missing
alias.ts99.42%⚠️ 1 Missing
completions.ts99.37%⚠️ 1 Missing
env-file.ts99.19%⚠️ 1 Missing
parser.ts98.63%⚠️ 1 Missing
colors.ts98.21%⚠️ 1 Missing
trace.ts99.16%⚠️ 1 Missing
helpers.ts97.62%⚠️ 1 Missing
helpers.ts94.74%⚠️ 1 Missing
Coverage diff
@@ Coverage Diff @@## main #PR +/-##
==========================================
- Coverage 68.18% 68.17% -0.01%
==========================================
Files 108 108 —
Lines 12968 12961 -7
Branches 0 0 —
==========================================
+ Hits 8842 8835 -7- Misses 4126 4126 —- Partials 0 0 —

Generated by Codecov Action

@BYK
BYK marked this pull request as ready for review February 16, 2026 20:52
@BYK
BYK merged commit 604b4e6 into mainFeb 16, 2026
23 checks passed
@BYK
BYK deleted the byk/upgrade-sentry-sdk branch February 16, 2026 20:58
betegon added a commit that referenced this pull request Aug 21, 2026
## Summary
Make `sentry init` accept a terminal workflow result as successful only
when it explicitly reports `status: "success"` and `result.exitCode: 0`.
Previously, a successful response with no `result` or no `exitCode`
passed the truthiness check and could print the success handoff with
process exit 0. The CLI now treats that as malformed, surfaces a
specific `WizardError`, and exits nonzero. Existing nonzero
workflow-to-CLI exit mappings are unchanged.
This makes the process exit status a reliable black-box signal for the
init smoke harness.
## Compatibility
This intentionally stops accepting terminal success payloads that omit
`exitCode`. The current wizard success output already returns `exitCode:
0`.
The draft [#1406](#1406) also
touches `handleFinalResult`; merge order will require rebasing whichever
PR lands second.
## Test plan
- focused wizard runner tests: 74 passed
- CLI typecheck
- Biome on the three changed files
- `git diff --check`
- native `darwin-arm64` binary build
- real Express init against the local candidate API: exit 0
- invalid OpenRouter credential: CLI exit 61 and smoke harness exit 1
## Rollout
The paired API-owned smoke is
[getsentry/cli-init-api#249](getsentry/cli-init-api#249).
Once this lands, bump its pinned CLI SHA so malformed successful
workflow responses cannot produce a false-green smoke result.
Sign up for freeto 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.

1 participant

@BYK
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches - #249

Merged
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk
Feb 16, 2026
Merged

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches#249
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk

Conversation

@BYK

@BYKBYK commented Feb 16, 2026

Copy link
Copy Markdown
Member

Summary

Upgrade @sentry/bun and @sentry/node from 10.38.0 → 10.39.0 and remove all custom patches/workarounds that are now fixed upstream.

Changes

  • Removed patches/@sentry%2Fcore@10.38.0.patch (92 lines) — Added .unref() to timers in setupWeightBasedFlushing, _isClientDoneProcessing, and makePromiseBuffer to prevent the CLI from hanging on exit. Fixed upstream by #19062 and #19174.
  • Removed runtime context workaround in src/lib/telemetry.ts (14 lines) — Manually overrode options.runtime after Sentry.init() to report Bun instead of Node.js. Fixed upstream — NodeClient now uses options.runtime || { name: 'node', ... } and @sentry/bun passes { name: 'bun', version: Bun.version }. Tracked as #19269.
  • Updated package.json — Bumped both SDK packages to 10.39.0 and removed @sentry/core from patchedDependencies.

Verification

  • Verified all three upstream fixes by reading the 10.39.0 source code and linked PRs
  • bun install, typecheck, lint, and tests all pass cleanly
  • No new test failures introduced (pre-existing ~95 failures on main are unrelated)

Upstream 10.39.0 fixes all issues we had manually patched:
- Timer .unref() calls that prevented CLI from exiting (#19062, #19174)
- Bun runtime context override in NodeClient (#19269)
Remove the @sentry/core@10.38.0 patch file and the runtime context
workaround in telemetry.ts since they are no longer needed.
@github-actions

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Build

  • Add hole-punch tool to reduce compressed binary size by BYK in #245
  • Add gzip-compressed binary downloads by BYK in #244

Bug Fixes 🐛

  • (polyfill) Add exited promise and stdin to Bun.spawn Node.js polyfill by BYK in #248
  • (telemetry) Upgrade Sentry SDK to 10.39.0 and remove custom patches by BYK in #249
  • (upgrade) Remove v prefix from release URLs and work around Bun.write streaming bug by BYK in #243

Internal Changes 🔧

  • (build) Replace local hole-punch script with binpunch package by BYK in #246
  • Use @sentry/api client for requests by MathurAditya724 in #226

🤖 This preview updates automatically when you update the PR.

@github-actions

Copy link
Copy Markdown
Contributor

Codecov Results 📊

✅ Patch coverage is 100.00%. Project has 4126 uncovered lines.
❌ Project coverage is 68.17%. Comparing base (base) to head (head).

Files with missing lines (71)
FilePatch %Lines
human.ts58.29%⚠️ 395 Missing
resolve-target.ts20.26%⚠️ 366 Missing
list.ts14.39%⚠️ 345 Missing
api-client.ts59.38%⚠️ 262 Missing
list.ts23.47%⚠️ 212 Missing
oauth.ts30.68%⚠️ 183 Missing
list.ts21.96%⚠️ 167 Missing
plan.ts19.37%⚠️ 154 Missing
resolver.ts3.23%⚠️ 120 Missing
help.ts19.85%⚠️ 109 Missing
upgrade.ts61.37%⚠️ 107 Missing
view.ts36.48%⚠️ 101 Missing
interactive-login.ts9.17%⚠️ 99 Missing
errors.ts5.94%⚠️ 95 Missing
view.ts25.81%⚠️ 92 Missing
view.ts39.44%⚠️ 86 Missing
clipboard.ts4.49%⚠️ 85 Missing
status.ts24.07%⚠️ 82 Missing
migration.ts47.44%⚠️ 82 Missing
list.ts27.18%⚠️ 75 Missing
browser.ts4.11%⚠️ 70 Missing
login.ts33.33%⚠️ 64 Missing
span-tree.ts5.00%⚠️ 57 Missing
explain.ts33.33%⚠️ 56 Missing
api.ts89.80%⚠️ 47 Missing
upgrade.ts66.91%⚠️ 46 Missing
telemetry.ts84.35%⚠️ 46 Missing
seer.ts75.54%⚠️ 45 Missing
schema.ts89.56%⚠️ 40 Missing
refresh.ts40.63%⚠️ 38 Missing
seer.ts79.87%⚠️ 30 Missing
preload.ts53.23%⚠️ 29 Missing
view.ts87.27%⚠️ 28 Missing
utils.ts88.94%⚠️ 25 Missing
view.ts61.54%⚠️ 25 Missing
detector.ts90.10%⚠️ 20 Missing
binary.ts88.67%⚠️ 17 Missing
list.ts91.16%⚠️ 16 Missing
list.ts90.70%⚠️ 16 Missing
code-scanner.ts95.00%⚠️ 16 Missing
help.ts57.14%⚠️ 15 Missing
sentry-client.ts92.22%⚠️ 13 Missing
arg-parsing.ts90.00%⚠️ 12 Missing
dsn-cache.ts94.62%⚠️ 12 Missing
logout.ts56.00%⚠️ 11 Missing
token.ts52.17%⚠️ 11 Missing
fix.ts83.61%⚠️ 10 Missing
qrcode.ts33.33%⚠️ 10 Missing
fs-utils.ts57.14%⚠️ 9 Missing
view.ts94.70%⚠️ 7 Missing
project-root.ts97.73%⚠️ 7 Missing
version-check.ts91.76%⚠️ 7 Missing
feedback.ts84.21%⚠️ 6 Missing
auth.ts95.52%⚠️ 6 Missing
shell.ts96.23%⚠️ 6 Missing
app.ts93.90%⚠️ 5 Missing
region.ts86.49%⚠️ 5 Missing
setup.ts97.84%⚠️ 4 Missing
list.ts97.33%⚠️ 4 Missing
index.ts95.96%⚠️ 4 Missing
project-aliases.ts97.40%⚠️ 2 Missing
project-root-cache.ts96.92%⚠️ 2 Missing
output.ts89.47%⚠️ 2 Missing
alias.ts99.42%⚠️ 1 Missing
completions.ts99.37%⚠️ 1 Missing
env-file.ts99.19%⚠️ 1 Missing
parser.ts98.63%⚠️ 1 Missing
colors.ts98.21%⚠️ 1 Missing
trace.ts99.16%⚠️ 1 Missing
helpers.ts97.62%⚠️ 1 Missing
helpers.ts94.74%⚠️ 1 Missing
Coverage diff
@@ Coverage Diff @@## main #PR +/-##
==========================================
- Coverage 68.18% 68.17% -0.01%
==========================================
Files 108 108 —
Lines 12968 12961 -7
Branches 0 0 —
==========================================
+ Hits 8842 8835 -7- Misses 4126 4126 —- Partials 0 0 —

Generated by Codecov Action

@BYK
BYK marked this pull request as ready for review February 16, 2026 20:52
@BYK
BYK merged commit 604b4e6 into mainFeb 16, 2026
23 checks passed
@BYK
BYK deleted the byk/upgrade-sentry-sdk branch February 16, 2026 20:58
betegon added a commit that referenced this pull request Aug 21, 2026
## Summary
Make `sentry init` accept a terminal workflow result as successful only
when it explicitly reports `status: "success"` and `result.exitCode: 0`.
Previously, a successful response with no `result` or no `exitCode`
passed the truthiness check and could print the success handoff with
process exit 0. The CLI now treats that as malformed, surfaces a
specific `WizardError`, and exits nonzero. Existing nonzero
workflow-to-CLI exit mappings are unchanged.
This makes the process exit status a reliable black-box signal for the
init smoke harness.
## Compatibility
This intentionally stops accepting terminal success payloads that omit
`exitCode`. The current wizard success output already returns `exitCode:
0`.
The draft [#1406](#1406) also
touches `handleFinalResult`; merge order will require rebasing whichever
PR lands second.
## Test plan
- focused wizard runner tests: 74 passed
- CLI typecheck
- Biome on the three changed files
- `git diff --check`
- native `darwin-arm64` binary build
- real Express init against the local candidate API: exit 0
- invalid OpenRouter credential: CLI exit 61 and smoke harness exit 1
## Rollout
The paired API-owned smoke is
[getsentry/cli-init-api#249](getsentry/cli-init-api#249).
Once this lands, bump its pinned CLI SHA so malformed successful
workflow responses cannot produce a false-green smoke result.
Sign up for freeto 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.

1 participant

@BYK
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches - #249

Merged
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk
Feb 16, 2026
Merged

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches#249
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk

Conversation

@BYK

@BYKBYK commented Feb 16, 2026

Copy link
Copy Markdown
Member

Summary

Upgrade @sentry/bun and @sentry/node from 10.38.0 → 10.39.0 and remove all custom patches/workarounds that are now fixed upstream.

Changes

  • Removed patches/@sentry%2Fcore@10.38.0.patch (92 lines) — Added .unref() to timers in setupWeightBasedFlushing, _isClientDoneProcessing, and makePromiseBuffer to prevent the CLI from hanging on exit. Fixed upstream by #19062 and #19174.
  • Removed runtime context workaround in src/lib/telemetry.ts (14 lines) — Manually overrode options.runtime after Sentry.init() to report Bun instead of Node.js. Fixed upstream — NodeClient now uses options.runtime || { name: 'node', ... } and @sentry/bun passes { name: 'bun', version: Bun.version }. Tracked as #19269.
  • Updated package.json — Bumped both SDK packages to 10.39.0 and removed @sentry/core from patchedDependencies.

Verification

  • Verified all three upstream fixes by reading the 10.39.0 source code and linked PRs
  • bun install, typecheck, lint, and tests all pass cleanly
  • No new test failures introduced (pre-existing ~95 failures on main are unrelated)

Upstream 10.39.0 fixes all issues we had manually patched:
- Timer .unref() calls that prevented CLI from exiting (#19062, #19174)
- Bun runtime context override in NodeClient (#19269)
Remove the @sentry/core@10.38.0 patch file and the runtime context
workaround in telemetry.ts since they are no longer needed.
@github-actions

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Build

  • Add hole-punch tool to reduce compressed binary size by BYK in #245
  • Add gzip-compressed binary downloads by BYK in #244

Bug Fixes 🐛

  • (polyfill) Add exited promise and stdin to Bun.spawn Node.js polyfill by BYK in #248
  • (telemetry) Upgrade Sentry SDK to 10.39.0 and remove custom patches by BYK in #249
  • (upgrade) Remove v prefix from release URLs and work around Bun.write streaming bug by BYK in #243

Internal Changes 🔧

  • (build) Replace local hole-punch script with binpunch package by BYK in #246
  • Use @sentry/api client for requests by MathurAditya724 in #226

🤖 This preview updates automatically when you update the PR.

@github-actions

Copy link
Copy Markdown
Contributor

Codecov Results 📊

✅ Patch coverage is 100.00%. Project has 4126 uncovered lines.
❌ Project coverage is 68.17%. Comparing base (base) to head (head).

Files with missing lines (71)
FilePatch %Lines
human.ts58.29%⚠️ 395 Missing
resolve-target.ts20.26%⚠️ 366 Missing
list.ts14.39%⚠️ 345 Missing
api-client.ts59.38%⚠️ 262 Missing
list.ts23.47%⚠️ 212 Missing
oauth.ts30.68%⚠️ 183 Missing
list.ts21.96%⚠️ 167 Missing
plan.ts19.37%⚠️ 154 Missing
resolver.ts3.23%⚠️ 120 Missing
help.ts19.85%⚠️ 109 Missing
upgrade.ts61.37%⚠️ 107 Missing
view.ts36.48%⚠️ 101 Missing
interactive-login.ts9.17%⚠️ 99 Missing
errors.ts5.94%⚠️ 95 Missing
view.ts25.81%⚠️ 92 Missing
view.ts39.44%⚠️ 86 Missing
clipboard.ts4.49%⚠️ 85 Missing
status.ts24.07%⚠️ 82 Missing
migration.ts47.44%⚠️ 82 Missing
list.ts27.18%⚠️ 75 Missing
browser.ts4.11%⚠️ 70 Missing
login.ts33.33%⚠️ 64 Missing
span-tree.ts5.00%⚠️ 57 Missing
explain.ts33.33%⚠️ 56 Missing
api.ts89.80%⚠️ 47 Missing
upgrade.ts66.91%⚠️ 46 Missing
telemetry.ts84.35%⚠️ 46 Missing
seer.ts75.54%⚠️ 45 Missing
schema.ts89.56%⚠️ 40 Missing
refresh.ts40.63%⚠️ 38 Missing
seer.ts79.87%⚠️ 30 Missing
preload.ts53.23%⚠️ 29 Missing
view.ts87.27%⚠️ 28 Missing
utils.ts88.94%⚠️ 25 Missing
view.ts61.54%⚠️ 25 Missing
detector.ts90.10%⚠️ 20 Missing
binary.ts88.67%⚠️ 17 Missing
list.ts91.16%⚠️ 16 Missing
list.ts90.70%⚠️ 16 Missing
code-scanner.ts95.00%⚠️ 16 Missing
help.ts57.14%⚠️ 15 Missing
sentry-client.ts92.22%⚠️ 13 Missing
arg-parsing.ts90.00%⚠️ 12 Missing
dsn-cache.ts94.62%⚠️ 12 Missing
logout.ts56.00%⚠️ 11 Missing
token.ts52.17%⚠️ 11 Missing
fix.ts83.61%⚠️ 10 Missing
qrcode.ts33.33%⚠️ 10 Missing
fs-utils.ts57.14%⚠️ 9 Missing
view.ts94.70%⚠️ 7 Missing
project-root.ts97.73%⚠️ 7 Missing
version-check.ts91.76%⚠️ 7 Missing
feedback.ts84.21%⚠️ 6 Missing
auth.ts95.52%⚠️ 6 Missing
shell.ts96.23%⚠️ 6 Missing
app.ts93.90%⚠️ 5 Missing
region.ts86.49%⚠️ 5 Missing
setup.ts97.84%⚠️ 4 Missing
list.ts97.33%⚠️ 4 Missing
index.ts95.96%⚠️ 4 Missing
project-aliases.ts97.40%⚠️ 2 Missing
project-root-cache.ts96.92%⚠️ 2 Missing
output.ts89.47%⚠️ 2 Missing
alias.ts99.42%⚠️ 1 Missing
completions.ts99.37%⚠️ 1 Missing
env-file.ts99.19%⚠️ 1 Missing
parser.ts98.63%⚠️ 1 Missing
colors.ts98.21%⚠️ 1 Missing
trace.ts99.16%⚠️ 1 Missing
helpers.ts97.62%⚠️ 1 Missing
helpers.ts94.74%⚠️ 1 Missing
Coverage diff
@@ Coverage Diff @@## main #PR +/-##
==========================================
- Coverage 68.18% 68.17% -0.01%
==========================================
Files 108 108 —
Lines 12968 12961 -7
Branches 0 0 —
==========================================
+ Hits 8842 8835 -7- Misses 4126 4126 —- Partials 0 0 —

Generated by Codecov Action

@BYK
BYK marked this pull request as ready for review February 16, 2026 20:52
@BYK
BYK merged commit 604b4e6 into mainFeb 16, 2026
23 checks passed
@BYK
BYK deleted the byk/upgrade-sentry-sdk branch February 16, 2026 20:58
betegon added a commit that referenced this pull request Aug 21, 2026
## Summary
Make `sentry init` accept a terminal workflow result as successful only
when it explicitly reports `status: "success"` and `result.exitCode: 0`.
Previously, a successful response with no `result` or no `exitCode`
passed the truthiness check and could print the success handoff with
process exit 0. The CLI now treats that as malformed, surfaces a
specific `WizardError`, and exits nonzero. Existing nonzero
workflow-to-CLI exit mappings are unchanged.
This makes the process exit status a reliable black-box signal for the
init smoke harness.
## Compatibility
This intentionally stops accepting terminal success payloads that omit
`exitCode`. The current wizard success output already returns `exitCode:
0`.
The draft [#1406](#1406) also
touches `handleFinalResult`; merge order will require rebasing whichever
PR lands second.
## Test plan
- focused wizard runner tests: 74 passed
- CLI typecheck
- Biome on the three changed files
- `git diff --check`
- native `darwin-arm64` binary build
- real Express init against the local candidate API: exit 0
- invalid OpenRouter credential: CLI exit 61 and smoke harness exit 1
## Rollout
The paired API-owned smoke is
[getsentry/cli-init-api#249](getsentry/cli-init-api#249).
Once this lands, bump its pinned CLI SHA so malformed successful
workflow responses cannot produce a false-green smoke result.
Sign up for freeto 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.

1 participant

@BYK
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches - #249

Merged
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk
Feb 16, 2026
Merged

fix(telemetry): upgrade Sentry SDK to 10.39.0 and remove custom patches#249
BYK merged 1 commit into
mainfrom
byk/upgrade-sentry-sdk

Conversation

@BYK

@BYKBYK commented Feb 16, 2026

Copy link
Copy Markdown
Member

Summary

Upgrade @sentry/bun and @sentry/node from 10.38.0 → 10.39.0 and remove all custom patches/workarounds that are now fixed upstream.

Changes

  • Removed patches/@sentry%2Fcore@10.38.0.patch (92 lines) — Added .unref() to timers in setupWeightBasedFlushing, _isClientDoneProcessing, and makePromiseBuffer to prevent the CLI from hanging on exit. Fixed upstream by #19062 and #19174.
  • Removed runtime context workaround in src/lib/telemetry.ts (14 lines) — Manually overrode options.runtime after Sentry.init() to report Bun instead of Node.js. Fixed upstream — NodeClient now uses options.runtime || { name: 'node', ... } and @sentry/bun passes { name: 'bun', version: Bun.version }. Tracked as #19269.
  • Updated package.json — Bumped both SDK packages to 10.39.0 and removed @sentry/core from patchedDependencies.

Verification

  • Verified all three upstream fixes by reading the 10.39.0 source code and linked PRs
  • bun install, typecheck, lint, and tests all pass cleanly
  • No new test failures introduced (pre-existing ~95 failures on main are unrelated)

Upstream 10.39.0 fixes all issues we had manually patched:
- Timer .unref() calls that prevented CLI from exiting (#19062, #19174)
- Bun runtime context override in NodeClient (#19269)
Remove the @sentry/core@10.38.0 patch file and the runtime context
workaround in telemetry.ts since they are no longer needed.
@github-actions

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Build

  • Add hole-punch tool to reduce compressed binary size by BYK in #245
  • Add gzip-compressed binary downloads by BYK in #244

Bug Fixes 🐛

  • (polyfill) Add exited promise and stdin to Bun.spawn Node.js polyfill by BYK in #248
  • (telemetry) Upgrade Sentry SDK to 10.39.0 and remove custom patches by BYK in #249
  • (upgrade) Remove v prefix from release URLs and work around Bun.write streaming bug by BYK in #243

Internal Changes 🔧

  • (build) Replace local hole-punch script with binpunch package by BYK in #246
  • Use @sentry/api client for requests by MathurAditya724 in #226

🤖 This preview updates automatically when you update the PR.

@github-actions

Copy link
Copy Markdown
Contributor

Codecov Results 📊

✅ Patch coverage is 100.00%. Project has 4126 uncovered lines.
❌ Project coverage is 68.17%. Comparing base (base) to head (head).

Files with missing lines (71)
FilePatch %Lines
human.ts58.29%⚠️ 395 Missing
resolve-target.ts20.26%⚠️ 366 Missing
list.ts14.39%⚠️ 345 Missing
api-client.ts59.38%⚠️ 262 Missing
list.ts23.47%⚠️ 212 Missing
oauth.ts30.68%⚠️ 183 Missing
list.ts21.96%⚠️ 167 Missing
plan.ts19.37%⚠️ 154 Missing
resolver.ts3.23%⚠️ 120 Missing
help.ts19.85%⚠️ 109 Missing
upgrade.ts61.37%⚠️ 107 Missing
view.ts36.48%⚠️ 101 Missing
interactive-login.ts9.17%⚠️ 99 Missing
errors.ts5.94%⚠️ 95 Missing
view.ts25.81%⚠️ 92 Missing
view.ts39.44%⚠️ 86 Missing
clipboard.ts4.49%⚠️ 85 Missing
status.ts24.07%⚠️ 82 Missing
migration.ts47.44%⚠️ 82 Missing
list.ts27.18%⚠️ 75 Missing
browser.ts4.11%⚠️ 70 Missing
login.ts33.33%⚠️ 64 Missing
span-tree.ts5.00%⚠️ 57 Missing
explain.ts33.33%⚠️ 56 Missing
api.ts89.80%⚠️ 47 Missing
upgrade.ts66.91%⚠️ 46 Missing
telemetry.ts84.35%⚠️ 46 Missing
seer.ts75.54%⚠️ 45 Missing
schema.ts89.56%⚠️ 40 Missing
refresh.ts40.63%⚠️ 38 Missing
seer.ts79.87%⚠️ 30 Missing
preload.ts53.23%⚠️ 29 Missing
view.ts87.27%⚠️ 28 Missing
utils.ts88.94%⚠️ 25 Missing
view.ts61.54%⚠️ 25 Missing
detector.ts90.10%⚠️ 20 Missing
binary.ts88.67%⚠️ 17 Missing
list.ts91.16%⚠️ 16 Missing
list.ts90.70%⚠️ 16 Missing
code-scanner.ts95.00%⚠️ 16 Missing
help.ts57.14%⚠️ 15 Missing
sentry-client.ts92.22%⚠️ 13 Missing
arg-parsing.ts90.00%⚠️ 12 Missing
dsn-cache.ts94.62%⚠️ 12 Missing
logout.ts56.00%⚠️ 11 Missing
token.ts52.17%⚠️ 11 Missing
fix.ts83.61%⚠️ 10 Missing
qrcode.ts33.33%⚠️ 10 Missing
fs-utils.ts57.14%⚠️ 9 Missing
view.ts94.70%⚠️ 7 Missing
project-root.ts97.73%⚠️ 7 Missing
version-check.ts91.76%⚠️ 7 Missing
feedback.ts84.21%⚠️ 6 Missing
auth.ts95.52%⚠️ 6 Missing
shell.ts96.23%⚠️ 6 Missing
app.ts93.90%⚠️ 5 Missing
region.ts86.49%⚠️ 5 Missing
setup.ts97.84%⚠️ 4 Missing
list.ts97.33%⚠️ 4 Missing
index.ts95.96%⚠️ 4 Missing
project-aliases.ts97.40%⚠️ 2 Missing
project-root-cache.ts96.92%⚠️ 2 Missing
output.ts89.47%⚠️ 2 Missing
alias.ts99.42%⚠️ 1 Missing
completions.ts99.37%⚠️ 1 Missing
env-file.ts99.19%⚠️ 1 Missing
parser.ts98.63%⚠️ 1 Missing
colors.ts98.21%⚠️ 1 Missing
trace.ts99.16%⚠️ 1 Missing
helpers.ts97.62%⚠️ 1 Missing
helpers.ts94.74%⚠️ 1 Missing
Coverage diff
@@ Coverage Diff @@## main #PR +/-##
==========================================
- Coverage 68.18% 68.17% -0.01%
==========================================
Files 108 108 —
Lines 12968 12961 -7
Branches 0 0 —
==========================================
+ Hits 8842 8835 -7- Misses 4126 4126 —- Partials 0 0 —

Generated by Codecov Action

@BYK
BYK marked this pull request as ready for review February 16, 2026 20:52
@BYK
BYK merged commit 604b4e6 into mainFeb 16, 2026
23 checks passed
@BYK
BYK deleted the byk/upgrade-sentry-sdk branch February 16, 2026 20:58
betegon added a commit that referenced this pull request Aug 21, 2026
## Summary
Make `sentry init` accept a terminal workflow result as successful only
when it explicitly reports `status: "success"` and `result.exitCode: 0`.
Previously, a successful response with no `result` or no `exitCode`
passed the truthiness check and could print the success handoff with
process exit 0. The CLI now treats that as malformed, surfaces a
specific `WizardError`, and exits nonzero. Existing nonzero
workflow-to-CLI exit mappings are unchanged.
This makes the process exit status a reliable black-box signal for the
init smoke harness.
## Compatibility
This intentionally stops accepting terminal success payloads that omit
`exitCode`. The current wizard success output already returns `exitCode:
0`.
The draft [#1406](#1406) also
touches `handleFinalResult`; merge order will require rebasing whichever
PR lands second.
## Test plan
- focused wizard runner tests: 74 passed
- CLI typecheck
- Biome on the three changed files
- `git diff --check`
- native `darwin-arm64` binary build
- real Express init against the local candidate API: exit 0
- invalid OpenRouter credential: CLI exit 61 and smoke harness exit 1
## Rollout
The paired API-owned smoke is
[getsentry/cli-init-api#249](getsentry/cli-init-api#249).
Once this lands, bump its pinned CLI SHA so malformed successful
workflow responses cannot produce a false-green smoke result.
Sign up for freeto 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.

1 participant

@BYK