Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
verify: add reproduction scripts and PR details for all major fixes
- Include reproduction scripts for Sentry (#2900) and engine strictness (#2913)
- Include PR body drafts for consolidated tracking
  • Loading branch information
Deploy Bot committed Feb 3, 2026
commit c97cbccebd6a74b0d1c340579cb94cbec650a91e
17 changes: 17 additions & 0 deletions pr_body.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Summary
Fixes #2913

## Problem
GitHub Integration runs `trigger deploy` which executes `npm install` (or equivalent) in a Node 20 environment. If a project has strict `engines.node` requirements (e.g., "22"), the install phase fails before reaching the Docker build phase where the runtime config is respected.

## Fix
- Updated `updateTriggerPackages` in `packages/cli-v3/src/commands/update.ts` to accept an `ignoreEngines` option.
- Passed appropriate flags to `installDependencies` based on package manager:
- npm: `--no-engine-strict`
- pnpm: `--config.engine-strict=false`
- yarn: `--ignore-engines`
- Updated `deploy.ts` to pass `ignoreEngines: true` when running package updates during deployment.

## Verification
- Added unit tests in `packages/cli-v3/src/commands/update.test.ts` to verify the correct flags are passed.
- Verified locally via unit tests.
15 changes: 15 additions & 0 deletions pr_body_2900.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Summary
Fixes #2900

## Problem
When using Sentry (or other libraries that patch `console` methods) in `dev` mode, logs can be swallowed. This happens because `ConsoleInterceptor` overrides `console` methods with its own implementation that writes directly to `process.stdout`/`stderr`, bypassing any previous patches (like Sentry's breadcrumb capture or upstream transport). Additionally, if Sentry patches `console` *after* `ConsoleInterceptor` starts interception, the restoration logic in `ConsoleInterceptor` might conflict or break compatibility.

## Fix
- Modified `ConsoleInterceptor.ts` to store the original console methods (those present *before* interception starts) in the class instance.
- Updated `#handleLog` to delegate to these `originalConsole` methods (e.g. `this.originalConsole.log(...)`) instead of writing directly to `process.stdout`.
- This ensures that if Sentry (or another tool) is in the chain, it receives the log call, preserving breadcrumbs and upstream handling while still allowing OTEL capture.
- Fallback to `process.std[out|err]` is retained if `originalConsole` is somehow missing (though unlikely during interception).

## Verification
- Verified using a reproduction script where Sentry is initialized and console is intercepted.
- Confirmed that logs flow through Sentry (simulated) and are captured by OTEL.
10 changes: 10 additions & 0 deletions repro-2913/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "repro-2913",
"version": "1.0.0",
"engines": {
"node": "22.0.0"
},
"dependencies": {
"is-odd": "3.0.1"
}
}
Loading