our current package does not make automatic connection to gnome-42-2204 and due to that it’s not possible to run it because destop-launch is missing:
Content snap command-chain for /snap/vivaldi/3/gnome-platform/command-chain/desktop-launch not found: ensure slot is connected
This is fixed by connecting to gnome-42-2204 by hand, but that should not be necessary (that should auto-connect, we’re using gnome extension in that snap package)
I don’t think this is fixable on my side, from what I read here and here maybe it’s something that has to be fixed on the snapcraft/canonical side?
The interface connection to gnome-42-2204 is implied as being implicit on the gnome extension page, what can I do on our side to make that connection automatic?
For reference, this is our snapcraft.yaml
name: vivaldi
version: 6.7.3329.39
summary: Vivaldi Browser - Feature-packed web browser
description: |
The web browser for techies and people who need a browser that helps them get things done.
The user interface is fully customizable, including keyboard shortcuts, mouse gestures, and programmable macros.
NOTE: This package is maintained by but not yet officially endorsed or supported by Vivaldi Technologies.
confinement: strict
license: Proprietary
type: app
website: https://vivaldi.com
grade: stable
base: core22
icon: vivaldi_icon.png
compression: xz
adopt-info: vivaldi
architectures:
- build-on: amd64
build-for: amd64
- build-on: amd64
build-for: arm64
- build-on: amd64
build-for: armhf
apps:
vivaldi:
extensions: [gnome]
command: bin/vivaldi.launcher
common-id: com.vivaldi.Vivaldi
desktop: usr/share/applications/vivaldi.desktop
plugs:
- audio-playback
- audio-record
- bluez
- browser-sandbox
- camera
- cups
- desktop
- desktop-legacy
- hardware-observe
- home
- joystick
- mount-observe
- mpris
- network
- network-bind
- network-manager
- opengl
- password-manager-service
- raw-usb
- removable-media
- screen-inhibit-control
- shmem
- system-packages-doc
- u2f-devices
- upower-observe
- wayland
- x11
plugs:
browser-sandbox:
interface: browser-support
allow-sandbox: true
shmem:
interface: shared-memory
private: true
chromium-ffmpeg-115016:
interface: content
target: $SNAP
default-provider: chromium-ffmpeg
parts:
vivaldi:
plugin: dump
after:
- launcher
source: https://downloads.vivaldi.com/stable/vivaldi-stable-$SNAPCRAFT_PROJECT_VERSION-$CRAFT_ARCH_BUILD_FOR-binsrc.tar.gz
source-type: tar
stage-packages:
- libsecret-1-0
- libatk1.0-0
- libatspi2.0-0
- libcairo2
- libcups2
- libcurl3-gnutls
- libdbus-1-3
- libdrm2
- libexpat1
- libgbm1
- libglib2.0-0
- libgtk-3-0
- libnspr4
- libnss3
- libpango-1.0-0
- libu2f-udev
- libvulkan1
- libx11-6
- libxcb1
- libxcomposite1
- libxdamage1
- libxext6
- libxfixes3
- libxkbcommon0
- libxrandr2
- wget
- xdg-utils
- libasound2
- libgl1
override-build: |
snapcraftctl build
chmod 755 $CRAFT_PART_INSTALL/opt/vivaldi/vivaldi-sandbox
parse-info: [usr/share/appdata/vivaldi.appdata.xml]
launcher:
plugin: dump
source: launcher
organize:
'*': bin/
So I think in this case, the Store team need to do as was done for Opera and grant an override to make the Gnome snaps autoconnect properly, since they’re effectively at conflict with the ffmpeg overrides.
Whilst unrelated to your issue, I’d really encourage you to swap compression: xz to compression: lzo, whilst it uses a fair bit more disk usage, the launch speeds of your browser will be significantly impacted on lower resource machines with xz. Almost all new desktop orientated snaps will be using LZO leaving XZ primarily for IOT where disk space is at a premium.
Otherwise, once you have the gnome extension autoconnecting, I’d personally also recommend re-assessing your stage packages list, e.g, - libgtk-3-0 wouldn’t be needed because the Snap already has it via the extension. This would let you trim down the filesize but more importantly avoids duplicating potentially incompatible libraries (not so much a problem with GTK3 these days, but in GTK4 for example, the repo versions will likely be older than the extension versions, and this is implicitly asking to mix both).
Thank you @James-Carroll, that is a great feedback and I will work those in shortly
I hope to hear from snap team regarding the autoconnection - I agree with you it seems very similar to Opera’s situation, so I was hoping to get help from the team
Thank you for the fix. Indeed, the connection to gnome-42-2204 is indeed now automatic.
As a side note - I am not getting automatic connection for chromium-ffmpeg-115541 for the new release I am working on (it is working for the old one though) - we got automatic connection granted for the previous one (chromium-ffmpeg-115016)… Do I understand right… we are to request the automatic connection again every time the interface number changes?
(I’ve created a new store request for this auto connection)