Public bug reported:

[ 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://phabricator.services.mozilla.com/D140803

   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://discourse.ubuntu.com/t/firefox-122-snap-temporary-native-messaging-breakage-for-ubuntu-22-04-users-fixed-since/41940

 * 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.

 * The impact of updating xdg-desktop-portal in jammy from 1.14.4 to
   1.14.6 should be minimal and positive, given that they are purely
   bug fix micro releases:
   https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.14.5
   https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.14.6

 * 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.gnome.org browser integration before
   and after updating our installed xdg-desktop-portal package:

   - in a fully up-to-date Ubuntu VM, install the chrome-gnome-shell
     deb package
   - if it exists, delete ~/.local/share/flatpak/db/webextensions
     and reboot to ensure a pristine state
   - run the firefox snap and browse to
     https://addons.mozilla.org/firefox/addon/gnome-shell-integration/
     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://extensions.gnome.org/local/
   - 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://keepassxc.org

 * 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://launchpad.net/~bandali/+snap/firefox-snap-nm-cur-old-patch
   (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 and verify that native
     messaging continues to work as intended in the firefox snap.

 * 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 updating xdg-desktop-portal
   from 1.14.4 to 1.14.6, since both 1.14.5 and 1.14.6 are bug fix
   microreleases as mentioned above, therefore there should be little
   to no risk for the other existing portals shipped by the package.

 * 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.

** Affects: xdg-desktop-portal (Ubuntu)
     Importance: High
     Assignee: Amin Bandali (bandali)
         Status: New

** Affects: xdg-desktop-portal (Ubuntu Jammy)
     Importance: High
     Assignee: Amin Bandali (bandali)
         Status: New

** Affects: xdg-desktop-portal (Ubuntu Noble)
     Importance: High
     Assignee: Amin Bandali (bandali)
         Status: New

** Affects: xdg-desktop-portal (Ubuntu Oracular)
     Importance: High
     Assignee: Amin Bandali (bandali)
         Status: New

** Also affects: xdg-desktop-portal (Ubuntu Noble)
   Importance: Undecided
       Status: New

** Also affects: xdg-desktop-portal (Ubuntu Oracular)
   Importance: High
     Assignee: Amin Bandali (bandali)
       Status: New

** Also affects: xdg-desktop-portal (Ubuntu Jammy)
   Importance: Undecided
       Status: New

** 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: (unassigned) => Amin Bandali (bandali)

** Changed in: xdg-desktop-portal (Ubuntu Jammy)
     Assignee: (unassigned) => Amin Bandali (bandali)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2077587

Title:
  Refresh WebExtensions portal patch

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xdg-desktop-portal/+bug/2077587/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to