Files
openclaw/apps/linux/src-tauri/Cargo.toml
Peter Steinberger e94796e447 fix(linux): restore the macOS build of the Tauri companion (#114243)
* fix(linux): restore the macOS build of the Tauri companion

Tauri gates `WebviewWindowBuilder::transparent` behind its `macos-private-api`
feature on macOS, so the companion stopped compiling for macOS when Quick Chat
landed in #109947: `no method named 'transparent' found for struct
'WebviewWindowBuilder'`. Enable that feature together with the matching
`app.macOSPrivateApi` config flag, which Tauri requires to agree with it or
tauri-build fails the allowlist check.

Quick Chat is built for a transparent window - quickchat.css makes html and
body transparent behind a 16px-radius translucent card with a drop shadow - so
compiling macOS by dropping `.transparent(true)` would ship an opaque rectangle
instead of the floating composer.

Also add a per-PR macOS `cargo check`. The only job that compiled the macOS
target sits behind a manual dispatch input in linux-app-release.yml, which is
why a broken macOS build survived for nine days.

* ci(linux): build the macOS companion on macos-15

tauri-plugin-notifications' Swift sources use typed throws
(`throws(FFIResult)`), which requires Swift 6. The macos-14 runner image still
ships Swift 5.x and cannot parse them, so the plugin's build script panics with
"Swift build failed for target: arm64-apple-macosx13.0".

This hit the new per-PR check immediately, and it means the release workflow's
`build_macos` job could not have produced a macOS bundle either - it compiles
the same crate on the same image, but only runs behind a manual dispatch input
so nothing surfaced it. Move both to macos-15.
2026-07-26 22:57:36 -04:00

61 lines
2.3 KiB
TOML

[package]
name = "openclaw-desktop-linux"
version = "0.1.0"
description = "OpenClaw desktop companion for Linux"
edition = "2021"
rust-version = "1.93"
[[bin]]
name = "openclaw-desktop"
path = "src/main.rs"
[build-dependencies]
tauri-build = { version = "2.6.3", features = [] }
[dependencies]
base64 = "0.22.1"
ed25519-dalek = "3.0.0"
futures-util = "0.3.32"
getrandom = "0.4.3"
image = { version = "0.25.10", default-features = false, features = ["jpeg", "png"] }
mdns-sd = { version = "0.20", default-features = false }
rustls = { version = "0.23.42", default-features = false, features = ["ring", "std", "tls12"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.150"
sha2 = "0.11.0"
subtle = "2.6.1"
# macos-private-api backs Quick Chat's transparent window. Tauri gates
# `WebviewWindowBuilder::transparent` behind it on macOS, and the feature must
# stay in sync with `app.macOSPrivateApi` in tauri.conf.json or tauri-build
# fails. It is inert on Linux and Windows.
tauri = { version = "2.11.5", features = [
"image-png",
"macos-private-api",
"tray-icon",
"unstable",
] }
tauri-plugin-autostart = "2.5.1"
tauri-plugin-deep-link = "2.4.9"
tauri-plugin-global-shortcut = "2.3.2"
tauri-plugin-opener = "2.5.4"
tauri-plugin-process = "2.3.1"
tauri-plugin-single-instance = { version = "2.4.3", features = ["deep-link"] }
tauri-plugin-updater = "2.10.1"
tauri-plugin-window-state = "2.4.1"
tokio = { version = "1.52.3", features = ["macros", "sync", "time"] }
tokio-tungstenite = { version = "0.30.0", features = ["rustls-tls-native-roots"] }
uuid = { version = "1.23.5", features = ["v4"] }
zeroize = "1.9.0"
[target.'cfg(target_os = "linux")'.dependencies]
cairo-rs = { version = "0.18.5", features = ["png"] }
libc = "0.2.186"
tauri-plugin-notifications = { git = "https://github.com/steipete/tauri-plugin-notifications.git", rev = "d20b4ff0e0e327e49fee80903478f825eac5a71a" }
webkit2gtk = "2.0.2"
[target.'cfg(target_os = "macos")'.dependencies]
tauri-plugin-notifications = { git = "https://github.com/steipete/tauri-plugin-notifications.git", rev = "d20b4ff0e0e327e49fee80903478f825eac5a71a", default-features = false }
[target.'cfg(target_os = "windows")'.dependencies]
tauri-plugin-notifications = { git = "https://github.com/steipete/tauri-plugin-notifications.git", rev = "d20b4ff0e0e327e49fee80903478f825eac5a71a" }