Description
When sending a message in the Control UI (webchat), after pressing Enter/Send, the just-typed message briefly disappears from the chat view — the interface flashes blank for a moment — then the message reappears. In some cases, the message does not reappear at all, making it look as if the message was lost (though the agent does receive and process it).
Steps to Reproduce
- Open Control UI in a browser (e.g. Safari on macOS, connected via remote node)
- Type a message in the chat input
- Press Enter or click Send
- Observe: the sent message vanishes from the chat view momentarily
- The message flashes back after a brief delay, or in some cases stays invisible
Expected Behavior
The sent message should remain visible in the chat view after sending, with a smooth transition to a "pending/sent" state. No flash or disappearance should occur.
Actual Behavior
- The message disappears immediately on send
- A visible flash/blank gap occurs
- The message sometimes reappears after a short delay
- Intermittently, the message does not reappear at all (remains invisible until page refresh or next incoming message)
Environment
| Item |
Value |
| OpenClaw version |
2026.4.14 (323493f) |
| OS (Gateway host) |
Ubuntu 25.10 (x86_64) |
| Node.js |
v22.22.2 |
| Gateway bind |
loopback (127.0.0.1:18789) |
| Remote node |
MacBook Pro (macOS, app 2026.4.14 build 2026041490) |
| Browser |
Safari (macOS, via remote node) |
| Channel |
webchat / Control UI |
| Control UI config |
gateway.controlUi.allowInsecureAuth=true |
Additional Context
- The issue is reproducible consistently (disappearance + flash). The "message stays hidden" case is intermittent but occurs several times per session.
- The agent does receive and respond to the message correctly — this is purely a UI rendering issue.
- The flash pattern suggests a race condition between the optimistic local message render and the server acknowledgment/refresh cycle: the local message is removed from the input, the UI re-renders from the server state before the message is persisted, causing the blank gap.
- Suggested fix: render the user's sent message optimistically and keep it in the local state until the server state confirms it, rather than clearing and re-fetching.
Description
When sending a message in the Control UI (webchat), after pressing Enter/Send, the just-typed message briefly disappears from the chat view — the interface flashes blank for a moment — then the message reappears. In some cases, the message does not reappear at all, making it look as if the message was lost (though the agent does receive and process it).
Steps to Reproduce
Expected Behavior
The sent message should remain visible in the chat view after sending, with a smooth transition to a "pending/sent" state. No flash or disappearance should occur.
Actual Behavior
Environment
gateway.controlUi.allowInsecureAuth=trueAdditional Context