Swimchain Desktop v0.1.15-alpha (mainnet — node recovery, and the installer ships a node again)
Pre-releaseCarries the same node-recovery fixes as Android v0.1.10-alpha, plus a packaging bug worth stating plainly.
The installer had no node in it
The desktop app spawns resource_dir()/binaries/sw.exe. That file has not been in the bundle since #46, which removed the resource entry to unbreak a build rather than stage the missing file. Every installer since shipped an app looking for a node it did not have.
It is back, the release build stages it, and the preflight now refuses to bundle without it — so this cannot recur silently.
Verified inside this MSI: sw.exe (23.9 MB) and all six launcher apps.
Node fixes
- A stale peer cache can no longer strand a node. Seeds are retried when the peer store yields nothing reachable, and failed dials cost score so dead addresses stop being re-dialled forever.
- A wedged peer can no longer stall the node. Broadcasts release the pool lock before sending, send concurrently, and a peer failing three consecutive sends is dropped — on every send path.
- The accept loop no longer handshakes inline. One silent peer used to stop the node accepting anybody; the mainnet seed's backlog pinned at 4097/4096 while every health check read green.
Verified
Fleet has run this exact code for over an hour: 9–13 peers per node, zero stranded connections, zero accept backlog.
SHA-256
Swimchain_0.1.5_x64-setup.exe — bbdb6382852d1bd3f593ba721274bd3e22fe9df060a5d08c90b0de037194c58a
Swimchain_0.1.5_x64_en-US.msi — 98eb8fc800d1bc549cce52de3813f85ad04b8148e591b55164366dd39ed9dcc7