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.