{"repo":"NousResearch/hermes-agent","public_id":"25916","display_label":"Action status lost or misreported across restarts","summary":"These issues and fixes concern gateway/dashboard maintenance actions (especially backend updates and self-restarts) incorrectly reporting failure or losing status information when a process restarts. Work spans persistence of exit codes, terminal-state-driven reporting, and clearer messaging around disconnects.","subsystem":"apps/desktop","counts":{"members":11,"open_issues":2,"open_issues_distinct":2,"open_prs":2,"closed_issues":3,"merged_prs":1,"attempt_prs":5},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":79513},"resolution":{"state":"partially_resolved","by":"pr-79513"},"freshness":{"state":"verified","last_verified_at":"2026-08-05T16:42:02+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.14181818181818182},"fix_edges":[{"issue_number":47359,"pr_number":79513,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":58764,"pr_number":79513,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":25916,"title":"Persist gateway maintenance action status instead of relying on in-memory process handles","url":null,"state":"open"},{"kind":"issue","number":41143,"title":"Dashboard/TUI self-restart kills active Desktop session and shows opaque exit_code=-15","url":null,"state":"open"},{"kind":"issue","number":47359,"title":"Desktop: backend update reports \"Backend update failed\" even when the update succeeds","url":null,"state":"closed"},{"kind":"issue","number":47864,"title":"Dashboard reports \"Action failed (exit ?)\" after a successful `hermes update` (status lost across dashboard restart)","url":null,"state":"closed"},{"kind":"issue","number":62118,"title":"[Bug]: Dashboard shows \"Action failed (?)\" after successful self-update and systemd restart","url":null,"state":"closed"},{"kind":"pr","number":27565,"title":"feat(web): persist gateway maintenance action status (phase 1) (#25916)","url":null,"state":"open","close_reason":{"refs":[{"kind":"commit","value":"78e2101cd2a8","number":0}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":41263,"title":"fix(dashboard): explain embedded chat disconnects after restart","url":null,"state":"open","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":47362,"title":"fix(desktop): don't report false failure on a successful backend update","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#79513","number":79513}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":47928,"title":"fix(dashboard): persist action exit code across gateway restarts (#47864)","url":null,"state":"closed","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":65681,"title":"fix(desktop): make remote backend updates terminal-state driven","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#79513","number":79513},{"kind":"pr","value":"#52470","number":52470}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":79513,"title":"fix(desktop): stop reporting false failure on successful backend updates","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/store/updates.test.ts","apps/desktop/src/store/updates.ts","apps/desktop/src/types/hermes.ts","hermes_cli/main.py","hermes_cli/update_cmd.py","hermes_cli/web_server.py","tests/hermes_cli/test_update_hangup_protection.py","tests/hermes_cli/test_web_server.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}