mirror of
https://github.com/CloudNebulaProject/wayray.git
synced 2026-04-10 05:00:40 +00:00
Session infrastructure for the launcher/greeter architecture (Phase 3): - Launcher protocol: JSON-over-Unix-socket messages (LauncherRequest/ LauncherResponse) for session_requested, session_authenticated, session_logout, plus admin queries (list_sessions, kill_session) - Session config: ~/.config/wayray/session.toml with wm, panel, launcher, notifications, and autostart fields. Serde TOML parsing with sensible defaults (wr-wm-floating). 5 unit tests. - wrsessd: Session launcher daemon listening on Unix socket. Manages per-token sessions, launches greeter on session_requested, starts desktop components from session.toml on session_authenticated, cleans up child processes on logout. Admin query support. - wrlogin: Reference CLI greeter. Reads credentials from stdin, sends session_authenticated to wrsessd, exits on success. Token passed via WAYRAY_SESSION_TOKEN env var. - wradm: Session management commands (list, kill) communicating with wrsessd via launcher protocol. Tabular output format.
32 lines
915 B
TOML
32 lines
915 B
TOML
[workspace]
|
|
resolver = "3"
|
|
members = [
|
|
"crates/wayray-protocol",
|
|
"crates/wayray-wm-protocol",
|
|
"crates/wrsrvd",
|
|
"crates/wrclient",
|
|
"crates/wradm",
|
|
"crates/wr-wm-tiling",
|
|
"crates/wrsessd",
|
|
"crates/wrlogin",
|
|
]
|
|
|
|
[workspace.package]
|
|
edition = "2024"
|
|
version = "0.1.0"
|
|
license = "MPL-2.0"
|
|
|
|
[workspace.dependencies]
|
|
wayray-protocol = { path = "crates/wayray-protocol" }
|
|
wayray-wm-protocol = { path = "crates/wayray-wm-protocol" }
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
miette = { version = "7", features = ["fancy"] }
|
|
thiserror = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
postcard = { version = "1", features = ["alloc"] }
|
|
zstd = "0.13"
|
|
quinn = "0.11"
|
|
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
|
|
rcgen = "0.13"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "sync"] }
|