This commit is contained in:
Glucksberg 2026-01-30 14:49:10 +00:00 committed by GitHub
commit ab0f4bd449
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 7 additions and 7 deletions

View File

@ -115,7 +115,7 @@ openclaw gateway --port 18789 --verbose
``` ```
Dashboard (local loopback): `http://127.0.0.1:18789/` Dashboard (local loopback): `http://127.0.0.1:18789/`
If a token is configured, paste it into the Control UI settings (stored as `connect.params.auth.token`). If a token is configured, paste it into **Overview → Gateway Access** (stored as `connect.params.auth.token`).
⚠️ **Bun warning (WhatsApp + Telegram):** Bun has known issues with these ⚠️ **Bun warning (WhatsApp + Telegram):** Bun has known issues with these
channels. If you use WhatsApp or Telegram, run the Gateway with **Node**. channels. If you use WhatsApp or Telegram, run the Gateway with **Node**.

View File

@ -25,11 +25,11 @@ type ParsedTtsCommand = {
}; };
function parseTtsCommand(normalized: string): ParsedTtsCommand | null { function parseTtsCommand(normalized: string): ParsedTtsCommand | null {
// Accept `/tts` and `/tts <action> [args]` as a single control surface. // Accept `/tts <action> [args]` - return null for `/tts` alone to trigger inline menu.
if (normalized === "/tts") return { action: "status", args: "" }; if (normalized === "/tts") return null;
if (!normalized.startsWith("/tts ")) return null; if (!normalized.startsWith("/tts ")) return null;
const rest = normalized.slice(5).trim(); const rest = normalized.slice(5).trim();
if (!rest) return { action: "status", args: "" }; if (!rest) return null;
const [action, ...tail] = rest.split(/\s+/); const [action, ...tail] = rest.split(/\s+/);
return { action: action.toLowerCase(), args: tail.join(" ").trim() }; return { action: action.toLowerCase(), args: tail.join(" ").trim() };
} }

View File

@ -255,7 +255,7 @@ describe("gateway server auth/connect", () => {
}, },
}); });
expect(res.ok).toBe(false); expect(res.ok).toBe(false);
expect(res.error?.message ?? "").toContain("Control UI settings"); expect(res.error?.message ?? "").toContain("Overview → Gateway Access");
ws.close(); ws.close();
}); });

View File

@ -83,7 +83,7 @@ function formatGatewayAuthFailureMessage(params: {
const isCli = isGatewayCliClient(client); const isCli = isGatewayCliClient(client);
const isControlUi = client?.id === GATEWAY_CLIENT_IDS.CONTROL_UI; const isControlUi = client?.id === GATEWAY_CLIENT_IDS.CONTROL_UI;
const isWebchat = isWebchatClient(client); const isWebchat = isWebchatClient(client);
const uiHint = "open a tokenized dashboard URL or paste token in Control UI settings"; const uiHint = "open a tokenized dashboard URL or paste token in Overview → Gateway Access";
const tokenHint = isCli const tokenHint = isCli
? "set gateway.remote.token to match gateway.auth.token" ? "set gateway.remote.token to match gateway.auth.token"
: isControlUi || isWebchat : isControlUi || isWebchat
@ -92,7 +92,7 @@ function formatGatewayAuthFailureMessage(params: {
const passwordHint = isCli const passwordHint = isCli
? "set gateway.remote.password to match gateway.auth.password" ? "set gateway.remote.password to match gateway.auth.password"
: isControlUi || isWebchat : isControlUi || isWebchat
? "enter the password in Control UI settings" ? "enter the password in Overview → Gateway Access"
: "provide gateway auth password"; : "provide gateway auth password";
switch (reason) { switch (reason) {
case "token_missing": case "token_missing":