Compare commits

...

2 commits

Author SHA1 Message Date
05907e16e8 yoda: disambiguate settings daemon binding crate 2026-06-13 08:36:44 +02:00
Steven Ceuppens
eed01dd360 fix(bluez): forward display_passkey, display_pin_code, and request_authorization agent messages
These three Agent1 D-Bus methods were stubs that returned Ok(()) without
forwarding events through the message channel. This prevented consumers
from receiving passkey/PIN display requests during Bluetooth keyboard
pairing.

Now all three methods send their respective Message variants through the
channel, matching the existing pattern used by request_confirmation,
request_passkey, and request_pin_code.
2026-06-02 10:38:10 +02:00
2 changed files with 30 additions and 2 deletions

View file

@ -122,6 +122,15 @@ impl Agent {
) -> zbus::fdo::Result<()> { ) -> zbus::fdo::Result<()> {
tracing::debug!(?device, passkey, entered, "display_passkey"); tracing::debug!(?device, passkey, entered, "display_passkey");
_ = self
.message_sender
.send(Message::DisplayPasskey {
device,
passkey,
entered,
})
.await;
Ok(()) Ok(())
} }
@ -150,6 +159,14 @@ impl Agent {
) -> zbus::fdo::Result<()> { ) -> zbus::fdo::Result<()> {
tracing::debug!(?device, pin_code, "display_pin_code"); tracing::debug!(?device, pin_code, "display_pin_code");
_ = self
.message_sender
.send(Message::DisplayPinCode {
device,
pincode: pin_code,
})
.await;
Ok(()) Ok(())
} }
@ -173,7 +190,18 @@ impl Agent {
async fn request_authorization(&mut self, device: OwnedObjectPath) -> zbus::fdo::Result<()> { async fn request_authorization(&mut self, device: OwnedObjectPath) -> zbus::fdo::Result<()> {
tracing::debug!(?device, "request_authorization"); tracing::debug!(?device, "request_authorization");
Ok(()) let (response, response_rx) = oneshot::channel::<bool>();
_ = self
.message_sender
.send(Message::RequestAuthorization { device, response })
.await;
match response_rx.await {
Ok(true) => Ok(()),
Ok(false) => Err(zbus::fdo::Error::Failed("cancelled".to_string())),
Err(why) => Err(zbus::fdo::Error::Failed(why.to_string())),
}
} }
/// This method gets called when the service daemon /// This method gets called when the service daemon

View file

@ -1,6 +1,6 @@
[package] [package]
name = "cosmic-settings-daemon" name = "cosmic-settings-daemon"
version = "0.1.0" version = "0.1.1-yoda.1"
edition = "2024" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html