Repository navigation
v0.8.5 — duty-cycled discovery, fail-proof manual refresh
Discovery rebuilt: bounded sessions instead of free-running loops
- Duty cycle: announce/probe traffic now runs in bounded sessions owned by a coordinator. A role start seeks at full rate; an attached session drops to the connected rate; a session that expires without hearing anyone grounds the engine (idle) — no background churn, and the UI's new
DiscoveryStatusshows the state and failed-session count verbatim. - Manual refresh is fail-proof: it rebuilds a dead listener on the spot, clears the peer map, runs several announce+probe rounds, and reports a real error to the UI when it cannot run (previously it could silently no-op when the listener socket was down — exactly when users press Refresh).
- ProbeHost: a direct "are you a kvmshare machine?" call to any address — no broadcast, no multicast, no cached state. The manual path of last resort that works whenever IP reachability works.
- Probe sweeps now cover non-/24 subnets via directed broadcast instead of dropping them.
- Health warnings fire only while a session is actually listening; an idle engine is quiet by design.
- Frontend surfaces refresh errors as plain sentences.
Upgrade: run the installer (or kvmshare-install). After updating both machines, each shows the other's true state instantly; pressing Refresh always re-probes from scratch or tells you why it could not.