hermes-agent/apps/shared/src
izumi0uu cab8673ea6 fix(dashboard): reload loopback tabs after stale session-token closes
Loopback dashboard tabs now share one one-shot stale-token recovery path across REST 401s, the PTY socket, the structured event socket, and the shared JSON-RPC gateway wrapper. The shared client exposes only an optional close-event interception hook; the dashboard remains responsible for deciding that loopback 4401 means reload.

Constraint: Current main delegates the web gateway to apps/shared JsonRpcGatewayClient, and #54022 review requires a shared-client-compatible close-code hook plus direct ChatSidebar event-socket coverage.
Rejected: Restore the dashboard's old direct WebSocket implementation | stale against the shared JSON-RPC client and would duplicate transport behavior.
Confidence: high
Scope-risk: moderate
Directive: Keep stale-token policy dashboard-specific; the shared JSON-RPC client should expose close events without learning dashboard auth semantics.
Tested: npm --workspace web test (21 files, 106 tests); focused stale-token tests (5 files, 14 tests); npm --workspace web run typecheck; npm --workspace @hermes/shared run lint; npm --workspace @hermes/shared run typecheck; focused web eslint; git diff --check.
Not-tested: Manual browser smoke test across a real dashboard restart.
2026-08-04 15:26:37 +05:30
..
billing-payment-method.test-d.ts feat(billing): carry the payment-method union through to clients (#71542) 2026-07-27 01:49:43 +05:30
billing-policy.ts
billing-types.ts feat(billing): carry the payment-method union through to clients (#71542) 2026-07-27 01:49:43 +05:30
charge-settlement.ts
index.ts refactor: drop the shared subpath export, keeping package.json untouched 2026-07-28 03:54:49 -05:00
json-rpc-gateway.ts fix(dashboard): reload loopback tabs after stale session-token closes 2026-08-04 15:26:37 +05:30
skill-scaffold.test.ts feat(shared): read a skill invocation out of its expanded scaffolding 2026-07-28 03:44:23 -05:00
skill-scaffold.ts refactor: drop the shared subpath export, keeping package.json untouched 2026-07-28 03:54:49 -05:00
skin.ts
websocket-url.ts