upstream-relation: I am the developer and maintainer of this project upstream.
interfaces:
shutdown:
request-type: auto-connection
reasoning: The shutdown interface is needed for the “Shutdown on Completion” option the user can use to shut down their computer once all downloads are complete.
dbus:
request-type: auto-connection
reasoning: For Varia to be able to claim the “io.github.giantpinkrobots.varia” session interface.
Apologies for the delay in actioning this request - the dbus name looks straightforward and it appears this has already been granted. shutdown is a super-privileged interface since it allows a snap to DoS the system - as such, I wonder if this would be more appropriate to be manually connected? As such, +1 from me for manual connection of shutdown, -1 for auto-connection. This leaves +1 vote for auto and +1 votes for manual connection of shutdown. As such, for now I have granted manual connection of this interface. I suggest if possible checking at runtime if this interface is connected (snapctl is-connected shutdown) and if not alerting the user to connect the interface if they wish to use this feature.
However, if you feel this is a widely used feature and still wish for auto-connection then we should follow the Process for performing Snap Publisher Vetting for this to be auto-connected.
I fully agree with @alexmurray. Manual connection seems more appropriate in this case as Shutdown on Completion is not a core functionality that will render the snap unusable
It is not core functionality but I would’ve preferred to not require a user to open Terminal in order to use it still. Having to open a command line for the average end user is pretty offputting. All the other versions (both on Linux and Windows) support it out of the box. But I suppose that’s what’ll need to happen then.
You can always check whether the interface is connected via snapctl is-connected - snapctl is-connected shutdown - and if not, suggests to the user that they need to connect these for it to work. This instructions should make things easier for users with less experience