mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 01:29:56 +00:00
* fix(ui): stop serving a failed Control UI build on the next Gateway start Rolldown writes the complete bundle, runs the writeBundle hook, and only then reports aggregated resolve errors and exits non-zero. scripts/ui.mts built straight into the served dist/control-ui and reused the runtime build identity, so a failed build left a correctly stamped tree that the Gateway's asset health check accepted as ready on the next start (observed: a bare markdown-it-emoji import broke the Control UI after a gateway-profile worktree install skipped ui/ dependencies). scripts/ui.mts now builds into a same-depth dist/control-ui.build-<pid>-* sibling, runs both validators against it, and renames it into place only on success, restoring the previous output if publication fails. Dead-process leftovers are reclaimed on the next build and tsdown's dist cleaning skips in-flight staging trees. The gateway worktree-setup workload now installs ./ui... because the Gateway builds the Control UI from source on first start. * fix(ui): restore the previous Control UI bundle after an interrupted swap A builder killed between moving dist/control-ui aside and renaming its staged build into place left the previous complete bundle only in a dead-process .retired sibling, which the next build's leftover cleanup deleted. The next build now restores the newest dead-process retired bundle when the served path is missing, before reclaiming leftovers, so a failed retry still serves it. * fix(ui): keep interrupted Control UI builds out of packages A killed builder cannot reach its cleanup, so a dist/control-ui.build-* staging or retired sibling can survive until the next UI build. Exclude those siblings from the package files list, which also drives the dist inventory, and type the new UI test fixtures for the scripts test lane. * fix(ui): retry transient Windows denials when publishing the Control UI build Windows scanners and indexers can briefly deny renaming a freshly written or served directory with EPERM, which failed an otherwise valid rebuild on its first attempt. Every publication rename now retries EPERM, EACCES, and EBUSY on a bounded 100-1600 ms schedule (about 3 s) and keeps restoring the previous bundle when the denial is permanent. |
||
|---|---|---|
| .. | ||
| why-openclaw | ||
| bootstrapping.md | ||
| docs-directory.md | ||
| getting-started.md | ||
| hubs.md | ||
| lore.md | ||
| onboarding-overview.md | ||
| onboarding.md | ||
| openclaw.md | ||
| setup.md | ||
| teams.md | ||
| why-openclaw.md | ||
| wizard-cli-automation.md | ||
| wizard-cli-reference.md | ||
| wizard.md | ||