openclaw - ✅(Solved) Fix Bug: dist/control-ui/ missing from npm package in 2026.3.22 [4 pull requests, 30 comments, 26 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#52808Fetched 2026-04-08 01:19:02
View on GitHub
Comments
30
Participants
26
Timeline
130
Reactions
60

After updating from 2026.3.13 to 2026.3.22 via openclaw update, the Control UI dashboard is no longer accessible. The gateway serves a 503 with the following message:

Control UI assets not found. Build them with `pnpm ui:build` (auto-installs UI deps), or run `pnpm ui:dev` during development.

Error Message

  1. Observe 503 / "Control UI assets not found" error

Root Cause

The dist/control-ui/ directory is missing from the published 2026.3.22 npm package.

Verified with npm pack --dry-run:

  • 2026.3.13: dist/control-ui/ is present (including index.html, assets/, favicons, etc.)
  • 2026.3.22: dist/control-ui/ is completely absent — only dist/control-ui-assets-8FlHCc2H.js and dist/control-ui-shared-SxKiMaO4.js are included

Fix Action

Workaround

Manually copying dist/control-ui/ from the 2026.3.13 package into the 2026.3.22 installation restores dashboard functionality.

PR fix notes

PR #52835: fix: catch missing packed UI canaries

Description (problem / solution / changelog)

Summary

  • compare npm pack --dry-run output against built dist/ canary artifacts so release-check now fails if dist/control-ui/index.html or bundled extension entrypoints/package manifests are omitted from the published tarball
  • extract the pack-missing logic into reusable helpers so the path checks are testable without a full pack run
  • add unit coverage for built artifact canaries and mixed exact-or-alternative required pack paths

Fixes #52808.

AI-assisted: yes. Testing: fully tested for this change.

Test plan

  • pnpm test -- test/release-check.test.ts
  • pnpm check
  • pnpm build
  • node --import tsx scripts/release-check.ts

Made with Cursor

Changed files

  • scripts/release-check.ts (modified, +51/-12)
  • test/release-check.test.ts (modified, +42/-0)

PR #52839: fix(packaging): add Control UI build verification to prevent broken releases (#52808)

Description (problem / solution / changelog)

Summary

Adds build verification to prevent npm releases without Control UI assets. Fixes #52808, #52817, #52820.

Problem

v2026.3.22 was published without dist/control-ui/ directory, causing:

  • ❌ 503 error: "Control UI assets not found"
  • ❌ Web dashboard completely inaccessible
  • ❌ 100% reproducible for all npm install users

Root Cause

prepack hook ran pnpm ui:build but didn't verify success before publishing. If ui:build failed silently or was skipped, broken package was published.

Solution

Add verification script that runs after ui:build:

"prepack": "pnpm build && pnpm ui:build && node scripts/verify-ui-build.js"

Verification checks:

  1. dist/control-ui/ directory exists
  2. index.html is present
  3. assets/ directory exists with files
  4. ❌ Fails build with helpful error message if missing

Changes

  • scripts/verify-ui-build.js: New verification script (80 lines)
  • package.json: Add verification to prepack hook
  • CHANGELOG.md: Document the fix

Testing

Run manually:

node scripts/verify-ui-build.js

Expected output:

🔍 Verifying Control UI build...
✅ Control UI directory exists: /path/to/dist/control-ui
✅ Required file present: index.html
✅ Required directory present: assets/ (X files)
✅ Control UI verification PASSED

If UI not built:

❌ Control UI directory not found: /path/to/dist/control-ui
This usually means the UI build failed or was skipped.

Impact

  • ✅ Prevents future broken releases
  • ✅ Fails fast with helpful error message
  • ✅ Zero runtime impact (build-time only)
  • ✅ Backward compatible

Related Issues

  • Fixes #52808 - Bug: dist/control-ui/ missing from npm package in 2026.3.22
  • Fixes #52817 - Control UI missing in npm package v2026.3.22
  • Fixes #52820 - 2026/3/23 最新版的更新之后 UI 界面不见了,报错了

Workaround for Affected Users

Until v2026.3.23 is released:

# Option 1: Copy from 2026.3.13
npm pack [email protected]
tar -xzf openclaw-2026.3.13.tgz
cp -r package/dist/control-ui/ $(npm root -g)/openclaw/dist/
openclaw gateway restart

# Option 2: Manual build
cd $(npm root -g)/openclaw
pnpm ui:build
openclaw gateway restart

Changed files

  • package.json (modified, +2/-1)
  • scripts/verify-ui-build.js (added, +93/-0)
  • src/infra/fs-safe.test.ts (modified, +48/-0)
  • src/infra/fs-safe.ts (modified, +3/-0)

PR #34: Update OpenClaw

Description (problem / solution / changelog)

What does this PR do?

Update to OpenClaw 2026.3.23

Changed files

  • .github/workflows/auto-close-spam.yml (added, +74/-0)
  • Dockerfile (modified, +1/-1)

PR #52856: fix: ensure control-ui is built before publish (#52808)

Description (problem / solution / changelog)

Summary

-Problem: dist/control-ui/ missing from npm package (2026.3.22) -Why it matters: Gateway UI returns 503 and is unusable -What changed: Ensure pnpm ui:build runs before publish -What did NOT change (scope boundary): No runtime, gateway, or UI code changes

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor required for the fix
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

-Closes #52808 -Related #52813

User-visible / Behavior Changes

Control UI is now available again after install. Previously returned 503 due to missing assets.

Security Impact (required)

  • New permissions/capabilities? (No)
  • Secrets/tokens handling changed? (No)
  • New/changed network calls? (No)
  • Command/tool execution surface changed? (No)
  • Data access scope changed? (No)

Repro + Verification

###Environment OS: Ubuntu 24.04 Runtime/container: Node.js v22 Model/provider: N/A Integration/channel: N/A Relevant config: default install via npm

Steps

npm install -g [email protected] openclaw gateway start open dashboard

Expected

UI loads successfully

Actual

503 error: "Control UI assets not found"

Evidence

Attach at least one:

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

2026.3.13 → includes dist/control-ui/ 2026.3.22 → missing dist/control-ui/

Human Verification (required)

What you personally verified (not just CI), and how:

-Verified scenarios: npm pack includes dist/control-ui/ UI loads after install

-Edge cases checked: Fresh install Global npm install path

-What you did not verify: All extensions packaging (e.g. WhatsApp)

Review Conversations

  • I replied to or resolved every bot review conversation I addressed in this PR.
  • I left unresolved only the conversations that still need reviewer or maintainer judgment.

If a bot review conversation is addressed by this PR, resolve that conversation yourself. Do not leave bot review conversation cleanup for maintainers.

Compatibility / Migration

  • Backward compatible? (Yes)
  • Config/env changes? (No)
  • Migration needed? (No)

Failure Recovery (if this breaks)

-How to disable/revert this change quickly: revert commit or publish previous version

-Files/config to restore: dist/control-ui/

-Known bad symptoms reviewers should watch for: Missing UI assets 503 on dashboard

Risks and Mitigations

-Risk: UI build step fails silently again

-Mitigation: enforce build in prepack and fail if missing

Changed files

  • package.json (modified, +1/-0)

Code Example

Control UI assets not found. Build them with `pnpm ui:build` (auto-installs UI deps), or run `pnpm ui:dev` during development.
RAW_BUFFERClick to expand / collapse

Bug Report

Version: 2026.3.22 Previous working version: 2026.3.13

Description

After updating from 2026.3.13 to 2026.3.22 via openclaw update, the Control UI dashboard is no longer accessible. The gateway serves a 503 with the following message:

Control UI assets not found. Build them with `pnpm ui:build` (auto-installs UI deps), or run `pnpm ui:dev` during development.

Root Cause

The dist/control-ui/ directory is missing from the published 2026.3.22 npm package.

Verified with npm pack --dry-run:

  • 2026.3.13: dist/control-ui/ is present (including index.html, assets/, favicons, etc.)
  • 2026.3.22: dist/control-ui/ is completely absent — only dist/control-ui-assets-8FlHCc2H.js and dist/control-ui-shared-SxKiMaO4.js are included

Workaround

Manually copying dist/control-ui/ from the 2026.3.13 package into the 2026.3.22 installation restores dashboard functionality.

Steps to Reproduce

  1. Install or update to [email protected]
  2. Start the gateway: openclaw gateway start
  3. Open the dashboard URL
  4. Observe 503 / "Control UI assets not found" error

Expected Behavior

The dist/control-ui/ directory should be included in the published npm package, as it was in previous releases.

Environment

  • OS: Ubuntu 24.04 (Noble)
  • Node.js: v22
  • Install method: npm install -g openclaw

extent analysis

Fix Plan

To fix the issue, we need to ensure that the dist/control-ui/ directory is included in the published npm package.

Here are the steps:

  • Run pnpm ui:build to build the Control UI assets.
  • Update the package.json file to include the dist/control-ui/ directory in the files field.
  • Update the build script to copy the dist/control-ui/ directory to the correct location.

Example code:

// package.json
"files": [
  "dist/",
  "dist/control-ui/"
],
"scripts": {
  "build": "pnpm ui:build && cp -r dist/control-ui/ dist/"
}

Alternatively, you can use a temporary workaround by manually copying the dist/control-ui/ directory from the previous version.

Verification

To verify that the fix worked, follow these steps:

  • Install or update to `openclaw@2026.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING