Repository navigation
Fixed
- The daemon's socket, lock and log lived under
dirs::cache_dir()
(~/Library/Caches/dreyon macOS) when neitherDREY_RUNTIME_DIRnor
XDG_RUNTIME_DIRwas set. That directory is fair game for the OS and for
cache-cleaning tools to prune at any time, including while the daemon is
still running: oncedaemon.sockis gone, the daemon keeps listening on a
path nothing can reach, and the next client, finding no socket there,
starts a second daemon rather than reusing the first. Repeated over days
this produced a pile of idle, unreachabledrey daemonprocesses that
never exited on their own. The fallback now prefers the system temp
directory ($TMPDIRon macOS) over the cache directory, and the daemon
also checks every 60 seconds that its socket path still points at its own
listener, exiting if it doesn't, so an orphaned daemon cleans itself up
instead of accumulating indefinitely.
Full Changelog: v0.1.8...v0.1.9