fix: drop explicit ui:install step

This commit is contained in:
Peter Steinberger
2026-01-09 07:02:42 +00:00
parent 95c2ccbd7b
commit c46bab35df
14 changed files with 15 additions and 53 deletions

View File

@@ -39,6 +39,7 @@
- Control UI: add Docs link, remove chat composer divider, and add New session button.
- Control UI: link sessions list to chat view. (#471) — thanks @HazAT
- Control UI: queue outgoing chat messages, add Enter-to-send, and show queued items. (#527) — thanks @YuriNachos
- Control UI: drop explicit `ui:install` step; `ui:build` now auto-installs UI deps (docs + update flow).
- Telegram: retry long-polling conflicts with backoff to avoid fatal exits.
- Telegram: fix grammY fetch type mismatch when injecting `fetch`. (#512) — thanks @YuriNachos
- WhatsApp: resolve @lid JIDs via Baileys mapping to unblock inbound messages. (#415)

View File

@@ -79,8 +79,7 @@ git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
pnpm install
pnpm ui:install
pnpm ui:build
pnpm ui:build # auto-installs UI deps on first run
pnpm build
pnpm clawdbot onboard --install-daemon

View File

@@ -118,8 +118,7 @@ From source (development):
git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
pnpm install
pnpm ui:install
pnpm ui:build
pnpm ui:build # auto-installs UI deps on first run
pnpm build
pnpm clawdbot onboard --install-daemon
```

View File

@@ -59,8 +59,7 @@ From the repo checkout:
git pull
pnpm install
pnpm build
pnpm ui:install
pnpm ui:build
pnpm ui:build # auto-installs UI deps on first run
pnpm clawdbot doctor
pnpm clawdbot health
```

View File

@@ -95,8 +95,7 @@ Follow the Linux Getting Started flow inside WSL:
git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
pnpm install
pnpm ui:install
pnpm ui:build
pnpm ui:build # auto-installs UI deps on first run
pnpm build
pnpm clawdbot onboard
```

View File

@@ -37,8 +37,7 @@ From source (development):
git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
pnpm install
pnpm ui:install
pnpm ui:build
pnpm ui:build # auto-installs UI deps on first run
pnpm build
pnpm link --global
```

View File

@@ -64,8 +64,7 @@ pnpm install
pnpm build
# If the Control UI assets are missing or you want the dashboard:
pnpm ui:install
pnpm ui:build
pnpm ui:build # auto-installs UI deps on first run
pnpm clawdbot onboard
```

View File

@@ -135,8 +135,7 @@ If youre hacking on Clawdbot itself, run from source:
git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
pnpm install
pnpm ui:install
pnpm ui:build
pnpm ui:build # auto-installs UI deps on first run
pnpm build
pnpm clawdbot onboard --install-daemon
```

View File

@@ -120,7 +120,7 @@ Tip: `--json` does **not** imply non-interactive mode. Use `--non-interactive` (
9) **Finish**
- Summary + next steps, including iOS/Android/macOS apps for extra features.
- If no GUI is detected, the wizard prints SSH port-forward instructions for the Control UI instead of opening a browser.
- If the Control UI assets are missing, the wizard attempts to build them; fallback is `pnpm ui:install && pnpm ui:build`.
- If the Control UI assets are missing, the wizard attempts to build them; fallback is `pnpm ui:build` (auto-installs UI deps).
## Remote mode

View File

@@ -74,8 +74,7 @@ Paste the token into the UI settings (sent as `connect.params.auth.token`).
The Gateway serves static files from `dist/control-ui`. Build them with:
```bash
pnpm ui:install
pnpm ui:build
pnpm ui:build # auto-installs UI deps on first run
```
Optional absolute base (when you want fixed asset URLs):
@@ -87,8 +86,7 @@ CLAWDBOT_CONTROL_UI_BASE_PATH=/clawdbot/ pnpm ui:build
For local development (separate dev server):
```bash
pnpm ui:install
pnpm ui:dev
pnpm ui:dev # auto-installs UI deps on first run
```
Then point the UI at your Gateway WS URL (e.g. `ws://127.0.0.1:18789`).

View File

@@ -101,6 +101,5 @@ Open:
The Gateway serves static files from `dist/control-ui`. Build them with:
```bash
pnpm ui:install
pnpm ui:build
pnpm ui:build # auto-installs UI deps on first run
```

View File

@@ -157,7 +157,7 @@ export function handleControlUiHttpRequest(
res.statusCode = 503;
res.setHeader("Content-Type", "text/plain; charset=utf-8");
res.end(
"Control UI assets not found. Build them with `bun run ui:build` (or run `bun run ui:dev` during development).",
"Control UI assets not found. Build them with `pnpm ui:build` (auto-installs UI deps), or run `pnpm ui:dev` during development.",
);
return true;
}

View File

@@ -76,7 +76,7 @@ export async function ensureControlUiAssetsBuilt(
return {
ok: false,
built: false,
message: `${hint}. Build them with \`bun run ui:build\`.`,
message: `${hint}. Build them with \`pnpm ui:build\` (auto-installs UI deps).`,
};
}
@@ -94,27 +94,7 @@ export async function ensureControlUiAssetsBuilt(
};
}
runtime.log("Control UI assets missing; building (ui:build)…");
const ensureInstalled = !fs.existsSync(
path.join(repoRoot, "ui", "node_modules"),
);
if (ensureInstalled) {
const install = await runCommandWithTimeout(
[process.execPath, uiScript, "install"],
{
cwd: repoRoot,
timeoutMs: opts?.timeoutMs ?? 10 * 60_000,
},
);
if (install.code !== 0) {
return {
ok: false,
built: false,
message: `Control UI install failed: ${summarizeCommandOutput(install.stderr) ?? `exit ${install.code}`}`,
};
}
}
runtime.log("Control UI assets missing; building (ui:build, auto-installs UI deps)…");
const build = await runCommandWithTimeout(
[process.execPath, uiScript, "build"],

View File

@@ -304,15 +304,6 @@ export async function runGatewayUpdate(
timeoutMs,
),
);
steps.push(
await runStep(
runCommand,
"ui:install",
managerScriptArgs(manager, "ui:install"),
gitRoot,
timeoutMs,
),
);
steps.push(
await runStep(
runCommand,