Refresh WebExtensions portal patch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xdg-desktop-portal (Ubuntu) |
Fix Released
|
High
|
Amin Bandali | ||
Jammy |
Fix Released
|
High
|
Amin Bandali | ||
Noble |
Fix Released
|
High
|
Amin Bandali | ||
Oracular |
Fix Released
|
High
|
Amin Bandali |
Bug Description
[ Impact ]
* Without this change, firefox users on jammy who rely on the
WebExtensions portal for firefox add-ons that need a native
executable to function correctly will experience breakage when the
latest version of the firefox native messaging patch is landed
upstream in the near future.
https:/
An instance of such breakage already happened earlier this year
when we refreshed the firefox native messaging patch we carry in
the firefox snap to the latest revision under review in Mozilla
Phabricator and inadvertently broke native messaging for users of
firefox snap on jammy.
https:/
* The newer changes to the WebExtensions portal are being backported
because jammy and noble are the current primary targets for the
effort of enabling native messaging in the firefox snap, and once
the firefox implementation lands in the firefox snap, we want this
to continue working seamlessly and as expected.
Moreover, with both the firefox-side and portal-side patches being
nearly ready for merge in the corresponding upstreams, it makes
sense to ship an up-to-date version of the portal patch in jammy
and noble to provide a uniform platform for the firefox-side patch
across these two LTS releases, helping ease the maintenance burden
and lessen the difference between them from this aspect should the
need to debug and fix potential issues in firefox or in the portal
arise later in the future.
* Updating the WebExtensions portal in xdg-desktop-portal before
updating the firefox-side implementation in the firefox snap is
fine and covered as part of the test plan.
[ Test Plan ]
* To test and verify the native messaging portal works as expected,
we can test the extensions.
and after updating our installed xdg-desktop-portal package.
Before upgrading xdg-desktop-portal:
- in a fully up-to-date Ubuntu VM, install the chrome-gnome-shell
deb package
- if it exists, delete ~/.local/
and reboot to ensure a pristine state
- run the firefox snap and browse to
https:/
and click the "Add to Firefox" blue button
- accept the firefox prompt to install the extension
- you will soon be prompted by GNOME Shell (with a modal dialog)
to allow firefox to use the WebExtensions portal to start the
native connector, click "Allow"
- browse to https:/
- see that firefox is able to talk to the native connector and
display a list of the currently installed GNOME Shell extensions
Note: the WebExtensions portal can also be tested using other
firefox browser extensions that use native messaging, such as
https:/
* Upgrade xdg-desktop-portal to the new version from -proposed.
* To test and verify that the firefox snap's native messaging portal
support continues to work as intended after the portal is updated
in xdg-desktop-portal, download and install the test snap from
https:/
(even though the main firefox snap distributed via the snap store
currently ships an older revision of the firefox-side patch for
compatibility for jammy users, a build of the firefox snap from
the above link can be downloaded and installed to ensure that the
current older firefox-side implementation is used):
- in a fully up-to-date Ubuntu VM, download the newest test firefox
snap from the above link and install it by running a command like
'sudo snap install --dangerous filename.snap' in the terminal
- follow the steps of the above test case but *without* deleting
~/
messaging continues to work as intended in the firefox snap.
* To test and verify that the firefox snap's snap's native messaging
portal support works as intended when starting fresh after the
portal is updated in xdg-desktop-portal, repeat the above test case
but this time do delete ~/.local/
and verify that native messaging continues to work as intended in
the firefox snap and that you get prompted by GNOME Shell to allow
firefox to use the WebExtensions portal.
* We continue running the upstream xdg-desktop-portal test suite to
help ensure there is no breakage in other portals.
* Additionally, this refresh of the patch brings in new tests for the
WebExtensions portal from our upstream PR under review into jammy,
helping provide assurance that the WebExtensions portal we ship in
jammy behaves identically to those shipped in newer releases, and
establishes a baseline for potential future updates if we need to
do further SRUs for xdg-desktop-portal.
[ Where problems could occur ]
* For jammy, there should be little risk refreshing the distro patch
in xdg-desktop-portal as this is a 'new' portal and there were no
changes to the existing portals shipped in xdg-desktop-portal.
* Given that this port of the newer changes from our upstream PR back
to jammy includes several new commits, it is possible that one of
them may inadvertently introduce a bug. However, we believe this
risk is low, given that the PR changes were made with backward
compatibility in mind to minimize the likelihood of breakage for
existing users. Additionally, the 'risk' of certain breakage once
the firefox-side patch is merged upstream far outweighs the risk
of refreshing the portal-side patch to bring it up-to-date with
the latest revision under review for merging into upstream.
[ Other Info ]
* SRUing the latest revision under review of our WebExtensions portal
into jammy (and noble) will allow to us finally safely land the
firefox-side implementation in upstream Firefox, helping avoid
bitrot of the patch we carry against the firefox snap and easing
the maintenance burden of the firefox snap and the native messaging
portal support itself as part of the upstream codebase.
Changed in xdg-desktop-portal (Ubuntu Noble): | |
importance: | Undecided → High |
Changed in xdg-desktop-portal (Ubuntu Jammy): | |
importance: | Undecided → High |
Changed in xdg-desktop-portal (Ubuntu Noble): | |
assignee: | nobody → Amin Bandali (bandali) |
Changed in xdg-desktop-portal (Ubuntu Jammy): | |
assignee: | nobody → Amin Bandali (bandali) |
Changed in xdg-desktop-portal (Ubuntu Oracular): | |
status: | New → Fix Committed |
Changed in xdg-desktop-portal (Ubuntu Noble): | |
status: | New → Fix Committed |
Changed in xdg-desktop-portal (Ubuntu Noble): | |
status: | Fix Committed → Incomplete |
Changed in xdg-desktop-portal (Ubuntu Jammy): | |
status: | New → Fix Committed |
Changed in xdg-desktop-portal (Ubuntu Noble): | |
status: | Incomplete → Fix Committed |
description: | updated |
This bug was fixed in the package xdg-desktop-portal - 1.18.4-1ubuntu4
---------------
xdg-desktop-portal (1.18.4-1ubuntu4) oracular; urgency=medium
* Refresh webextensions portal patch to latest version proposed
upstream (LP: #2077587)
-- Amin Bandali <email address hidden> Wed, 21 Aug 2024 20:13:17 -0400