Desktop Team Updates - Monday 7th June 2021

Hi everyone, below you will find the updates from the Desktop team from the last week. If you’re interested in discussing a topic please start a thread in the Desktop area of Discourse .

Last week’s notes are here: Desktop Team Updates - Monday 31st May 2021

  • Recovery Key

    • New features in 21.10:
      • Recovery key is optional,
      • 48 digit number by default,
      • Editable.
    • Fixed recovery key in manual partitioning
    • Merge proposal submitted
  • Active Directory Support in Focal

  • Ubuntu UWP
    • Windows Terminal Integration
      • Extend the Integration from Community Preview to All
      • Complete request from LP #1926377
    • Upgrade Project to Visual Studio 2019 with v142 tools
    • Complete internal build documentation
    • Improve the public build documentation
    • Release Public Template for ubuntu-cooker resources ubuntu-cooker-ingredients
  • ubuntu-wsl-oobe
    • Continue working on the preseed
  • ubuntu-wsl-integration

Short week (3 days off)

  • Updated our webhooks on to announce to #ubuntu-desktop on instead of the old channel on Freenode.
    • And used a script to do this. Now it’s applied to all packages, except just the ones I did manually as it was before.
  • Worked with IRC admins to get my old access to various Ubuntu channels transferred over.
  • Worked on a few pull requests after Robert pinged me about an appstream generator bug.
  • IS pinged me about our autopkgtest cloud VM images being large in size… I did some digging into why, and I think it’s because discard isn’t supported in the cloud. It doesn’t make sense for them to be large really, since we only remove stuff - I think it’s that the blocks aren’t reclaimed after deletions.
  • Fixed the package-team-mapping list (which Canonical team is responsible for which package in main) to always use the latest list of valid owning teams from lp:ubuntu-archive-tools.
  • Started working on the tracker 3 update

firefox24 firefox

  • discussed and agreed with @ricotz to change the build dependencies of the firefox-next PPA to use only the security updates, to replicate how firefox updates are built in the archive (prompted by a recent FTBFS that went undetected until the first RC build)
  • merged relevant changes from stable branches into beta branches (bionic and focal)
  • handed over firefox 89.0 update to the security team, now available in all supported Ubuntu releases
  • started work on building the firefox snap from source in Launchpad

thunderbird24 thunderbird

chromium22 chromium

  • updated beta to 92.0.4515.40
  • updated dev to 93.0.4530.5

flutter24 Ubuntu Desktop Installer

  • GNOME updates: file-roller, dconf, gcr, gnome-keyring, gnome-autoar
  • proposed badtest hint for libvirt-glib/i386 to unblock the new version
  • removed some ubuntu specific patches from nautilus, thanks to Marco who updated unity to use the upstream provided API available now
  • updated poppler and worked on rebuild things for the new soname transition
  • reported a gcr tests failure upstream
  • debugged a gnome-autoar regression introduced in a security update impacting single files archives, fixed in the impish update now
  • Snaps
    • updated thunderbird stable to 78.11.0
    • improved the USN rebuilds helper script to be able to directly prompt for actions
    • spent some time debugging thunderbird sound notifications not working, fixed in the gnome-3-34 candidate now
  • New Desktop Installer
    • fixed missing depends in the stage packages and pythonpath missing

Had Monday off for the WA Day public holiday. Enjoyed listening to The Waifs, plus watching the fireworks.


  • More work laying the ground work for making the themes API available without snapd-control:
  • With the desktop-launch feature merged, there were some unit test failures showing up on 14.04. I helped diagnose the problem, but it was at the end of my work day mvo beat me to fixing it with snapd PR #10337.

snapd dbus activation:

  • I updated snapcraft PR #3425 (add support for the activates-on syntax to Snapcraft) to pass CI with current snapcraft master.
  • While following up on the above, the question came up about whether review-tools supported the new syntax. It turned out there was an implementation of the snap.yaml syntax we decided not to use, so I’ve been working on PR to update that. Still working through the associated test changes, but should have the proposal ready tomorrow.

Fcitx 5 snap compatibility:

  • @gunnarhj ran into some compatibility problems between the new version of the Fcitx input method framework and snapped applications, with the discussion recorded in bug #1928360. The new version claims to provide compatibility with Fcitx 4’s IPC system, but we couldn’t get it to activate in the module in Chromium.
  • It turns out the problem is that they renamed the GTK IM module to That module doesn’t exist in any of our platform snaps, and they won’t use the available due to the name mismatch. Explicitly running Chromium with GTK_IM_MODULE=fcitx allowed it to talk to fcitx5.
  • The end result is that we need to include the new module in our platform snaps. Doing so for gnome-3-38-2004 is not too difficult, since there is a packaged version of the IM in Ubuntu 20.04. Doing so for older releases might mean building it locally. It doesn’t look like we can just symlink the modules, since it looks up the extracted module name in immodules.cache.

Since June 1st (Been off a few days over the last two weeks):

  • Flutter:
    • Updated snap to core20 again with help from Seb’s nopatchelf fix.
    • Began testing ^ against some recent performance and crash bugs.
  • Ubuntu Core GDM experiment:
    • Prepped apparmor rules for accessing portals via desktop slot.
    • Began testing and tweaking ^.
  • Ubuntu Desktop Installer:
    • Fixed socket directory creation in subiquity.
    • Made subiquity server a daemon rather than managed by the installer.
    • Added optional DRY_RUN environment variable.
    • Various bug and PR reviews.

GNOME and friends

  • Back on semi-upstream development as per the 40 updates
  • Rebased and further improvements to the PromiseUtils for gnome-shell [MR], currently used by the indicators extensions code
  • New release of the appindicator extension, containing new features from community contributions :fireworks: and lots of new fixes:
    • Fixed a memory hog due to GCancellables keeping references on destroyed GSources
    • Legacy tray icons are now supported for wine and java applications
    • Added preferences dialog to tune the icons opacity, saturation, contrast, size…


  • Few more debian updates
    • gnome-contacts
    • gnome-control-center in the works (found out it’s broken by new schemas even if upstream didn’t mention that)
  • CUPS Snap: Waiting for the completion of the cups printing interface by the snapd developers, esp. @ijohnson.
  • cups-filters: For the retro-fitting of classic printer drivers into Printer Applications adding a filterExternalCUPS() filter function which calls a classic, external CUPS filter executable. This way classic CUPS printer drivers can be easily called out of a Printer Application. Also modified the zero-page print job handling by fommatic-rip to allow streaming of PostScript input data, especially needed for a Foomatic/Ghostscript Printer Application to stream data through legacy Ghostscript drivers. In addition, fixed exit code of driverless utility.
  • PostScript Printer Application: In preparation of general driver retro-fitting Printer Applications worked on support for CUPS filters used by PostScript printer PPD files, as the hpps filter of HPLIP and the use of foomatic-rip in PPDs from Ricoh and OEM, both primarily used for PIN-protected printing.
  • Google Summer of Code 2021: Coding period has officially started, mentoring the students.
  • Linux Plumbers Conference 2021: Finished and submitted the OpenPrinting microconference application.
  • Bugs.