Skip to content

Desktop: platforms.changed broadcast retires the Messaging page's 6s status poll - #74422

Merged
OutThisLife merged 1 commit into
mainfrom
bb/platforms-changed
Jul 29, 2026
Merged

Desktop: platforms.changed broadcast retires the Messaging page's 6s status poll#74422
OutThisLife merged 1 commit into
mainfrom
bb/platforms-changed

Conversation

@OutThisLife

Copy link
Copy Markdown
Collaborator

Follow-up to #73673, which missed one always-on-while-mounted timer: the Messaging page polled /api/messaging/platforms every 6s for connection status while open.

The gateway already persists platform connect/disconnect/health to gateway_state.json — so the change watcher gains a fourth signature and the page becomes event-driven like its siblings:

event fires when payload cadence
platforms.changed gateway_state.json mtime moves — a platform connects, disconnects, or its health flips {} (nudge; the page refetches) sig checked every 2s, floored to ≥5s between broadcasts (the gateway also rewrites the file for in-flight-count bookkeeping; trailing edge kept)

Renderer: $platformsChangeTick in store/live-sync.ts, routed in gateway-event.ts with the same active-profile gate, consumed by the Messaging page. Event-capable backend → no timer at all; older backend → the legacy 6s visible-tab poll, verbatim.

Validation: test_gateway_state_move_broadcasts_platforms_changed joins the change-watcher contract suite (real temp HERMES_HOME); messaging + contrib-hooks vitest suites green.

…'s 6s status poll

The change watcher (#73673) missed one always-on-while-mounted timer: the
Messaging page polled /api/messaging/platforms every 6s for connection
status. The gateway already persists platform connect/disconnect/health to
gateway_state.json, so watch that file's mtime and broadcast
platforms.changed (floored to 5s — the gateway also rewrites the file for
in-flight-count bookkeeping), route it through live-sync like its
siblings, and refresh the page on the tick. Older backends keep the
legacy visible-tab poll verbatim.

Finishes the always-on poll sweep for #73618.
@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

૮ >ﻌ< ა ci review

ran on f8e07a3

ℹ️ Info

Desktop E2E visual evidence · View test artifacts · View job

1 visual diff.

inline evidence upload failed.

Failed to upload diff-665a0833239e-onboarding-overlay-diff.png with gh image (exit code 1): Error uploading /home/runner/work/_temp/e2e-evidence/diff-665a0833239e-onboarding-overlay-diff.png: step 0 (get upload token): uploadToken not found on repo page — do you have write access to NousResearch/hermes-agent? (or, if NousResearch enforces SAML SSO, authorize at https://github.com/orgs/NousResearch/sso)

@alt-glitch alt-glitch added type/perf Performance improvement or optimization P3 Low — cosmetic, nice to have comp/desktop Electron desktop app (apps/desktop/*) comp/tui Terminal UI (ui-tui/ + tui_gateway/) labels Jul 29, 2026
@OutThisLife
OutThisLife merged commit 5c07ba2 into main Jul 29, 2026
50 checks passed
@OutThisLife
OutThisLife deleted the bb/platforms-changed branch July 29, 2026 23:37
randlee pushed a commit to randlee/hermes-agent that referenced this pull request Aug 11, 2026
…changed

Desktop: platforms.changed broadcast retires the Messaging page's 6s status poll
33hodl pushed a commit to 33hodl/hermes-agent that referenced this pull request Aug 12, 2026
…changed

Desktop: platforms.changed broadcast retires the Messaging page's 6s status poll
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/desktop Electron desktop app (apps/desktop/*) comp/tui Terminal UI (ui-tui/ + tui_gateway/) P3 Low — cosmetic, nice to have type/perf Performance improvement or optimization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants