Skip to content

fix(dashboard): persist update action status (#47864) - #47902

Open
Tranquil-Flow wants to merge 1 commit into
NousResearch:mainfrom
Tranquil-Flow:fix/47864-persist-action-status
Open

fix(dashboard): persist update action status (#47864)#47902
Tranquil-Flow wants to merge 1 commit into
NousResearch:mainfrom
Tranquil-Flow:fix/47864-persist-action-status

Conversation

@Tranquil-Flow

Copy link
Copy Markdown
Contributor

Summary

  • Persist completed dashboard action results to a sidecar marker so /api/actions/{name}/status survives a dashboard restart.
  • Pass the result marker path into dashboard-spawned hermes update and stamp success before the updater restarts/kills the dashboard.
  • Clear stale persisted markers before launching a new action and ignore corrupt/unwritable markers without breaking the status endpoint.

Verification

  • 10 passed: focused action-status/update regression set
  • 309 passed, 1 warning: tests/hermes_cli/test_web_server.py tests/hermes_cli/test_update_stale_dashboard.py
  • Branch rebased on current upstream/main; git rev-list --left-right --count upstream/main...HEAD returned 0 1.

Competitor / duplicate check

Auto-published by Moonsong via Path B automated pipeline.

@alt-glitch alt-glitch added type/bug Something isn't working comp/cli CLI entry point, hermes_cli/, setup wizard comp/gateway Gateway runner, session dispatch, delivery P2 Medium — degraded but workaround exists labels Jun 17, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Related: fix PR for #47864 (dashboard "Action failed (exit ?)" after a successful hermes update — status lost across the dashboard restart). Also related to #25916 (persist gateway maintenance action status instead of in-memory handles). Persisting the action result to a sidecar marker is the right direction for the restart-loss root cause.

@alt-glitch alt-glitch added comp/dashboard Web dashboard / control panel UI (dashboard/, landing) and removed comp/gateway Gateway runner, session dispatch, delivery labels Jun 26, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for addressing the real dashboard restart-loss path. Current main still has the premise: hermes_cli/web_server.py:3922-3939 keeps action completion only in _ACTION_PROCS / _ACTION_RESULTS, while a successful git update kills the dashboard at hermes_cli/main.py:11037-11042.

Problems

  • The marker write is only added to the git-update completion flow. The Windows ZIP fallback also finishes by killing the dashboard at hermes_cli/main.py:6451; it is invoked at hermes_cli/main.py:9576-9582 and after a git failure at hermes_cli/main.py:11048-11053. That successful path would still lose the update status.

Suggested changes

  • Stamp the action result before every successful dashboard-kill path, including _update_via_zip(), and cover that fallback with a regression test.
  • Salvage onto current main: the touched areas moved substantially after base c6c8abbad.

Automated hermes-sweeper review.

@teknium1 teknium1 added the sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform label Jul 14, 2026
@Tranquil-Flow
Tranquil-Flow force-pushed the fix/47864-persist-action-status branch from c9c3a52 to 8c47ef6 Compare July 17, 2026 14:09
@teknium1 teknium1 added the area/install-update Installer, updater, packaging, wheels, doctor label Jul 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/install-update Installer, updater, packaging, wheels, doctor comp/cli CLI entry point, hermes_cli/, setup wizard comp/dashboard Web dashboard / control panel UI (dashboard/, landing) P2 Medium — degraded but workaround exists sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants