You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Servers
One server per tree, however many assistants use it. Over stdio, serve now relays to a backend for the tree on a Unix socket in the per-user state directory (directory 0700, socket 0600) and starts it when none runs. The backend holds the graph, the watcher and the sleep, and answers every client. Several assistants on one tree build and watch it once; a connection a client forgets to close costs a few megabytes and no polling.
The backend accepts connections before it reads the tree, so a client connects at once. A lock lets one client start it while the others wait, a socket left by a backend that died is replaced, and a client whose backend went away starts a new one and sends the request again.
The backend ends a minute after its last client leaves (--linger <seconds>). Backends are keyed by version, tree and options, so an upgrade never talks to an older one. --own-process keeps a server per client; Windows always does.
Releases
The Homebrew tap and the Scoop bucket move only once the release is published. A release that failed after its build left them naming archives that did not exist.
Install
Homebrew: brew install attackwave/glasir/glasir
Scoop: add the bucket Attackwave/scoop-glasir, then run scoop install glasir