Bug Description
Refreshing the Hermes Workspace chat view can make the assistant appear to enter a "thinking" / generating state even though the user did not submit a new message.
This looks like a frontend state/reconnect issue rather than actual autonomous assistant behavior. The UI seems to conflate one or more of these states:
- loading session/model metadata after page remount
- reconnecting to an existing stream/SSE connection
- recovering from an interrupted SSE stream
- an actual assistant generation triggered by a new user message
Steps to Reproduce
- Open Hermes Workspace and enter an existing chat session.
- Send a message and let the assistant respond, or interrupt/refresh while a stream may still be active.
- Refresh the browser page.
- Return to the chat screen.
- Observe that the assistant may show a "thinking"/pending generation indicator without a new user message being sent.
Expected Behavior
Refreshing or remounting the chat view should not display assistant generation unless a new user message was explicitly submitted or a real backend generation is actively in progress.
The UI should distinguish between:
- loading chat/session metadata
- refreshing model/capability information
- reconnecting to a stream
- recovering from a disconnected/interrupted stream
- assistant generation
Actual Behavior
After refresh, the chat UI can appear as if the assistant started thinking/generating on its own. This is confusing because no new user message was submitted.
Suggested Fix
- Do not create a new chat POST/stream on component mount unless there is an explicit new user message.
- Clear or reconcile stale pending/generating state when the page reloads and the prior stream is gone/interrupted.
- Cancel or mark orphaned streams on refresh/unload where possible.
- Use separate UI states/labels for "loading", "reconnecting", or "recovering stream" instead of reusing the assistant "thinking" indicator.
- If the backend reports an interrupted/disconnected SSE stream, reflect that as stopped/interrupted rather than still pending.
Evidence / Notes
Local logs showed normal model/capability refresh activity around the page refresh, plus prior SSE client disconnect/interruption events. No evidence indicated that a new user-submitted chat message was intentionally sent by the user during the refresh.
Environment
- App: Hermes Workspace
- Mode observed: Workspace connected to Hermes Gateway in zero-fork mode
- Browser action: manual page refresh / chat view remount
Bug Description
Refreshing the Hermes Workspace chat view can make the assistant appear to enter a "thinking" / generating state even though the user did not submit a new message.
This looks like a frontend state/reconnect issue rather than actual autonomous assistant behavior. The UI seems to conflate one or more of these states:
Steps to Reproduce
Expected Behavior
Refreshing or remounting the chat view should not display assistant generation unless a new user message was explicitly submitted or a real backend generation is actively in progress.
The UI should distinguish between:
Actual Behavior
After refresh, the chat UI can appear as if the assistant started thinking/generating on its own. This is confusing because no new user message was submitted.
Suggested Fix
Evidence / Notes
Local logs showed normal model/capability refresh activity around the page refresh, plus prior SSE client disconnect/interruption events. No evidence indicated that a new user-submitted chat message was intentionally sent by the user during the refresh.
Environment