Request auto connect for strawberry


#1

Strawberry needs alsa, udisks2 and network-manager to be connected for all features to function properly.

The snap is here: https://snapcraft.io/strawberry

The source is in the official repository here: https://github.com/jonaski/strawberry/blob/master/snap/snapcraft.yaml

network-manager is needed for dbus to avoid the following errors:
_logging_message__21:16:57.763 WARN unknown propsReply “An AppArmor policy prevents this sender from sending this message to this recipient; type=“method_call”, sender=”:1.72" (uid=1000 pid=1795 comm="/snap/strawberry/x1/usr/bin/strawberry " label=“snap.strawberry.strawberry (enforce)”) interface=“org.freedesktop.DBus.Properties” member=“GetAll” error name="(unset)" requested_reply=“0” destination=“org.freedesktop.NetworkManager” (uid=0 pid=609 comm="/usr/sbin/NetworkManager --no-daemon " label=“unconfined”)"

alsa is needed for the device finder to locate devices for direct output to alsa, otherwise no devices are listed.

udisks2 is needed for the devices support, copying songs to udisks2 mounted devices:

21:16:58.199 WARN  Udisks2Lister:175                Error enumerating udisks2 devices: "org.freedesktop.DBus.Error.AccessDenied" "An AppArmor policy prevents this sender from sending this message to this recipient; type=\"method_call\", sender=\":1.72\" (uid=1000 pid=1795 comm=\"/snap/strawberry/x1/usr/bin/strawberry \" label=\"snap.strawberry.strawberry (enforce)\") interface=\"org.freedesktop.DBus.ObjectManager\" member=\"GetManagedObjects\" error name=\"(unset)\" requested_reply=\"0\" destination=\"org.freedesktop.UDisks2\" (uid=0 pid=592 comm=\"/usr/lib/udisks2/udisksd \" label=\"unconfined\")"

Snap of Strawberry Music Player
#2

It seems your snap is trying to detect if it is on the network. Would the new ‘network-manager-observe’ interface work for you? If not, since network-manager grants access to configure all networking on the device, why does a music player need to configure networking?

This isn’t surprising for a music player, but I wonder since strawberry is just a player why pulseaudio wouldn’t be better. Can you comment?

Typically one uses the ‘removeable-media’ interface for this sort of thing rather than udisks2 directly. Indeed, it is surprising that a music player requires the ability to configure and partition disks for the entire system, which is what udisks2 provides (and therefore device ownership of the device). Can you comment on why ‘removeable-media’ is insufficient for your use case?