Repository: bilelmoussaoui/oo7 (language: rust)

Issue:
Unable to change secret of dbus item
Using `oo7::dbus::Item::set_secret()`

```
Could not change secret: service error org.freedesktop.zbus.Error: Type of message, “(oayays)”, does not match expected type “((oayays))”
```

oo7 v0.3.2


Discussion / hints:
This might be a zbus regression. I would suggest writing a new test case, run it against main and then against some old oo7 release like 0.1/0.2 and see if it still happens. The signature is correct, at worst we can work around it by adding an extra tuple when serializing the secret for SetSecret calls
Might be related to https://github.com/bilelmoussaoui/ashpd/commit/5cf31e35aed98236f47e86b0bf520a44d6c6242a

Fix patch:
diff --git a/client/src/dbus/api/item.rs b/client/src/dbus/api/item.rs
index 85ad65a7b..b4660df42 100644
--- a/client/src/dbus/api/item.rs
+++ b/client/src/dbus/api/item.rs
@@ -135,7 +135,7 @@ impl<'a> Item<'a> {
     #[doc(alias = "SetSecret")]
     pub async fn set_secret(&self, secret: &Secret<'_>) -> Result<(), Error> {
         self.inner()
-            .call_method("SetSecret", &(secret))
+            .call_method("SetSecret", &(secret,))
             .await
             .map_err::<ServiceError, _>(From::from)?;
         Ok(())


Test patch: