← Back to team overview

debcrafters-packages team mailing list archive

[Bug 2128350] Re: Some desktop snaps are no longer visible in the apps menu

 

** Description changed:

  [ Impact ]
  
  Malcontent is a parental control mechanism implemented in GNOME Shell.
  It supports hiding applications from the application menu.
  
  Some desktop snaps like telegram-desktop are no longer visible in GNOME Shell when libmalcontent is installed, even without any filters applied. Which snaps are hidden depends on the numbers of command-line arguments they specify in the Exec line. If it's more than 2, then the snap will be hidden.
  For example, telegram-desktop uses:
  
  Exec=/snap/bin/telegram-desktop -- %U
  
  Ubuntu ships a patch in malcontent to allow filtering non-flatpak applications too.
  This patch assumed that a desktop snap Exec= line would always follow the format `Exec=env BAMF_DESKTOP_FILE_HINT=foo.desktop /snap/bin/foo arg1 arg2`, so it would interpret the third argument as the absolute binary path.
  
  That was changed in snapd version 2.72 to remove the
  BAMF_DESKTOP_FILE_HINT environment variable, so the Exec line now
  follows the format `Exec=/snap/bin/foo arg1 arg2`. The third argument is
  no longer the binary's absolute path, and things break.
  
  Malcontent needs to be adapted to not assume that the snap binary is
  always the third argument.
  
  [ Test Plan ]
  
- 0. Install snapd 2.72 or newer, available from the candidate channel:
-    `sudo snap refresh snapd --candidate`
- 1. Install the `telegram-desktop` snap
- 2. Open the GNOME Shell application launcher
- 3. Search for Telegram
- 4. Verify that the Telegram app is listed.
+ 1. Install the `gir1.2-malcontent-0` deb package
+    -> this is pre-installed on some OEM installs.
+ 2. Install snapd 2.72 or newer, available from the candidate channel:
+    `sudo snap refresh snapd --candidate`
+ 3. Install the `telegram-desktop` snap
+ 4. Open the GNOME Shell application launcher
+ 5. Search for Telegram
+ 6. Verify that the Telegram app is listed.
  
  [ Where problems could occur ]
  
  Problems would manifest with applications being incorrectly filtered out
  or not filtered out.
  
  The patch should make sure that it is future-proof by not assuming the
  position of the binary path in the command-line a-priori.

** Description changed:

  [ Impact ]
  
  Malcontent is a parental control mechanism implemented in GNOME Shell.
  It supports hiding applications from the application menu.
  
  Some desktop snaps like telegram-desktop are no longer visible in GNOME Shell when libmalcontent is installed, even without any filters applied. Which snaps are hidden depends on the numbers of command-line arguments they specify in the Exec line. If it's more than 2, then the snap will be hidden.
  For example, telegram-desktop uses:
  
  Exec=/snap/bin/telegram-desktop -- %U
  
  Ubuntu ships a patch in malcontent to allow filtering non-flatpak applications too.
  This patch assumed that a desktop snap Exec= line would always follow the format `Exec=env BAMF_DESKTOP_FILE_HINT=foo.desktop /snap/bin/foo arg1 arg2`, so it would interpret the third argument as the absolute binary path.
  
  That was changed in snapd version 2.72 to remove the
  BAMF_DESKTOP_FILE_HINT environment variable, so the Exec line now
  follows the format `Exec=/snap/bin/foo arg1 arg2`. The third argument is
  no longer the binary's absolute path, and things break.
  
  Malcontent needs to be adapted to not assume that the snap binary is
  always the third argument.
  
  [ Test Plan ]
  
  1. Install the `gir1.2-malcontent-0` deb package
-    -> this is pre-installed on some OEM installs.
- 2. Install snapd 2.72 or newer, available from the candidate channel:
+    -> this is pre-installed on some OEM installs.
+ 2. Log-out, log-in again.
+ 3. Install snapd 2.72 or newer, available from the candidate channel:
     `sudo snap refresh snapd --candidate`
- 3. Install the `telegram-desktop` snap
- 4. Open the GNOME Shell application launcher
- 5. Search for Telegram
- 6. Verify that the Telegram app is listed.
+ 4. Install the `telegram-desktop` snap
+ 5. Open the GNOME Shell application launcher
+ 6. Search for Telegram
+ 7. Verify that the Telegram app is listed.
  
  [ Where problems could occur ]
  
  Problems would manifest with applications being incorrectly filtered out
  or not filtered out.
  
  The patch should make sure that it is future-proof by not assuming the
  position of the binary path in the command-line a-priori.

** Description changed:

  [ Impact ]
  
  Malcontent is a parental control mechanism implemented in GNOME Shell.
  It supports hiding applications from the application menu.
  
  Some desktop snaps like telegram-desktop are no longer visible in GNOME Shell when libmalcontent is installed, even without any filters applied. Which snaps are hidden depends on the numbers of command-line arguments they specify in the Exec line. If it's more than 2, then the snap will be hidden.
  For example, telegram-desktop uses:
  
  Exec=/snap/bin/telegram-desktop -- %U
  
  Ubuntu ships a patch in malcontent to allow filtering non-flatpak applications too.
  This patch assumed that a desktop snap Exec= line would always follow the format `Exec=env BAMF_DESKTOP_FILE_HINT=foo.desktop /snap/bin/foo arg1 arg2`, so it would interpret the third argument as the absolute binary path.
  
  That was changed in snapd version 2.72 to remove the
  BAMF_DESKTOP_FILE_HINT environment variable, so the Exec line now
  follows the format `Exec=/snap/bin/foo arg1 arg2`. The third argument is
  no longer the binary's absolute path, and things break.
  
  Malcontent needs to be adapted to not assume that the snap binary is
  always the third argument.
  
  [ Test Plan ]
  
- 1. Install the `gir1.2-malcontent-0` deb package
+ 1. Install the `malcontent` deb package
     -> this is pre-installed on some OEM installs.
  2. Log-out, log-in again.
  3. Install snapd 2.72 or newer, available from the candidate channel:
     `sudo snap refresh snapd --candidate`
  4. Install the `telegram-desktop` snap
  5. Open the GNOME Shell application launcher
  6. Search for Telegram
  7. Verify that the Telegram app is listed.
  
  [ Where problems could occur ]
  
  Problems would manifest with applications being incorrectly filtered out
  or not filtered out.
  
  The patch should make sure that it is future-proof by not assuming the
  position of the binary path in the command-line a-priori.

-- 
You received this bug notification because you are a member of
Debcrafters packages, which is subscribed to malcontent in Ubuntu.
https://bugs.launchpad.net/bugs/2128350

Title:
  Some desktop snaps are no longer visible in the apps menu

Status in malcontent package in Ubuntu:
  Fix Released
Status in malcontent source package in Jammy:
  In Progress
Status in malcontent source package in Noble:
  In Progress
Status in malcontent source package in Plucky:
  In Progress
Status in malcontent source package in Questing:
  Fix Committed

Bug description:
  [ Impact ]

  Malcontent is a parental control mechanism implemented in GNOME Shell.
  It supports hiding applications from the application menu.

  Some desktop snaps like telegram-desktop are no longer visible in GNOME Shell when libmalcontent is installed, even without any filters applied. Which snaps are hidden depends on the numbers of command-line arguments they specify in the Exec line. If it's more than 2, then the snap will be hidden.
  For example, telegram-desktop uses:

  Exec=/snap/bin/telegram-desktop -- %U

  Ubuntu ships a patch in malcontent to allow filtering non-flatpak applications too.
  This patch assumed that a desktop snap Exec= line would always follow the format `Exec=env BAMF_DESKTOP_FILE_HINT=foo.desktop /snap/bin/foo arg1 arg2`, so it would interpret the third argument as the absolute binary path.

  That was changed in snapd version 2.72 to remove the
  BAMF_DESKTOP_FILE_HINT environment variable, so the Exec line now
  follows the format `Exec=/snap/bin/foo arg1 arg2`. The third argument
  is no longer the binary's absolute path, and things break.

  Malcontent needs to be adapted to not assume that the snap binary is
  always the third argument.

  [ Test Plan ]

  1. Install the `malcontent` deb package
     -> this is pre-installed on some OEM installs.
  2. Log-out, log-in again.
  3. Install snapd 2.72 or newer, available from the candidate channel:
     `sudo snap refresh snapd --candidate`
  4. Install the `telegram-desktop` snap
  5. Open the GNOME Shell application launcher
  6. Search for Telegram
  7. Verify that the Telegram app is listed.

  [ Where problems could occur ]

  Problems would manifest with applications being incorrectly filtered
  out or not filtered out.

  The patch should make sure that it is future-proof by not assuming the
  position of the binary path in the command-line a-priori.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/malcontent/+bug/2128350/+subscriptions



References