fix: drop explicit ui:install step
This commit is contained in:
@@ -39,6 +39,7 @@
|
|||||||
- Control UI: add Docs link, remove chat composer divider, and add New session button.
|
- 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: 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: 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: retry long-polling conflicts with backoff to avoid fatal exits.
|
||||||
- Telegram: fix grammY fetch type mismatch when injecting `fetch`. (#512) — thanks @YuriNachos
|
- Telegram: fix grammY fetch type mismatch when injecting `fetch`. (#512) — thanks @YuriNachos
|
||||||
- WhatsApp: resolve @lid JIDs via Baileys mapping to unblock inbound messages. (#415)
|
- WhatsApp: resolve @lid JIDs via Baileys mapping to unblock inbound messages. (#415)
|
||||||
|
|||||||
@@ -79,8 +79,7 @@ git clone https://github.com/clawdbot/clawdbot.git
|
|||||||
cd clawdbot
|
cd clawdbot
|
||||||
|
|
||||||
pnpm install
|
pnpm install
|
||||||
pnpm ui:install
|
pnpm ui:build # auto-installs UI deps on first run
|
||||||
pnpm ui:build
|
|
||||||
pnpm build
|
pnpm build
|
||||||
|
|
||||||
pnpm clawdbot onboard --install-daemon
|
pnpm clawdbot onboard --install-daemon
|
||||||
|
|||||||
@@ -118,8 +118,7 @@ From source (development):
|
|||||||
git clone https://github.com/clawdbot/clawdbot.git
|
git clone https://github.com/clawdbot/clawdbot.git
|
||||||
cd clawdbot
|
cd clawdbot
|
||||||
pnpm install
|
pnpm install
|
||||||
pnpm ui:install
|
pnpm ui:build # auto-installs UI deps on first run
|
||||||
pnpm ui:build
|
|
||||||
pnpm build
|
pnpm build
|
||||||
pnpm clawdbot onboard --install-daemon
|
pnpm clawdbot onboard --install-daemon
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -59,8 +59,7 @@ From the repo checkout:
|
|||||||
git pull
|
git pull
|
||||||
pnpm install
|
pnpm install
|
||||||
pnpm build
|
pnpm build
|
||||||
pnpm ui:install
|
pnpm ui:build # auto-installs UI deps on first run
|
||||||
pnpm ui:build
|
|
||||||
pnpm clawdbot doctor
|
pnpm clawdbot doctor
|
||||||
pnpm clawdbot health
|
pnpm clawdbot health
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -95,8 +95,7 @@ Follow the Linux Getting Started flow inside WSL:
|
|||||||
git clone https://github.com/clawdbot/clawdbot.git
|
git clone https://github.com/clawdbot/clawdbot.git
|
||||||
cd clawdbot
|
cd clawdbot
|
||||||
pnpm install
|
pnpm install
|
||||||
pnpm ui:install
|
pnpm ui:build # auto-installs UI deps on first run
|
||||||
pnpm ui:build
|
|
||||||
pnpm build
|
pnpm build
|
||||||
pnpm clawdbot onboard
|
pnpm clawdbot onboard
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -37,8 +37,7 @@ From source (development):
|
|||||||
git clone https://github.com/clawdbot/clawdbot.git
|
git clone https://github.com/clawdbot/clawdbot.git
|
||||||
cd clawdbot
|
cd clawdbot
|
||||||
pnpm install
|
pnpm install
|
||||||
pnpm ui:install
|
pnpm ui:build # auto-installs UI deps on first run
|
||||||
pnpm ui:build
|
|
||||||
pnpm build
|
pnpm build
|
||||||
pnpm link --global
|
pnpm link --global
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -64,8 +64,7 @@ pnpm install
|
|||||||
pnpm build
|
pnpm build
|
||||||
|
|
||||||
# If the Control UI assets are missing or you want the dashboard:
|
# If the Control UI assets are missing or you want the dashboard:
|
||||||
pnpm ui:install
|
pnpm ui:build # auto-installs UI deps on first run
|
||||||
pnpm ui:build
|
|
||||||
|
|
||||||
pnpm clawdbot onboard
|
pnpm clawdbot onboard
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -135,8 +135,7 @@ If you’re hacking on Clawdbot itself, run from source:
|
|||||||
git clone https://github.com/clawdbot/clawdbot.git
|
git clone https://github.com/clawdbot/clawdbot.git
|
||||||
cd clawdbot
|
cd clawdbot
|
||||||
pnpm install
|
pnpm install
|
||||||
pnpm ui:install
|
pnpm ui:build # auto-installs UI deps on first run
|
||||||
pnpm ui:build
|
|
||||||
pnpm build
|
pnpm build
|
||||||
pnpm clawdbot onboard --install-daemon
|
pnpm clawdbot onboard --install-daemon
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ Tip: `--json` does **not** imply non-interactive mode. Use `--non-interactive` (
|
|||||||
9) **Finish**
|
9) **Finish**
|
||||||
- Summary + next steps, including iOS/Android/macOS apps for extra features.
|
- 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 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
|
## Remote mode
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
The Gateway serves static files from `dist/control-ui`. Build them with:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pnpm ui:install
|
pnpm ui:build # auto-installs UI deps on first run
|
||||||
pnpm ui:build
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Optional absolute base (when you want fixed asset URLs):
|
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):
|
For local development (separate dev server):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pnpm ui:install
|
pnpm ui:dev # auto-installs UI deps on first run
|
||||||
pnpm ui:dev
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Then point the UI at your Gateway WS URL (e.g. `ws://127.0.0.1:18789`).
|
Then point the UI at your Gateway WS URL (e.g. `ws://127.0.0.1:18789`).
|
||||||
|
|||||||
@@ -101,6 +101,5 @@ Open:
|
|||||||
The Gateway serves static files from `dist/control-ui`. Build them with:
|
The Gateway serves static files from `dist/control-ui`. Build them with:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pnpm ui:install
|
pnpm ui:build # auto-installs UI deps on first run
|
||||||
pnpm ui:build
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ export function handleControlUiHttpRequest(
|
|||||||
res.statusCode = 503;
|
res.statusCode = 503;
|
||||||
res.setHeader("Content-Type", "text/plain; charset=utf-8");
|
res.setHeader("Content-Type", "text/plain; charset=utf-8");
|
||||||
res.end(
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ export async function ensureControlUiAssetsBuilt(
|
|||||||
return {
|
return {
|
||||||
ok: false,
|
ok: false,
|
||||||
built: 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)…");
|
runtime.log("Control UI assets missing; building (ui:build, auto-installs UI deps)…");
|
||||||
|
|
||||||
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}`}`,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const build = await runCommandWithTimeout(
|
const build = await runCommandWithTimeout(
|
||||||
[process.execPath, uiScript, "build"],
|
[process.execPath, uiScript, "build"],
|
||||||
|
|||||||
@@ -304,15 +304,6 @@ export async function runGatewayUpdate(
|
|||||||
timeoutMs,
|
timeoutMs,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
steps.push(
|
|
||||||
await runStep(
|
|
||||||
runCommand,
|
|
||||||
"ui:install",
|
|
||||||
managerScriptArgs(manager, "ui:install"),
|
|
||||||
gitRoot,
|
|
||||||
timeoutMs,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
steps.push(
|
steps.push(
|
||||||
await runStep(
|
await runStep(
|
||||||
runCommand,
|
runCommand,
|
||||||
|
|||||||
Reference in New Issue
Block a user