count and a startup hang - src/daemon/persist.go: rooms.json records every active room so a restarted daemon (crash, reboot, or "share stop" then relaunch) resumes them automatically. A --one-time room clears itself once it finishes on its own; anything else stays persisted since it only ever stops via an explicit Stop. - "share restart": stops the running daemon, waits for it to actually release its socket, then relaunches it the same detached way EnsureRunning does. - Fixed a real startup hang: resuming persisted rooms used to block before the daemon's Accept loop ever started, so a slow/unreachable relay in one persisted room could leave the daemon looking "alive" to IsRunning() while unable to answer any request — including its own successor's attempt to detect and clean up a stuck instance. Resuming now runs in the background instead. Added deadlines on both ends so a stuck daemon fails fast with an actionable message rather than hanging. - Fixed peer counts being inflated by duplicate connections: two peers can end up with more than one link to each other (both sides happened to dial at once). Links now carry the remote peer's ID (known immediately when we dialed them, learned from their first manifest otherwise), and Status dedupes by that ID.
4 lines
28 B
Plaintext
4 lines
28 B
Plaintext
/reference/
|
|
/test/
|
|
/share-*
|