Skip to content

Feat/dashboard layout - #14899

Merged
austinpickett merged 5 commits into
mainfrom
feat/dashboard-layout
Apr 24, 2026
Merged

Feat/dashboard layout#14899
austinpickett merged 5 commits into
mainfrom
feat/dashboard-layout

Conversation

@austinpickett

@austinpickett austinpickett commented Apr 24, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do?

Improves the Hermes web dashboard (hermes-agent/web/) shell and key flows: clearer sidebar (gateway vs agent, System block, version + org in the footer), a single home on Sessions (with alerts, system-action log, platforms, and recent sessions), full-width main content, header toolbars on Logs and Analytics, delete/clear confirmations (Cron, Sessions, env keys) via a small reusable hook + dialog, and i18n updates. No change to how dashboard plugins are loaded—the example plugin still appears as the dynamic /example tab when the API serves it.

Related Issue

N/A (or Fixes #____ if you file one)

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 🔒 Security fix
  • 📝 Documentation update
  • ✅ Tests (adding or improving test coverage)
  • ♻️ Refactor (no behavior change) — shared delete-confirm plumbing
  • 🎯 New skill (bundled or hub)

Changes Made

  • hermes-agent/web/src/App.tsx: Default route → /sessions; remove Status nav; full-width main; System section + sidebar link targets; navigate after system actions to /sessions.
  • hermes-agent/web/src/components/SidebarStatusStrip.tsx, SidebarFooter.tsx: Footer version + Nous link; gateway/session copy; merge into System; Link to /sessions.
  • hermes-agent/web/src/pages/SessionsPage.tsx: Hub for former Status content (alerts, action log, PlatformsCard, recent sessions) + session list; DeleteConfirmDialog + useConfirmDelete.
  • hermes-agent/web/src/components/PlatformsCard.tsx: Extracted connected-platforms card.
  • Removed hermes-agent/web/src/pages/StatusPage.tsx (behavior relocated as above).
  • hermes-agent/web/src/i18n/*: app.nav / gatewayStrip / activeSessionsLabel / gatewayStatusLabel / env clear strings / nav cleanup; zh parity.
  • hermes-agent/web/src/lib/resolve-page-title.ts: / and titles align with Sessions-first nav.
  • hermes-agent/web/src/hooks/useConfirmDelete.ts, components/DeleteConfirmDialog.tsx: Shared delete confirmation.
  • hermes-agent/web/src/pages/CronPage.tsx: Delete confirm; loadJobs useCallback where needed.
  • hermes-agent/web/src/pages/EnvPage.tsx: Clear-key confirm + clearDialogOpen on rows.
  • hermes-agent/web/src/pages/LogsPage.tsx: fetchLogs before header effect; auto-refresh + refresh in setEnd; setAfterTitle badge.
  • hermes-agent/web/src/pages/AnalyticsPage.tsx: Period + refresh in header; setAfterTitle period badge.
  • hermes-agent/web/src/pages/AnalyticsPage.tsx / LogsPage: usePageHeader (setEnd / setAfterTitle).

How to Test

  1. From hermes-agent/web: pnpm dev (with the gateway/web API proxying so /api/* and plugins work as usual).
  2. Nav / home: Open / → redirects to Sessions; confirm sidebar (System block, gateway lines, footer version + Nous link).
  3. Sessions: Alerts/platforms/recent + list; delete session → confirm dialog; cancel vs confirm.
  4. Cron / Keys: Delete cron job and clear an env key → confirm dialogs; cancel leaves data.
  5. Logs: Auto-refresh + Refresh in the header; filters stay in the page.
  6. Analytics: Period chips + Refresh in the header; data still loads on period change.
  7. Plugin (optional): With server discovering plugins/example-dashboard, open /example and confirm Example tab.

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)
  • I've run pytest tests/ -q and all tests pass
  • I've added tests for my changes (required for bug fixes, strongly encouraged for features)
  • I've tested on my platform: _______________

Documentation & Housekeeping

  • I've updated relevant documentation (README, docs/, docstrings) — or N/A
  • I've updated cli-config.yaml.example if I added/changed config keys — or N/A
  • I've updated CONTRIBUTING.md or AGENTS.md if I changed architecture or workflows — or N/A
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide — or N/A
  • I've updated tool descriptions/schemas if I changed tool behavior — or N/A

For New Skills

Delete this section if not applicable.

Screenshots / Logs

image

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/gateway Gateway runner, session dispatch, delivery labels Apr 24, 2026
@austinpickett
austinpickett force-pushed the feat/dashboard-layout branch from a7bad20 to 809868e Compare April 24, 2026 05:04
@austinpickett
austinpickett merged commit 1143f23 into main Apr 24, 2026
8 of 10 checks passed
@austinpickett
austinpickett deleted the feat/dashboard-layout branch April 24, 2026 14:48
aj-nt pushed a commit to aj-nt/hermes-agent that referenced this pull request May 1, 2026
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
waefrebeorn pushed a commit to waefrebeorn/slermes that referenced this pull request Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants