mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-17 14:42:06 +00:00
A turn that ends without a final `todo` update left the composer "Tasks N/M" panel pinned with its last item stuck pending/in_progress, and it survived restarts because the panel is read back from stored session history. Two coupled fixes (the first alone is undone by the second path): - Turn end: clear a still-active todo list on `message.complete` and on a terminal `error` (new `clearActiveSessionTodos` — active lists only; a finished list keeps its short linger so the last checkmark still lands). - Rehydration: `hydrateFromStoredSession` runs *after* a turn completes, so an "active" stored list is stale, not in-flight. It now restores only a *finished* list (via new `todosForHydration`) and drops anything still active — otherwise it re-pinned the panel right after the turn-end clear and resurrected it on every restart. Salvages #52996 (@0disoft): the fix shape (clearActiveSessionTodos on turn completion, preserving the finished-list linger) is carried forward and ported onto the current use-message-stream/ folder split (gateway-event.ts), then extended to the rehydration path per review. Co-authored-by: 0disoft <rodisoft1@gmail.com> |
||
|---|---|---|
| .. | ||
| agents | ||
| artifacts | ||
| chat | ||
| command-center | ||
| command-palette | ||
| cron | ||
| gateway/hooks | ||
| hooks | ||
| messaging | ||
| overlays | ||
| pet-generate | ||
| pet-overlay | ||
| profiles | ||
| right-sidebar | ||
| session/hooks | ||
| settings | ||
| shell | ||
| skills | ||
| starmap | ||
| desktop-controller-utils.test.ts | ||
| desktop-controller-utils.ts | ||
| desktop-controller.tsx | ||
| floating-hud.ts | ||
| index.tsx | ||
| layout-constants.ts | ||
| model-picker-overlay.tsx | ||
| model-visibility-overlay.tsx | ||
| page-search-shell.tsx | ||
| routes.ts | ||
| session-picker-overlay.tsx | ||
| session-switcher.tsx | ||
| types.ts | ||
| updates-overlay.tsx | ||