-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Windows source install can misreport UI build status #112049
Copy link
Copy link
Closed
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:bulk-filedClawSweeper detected a high recent issue-filing volume from this author.ClawSweeper detected a high recent issue-filing volume from this author.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.User-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:bulk-filedClawSweeper detected a high recent issue-filing volume from this author.ClawSweeper detected a high recent issue-filing volume from this author.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.User-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.
Type
Fields
Priority
None yet
Summary
Windows source installs can misclassify the Control UI build result because
scripts/install.ps1tests the native command's output as a PowerShell Boolean instead of checking its process exit code.Real environment observed
openclaw/openclawmain-InstallMethod gitsource installation pathUser-visible symptom
If
pnpm ui:buildfails after writing output, the installer can omit the existing failure warning and continue as though the UI build succeeded. Conversely, a successful command that produces no output can be treated as a failure.Source-level reproduction on current main
The source install path currently uses:
A controlled PowerShell probe reproduces the false negative:
{"LegacyOutputTruthinessWarns":false,"ExitCodeCheckWarns":true,"ExitCode":1}The simulated native build emits output and sets exit code
1. Output truthiness suppresses the warning, while checking$LASTEXITCODEdetects the failure.Expected behavior
The installer should classify
pnpm ui:buildfrom its native process exit code, independent of whether the command writes output.Actual behavior
The command's output is converted to a Boolean, so output volume can change the reported build status.
Scope / non-goals
This report is limited to source-install UI build status detection. The UI build remains non-fatal, and no npm, pnpm, or runtime behavior needs to change.
Proposed fix
Run the build normally, then inspect
$LASTEXITCODE. Add a regression assertion that rejects the output-truthiness pattern.Live searches for the affected command, installer warning, and exit-code behavior found no matching open or closed issue or PR before filing.