Conversation
Node 24 DEP0190 fires when resolveSpawnCommand launches .cmd/.bat via shell:true plus an args array, and Windows shows a cmd.exe console. Spawn ComSpec with /d /s /c and shell:false instead. Set windowsVerbatimArguments so Node does not re-quote the already-escaped /c line (spaces and quoted args), and windowsHide to keep the console hidden. Forward those flags at every spawn site and through the Effect Node spawner. Co-authored-by: maco <macodev00@users.noreply.github.com>
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This change alters the existing Windows .cmd/.bat process-launch contract across provider, server, and tooling paths, adding custom ComSpec quoting and a patched process-spawner dependency. Its intent and tests are clear, but the cross-cutting runtime impact is broader than a small isolated bug fix. You can add or adjust custom eligibility rules. Learn more. |
|
Understand this PR’s impact Explore downstream dependencies and potential security impact with Blast Radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: pingdotgg/t3code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (29)
Included review availability: Your plan provides up to 10 included reviews per hour; 5 remain after this review. 📝 WalkthroughWalkthroughChangesWindows command shim spawning
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Bug fix · Severity of issue fixed: Low Sequence Diagram(s)sequenceDiagram
participant Caller
participant resolveSpawnCommand
participant ChildProcess
participant ComSpec
Caller->>resolveSpawnCommand: Resolve executable and arguments
resolveSpawnCommand->>Caller: Return ComSpec command and spawn options
Caller->>ChildProcess: Spawn with shell false
ChildProcess->>ComSpec: Execute /d /s /c command line
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 27 files. (2 skipped: 2 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
What
.cmd/.batshims viaComSpec /d /s /cwithshell: false,windowsVerbatimArguments: true(so Node does not re-quotebuildCmdExeCommandLine), andwindowsHide: true, forwarded at everyresolveSpawnCommandspawn site (incl. Effect platform patch).Why
Fixes #12797
Redo of closed #12862 addressing Macroscope Not-approved / High quoting: verbatim
/cline + hide console; regression tests for spaced paths and quoted args.UI
No UI. Windows cmd/bat shim launches only.
Checklist
Summary by CodeRabbit
Bug Fixes
Tests