hayduk 0.1.1
Bug-fix release. Every fix ships with a test that failed on 0.1.0 first; go test -race, the UI suite (134 tests), and the integration suite against a live msfrpcd are all green.
Fixed:
- crash when a command raced a disconnect: gomsf was handed a nil client; commands now answer not_connected
- stale sessions and jobs stayed on screen (and actionable) after a disconnect
- concurrent db refreshes could commit out of order: a stalled sweep reverted newer hosts and re-broadcast them; refreshes now serialize
- monitor errors from unrelated blips piled up into a forced reconnect; a healthy db refresh resets the streak
- failed Hail Mary launches skipped the pacing delay
- connection leak: with eight requests stuck in the engine, a dead link only stopped the keepalive goroutine; it now closes the connection and cancels the stuck commands
- static files had no cache headers and no gzip
- the ws client discarded hello messages, so team mode and the version display never started
- the payload list request omitted the module type, so the list always failed to load
- the launch button was enabled before payload settings loaded, so those launches failed
- the selected host survived a workspace switch and could aim later actions at a host from the old workspace
- collapsed module tree branches still rendered all rows (thousands with a full index)
- Escape closed almost no dialogs
Also:
- embedded UI cut from 8.8 MiB to 400 KB: latin-only fonts, subset Phosphor icons (
scripts/subset-icons.shregenerates), and a guard test that fails if a referenced icon goes missing - topology host cards restyled, left accent line removed; screenshot retaken against the current lab
- version bumped to 0.1.1
Assisted by: GLM 5.3