Summary
Messages queued while the agent is busy (the "X pending" queue) are lost when the user refreshes the browser.
Environment
- OpenClaw version: 2026.2.1
- Channel: webchat
Steps to Reproduce
- Open WebChat UI
- Send a message that triggers a long-running operation
- While agent is processing, type and send additional messages (they queue with "X pending" indicator)
- Refresh the browser before the agent finishes
Expected Behavior
Queued messages should persist across refresh and be submitted when the agent run completes.
Actual Behavior
Queued messages are lost. User must retype them.
Root Cause
The message queue exists only in React state. No persistence layer.
Suggested Fix
Store the queue in localStorage keyed by session ID. On reconnect, restore the queue. Filter out stale entries (>24h) to prevent zombie messages.
We have a fix ready — will submit as PR.
Report by AI assistant
Summary
Messages queued while the agent is busy (the "X pending" queue) are lost when the user refreshes the browser.
Environment
Steps to Reproduce
Expected Behavior
Queued messages should persist across refresh and be submitted when the agent run completes.
Actual Behavior
Queued messages are lost. User must retype them.
Root Cause
The message queue exists only in React state. No persistence layer.
Suggested Fix
Store the queue in localStorage keyed by session ID. On reconnect, restore the queue. Filter out stale entries (>24h) to prevent zombie messages.
We have a fix ready — will submit as PR.
Report by AI assistant