# NousResearch/hermes-agent · Secondary gateway publish requires open WebSocket

## Open now

- Nothing open on GitHub.

These issues and fixes address a bug where the desktop client could publish a secondary gateway route before or after its WebSocket connection was actually open. The changes enforce that a secondary gateway is only published when its socket is confirmed open.

## TL;DR

- 5 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 1 merged PR(s), 3 PR(s) closed without merging.
- A fix was merged to main in PR #95082. Verify it addresses your case.
- **Recommended:** read PR #95082 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `resolved` · deciding PR(s): `pr-95082`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.40`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Closed / duplicate issues

- #92265: \[Bug\]: Desktop can publish a closed secondary gateway after a transient WebSocket reset

## Prior & competing PRs

- **#95082: fix(desktop): secondary gateways publish only live sockets and survive prune/mode-switch (multi-gateway class 3, tracker #94724)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `apps/desktop/src/app/chat/session-tile.tsx`, `apps/desktop/src/app/contrib/hooks/use-session-tile-delegate.test.ts`, `apps/desktop/src/app/contrib/hooks/use-session-tile-delegate.ts`, `apps/desktop/src/app/gateway/hooks/use-gateway-boot.test.tsx`, `apps/desktop/src/app/gateway/hooks/use-gateway-boot.ts`, `apps/desktop/src/app/shell/model-catalog-menu.tsx`, `apps/desktop/src/app/shell/model-menu-panel.tsx`, `apps/desktop/src/lib/model-options.test.ts`, `apps/desktop/src/lib/model-options.ts`, `apps/desktop/src/plugins/hermes-bots/plugin.js`, `apps/desktop/src/plugins/hermes-bots/tests/hide-bot-chats.runtime.test.ts`, `apps/desktop/src/plugins/hermes-bots/tests/hide-bot-chats.test.mjs`, `apps/desktop/src/sdk/index.ts`, `apps/desktop/src/sdk/profile-routing.test.ts`, `apps/desktop/src/store/gateway-connection-lifecycle.test.ts`, `apps/desktop/src/store/gateway-connection-scope.test.ts`, `apps/desktop/src/store/gateway-secondary-open-check.test.ts`, `apps/desktop/src/store/gateway-shared-remote.test.ts`, `apps/desktop/src/store/gateway.ts`, `apps/desktop/src/store/session-states-scopes.test.ts` (+6 more)
- **#92307: fix(desktop): keep closed secondary gateways inactive**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `b52b05c1d`, `#92373`, `#92265`, `#95082`, `#94724`
- **#92333: fix(desktop): publish a secondary gateway route only once its WebSocket is open**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `b52b05c1d`, `#92373`, `#92265`, `#95082`, `#94724`
- **#92373: fix(desktop): require an open socket before publishing a secondary gateway route**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `b52b05c1d`, `#95082`, `#92265`, `#94724`

## Fix status

- Merged to main in PR #95082 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-08-26`.
