fix: stop infinite server auto-reload loop (issue #277)
server_has_newer_binary() previously reported an update whenever the mtime comparison was inconclusive (a metadata read failed) as long as the candidate path differed from the running exe. On some systems (reported on Omarchy) that fallback fired permanently: the client auto-reloaded the server, the server exec'd into the candidate, and the freshly-exec'd server again reported an update, flickering the terminal forever. - Make server_has_newer_binary conservative: only report an update when both mtimes are readable and a candidate is strictly newer. Refactor the decision into a pure, unit-tested helper (newer_binary_available). - Add a client-side circuit breaker: pause server auto-reload after a few consecutive attempts and surface a message instead of looping. - Add regression tests for both layers.
J
jeremy committed
5fa0360d719ec277bb57e0358231708d3849e94a
Parent: a86786b