WEFT_OS/crates/weft-app-shell/Cargo.toml
Marco Allegretti a401510b88 feat(appd): per-app process isolation via weft-app-shell
Add weft-app-shell binary: takes <app_id> <session_id> args, connects to
zweft_shell_manager_v1 as an application window, resolves the app UI URL,
and runs a single Servo WebView in an isolated process. Prints READY to
stdout after the window is initialised so weft-appd can track the session
lifecycle.

weft-appd runtime.rs: after weft-runtime emits READY, spawn weft-app-shell
(WEFT_APP_SHELL_BIN env var) alongside it. The app shell is killed when the
session ends via abort or natural runtime exit.

weft-servo-shell: remove in-process app WebView management. The shell now
manages the system UI WebView only; all app rendering happens in dedicated
weft-app-shell processes.
2026-03-12 10:58:45 +01:00

25 lines
646 B
TOML

[package]
name = "weft-app-shell"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
[[bin]]
name = "weft-app-shell"
path = "src/main.rs"
[features]
# Enable actual Servo rendering. Requires manually adding the deps listed in
# weft-servo-shell/SERVO_PIN.md to this file before building; they are not
# included here to avoid pulling the Servo monorepo (~1 GB) into every
# `cargo check` cycle.
servo-embed = []
[dependencies]
anyhow = "1.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
wayland-client = "0.31"
wayland-backend = "0.3"
wayland-scanner = "0.31"
bitflags = "2"