ashpd: input_capture portal Signals are not working

The receive_activate() / receive_deactivate() Streams on the input_capture portal never yield any Result.

I did some digging and could narrow it down a bit:

receive_activated calls signal("Activated") which yields a Stream that filter-maps on the result of msg.body::<Activated>().ok()

So I tried to replicated the body() call manually and it always throws the following error:

called `Result::unwrap()` on an `Err` value: Variant(Message("invalid type: character `o`, expected `v`, `a` or `(`"))

Which then of course results in the signal getting filtered by the filter_map call.

This error in body is originated from zvariant::from_slice_fds_for_dynamic_signature -> deserializer_for_signature -> … -> deserialize_seq where it ultimately fails in zbus/zvariant/src/dbus/de.rs:347 because it does not expect an o.

About this issue

  • Original URL
  • State: closed
  • Created 5 months ago
  • Comments: 15 (15 by maintainers)

Commits related to this issue

Most upvoted comments

found the culprit!