hermes-agent/apps/desktop/src
Brooklyn Nicholson 3e21cfdebb fix(desktop): clear stale active todos on turn end AND on rehydration
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>
2026-07-02 21:22:45 -05:00
..
app fix(desktop): clear stale active todos on turn end AND on rehydration 2026-07-02 21:22:45 -05:00
components feat(auth): make xAI Grok OAuth device-code-only, drop loopback login 2026-07-02 13:17:41 -07:00
fonts fix(desktop): crisp terminal text via opaque xterm canvas 2026-06-12 19:36:30 -05:00
hooks refactor(desktop): share theme-repaint observer; memory-graph depth polish 2026-06-30 02:06:29 -05:00
i18n feat(auth): make xAI Grok OAuth device-code-only, drop loopback login 2026-07-02 13:17:41 -07:00
lib fix(desktop): load remote model options before session 2026-07-02 12:50:46 -05:00
store fix(desktop): clear stale active todos on turn end AND on rehydration 2026-07-02 21:22:45 -05:00
themes feat(desktop): flag already-installed themes in the install pickers 2026-06-29 23:29:20 -05:00
types feat(auth): make xAI Grok OAuth device-code-only, drop loopback login 2026-07-02 13:17:41 -07:00
global.d.ts Merge pull request #52828 from helix4u/fix/desktop-backend-update-indicator 2026-06-26 11:49:07 -05:00
hermes-profile-scope.test.ts fix(desktop): route gateway restart / status / update to the active profile 2026-06-24 19:16:26 -05:00
hermes.test.ts fix(desktop): extend startup long-timeout to the whole boot data burst 2026-07-02 19:36:43 -05:00
hermes.ts fix(desktop): extend startup long-timeout to the whole boot data burst 2026-07-02 19:36:43 -05:00
main.tsx feat(desktop): floating pet, pop-out overlay + Cmd+K picker 2026-06-20 14:18:40 -05:00
styles.css feat(desktop): add context usage breakdown popover 2026-06-29 09:18:10 -04:00
vite-env.d.ts Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00