#170 Portal Updates

• Curated by Felix

Update on what happened across the GNOME project in the week from October 11 to October 18.

Sovereign Tech Fund

Georges Stavracas (feaneron) says

The development version of Flatpak has received support for listing enumerable and blocked USB devices. This is the first step towards a fully featured USB portal, which is in the works.

Flatpak itself doesn’t expose nor blocks USB devices, but it provides the metadata for the USB portal to allow or deny an app’s access to particular devices.

With this mechanism, apps can request access to devices without opening holes in the sandbox (in this case, the sandbox hole is quite big; apps that access USB devices need to give access to all devices on the system).

In addition to that, app store reviewers can review ahead of time which USB permissions the apps will be requesting, which may add an extra layer of security and trust to Flatpak-based app stores like Flathub.

This work was only made possible thanks to Sovereign Tech Fund, various community members that helped reviewing and shaping up the feature, and Hub for pushing it to the finish line!

Georges Stavracas (feaneron) reports

The Notifications portal received a major update, and now supports a variety of new features such as notification sounds, markup text in the notification body, and more.

A lot of it is described in this article on the Mutter & GNOME Shell blog. The grand plan is to unify notifications under the Notification portal.

Thanks to Julian Sparber (he/him) for working on this, and for Sovereign Tech Fund for funding this work.

GNOME Core Apps and Libraries

WebKitGTK

GTK port of the WebKit rendering engine.

Georges Stavracas (feaneron) announces

WebKitGTK is now able to report the accessibility contents of web pages even when running under a Flatpak sandbox, closing a major gap in accessibility on the Linux desktop.

Currently this requires unreleased versions of WebKitGTK and Flatpak, but releases are on the way.

This is hard to capture in a screenshot but here’s real proof of GNOME Web running as a Flatpak with the accessible contents available.

A detailed blog post about this work, its challenges, and how this was achieved, is being written.

Tracker

A filesystem indexer, metadata storage system and search tool.

Cogitri announces

There’s finally a new release for tracker-rs, making it compatible with the newest gtk-rs libraries. This way, anyone using the latest gtk-rs can now use Tracker as their database backend :)

Mutter

A Wayland display server and X11 window manager and compositor library.

Gert-dev reports

A few significant performance improvements for users with monitors directly attached to secondary GPUs common in high-end laptops are currently being finalized during review and in testing for mutter:

GLib

The low-level core library that forms the basis for projects such as GTK and GNOME.

Philip Withnall says

Chun-wei Fan (with some collaboration from Christoph Reiter) has added a CI job for building GLib on Windows on ARM64, which should help us catch regressions on that platform. See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4342. If you’re interested in getting GLib (and the GNOME platform) to work better on Windows/ARM64 please get in touch 😀

Web

Web browser for the GNOME desktop.

Clicking on search results at duckduckgo.com in Web (Epiphany) currently gives an error message. This seems to be an issue on DuckDuckGo’s side.

The Web maintainers are trying to resolve the issue with DuckDuckGo. Meanwhile, it is possible to work around this issue by opening DuckDuckGo’s settings and disabling the “Redirect (when necessary)” option in the “Privacy” category.

See !1654 for more details.

GNOME Circle Apps and Libraries

Shortwave

Internet radio player with over 30000 stations.

Felix announces

It happened! A new version of your favourite internet radio player is now available! Shortwave 4.0 brings a modernised user interface, a couple of new features, performance improvements, bug fixes - and much more!

Check out the blog post for more details: https://blogs.gnome.org/haeckerfelix/2024/10/18/shortwave-4-0/

Apostrophe

A distraction free Markdown editor.

Manu (he/they/she) announces

I’ve been working on reimplementing an obscure feature Apostrophe used to have: inline previews of images, LaTeX formulas, footnotes, web links and even word definitions. It was hard to spot as it was only available when you ctrl+clicked on text, but now the preview is also available through the context menu. Performance has also been greatly improved

Third Party Projects

Fractal

Matrix messaging app for GNOME written in Rust.

Kévin Commaille reports

It’s time to experience La vie en rose! We just released Fractal 9.rc and to show our support 🩷 for Breast Cancer Awareness Month, we decided to change the accent color to pink. And it is also packed with bug fixes, take a look for yourself:

  • We used to only rely on the secrets provider to tell us which Matrix accounts are logged-in, which caused issues for people sharing their secrets between devices. Now we also make sure that there is a data folder for a given session before trying to restore it.
  • Our notifications are categorized as coming from an instant messenger, so graphical shells that support it, such as Phosh, can play a sound for them.
  • Some room settings are hidden for direct chats, because it does not make sense to change them in this type of room.
  • The size of the headerbar would change depending on whether the room has a topic or not. This will not happen anymore.

As usual, this release includes other improvements, fixes and new translations thanks to all our contributors, and our upstream projects.

It is available to install via Flathub Beta, see the instructions in our README.

As the version implies, it should be mostly stable and we expect to only include minor improvements until the release of Fractal 9.

If you are wondering what to do on a rainy day, you can try to fix one of our newcomers issues. We are always looking for new contributors!

GNOME Websites

Sophie 🏳️‍🌈 🏳️‍⚧️ (she/her) reports

A list of all components of the GNOME project is now available on the development page. Components encompass everything from the Shell, over the icon theme, to libraries like GTK. The page is listing GNOME Core components as well as GNOME Circle components.

All the information about the components on the page is automatically collected from the projects .doap-files. You can help by updating or adding information to the projects and providing avatars for projects that don’t have one yet. The page’s readme has some more info on this.

Shell Extensions

Martin (he/him) announces

I released the Window Desaturation extension, which desaturates background windows, leaving the focused window “highlighted” by having all it’s color.

Miscellaneous

Georges Stavracas (feaneron) reports

XDG Desktop Portal 1.19.0 has been released! It’s the first development snapshot of what will become the 1.20 release series. The highlights of this release are:

  • Many improvements to how the portals.conf config files are parsed. This includes respecting the order of portal backends specified for each key, having default fallbacks, and handling various edge cases better.
  • Files that are exposed through the Document portal now report their real path as the user.document-portal.host-path xattr property. Alternatively, apps can query the real path of a file using the new GetHostPath() D-Bus method of the Document portal. Apps that display a file path in its user interface are encouraged to use the real path.
  • Implement getlk and setlk, and honour O_NOFOLLOW, in the Document portal’s FUSE filesystem. This should make SQLite backups work on sandboxed apps, and improve the reliability of the Document portal in general.
  • Make the Background portal more robust when validating autostart files.
  • Massively improved documentation and website
  • Many, many leaks were fixed.

You can find the full release notes here.

That’s all for this week!

See you next week, and be sure to stop by #thisweek:gnome.org with updates on your own projects!