fix(web): probe a resumed broker socket with hosts, not list #9

Merged
natsukium merged 1 commit from fix/probe-without-fanout into main 2026-10-14 14:01:45 +09:00
Owner

The resume probe sent a list, and list dials every daemon on the gateway's roster. If one host was asleep, the reply missed the 4 s probe timeout and the probe condemned a healthy socket, so every resume opened a new one. hosts is answered from the gateway's own config, so the probe now measures only the socket.

Checked in a browser with an unreachable host on the roster: after this change, a visibilitychange probe opens no new websocket. Before it, each probe opened one.

The resume probe sent a `list`, and `list` dials every daemon on the gateway's roster. If one host was asleep, the reply missed the 4 s probe timeout and the probe condemned a healthy socket, so every resume opened a new one. `hosts` is answered from the gateway's own config, so the probe now measures only the socket. Checked in a browser with an unreachable host on the roster: after this change, a `visibilitychange` probe opens no new websocket. Before it, each probe opened one.
fix(web): probe a resumed broker socket with hosts, not list
All checks were successful
ci / fmt / clippy / test / deny / types / bundle (pull_request) Successful in 1m38s
3b5323e736
A `list` dials every daemon on the gateway's roster, so a single host
that is asleep holds its reply past the probe's timeout, and the probe
then condemned a socket that was healthy, opening a fresh one on every
resume. `hosts` is answered from the gateway's own config, so its round
trip measures only the socket.

Assisted-by: Claude Code
natsukium deleted branch fix/probe-without-fanout 2026-10-14 14:01:45 +09:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
natsukium/felis-web-component!9
No description provided.