Files
Cort BuffingtonandClaude Opus 5 0b591da73f Show OpenBridge trunks without a browser refresh
The dashboard's OBP support was complete except for the browser's event
switch, which had no case for openbridge_connected -- so state.openbridges
was only ever populated by initial_state. The core emits the event in
response to sync_request, after broadcast_hblink_status has already pushed
initial_state on socket connect, so a tab open across an hblink restart saw
an empty list, updateOpenbridges hid the section, and only a page reload
brought it back.

Handle openbridge_connected and openbridge_disconnected alongside the
outbound cases. Two details differ from a repeater or outbound connection,
because OBP has no handshake to observe: the event is re-sent on every
sync_request, so this upserts and plays no connect tone, preserving the
original connected_at rather than restarting the uptime counter; and the
core's payload carries no connected_at at all -- the server stamps its own
copy from the event envelope, so the browser does the same or the card
renders no uptime.

openbridge_disconnected is wired but currently dead. A bound socket has
nothing to drop, so nothing emits it, but the server already handles it and
the card should follow if that changes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-12 17:23:29 -05:00
..