Desktop Team Updates - Monday 7th September 2020

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.

We also have our weekly meeting on IRC. We meet on Tuesday at 13:30 UTC in #ubuntu-desktop on Freenode. There will be an “Any Other Business” section at the end where you are welcome to raise topics. These topics might be discussed during the meeting, or afterwards depending on the time, depth of conversation, topic and so on.

Last week’s notes are here: Desktop Team Updates - Monday 31st August 2020


:desktop_computer: Gnome Shell and friends:

:speaker: Audio:

:chart_with_downwards_trend: Bug tracking:

  • Active Directory:
    • Finished adding support for AD to Ubiquity.
    • MP submitted and waiting for review.
    • FFe accepted
    • Updates following design review.
  • Encryption:
    • Added creation of recovery key to Ubiquity.
    • Some meetings:
      • Encryption in Core 20

Quite similar to jibel :slight_smile:

  • Active Directory:
    • Finished adding support for AD to Ubiquity.
    • MP submitted and waiting for review.
    • FFe accepted
    • Updates following design review.
  • Encryption:
    • Added creation of recovery key to Ubiquity.
    • Some meetings:
      • Encryption in Core 20

firefox24 firefox

chromium22 chromium

  • updated stable to 85.0.4183.83 and handed over to the security team for sponsoring
  • updated beta to 86.0.4240.22
  • updated dev to 87.0.4252.0
  • confirmed and fixed a recent regression in the snap when starting chromium in headless mode
  • Did +1-maint for two days; worked on some package removals, transitions ongoing in groovy-proposed (mainly libffi) and some old migrations - filed a few upstream MRs for random projects to fix their issues.
  • Worked a bit with @3v1n0 on some gnome updates, especially making sure that people can’t end up with half of 3.37 and half of 3.36, which doesn’t work too well.
  • Helped out a bit on a dnsmasq regression which is blocking NetworkManager.
  • autopkgtest review: a branch from @rbalint to automatically retry tests on some more failure conditions, like “Temporary failure resolving” which we see on armhf (lxd) often
  • quick review of @didrocks and @jibel’s ubiquity branch, & request for design feedback.
  • worked only 3 days
  • continued on GNOME 3.37 and desktop updates
  • submitted an improvement (listing broken binaries) to the byteam proposed migration report
  • Sponsored ibus changes from Gunnar
  • Launchpad bug triaging
  • Worked on Flutter accessibility support.
  • Reviewed dbus.dart MRs.

snapd theme installation support:

  • snapd PR #9043 (refactor REST API authentication) is still waiting on a security review.
  • Put togther snapd PR #9292 as a follow up refactor as a step towards distinguishing forbidden errors that will always fail and those that might succeed if run as root.
  • Proposed snapd PR #9268, implementing the theme installation API: a GET request to check whether theme snaps are available, and a POST request to install missing snaps. Still needs a spread test.
  • Still to do is to make the theme API available to a snap without having to plug snapd-control. This would look something like:
    1. Define a new interface to act as a marker.
    2. Create a new access checker that allows requests on snapd-snap.socket (i.e. what snapctl talks to), provided the calling process belongs to a snap that has plugged the above interface. This would either be determined by cgroup membership, or having the client pass the value of $SNAP_COOKIE.
    3. Have the theme API use the new access checker.
  • We also need updated snap declarations from the store to verify that snapd’s greedy plug feature behaves the way we expect it to.

Ubuntu Core GDM experiment.

  • I’ve been experimenting with integrating gnome-initial-setup into the image as a replacement for creating a user account via snapd assertion auto import. It’s not quite working yet, which I am debugging.
  • My first thought was that it was failing due to /etc/passwd being read only. I’ve tried replacing useradd with a wrapper that injects the --extrausers argument (to create the user in /var/lib/extrausers/passwd), but it’s not obvious it is getting that far.
  • We also attempted to add the network-manager snap to the image, but rolled back after it resulted in an image that would not seed correctly due to it containing multiple base snaps. From the sound of it, this should be fixed in the next release, so I’ll give it another shot soon.

GNOME 3.38

  • Added some new Breaks+Replaces to gnome-shell, released to experimental
  • Looked at Yaru changes for new shell
  • Shell extensions
    • Rebased and reviewed various community contributions
    • Ported DesktopIcons to new shell (still fighting with a dialog resizing)
    • Started porting DashToDock to 3.38
  • Gjs fixes
    • Fixed BoxedInstance crash in s390x (and uploaded to experimental)
    • Fixed a crash triggered by gnome-shell looking glass [MR, merged]
    • Removed GSLice usage [MR, approved]
    • Found and fixed virtual function argument leaks [MR, merged]
    • Cleaned ups Gjs callback trampolines code [MR]
    • Remove lots of C-isms and use C++ native code [MR]
    • Fixed limits for MAX safe integers and added tests [MR]
    • Fixed crashes when inspecting some caller-allocates function args [MR]
    • Add support for caller-allocates GValue arguments [MR]
    • Add more tests for GIArgument wrapper functions [MR]
    • Some tests for BigInt support to fully handle (u)int64 numbers
  • Rebased and fixed GObject Introspection cleanups for windows [MR]
  • cups-filters: Adding Ghostscript filter function to do the work of the pstopdf, gstoraster, and gstopxl filters.
  • cups-filters: Continued some optimizations on the new driverless utility with IPP Fax Out support, got additional pull request to pick up the output of the sub-processes without them blocking each other.
  • cups-filters: Removed some wrongly introduced signal handling from the get_printer_attributes() functions in libcupsfilters which causes shutdown of cups-browsed to hang (Issue #299, Ubuntu bug #1894452)
  • CUPS: Debian merged my patches of cups 2.3.3-2ubuntu5 and I back-merged with Debian’s changes into cups 2.3.3-3ubuntu1 and made CUPS explicitly allowing root to do administrative tasks. It was implicitly allowed before, but this got lost by my patch for supporting the “cups-control” Snap interface (see also this pull request for working around this in snapd).
  • CUPS: Suggested to Michael Sweet and to the printing maintainers of the major Linux distributions to create a temporary CUPS fork on OpenPrinting due to the fact that Apple did not maintain/develop CUPS for more than 8 months now, leaving ~80 open issues and ~20 open pull requests. Here bug fixes and patches should be managed so that all distributions can make use of them. Michael immediately created this fork on OpenPrinting.
  • ipp-usb, sane-airscan: Still waiting for the security team to verify the MIRs for ipp-usb and sane-airscan.
  • Google Summer of Code 2020: The students have posted their final reports now and the mentors have given the final evaluations. Of the 14 students for the Linux Foundation 13 passed, under them 6 have worked for OpenPrinting and 5 of them have passed.
  • Linux Foundation Mentorship Program: The two students on IPP Scan have started and are working with Michael Sweet and Alexander Pevzner as mentors.
  • OpenPrinting: Monthly phone meeting. The September news post is postponed to this week to include the results of GSoC 2020.
  • Bugs.


  • tested snap build in groovy vm and promoted it to stable
  • built 7.0.1 release but decided to wait for the yaru icons to be included (ongoing build)
  • trying to debug 7.0 builds with gcc 10 by building locally but my poor pi ran out of memory. setup canonistack groovy arm64 vm for these builds.
  • Worked towards integrating the Yaru icons. I opened an upstream bug and posted changes for review to include the Yaru icons

Everything Else

  • worked on snapcraft PR 3270 about adding PYTHONPATH to the runtime env. Thanks @kenvandine for testing!
  • network-manager snap: can run spread tests now, testing various changes on my pi
  • looked at network-manager deb that was stuck in proposed and @laney helped out so so much. Thank you!!