Keep browser tabs across daemon upgrades, and run as a user service #5
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/spawn-local-daemon"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
felis 0.2.0's
felis daemon upgradekeeps every session but closes every client connection, and the gateway turned that into{"ev":"closed"}for every open tab. It also needed a daemon already running on the local socket.redial_session(live-only attach by id) and continues under the samesid.closedis sent only when the session is gone or exited, or the host stays unreachable. A detach during the rejoin aborts it; input in the gap is dropped, as the browser drops it without asid.Reconnector::dial_launch, so a cold local socket startsfelis-daemon(systemd user-manager hand-off on Linux, fork elsewhere).--socketdefaults to felis's own socket, so the gateway shares the daemon felis windows use.--helpprints usage.homeManagerModules.default(systemd user unit / launchd agent withAbandonProcessGroup) andnixosModules.default(user unit for oneuser, with lingering). Always a user service: from a system unit, a forked daemon would live in the gateway's cgroup.Verification
cargo fmt --check,cargo clippy --all-targets -D warnings,cargo test(30, three new for rejoin),cargo deny check.felis daemon upgradeunder an attached broker stream left the samesidstreaming with noclosed, and input typed afterwards reached the shell;exitin that shell then producedclosed. A cold socket was started by the gateway and the daemon outlived the gateway.AbandonProcessGroup.