Review tools forcing .desktop file for kiosk apps

I am currently working on several mir-kiosk based kiosk apps. Since they are for Kiosk based installs they all run as daemons. Some of these apps use an x11 plug in a loopback way to a self provided x11 slot to run on top of XWayland in the mir-kiosk setup …

Seemingly it is impossible to upload these apps to the store without shipping a .desktop file since the review tools try to force the existence of a .desktop file as soon as the x11 plug is used in any way.

@jdstrand could we losen this policy a bit so that an app declaring a daemon in the apps section of snapcraft.yaml is not required to ship a pointless .desktop file ?

here is an example:

In fact, looking closer and running the review-tools locally (instead of just relying on the text in the rejection mail i got) there does not seem to be any issue with the missing desktop file here … the actual review-tools error is:

$ review-tools.snap-review xdmcp-client_0.1_amd64.snap 
Errors
------
 - declaration-snap-v2:slots_deny-connection:xephyr:x11
	human review required due to 'deny-connection' constraint for 'on-classic' from base declaration

which likely refers to the slots: [x11] in the apps section in snapcraft.yaml:

apps:
  xephyr:
    command: xwayland-kiosk-launch $SNAP/launcher
    environment:
      WAYLAND_SOCKET_DIR: $SNAP_DATA/wayland
      XWAYLAND_FULLSCREEN_WINDOW_HINT: title="xephyr"
    daemon: simple
    plugs:
      - x11-plug
      - wayland
      - opengl
      - network
      - network-bind
    slots: [ x11 ]

plugs:
...
  x11-plug:
    interface: x11

as you can see there is an x11-plug that actually does a loop connection into the self provided x11 slot so that the app can use XWayland under mir-kiosk (there is no x11 slot at all in UbuntuCore)

I can take a look at this. Do note there are, today, mechanisms to allow the snap to go through automatically and as a one off. I’ll take a look at why you are seeing something different from the store too.

Well what is different is the answer i get from the manual review (please add a .desktop file), the store error is always the same (complaining about the xephyr:x11 slot)

so we seem to actually have two issues here.

That said, it is possible for a snap to simply ‘plugs: [ x11 ]’ and it would work with any X server that happens to be running, whether it is on classic or an Ubuntu Core system. Because the snap can be installed on either and the review-tools don’t have a way to know the intent of where the snap will be installed, the tools can’t guess in generic ways when to show the warning. In your case, and the case of mir-kiosk snaps, there are elements in the snapcraft.yaml that show it will only work with mir-kiosk, so I can queue off that.

1 Like

I didn’t say that the mechanisms don’t require human review or updating the tools-- I was responding to your statement “Seemingly it is impossible to upload these apps to the store without shipping a .desktop”. My point is it isn’t impossible today to get your snap published; you can add a desktop file or you can request a manual review and/or an override can be added to the tools.

the store did not actually block on the missing .desktop file (unless we now block on warnings), but i only realized that later … so i guess in that area we’re fine, only the x11 issue is left.

one problem is though that the manual review answer always only referred to the missing .desktop file without actually referring to the real problem …

The emails were sent by a human (me), not the tools. I figured that the desktop file needed to be resolved before looking at the other issues.

the .desktop file and (an icon) is in all revisions after 14 now and that specific waring is gone.

FYI, the x11 issue is because of how the base declaration is written and the review-tools were correct to flag for that. Since the standard mode for a mir client snap that uses Xwayland is to slots an xserver (which connects to wayland) and then have the client plugs x11 so it can communicate to that x serrver, it is awkward that the snap is flagged for review. I’m going to give this some thought.

(You probably noticed though that your snaps are now approved. They aren’t auto-approved since you are using layouts, so you’ll need to request manual reviews until that is no longer behind the feature flag).

1 Like

thanks a lot, i guess i’ll better turn off the auto-builds then so you dont get spammed with requests :wink:

FYI, the review-tools are updated in trunk for the .desktop file check, but this isn’t yet in production. For the awkwardness of needing a snap declaration to plug one’s own x11 slot, I’ve sketched out a path forward and added to the midterm roadmap.

1 Like