mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-20 15:33:54 +00:00
The sidebar working dot didn't update for background sessions until the user opened them. Two coupled causes: 1. The gateway's session.info event payload omitted stored_session_id, so the desktop app had no way to map a background session's runtime id to its stored id. Without the stored id, setSessionWorking(null, ...) was a no-op — the $workingSessionIds atom never updated. 2. The running→busy transition in the session.info handler was gated on `apply` (active session only). The gate correctly scopes view-only side effects (setCurrentModel, setCurrentCwd, etc.) to the focused chat, but the per-session busy state drives the sidebar indicator and must reach every session. updateSessionState only mutates the per-runtime cache entry, and syncSessionStateToView already guards the view publish to the active session, so ungating is safe. Fix: add stored_session_id to _session_info() in tui_gateway/server.py, add the field to GatewayEventPayload, pass it to updateSessionState in the session.info handler, and ungate the running→busy transition. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| compute_host.py | ||
| entry.py | ||
| event_publisher.py | ||
| git_probe.py | ||
| host_supervisor.py | ||
| loop_noise.py | ||
| project_tree.py | ||
| render.py | ||
| server.py | ||
| slash_worker.py | ||
| synthetic_turn.py | ||
| transport.py | ||
| ws.py | ||