Automatic connection request for vivaldi : chromium-ffmpeg-115541

The opera snap has the following declaration for the content interface (note I have extracted just the bit which is relevant for the chromium-ffmpeg snap which has snap id XXzVIXswXKHqlUATPqGCj2w2l7BxosS8)

{
  "allow-auto-connection": [
    {
      "plug-attributes": {
        "content": "$SLOT(content)"
      },
      "slot-snap-id": [
        "XXzVIXswXKHqlUATPqGCj2w2l7BxosS8"
      ]
    }
}

Which essentially says to snapd, auto-connect any content interface slot on the snap with id XXzVIXswXKHqlUATPqGCj2w2l7BxosS8 which has the same content attribute as the plug - in this case, the relevant plug in the opera snap as per the most recent upload to the store is:

  chromium-ffmpeg-115541:
    interface: content
    target: $SNAP
    default-provider: chromium-ffmpeg

My recollection is since this plug declaration in the opera snap doesn’t explicitly define the content attribute it is inherited from the name of the interface. So in effect, this should auto-connect the content interface named chromium-ffmpeg-115541 on the chromium-ffmpeg snap.

Now for vivaldi we instead see it has the following declaration:

{
  "allow-auto-connection": [
    {
      "plug-attributes": {
        "content": "$SLOT(content)"
      },
      "slot-attributes": {
        "content": "chromium-ffmpeg-115016"
      },
      "slot-snap-id": [
        "XXzVIXswXKHqlUATPqGCj2w2l7BxosS8"
      ]
    }
}

Note the additional slot-attributes part of this declaration which restricts this to just the slot with the content attribute of chromium-ffmpeg-115016 - so it will only auto-connect to this slot on the chromium-ffmpeg snap.

Then if we look at the current snap yaml of the most recent upload of the vivaldi snap it has the following relevant plug:

  chromium-ffmpeg-115541:
    interface: content
    target: $SNAP
    default-provider: chromium-ffmpeg

We see that we have a mismatch between the declaration (which is scoped only to the slot chromium-ffmpeg-115016) and the snap yaml plug (chromium-ffmpeg-115541). We can fix this by removing the slot-attribute constraint on the snap declaration for vivaldi to make it the same as the one for opera. I have just done this which should hopefully resolve this issue. Please let me know though if you want us to do something different here. Hopefully this should then also be more future proof if the chromium-ffmpeg snap adds any further content slots and these browser snaps get updated to use those, since they should still auto-connect.

1 Like