Auto-connection requests for vokoscreen-ng

vokoscreenNG is a screencasting application. I have published an unlisted snap in the edge channel. It checks for available disk space before allowing a recording to start. This requires connection of vokoscreen-ng:mount-observe. It also allows the recorder to popup a camera view on screen to show the presenter when recording via snap connect vokoscreen-ng:camera.

Please can these two interfaces be auto connected? The application is unusable without mount-observe and less useful without camera.

+1 for mount-observe

Wrt camera, it’s unclear from the request (sorry if I am being dense) if it is using the camera to record or if you are using the camera interface because it happens to give you access to something. Can you describe the functionality more fully and the denials you are seeing? Thanks!

The application has a button which, when clicked, will bring up a window (like cheese) which shows the captured video directly from the camera. Without the interface this fails to work, because the apparmor failures block access to the camera. It’s not a lot different than cheese asking for camera access. The feature is so that the person recording their screen can have a window on screen showing their face while they record the desktop. It’s a core feature of the application.

Here it is in action…

Thanks, that is now a lot clearer. While possible these days to use snapctl is-connected camera and tell the user to connect the interface in this case it is core functionality and driven by the user.

+1 for camera (and mount-observe, which I already voted on)

@reviewers - can others please vote?

+1 for camera as well as mount-observe. Both seem to be core functions.

We don’t have a design for that pattern. Are you expecting an application (like this) to prompt or notify users every time they launch that they should connect the camera interface for full functionality? Or are you suggesting we attempt to patch upstream projects to do this check? Then what? We tell people running a graphical application to open a terminal and run commands? They may not have a graphical tool to flip the switches?

I’m keen not to implement this until we have a robust solution which isn’t user-hostile.

It looks like mpt has done some design work around this. But it’s not implemented yet.

https://wiki.ubuntu.com/SecurityPermissions#Permission_prompts

Please note in the case of this request, I am not asking you to do anything. I gave my +1 to auto-connect camera.

My larger point is that there have been improvements to snapd and snaps themselves have better mechanisms to detect if an interface is connected, and can do whatever they want with that information and there will be times when it might be appropriate for a snap to do this instead of auto-connect. As mentioned in Inkscape autoconnect cups-control, a next step would be for snapd to provide APIs for the application to request a connection prompt instead of having to prompt and instruct itself, and the snapd team have acknowledged this is desirable.

1 Like