fix(backend_detect): use raw zbus for portal check to avoid OnceLock connection poisoning
ashpd caches zbus::Connection in a global OnceLock. When check_portal_available() created a Screencast proxy, the connection was cached there. When the function returned and its tokio Runtime dropped, the cached connection became dead. Subsequent setup_portal() calls reused this dead connection and hung forever. Fix: replace ashpd Screencast proxy with direct zbus D-Bus interface check, which does not touch the ashpd global connection cache. Add examples/test_portal.rs for minimal Portal ScreenCast testing.
This commit is contained in:
@@ -20,6 +20,7 @@ drm = "0.12"
|
||||
drm-fourcc = "2"
|
||||
libc = "0.2"
|
||||
ashpd = { version = "0.13", features = ["tokio", "screencast"] }
|
||||
zbus = { version = "5", default-features = false, features = ["tokio"] }
|
||||
tokio = { version = "1", features = ["rt"] }
|
||||
pipewire = "0.9"
|
||||
libspa = "0.9"
|
||||
|
||||
Reference in New Issue
Block a user