This topic was already discussed in various places (forum posts, bug reports), so this is an attempt to collate and synthesize information in order to facilitate discussion to unblock the situation.
Native messaging is a mechanism implemented in several major browsers (Chromium, Firefox, Brave, Edge, others?) that allows web extensions to communicate with a native application installed on the system.
This mechanism is used by different types of applications to provide better integration between the user’s computer and their browser / web services, for instance password management applications, searching and managing GNOME shell extensions, KDE Plasma integration, digital ID and related services in Belgium, …
This currently doesn’t work in browsers packaged as strictly confined snaps (Chromium, Firefox), because confinement prevents the browser from executing random executables on the user’s host (for obvious security reasons).
Starting with Ubuntu 20.04, the official Chromium package is available only as a strictly confined snap, and Firefox is following suit in the upcoming Ubuntu 22.04, so we need to figure out a way to make native messaging work in those, lest we introduce functional regressions for a significant number of use cases and users. Let’s discuss our options here.
- Chrome Gnome Shell does not work with Chromium snap
- Confined browser snaps can't use system libraries (PKCS11) and native host messaging. What do we do?
- Bug #1741074 in the chromium snap
- Bug 1661935 in the firefox snap