feat(dashboard): PWA support (installable, standalone mode) - #9897
Conversation
Add web app manifest and meta tags so the dashboard can be installed as a standalone app on mobile and desktop. - manifest.json: app name, standalone display, theme color #041C1C - PWA icons at 192x192 and 512x512 (resized from agentlogo.png) - apple-mobile-web-app-capable + apple-touch-icon for iOS - viewport-fit=cover for notched devices - theme-color meta tag Users on Tailscale or local network can 'Add to Home Screen' on their phone for a native app experience. No server changes needed.
GottZ
left a comment
There was a problem hiding this comment.
This was generated by AI during triage.
Summary
Two PRs address dashboard installability through PWA metadata and standalone-mode support. #9897 provides the core manifest, icons, and HTML metadata, while #26708 implements the same foundation plus scoped/maskable assets, expanded Apple metadata, and regression tests.
Related pull requests
- #9897
related— (+27/-1) — no verify verdict: Adds the core fix for the reported need by wiring a standalone PWA manifest, theme and Apple metadata, and 192/512 px icons into the dashboard. Its diff does not include automated asset/metadata coverage or maskable icons. - #26708 [closed]
duplicate— (+117/-1) — duplicate with salvageable additions: Implements substantially the same manifest, standalone mode, HTML metadata, and base icons as #9897, while adding maskable and 180 px icons, explicit scope/display fallback, and regression tests. Although closed, it remains relevant as the contributor-identified duplicate of #9897 and as the source of those reusable additions.
Duplicates
#26708 substantially duplicates #9897's dashboard PWA implementation; the contributor discussion explicitly identified the overlap, and #26708's author closed it in favor of #9897.
Suggested consolidation
Keep #9897 open with a salvage path: preserve its focused core PWA implementation and incorporate the regression test plus any desired maskable/apple-icon metadata from closed duplicate #26708. Keep #26708 closed as a duplicate of #9897; no merge recommendation is supported because neither PR has a recorded best-fix verdict.
Complex graph
flowchart LR
classDef open fill:#dbeafe,stroke:#1d4ed8,color:#1e3a8a
classDef merged fill:#dcfce7,stroke:#15803d,color:#14532d
classDef closed fill:#e5e7eb,stroke:#6b7280,color:#1f2937
classDef unverified fill:#f3f4f6,stroke:#9ca3af,color:#374151
classDef best stroke-width:3px,stroke:#b45309
classDef target stroke-width:3px,stroke:#4338ca
subgraph Dup9897 ["PRs duplicating each other"]
P9897["PR #9897 (open)"]
P26708["PR #26708 (closed)"]
end
class P9897 open
class P26708 closed
class P9897 target
click P9897 "https://github.com/NousResearch/hermes-agent/pull/9897"
click P26708 "https://github.com/NousResearch/hermes-agent/pull/26708"
Graph: solid arrow = fixes / best fix, dashed arrow = partial or unverified (see edge label); boxed group = PRs duplicating each other; amber border = best fix; indigo border = target; gray node = closed (state tag in the node label).
Cross-PR triage: Reviewed 2 pull requests and 0 issues in this complex. Each diff was read against this issue; Assessment working set: 8 kB of PR diffs, 2 kB of issue/PR text, <1 kB of discussion (2 comments), 0 verify verdicts. verdicts reflect diff content, not PR titles. Part of an automated triage batch.
Summary
Makes the dashboard installable as a standalone app on mobile and desktop via PWA manifest.
Changes
web/public/manifest.json— app name "Hermes Agent Dashboard", standalone display mode,#041C1Ctheme colorweb/public/icon-192.png/icon-512.png— resized from agentlogo.pngweb/index.html— added<link rel="manifest">,<link rel="apple-touch-icon">,<meta name="theme-color">,<meta name="apple-mobile-web-app-capable">,viewport-fit=coverWhat this enables
Users accessing the dashboard over Tailscale or a local network can "Add to Home Screen" on their phone. The app launches fullscreen without browser chrome, with the Hermes agent logo as the app icon.
No server changes. No new dependencies. 4 files, 27 lines added.