zeroclaw/web/src
simianastronaut 2539bcafe0 fix(gateway): pass bearer token in WebSocket subprotocol for dashboard auth
The dashboard WebSocket client was only sending ['zeroclaw.v1'] as the
protocols parameter, omitting the bearer token subprotocol. When
require_pairing = true, the server extracts the token from
Sec-WebSocket-Protocol as a fallback (browsers cannot set custom
headers on WebSocket connections). Without the bearer.<token> entry
in the protocols array, subprotocol-based authentication always failed.

Include `bearer.<token>` in the protocols array when a token is
available, matching the server's extract_ws_token() expectation.

Closes #3011

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 16:37:41 -04:00
..
components/layout feat(web): electric blue dashboard restyle with animations and logo (#3445) 2026-03-13 17:27:41 -04:00
hooks feat(web): preserve message draft in agent chat across view switches (#3443) 2026-03-13 17:40:23 -04:00
lib fix(gateway): pass bearer token in WebSocket subprotocol for dashboard auth 2026-03-15 16:37:41 -04:00
pages feat(web): preserve message draft in agent chat across view switches (#3443) 2026-03-13 17:40:23 -04:00
types feat(gateway): add cron run history API and dashboard panel (#3440) 2026-03-13 17:06:44 -04:00
App.tsx feat(web): preserve message draft in agent chat across view switches (#3443) 2026-03-13 17:40:23 -04:00
index.css feat(web): electric blue dashboard restyle with animations and logo (#3445) 2026-03-13 17:27:41 -04:00
main.tsx fix(gateway): align dashboard API client and embed built web assets 2026-02-21 16:14:01 +08:00
vite-env.d.ts feat(gateway): add embedded web dashboard with React frontend 2026-02-21 16:14:01 +08:00