diff -pruN 6.3.6-1/.gitlab-ci.yml 6.4.5-0ubuntu1/.gitlab-ci.yml
--- 6.3.6-1/.gitlab-ci.yml	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/.gitlab-ci.yml	2025-09-09 08:27:48.000000000 +0000
@@ -5,3 +5,6 @@ include:
   - project: sysadmin/ci-utilities
     file:
       - /gitlab-templates/linux-qt6.yml
+      - /gitlab-templates/xml-lint.yml
+      - /gitlab-templates/yaml-lint.yml
+      - /gitlab-templates/linux-qt6-next.yml
diff -pruN 6.3.6-1/.kde-ci.yml 6.4.5-0ubuntu1/.kde-ci.yml
--- 6.3.6-1/.kde-ci.yml	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/.kde-ci.yml	2025-09-09 08:27:48.000000000 +0000
@@ -2,8 +2,8 @@
 # SPDX-License-Identifier: CC0-1.0
 
 Dependencies:
-- 'on': ['@all']
-  'require':
+ - 'on': ['@all']
+   'require':
     'frameworks/extra-cmake-modules': '@latest-kf6'
     'frameworks/kio': '@latest-kf6'
     'frameworks/ki18n': '@latest-kf6'
@@ -22,4 +22,4 @@ Dependencies:
     'plasma/plasma-activities': '@latest-kf6' # Different branch scheme due to being a former Framework
 
 Options:
-  require-passing-tests-on: [ 'Linux', 'FreeBSD']
+ require-passing-tests-on: ['Linux', 'FreeBSD']
diff -pruN 6.3.6-1/CMakeLists.txt 6.4.5-0ubuntu1/CMakeLists.txt
--- 6.3.6-1/CMakeLists.txt	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/CMakeLists.txt	2025-09-09 08:27:48.000000000 +0000
@@ -1,11 +1,10 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(PROJECT_VERSION "6.3.6")
-set(PROJECT_VERSION_MAJOR 6)
+set(PROJECT_VERSION "6.4.5")
 
 project(plasma-browser-integration VERSION ${PROJECT_VERSION})
 
-set(PROJECT_DEP_VERSION "6.3.6")
+set(PROJECT_DEP_VERSION "6.4.5")
 set(QT_MIN_VERSION "6.6.0")
 set(KF6_MIN_VERSION "6.8.0")
 
@@ -75,6 +74,9 @@ add_feature_info(COPY_MESSAGING_HOST_FIL
 set(MOZILLA_DIR "${CMAKE_INSTALL_PREFIX}/lib/mozilla" CACHE STRING "Mozilla directory")
 add_feature_info(MOZILLA_DIR On "Mozilla directory is '${MOZILLA_DIR}'")
 
+set(LIBREWOLF_DIR "${CMAKE_INSTALL_PREFIX}/lib/librewolf" CACHE STRING "LibreWolf directory")
+add_feature_info(LIBREWOLF_DIR On "LibreWolf directory is '${LIBREWOLF_DIR}'")
+
 add_subdirectory(host)
 add_subdirectory(reminder)
 add_subdirectory(flatpak-integrator)
@@ -102,9 +104,12 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.chrome_integration.json DESTINATION ${KDE_INSTALL_FULL_SYSCONFDIR}/opt/edge/native-messaging-hosts/ RENAME org.kde.plasma.browser_integration.json)
 # firefox
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.firefox_integration.json DESTINATION ${MOZILLA_DIR}/native-messaging-hosts/ RENAME org.kde.plasma.browser_integration.json)
+# LibreWolf
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.firefox_integration.json DESTINATION ${LIBREWOLF_DIR}/native-messaging-hosts/ RENAME org.kde.plasma.browser_integration.json)
 
 if (COPY_MESSAGING_HOST_FILE_HOME)
     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.firefox_integration.json DESTINATION $ENV{HOME}/.mozilla/native-messaging-hosts/ RENAME org.kde.plasma.browser_integration.json)
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.firefox_integration.json DESTINATION $ENV{HOME}/.librewolf/native-messaging-hosts/ RENAME org.kde.plasma.browser_integration.json)
     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.chrome_integration.json DESTINATION $ENV{HOME}/.config/chromium/NativeMessagingHosts/ RENAME org.kde.plasma.browser_integration.json)
     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.chrome_integration.json DESTINATION $ENV{HOME}/.config/google-chrome/NativeMessagingHosts/ RENAME org.kde.plasma.browser_integration.json)
     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.chrome_integration.json DESTINATION $ENV{HOME}/.config/microsoft-edge/NativeMessagingHosts/ RENAME org.kde.plasma.browser_integration.json)
diff -pruN 6.3.6-1/debian/README.Debian 6.4.5-0ubuntu1/debian/README.Debian
--- 6.3.6-1/debian/README.Debian	2025-03-03 08:37:05.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/README.Debian	2025-09-09 16:03:05.000000000 +0000
@@ -1,30 +1,23 @@
-Chromium, Edge, Firefox and Google Chrome integration
-=====================================================
+Chromium, Firefox and Google Chrome integration
+===============================================
 
-This package ships 2 parts:
-- plasma-browser-integration: native binaries and libraries providing entrypoints for browsers extensions to integrate with Plasma
-- webext-plasma-browser-integration: the web extension implementing the integration on the browser side
-
-Chromium & Firefox
-------------------
-
-The default Plasma installation ships webext-plasma-browser-integration so the integration will work out of the box with Chromium and Firefox.
-
-If you want to download the web extension from the browsers repositories for some reason, it can be found in the following places for:
-Chromium:
-  https://chrome.google.com/webstore/detail/plasma-integration/cimiefiiaegbelhefglklhhakcgmhkai
-Firefox:
-  https://addons.mozilla.org/en-US/firefox/addon/plasma-integration/
+Currently, to get plasma browser integration fully working, you need to also
+install the browser extension from the corresponding Web Store.
 
-Edge
-----
+Chromium
+--------
 
 The extension can be found in the webstore here:
-  https://chrome.google.com/webstore/detail/plasma-integration/cimiefiiaegbelhefglklhhakcgmhkai
+ https://chrome.google.com/webstore/detail/plasma-integration/cimiefiiaegbelhefglklhhakcgmhkai
+
+Firefox
+-------
+
+The addon can be found in the firefox here:
+ https://addons.mozilla.org/en-US/firefox/addon/plasma-integration/
 
 Google Chrome
 -------------
 
 The extension can be found in the webstore here:
-  https://microsoftedge.microsoft.com/addons/detail/plasma-integration/dnnckbejblnejeabhcmhklcaljjpdjeh
-
+ https://chrome.google.com/webstore/detail/plasma-integration/cimiefiiaegbelhefglklhhakcgmhkai
diff -pruN 6.3.6-1/debian/changelog 6.4.5-0ubuntu1/debian/changelog
--- 6.3.6-1/debian/changelog	2025-07-18 22:00:09.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/changelog	2025-09-09 16:03:05.000000000 +0000
@@ -1,39 +1,41 @@
-plasma-browser-integration (6.3.6-1) unstable; urgency=medium
+plasma-browser-integration (6.4.5-0ubuntu1) questing; urgency=medium
 
-  [ Aurélien COUDERC ]
-  * New upstream release (6.3.6).
-    - Kdirselectdialog: correct initial focus. (kde#505046)
-  * Relax inter-plasma versioned dependency constraint so we can upload
-    only 6.3.6 packages that have actual code changes.
+  * New upstream release (6.4.5)
 
- -- Aurélien COUDERC <coucouf@debian.org>  Sat, 19 Jul 2025 00:00:09 +0200
+ -- Rik Mills <rikmills@kde.org>  Tue, 09 Sep 2025 17:03:05 +0100
 
-plasma-browser-integration (6.3.4-2) unstable; urgency=medium
+plasma-browser-integration (6.4.4-0ubuntu1) questing; urgency=medium
 
-  [ Aurélien COUDERC ]
-  * Backport upstream commits:
-    - Support for flatpak variants of Firefox and Chromium.
-    - Add support for librewolf. (kde#476967)
+  * New upstream release (6.4.4)
 
- -- Aurélien COUDERC <coucouf@debian.org>  Mon, 19 May 2025 00:58:43 +0200
+ -- Rik Mills <rikmills@kde.org>  Tue, 12 Aug 2025 17:30:06 +0100
 
-plasma-browser-integration (6.3.4-1) unstable; urgency=medium
+plasma-browser-integration (6.3.5-0ubuntu1) questing; urgency=medium
 
-  [ Patrick Franz ]
-  * New upstream release (6.3.4).
-  * Bump Standards-Version to 4.7.2 (No changes needed).
-  * Update build-deps and deps with the info from cmake.
+  * New upstream release (6.3.5)
 
- -- Patrick Franz <deltaone@debian.org>  Thu, 03 Apr 2025 01:03:11 +0200
+ -- Rik Mills <rikmills@kde.org>  Tue, 06 May 2025 21:35:05 +0100
 
-plasma-browser-integration (6.3.2-3) unstable; urgency=medium
+plasma-browser-integration (6.3.4-0ubuntu1) plucky; urgency=medium
 
-  [ Aurélien COUDERC ]
-  * Drop now useless Breaks/Replaces since the webext package doesn’t
-    contain any file from the older plasma-browser-integration package
-    anymore.
+  * New upstream release (6.3.4)
+
+ -- Rik Mills <rikmills@kde.org>  Wed, 02 Apr 2025 08:57:07 +0100
+
+plasma-browser-integration (6.3.3-0ubuntu1) plucky; urgency=medium
+
+  * New upstream release (6.3.3)
+
+ -- Rik Mills <rikmills@kde.org>  Tue, 11 Mar 2025 15:22:10 +0000
+
+plasma-browser-integration (6.3.2-2ubuntu1) plucky; urgency=medium
+
+  * Merge from Debian unstable. Remaining changes:
+    - Kubuntu Vcs and maintainer fields.
+    - Build depend on KF6 >= 6.10.0 and Plasma 6.3.2
+    - Do not ship web extension package.
 
- -- Aurélien COUDERC <coucouf@debian.org>  Mon, 24 Mar 2025 23:04:23 +0100
+ -- Rik Mills <rikmills@kde.org>  Wed, 05 Mar 2025 08:45:16 +0000
 
 plasma-browser-integration (6.3.2-2) unstable; urgency=medium
 
@@ -57,6 +59,18 @@ plasma-browser-integration (6.3.2-1) uns
 
  -- Aurélien COUDERC <coucouf@debian.org>  Fri, 28 Feb 2025 01:01:52 +0100
 
+plasma-browser-integration (6.3.2-0ubuntu1) plucky; urgency=medium
+
+  * New upstream release (6.3.2)
+
+ -- Rik Mills <rikmills@kde.org>  Tue, 25 Feb 2025 18:17:18 +0000
+
+plasma-browser-integration (6.3.1-0ubuntu1) plucky; urgency=medium
+
+  * New upstream release (6.3.1)
+
+ -- Rik Mills <rikmills@kde.org>  Tue, 18 Feb 2025 14:24:23 +0000
+
 plasma-browser-integration (6.3.0-1) unstable; urgency=medium
 
   [ Aurélien COUDERC ]
@@ -66,6 +80,12 @@ plasma-browser-integration (6.3.0-1) uns
 
  -- Aurélien COUDERC <coucouf@debian.org>  Mon, 10 Feb 2025 15:07:54 +0100
 
+plasma-browser-integration (6.3.0-0ubuntu1) plucky; urgency=medium
+
+  * New upstream release (6.3.0)
+
+ -- Rik Mills <rikmills@kde.org>  Tue, 11 Feb 2025 12:56:27 +0000
+
 plasma-browser-integration (6.2.91-1) experimental; urgency=medium
 
   [ Aurélien COUDERC ]
@@ -74,6 +94,12 @@ plasma-browser-integration (6.2.91-1) ex
 
  -- Aurélien COUDERC <coucouf@debian.org>  Thu, 23 Jan 2025 23:54:57 +0100
 
+plasma-browser-integration (6.2.91-0ubuntu1) plucky; urgency=medium
+
+  * New upstream (beta) release (6.2.91)
+
+ -- Rik Mills <rikmills@kde.org>  Thu, 23 Jan 2025 13:43:04 +0000
+
 plasma-browser-integration (6.2.90-1) experimental; urgency=medium
 
   [ Aurélien COUDERC ]
@@ -82,6 +108,12 @@ plasma-browser-integration (6.2.90-1) ex
 
  -- Aurélien COUDERC <coucouf@debian.org>  Sun, 12 Jan 2025 00:49:43 +0100
 
+plasma-browser-integration (6.2.90-0ubuntu1) plucky; urgency=medium
+
+  * New upstream (beta) release (6.2.90)
+
+ -- Rik Mills <rikmills@kde.org>  Sat, 11 Jan 2025 09:01:43 +0000
+
 plasma-browser-integration (6.2.5-1) unstable; urgency=medium
 
   [ Aurélien COUDERC ]
@@ -90,6 +122,12 @@ plasma-browser-integration (6.2.5-1) uns
 
  -- Aurélien COUDERC <coucouf@debian.org>  Sun, 05 Jan 2025 11:24:33 +0100
 
+plasma-browser-integration (6.2.5-0ubuntu1) plucky; urgency=medium
+
+  * New upstream release (6.2.5)
+
+ -- Rik Mills <rikmills@kde.org>  Tue, 31 Dec 2024 19:02:42 +0000
+
 plasma-browser-integration (6.2.4-1) unstable; urgency=medium
 
   [ Aurélien COUDERC ]
@@ -98,6 +136,12 @@ plasma-browser-integration (6.2.4-1) uns
 
  -- Aurélien COUDERC <coucouf@debian.org>  Tue, 03 Dec 2024 16:40:04 +0100
 
+plasma-browser-integration (6.2.4-0ubuntu1) plucky; urgency=medium
+
+  * New upstream release (6.2.4)
+
+ -- Rik Mills <rikmills@kde.org>  Tue, 26 Nov 2024 12:15:07 +0000
+
 plasma-browser-integration (6.2.3-1) unstable; urgency=medium
 
   [ Aurélien COUDERC ]
@@ -107,6 +151,15 @@ plasma-browser-integration (6.2.3-1) uns
 
  -- Aurélien COUDERC <coucouf@debian.org>  Sat, 23 Nov 2024 21:57:38 +0100
 
+plasma-browser-integration (6.2.3-0ubuntu1) plucky; urgency=medium
+
+  * New upstream release (6.2.0)
+  * New upstream release (6.2.1)
+  * New upstream release (6.2.2)
+  * New upstream release (6.2.3)
+
+ -- Rik Mills <rikmills@kde.org>  Thu, 07 Nov 2024 19:58:27 +0000
+
 plasma-browser-integration (6.2.1-1) experimental; urgency=medium
 
   [ Aurélien COUDERC ]
@@ -133,6 +186,12 @@ plasma-browser-integration (6.1.5-1) exp
 
  -- Aurélien COUDERC <coucouf@debian.org>  Wed, 11 Sep 2024 23:59:38 +0200
 
+plasma-browser-integration (6.1.5-0ubuntu1) oracular; urgency=medium
+
+  * New upstream release (6.1.5)
+
+ -- Rik Mills <rikmills@kde.org>  Wed, 11 Sep 2024 06:00:38 +0100
+
 plasma-browser-integration (6.1.4-1) experimental; urgency=medium
 
   [ Aurélien COUDERC ]
@@ -141,6 +200,12 @@ plasma-browser-integration (6.1.4-1) exp
 
  -- Aurélien COUDERC <coucouf@debian.org>  Sun, 11 Aug 2024 23:58:28 +0200
 
+plasma-browser-integration (6.1.4-0ubuntu1) oracular; urgency=medium
+
+  * New upstream release (6.1.4)
+
+ -- Rik Mills <rikmills@kde.org>  Wed, 14 Aug 2024 21:43:03 +0100
+
 plasma-browser-integration (6.1.3-1) experimental; urgency=medium
 
   [ Aurélien COUDERC ]
diff -pruN 6.3.6-1/debian/control 6.4.5-0ubuntu1/debian/control
--- 6.3.6-1/debian/control	2025-07-18 21:51:53.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/control	2025-09-09 16:03:05.000000000 +0000
@@ -1,46 +1,43 @@
 Source: plasma-browser-integration
 Section: kde
 Priority: optional
-Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
+Maintainer: Kubuntu Developers <kubuntu-devel@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
 Uploaders: Aurélien COUDERC <coucouf@debian.org>,
            Patrick Franz <deltaone@debian.org>,
            Scarlett Moore <sgmoore@kde.org>,
-Build-Depends: debhelper-compat (= 13),
-               dh-exec,
+Build-Depends: cmake (>= 3.16~),
+               debhelper-compat (= 13),
                dh-sequence-kf6,
                dh-sequence-pkgkde-symbolshelper,
-               cmake (>= 3.16~),
-               extra-cmake-modules (>= 6.8.0~),
+               extra-cmake-modules (>= 6.14.0~),
                gettext,
-               jq,
-               libkf6config-dev (>= 6.8.0~),
-               libkf6coreaddons-dev (>= 6.8.0~),
-               libkf6crash-dev (>= 6.8.0~),
-               libkf6dbusaddons-dev (>= 6.8.0~),
-               libkf6filemetadata-dev (>= 6.8.0~),
-               libkf6i18n-dev (>= 6.8.0~),
-               libkf6jobwidgets-dev (>= 6.8.0~),
-               libkf6kio-dev (>= 6.8.0~),
-               libkf6notifications-dev (>= 6.8.0~),
-               libkf6purpose-dev (>= 6.8.0~),
-               libkf6runner-dev (>= 6.8.0~),
-               libkf6service-dev (>= 6.8.0~),
-               libkf6statusnotifieritem-dev (>= 6.8.0~),
-               libplasmaactivities-dev (>= 6.3.4~),
-               plasma-workspace-dev (>= 4:6.3.4~),
-               qt6-base-dev (>= 6.6.0+dfsg~),
-Standards-Version: 4.7.2
+               libkf6config-dev (>= 6.14.0~),
+               libkf6coreaddons-dev (>= 6.14.0~),
+               libkf6crash-dev (>= 6.14.0~),
+               libkf6dbusaddons-dev (>= 6.14.0~),
+               libkf6filemetadata-dev (>= 6.14.0~),
+               libkf6i18n-dev (>= 6.14.0~),
+               libkf6jobwidgets-dev (>= 6.14.0~),
+               libkf6kio-dev (>= 6.14.0~),
+               libkf6notifications-dev (>= 6.14.0~),
+               libkf6purpose-dev (>= 6.14.0~),
+               libkf6runner-dev (>= 6.14.0~),
+               libkf6service-dev (>= 6.14.0~),
+               libkf6statusnotifieritem-dev (>= 6.14.0~),
+               libplasmaactivities-dev (>= 6.4.5~),
+               plasma-workspace-dev (>= 4:6.4.5~),
+               qt6-base-dev (>= 6.8.0+dfsg~),
+Standards-Version: 4.7.0
 Homepage: https://invent.kde.org/plasma/plasma-browser-integration
-Vcs-Git: https://salsa.debian.org/qt-kde-team/kde/plasma-browser-integration.git
-Vcs-Browser: https://salsa.debian.org/qt-kde-team/kde/plasma-browser-integration
+Vcs-Git: https://git.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/plasma-browser-integration
+Vcs-Browser: https://code.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/plasma-browser-integration
 Rules-Requires-Root: no
 
 Package: plasma-browser-integration
 Architecture: any
 Depends: ${misc:Depends}, ${shlibs:Depends},
-Breaks: webext-plasma-browser-integration (<< 6.3.2-2~),
-Replaces: webext-plasma-browser-integration (<< 6.3.2-2~),
-Description: Chromium, Google Chrome, Firefox integration for Plasma (backend)
+Description: Chromium, Google Chrome, Firefox integration for Plasma
  Plasma Browser Integration is an extension for common browsers
  to closer fit into the Plasma shell. This includes:
     - Media Controls
@@ -54,31 +51,3 @@ Description: Chromium, Google Chrome, Fi
     - Find browser tabs in the Run Command (Alt-Space) window
         Make sure the "Browser Tabs" module is enabled in Plasma Search
         (KRunner) settings.
- .
- This package contains the backend components to make the bridge between the
- browsers and Plasma.
-
-Package: webext-plasma-browser-integration
-Architecture: all
-Multi-Arch: foreign
-Depends: plasma-browser-integration, ${misc:Depends}, ${shlibs:Depends},
-Recommends: firefox-esr | firefox | chromium,
-Description: Chromium, Firefox integration for Plasma (web extension component)
- Plasma Browser Integration is an extension for common browsers
- to closer fit into the Plasma shell. This includes:
-    - Media Controls
-        Lets you control video and audio players in websites using the
-        Media Controller plasmoid, media keys on your keyboard, and
-        even remotely from your phone.
-    - Send links via KDE Connect
-        Adds a context menu entry to links enabling you to send them
-        to your phone and other paired devices.
-    - Show downloads in and control them from Plasma’s notification area.
-    - Find browser tabs in the Run Command (Alt-Space) window
-        Make sure the "Browser Tabs" module is enabled in Plasma Search
-        (KRunner) settings.
- An extension for Chromium and Firefox which allows rich communication
- between the browser and plasma-browser-integration.
- .
- This package contains the web extension to be loaded by the browsers to
- provide the integration with Plasma.
diff -pruN 6.3.6-1/debian/patches/relax-interplasma-versioned-deps.patch 6.4.5-0ubuntu1/debian/patches/relax-interplasma-versioned-deps.patch
--- 6.3.6-1/debian/patches/relax-interplasma-versioned-deps.patch	2025-07-18 22:00:09.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/patches/relax-interplasma-versioned-deps.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,7 +5,7 @@
- 
- project(plasma-browser-integration VERSION ${PROJECT_VERSION})
- 
--set(PROJECT_DEP_VERSION "6.3.6")
-+set(PROJECT_DEP_VERSION "6.3.4")
- set(QT_MIN_VERSION "6.6.0")
- set(KF6_MIN_VERSION "6.8.0")
- 
diff -pruN 6.3.6-1/debian/patches/series 6.4.5-0ubuntu1/debian/patches/series
--- 6.3.6-1/debian/patches/series	2025-07-18 22:00:09.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/patches/series	1970-01-01 00:00:00.000000000 +0000
@@ -1,4 +0,0 @@
-relax-interplasma-versioned-deps.patch
-upstream_5723f037_feat-flatpak-integrator-add-support-for-variants.patch
-upstream_6089b6c1_feat-flatpak-integrator-add-support-for-flatpak-chromium-variants.patch
-upstream_80ff7196_feat-add-librewolf-support.patch
diff -pruN 6.3.6-1/debian/patches/upstream_5723f037_feat-flatpak-integrator-add-support-for-variants.patch 6.4.5-0ubuntu1/debian/patches/upstream_5723f037_feat-flatpak-integrator-add-support-for-variants.patch
--- 6.3.6-1/debian/patches/upstream_5723f037_feat-flatpak-integrator-add-support-for-variants.patch	2025-05-12 22:46:51.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/patches/upstream_5723f037_feat-flatpak-integrator-add-support-for-variants.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,133 +0,0 @@
-From 5723f037b7761ff66f662098cdced6dbf4124704 Mon Sep 17 00:00:00 2001
-From: Kristen McWilliam <kmcwilliampublic@gmail.com>
-Date: Mon, 24 Mar 2025 19:34:34 -0400
-Subject: [PATCH] feat[flatpak-integrator]: add support for variants
-
-Added structure to support Firefox variants, and
-specifically right now support for LibreWolf.
----
- flatpak-integrator/plugin.cpp | 56 ++++++++++++++++++++++++-----------
- 1 file changed, 38 insertions(+), 18 deletions(-)
-
-diff --git a/flatpak-integrator/plugin.cpp b/flatpak-integrator/plugin.cpp
-index e6d59033..13c3d00e 100644
---- a/flatpak-integrator/plugin.cpp
-+++ b/flatpak-integrator/plugin.cpp
-@@ -115,21 +115,41 @@ class BrowserIntegrationFlatpakIntegrator : public KDEDModule
-     Q_CLASSINFO("D-Bus Interface", "org.kde.plasma.browser.integration.FlatpakIntegrator")
- 
- public:
-+    /** Browser information structure to hold browser-specific configuration */
-+    struct BrowserInfo {
-+        /** The browser's Flatpak id, e.g. "org.mozilla.firefox" */
-+        QString id;
-+
-+        /** The directory the browser expects its native messaging hosts to be in */
-+        QString nativeMessagingHostsDir;
-+    };
-+
-     BrowserIntegrationFlatpakIntegrator(QObject *parent, const QList<QVariant> &)
-         : KDEDModule(parent)
-     {
--        auto flatpak = new QProcess(this);
--        connect(flatpak, qOverload<int, QProcess::ExitStatus>(&QProcess::finished), this, [flatpak](int, QProcess::ExitStatus) {
--            flatpak->deleteLater();
--        });
--        flatpak->start(u"flatpak"_s, {u"override"_s, u"--user"_s, u"--talk-name=org.kde.plasma.browser.integration"_s, u"org.mozilla.firefox"_s});
-+        const QList<BrowserInfo> supportedBrowsers = {
-+            {u"org.mozilla.firefox"_s, u"/.mozilla/native-messaging-hosts"_s},
-+            {u"io.gitlab.librewolf-community"_s, u"/.librewolf/native-messaging-hosts"_s},
-+        };
-+
-+        // Set up Flatpak permissions for each browser
-+        for (const auto &browser : supportedBrowsers) {
-+            auto flatpak = new QProcess(this);
-+            connect(flatpak, qOverload<int, QProcess::ExitStatus>(&QProcess::finished), this, [flatpak](int, QProcess::ExitStatus) {
-+                flatpak->deleteLater();
-+            });
-+            flatpak->start(u"flatpak"_s, {u"override"_s, u"--user"_s, u"--talk-name=org.kde.plasma.browser.integration"_s, browser.id});
-+        }
- 
-         // Register on separate bus connection to avoid exposing other services to the sandbox
-         auto connection = QDBusConnection::connectToBus(QDBusConnection::SessionBus, "org.kde.plasma.browser.integration"_L1);
-         connection.registerService("org.kde.plasma.browser.integration"_L1);
-         connection.registerObject("/org/kde/plasma/browser/integration"_L1, this, QDBusConnection::ExportAllSlots);
- 
--        createMessagingHost(); // always create integration regardless of firefox being installed so we can be ready for the browser
-+        // Create messaging hosts for each supported browser
-+        for (const auto &browser : supportedBrowsers) {
-+            createMessagingHost(browser); // always create integration regardless of the browser being installed so we can be ready for if it is installed
-+        }
-     }
- 
- public Q_SLOTS:
-@@ -173,28 +193,32 @@ private:
-         return openat(dirfd, ".", flags | O_NOFOLLOW | O_CLOEXEC, mode);
-     }
- 
--    void createMessagingHost()
-+    void createMessagingHost(const BrowserInfo &browser)
-     {
--        QDir().mkpath(m_hostWrapperDir);
-+        const QString hostWrapperDir = QDir::homePath() + QStringLiteral("/.var/app/") + browser.id;
-+        const QString hostWrapperName = "plasma-browser-integration-host"_L1;
-+        const QString hostWrapperPath = hostWrapperDir + "/"_L1 + hostWrapperName;
- 
--        auto hostWrapperDirFd = openNoSymlinks(qUtf8Printable(m_hostWrapperDir), O_PATH);
-+        QDir().mkpath(hostWrapperDir);
-+
-+        auto hostWrapperDirFd = openNoSymlinks(qUtf8Printable(hostWrapperDir), O_PATH);
-         const auto closeHostWrapperDirFd = qScopeGuard([hostWrapperDirFd]() {
-             close(hostWrapperDirFd);
-         });
-         if (hostWrapperDirFd == -1) {
-             auto err = errno;
--            qCWarning(INTEGRATOR) << "Failed to open hostWrapper directory." << m_hostWrapperDir << ":" << safe_strerror(err);
-+            qCWarning(INTEGRATOR) << "Failed to open hostWrapper directory." << hostWrapperDir << ":" << safe_strerror(err);
-             return;
-         }
- 
-         { // host wrapper
--            auto hostWrapperFd = openat(hostWrapperDirFd, qUtf8Printable(m_hostWrapperName), O_WRONLY | O_CLOEXEC | O_CREAT | O_TRUNC | O_NOFOLLOW, S_IRWXU);
-+            auto hostWrapperFd = openat(hostWrapperDirFd, qUtf8Printable(hostWrapperName), O_WRONLY | O_CLOEXEC | O_CREAT | O_TRUNC | O_NOFOLLOW, S_IRWXU);
-             auto closeHostWrapperFd = qScopeGuard([hostWrapperFd]() {
-                 close(hostWrapperFd);
-             });
-             if (hostWrapperFd == -1) {
-                 auto err = errno;
--                qCWarning(INTEGRATOR) << "Failed to open host wrapper file" << m_hostWrapperName << ":" << safe_strerror(err);
-+                qCWarning(INTEGRATOR) << "Failed to open host wrapper file" << hostWrapperName << ":" << safe_strerror(err);
-                 return;
-             }
- 
-@@ -222,7 +246,7 @@ private:
-         }
- 
-         { // hosts definition
--            const QString extensionDefinitionDir = m_hostWrapperDir + "/.mozilla/native-messaging-hosts"_L1;
-+            const QString extensionDefinitionDir = hostWrapperDir + browser.nativeMessagingHostsDir;
-             QDir().mkpath(extensionDefinitionDir);
- 
-             auto defintionsDirFd = openNoSymlinks(qUtf8Printable(extensionDefinitionDir), O_PATH);
-@@ -254,17 +278,13 @@ private:
-             QJsonObject extensionDefinitionObject({
-                 {u"name"_s, u"org.kde.plasma.browser_integration"_s},
-                 {u"description"_s, u"Native connector for KDE Plasma"_s},
--                {u"path"_s, m_hostWrapperPath},
-+                {u"path"_s, hostWrapperPath},
-                 {u"type"_s, u"stdio"_s},
-                 {u"allowed_extensions"_s, QJsonArray({u"plasma-browser-integration@kde.org"_s})},
-             });
-             extensionDefinition.write(QJsonDocument(extensionDefinitionObject).toJson());
-         }
-     }
--
--    const QString m_hostWrapperDir = QDir::homePath() + "/.var/app/org.mozilla.firefox"_L1;
--    const QString m_hostWrapperName = "plasma-browser-integration-host"_L1;
--    const QString m_hostWrapperPath = m_hostWrapperDir + "/"_L1 + m_hostWrapperName;
- };
- 
- K_PLUGIN_FACTORY_WITH_JSON(BrowserIntegrationFlatpakIntegratorFactory,
--- 
-GitLab
-
diff -pruN 6.3.6-1/debian/patches/upstream_6089b6c1_feat-flatpak-integrator-add-support-for-flatpak-chromium-variants.patch 6.4.5-0ubuntu1/debian/patches/upstream_6089b6c1_feat-flatpak-integrator-add-support-for-flatpak-chromium-variants.patch
--- 6.3.6-1/debian/patches/upstream_6089b6c1_feat-flatpak-integrator-add-support-for-flatpak-chromium-variants.patch	2025-06-01 09:23:23.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/patches/upstream_6089b6c1_feat-flatpak-integrator-add-support-for-flatpak-chromium-variants.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,114 +0,0 @@
-From 6089b6c1b341f0b2dc0803c027bff416fb4f2202 Mon Sep 17 00:00:00 2001
-From: Kristen McWilliam <kmcwilliampublic@gmail.com>
-Date: Fri, 11 Apr 2025 21:38:38 -0400
-Subject: [PATCH] feat[flatpak-integrator]: add support for flatpak chromium
- variants
-
-Adds support for Chrome & Chromium based flatpak
-browsers.
----
- flatpak-integrator/flatpak-host-wrapper | 14 +++++++--
- flatpak-integrator/plugin.cpp           | 39 +++++++++++++++++++++----
- 2 files changed, 45 insertions(+), 8 deletions(-)
-
-diff --git a/flatpak-integrator/flatpak-host-wrapper b/flatpak-integrator/flatpak-host-wrapper
-index 8aa71cff..d840b4e6 100644
---- a/flatpak-integrator/flatpak-host-wrapper
-+++ b/flatpak-integrator/flatpak-host-wrapper
-@@ -7,8 +7,18 @@
- 
- set -eu
- 
--# This packs $1 and $2 into a single string for gdbus of the form "'$1', '$2'\n"
--args=$(printf "'%s', '%s'\n" "$1" "$2")
-+# Format arguments for gdbus based on whether it's Firefox (2 args) or Chrome (1 arg)
-+# See: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_messaging#exchanging_messages
-+if [ $# -eq 2 ]; then
-+    # Firefox case - pack $1 and $2 into a single string
-+    args=$(printf "'%s', '%s'\n" "$1" "$2")
-+elif [ $# -eq 1 ]; then
-+    # Chrome case - format single argument
-+    args=$(printf "'%s'\n" "$1")
-+else
-+    echo "Error: Expected 1 (Chrome) or 2 (Firefox) arguments but got $#" >&2
-+    exit 1
-+fi
- 
- # The descriptor madness needs some explaining:
- # We expect the forked gdbus to pick up three descriptors from us: 3, 4, and 5, respectively presenting our
-diff --git a/flatpak-integrator/plugin.cpp b/flatpak-integrator/plugin.cpp
-index 13c3d00e..7824be66 100644
---- a/flatpak-integrator/plugin.cpp
-+++ b/flatpak-integrator/plugin.cpp
-@@ -115,21 +115,36 @@ class BrowserIntegrationFlatpakIntegrator : public KDEDModule
-     Q_CLASSINFO("D-Bus Interface", "org.kde.plasma.browser.integration.FlatpakIntegrator")
- 
- public:
--    /** Browser information structure to hold browser-specific configuration */
-+    /** Enum for different browser types, i.e. which browser they are based on. */
-+    enum BrowserBase {
-+        Firefox,
-+        Chrome,
-+        Chromium,
-+    };
-+    Q_ENUM(BrowserBase)
-+
-+    /** Browser information structure to hold browser-specific configuration. */
-     struct BrowserInfo {
--        /** The browser's Flatpak id, e.g. "org.mozilla.firefox" */
-+        BrowserBase base;
-+
-+        /** The browser's Flatpak id, e.g. "org.mozilla.firefox". */
-         QString id;
- 
--        /** The directory the browser expects its native messaging hosts to be in */
-+        /** The directory the browser expects its native messaging hosts to be in. */
-         QString nativeMessagingHostsDir;
-     };
- 
-     BrowserIntegrationFlatpakIntegrator(QObject *parent, const QList<QVariant> &)
-         : KDEDModule(parent)
-     {
-+        // List of Flatpak browsers we support.
-         const QList<BrowserInfo> supportedBrowsers = {
--            {u"org.mozilla.firefox"_s, u"/.mozilla/native-messaging-hosts"_s},
--            {u"io.gitlab.librewolf-community"_s, u"/.librewolf/native-messaging-hosts"_s},
-+            {BrowserBase::Firefox, u"org.mozilla.firefox"_s, u"/.mozilla/native-messaging-hosts"_s},
-+            {BrowserBase::Firefox, u"io.gitlab.librewolf-community"_s, u"/.librewolf/native-messaging-hosts"_s},
-+            {BrowserBase::Chrome, u"com.google.Chrome"_s, u"/config/google-chrome/NativeMessagingHosts"_s},
-+            {BrowserBase::Chrome, u"com.google.ChromeDev"_s, u"/config/google-chrome-unstable/NativeMessagingHosts"_s},
-+            {BrowserBase::Chromium, u"org.chromium.Chromium"_s, u"/config/chromium/NativeMessagingHosts"_s},
-+            {BrowserBase::Chromium, u"io.github.ungoogled_software.ungoogled_chromium"_s, u"/config/chromium/NativeMessagingHosts"_s},
-         };
- 
-         // Set up Flatpak permissions for each browser
-@@ -275,13 +290,25 @@ private:
-                 qCWarning(INTEGRATOR) << "Failed to open extension definition file";
-                 return;
-             }
-+
-             QJsonObject extensionDefinitionObject({
-                 {u"name"_s, u"org.kde.plasma.browser_integration"_s},
-                 {u"description"_s, u"Native connector for KDE Plasma"_s},
-                 {u"path"_s, hostWrapperPath},
-                 {u"type"_s, u"stdio"_s},
--                {u"allowed_extensions"_s, QJsonArray({u"plasma-browser-integration@kde.org"_s})},
-             });
-+
-+            // Add browser-specific fields
-+            if (browser.base == BrowserBase::Firefox) {
-+                extensionDefinitionObject.insert(u"allowed_extensions"_s, QJsonArray({u"plasma-browser-integration@kde.org"_s}));
-+            } else if (browser.base == BrowserBase::Chrome || browser.base == BrowserBase::Chromium) {
-+                extensionDefinitionObject.insert(u"allowed_origins"_s,
-+                                                 QJsonArray({
-+                                                     u"chrome-extension://cimiefiiaegbelhefglklhhakcgmhkai/"_s,
-+                                                     u"chrome-extension://dnnckbejblnejeabhcmhklcaljjpdjeh/"_s,
-+                                                 }));
-+            }
-+
-             extensionDefinition.write(QJsonDocument(extensionDefinitionObject).toJson());
-         }
-     }
--- 
-GitLab
-
diff -pruN 6.3.6-1/debian/patches/upstream_80ff7196_feat-add-librewolf-support.patch 6.4.5-0ubuntu1/debian/patches/upstream_80ff7196_feat-add-librewolf-support.patch
--- 6.3.6-1/debian/patches/upstream_80ff7196_feat-add-librewolf-support.patch	2025-06-01 09:24:52.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/patches/upstream_80ff7196_feat-add-librewolf-support.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,40 +0,0 @@
-From 80ff71965fec75c51773b20f7c724976ccb728a3 Mon Sep 17 00:00:00 2001
-From: Kristen McWilliam <kristen@kde.org>
-Date: Sat, 12 Apr 2025 10:19:33 -0400
-Subject: [PATCH] feat: add librewolf support
-
-BUG: 476967
----
- CMakeLists.txt | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 48960184..5a3d330e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -74,6 +74,9 @@ add_feature_info(COPY_MESSAGING_HOST_FILE_HOME ${COPY_MESSAGING_HOST_FILE_HOME}
- set(MOZILLA_DIR "${CMAKE_INSTALL_PREFIX}/lib/mozilla" CACHE STRING "Mozilla directory")
- add_feature_info(MOZILLA_DIR On "Mozilla directory is '${MOZILLA_DIR}'")
- 
-+set(LIBREWOLF_DIR "${CMAKE_INSTALL_PREFIX}/lib/librewolf" CACHE STRING "LibreWolf directory")
-+add_feature_info(LIBREWOLF_DIR On "LibreWolf directory is '${LIBREWOLF_DIR}'")
-+
- add_subdirectory(host)
- add_subdirectory(reminder)
- add_subdirectory(flatpak-integrator)
-@@ -101,9 +104,12 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.chrome_integration.json
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.chrome_integration.json DESTINATION ${KDE_INSTALL_FULL_SYSCONFDIR}/opt/edge/native-messaging-hosts/ RENAME org.kde.plasma.browser_integration.json)
- # firefox
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.firefox_integration.json DESTINATION ${MOZILLA_DIR}/native-messaging-hosts/ RENAME org.kde.plasma.browser_integration.json)
-+# LibreWolf
-+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.firefox_integration.json DESTINATION ${LIBREWOLF_DIR}/native-messaging-hosts/ RENAME org.kde.plasma.browser_integration.json)
- 
- if (COPY_MESSAGING_HOST_FILE_HOME)
-     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.firefox_integration.json DESTINATION $ENV{HOME}/.mozilla/native-messaging-hosts/ RENAME org.kde.plasma.browser_integration.json)
-+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.firefox_integration.json DESTINATION $ENV{HOME}/.librewolf/native-messaging-hosts/ RENAME org.kde.plasma.browser_integration.json)
-     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.chrome_integration.json DESTINATION $ENV{HOME}/.config/chromium/NativeMessagingHosts/ RENAME org.kde.plasma.browser_integration.json)
-     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.chrome_integration.json DESTINATION $ENV{HOME}/.config/google-chrome/NativeMessagingHosts/ RENAME org.kde.plasma.browser_integration.json)
-     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.plasma.chrome_integration.json DESTINATION $ENV{HOME}/.config/microsoft-edge/NativeMessagingHosts/ RENAME org.kde.plasma.browser_integration.json)
--- 
-GitLab
-
diff -pruN 6.3.6-1/debian/plasma-browser-integration.install 6.4.5-0ubuntu1/debian/plasma-browser-integration.install
--- 6.3.6-1/debian/plasma-browser-integration.install	2025-06-01 22:29:20.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/plasma-browser-integration.install	1970-01-01 00:00:00.000000000 +0000
@@ -1,12 +0,0 @@
-etc/chromium/native-messaging-hosts/org.kde.plasma.browser_integration.json
-etc/opt/chrome/native-messaging-hosts/org.kde.plasma.chrome_browser_integration.json usr/share/plasma-browser-integration/
-etc/opt/edge/native-messaging-hosts/org.kde.plasma.edge_browser_integration.json usr/share/plasma-browser-integration/
-usr/share/locale/*/LC_MESSAGES/*.mo
-usr/bin/plasma-browser-integration-host
-usr/lib/*/qt6/plugins/kf6/kded/browserintegrationflatpakintegrator.so
-usr/lib/*/qt6/plugins/kf6/kded/browserintegrationreminder.so
-usr/lib/librewolf/native-messaging-hosts/org.kde.plasma.browser_integration.json
-usr/lib/mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json
-usr/share/applications/org.kde.plasma.browser_integration.host.desktop
-usr/share/krunner/dbusplugins/plasma-runner-browserhistory.desktop
-usr/share/krunner/dbusplugins/plasma-runner-browsertabs.desktop
diff -pruN 6.3.6-1/debian/plasma-browser-integration.postinst 6.4.5-0ubuntu1/debian/plasma-browser-integration.postinst
--- 6.3.6-1/debian/plasma-browser-integration.postinst	2025-03-03 08:23:51.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/plasma-browser-integration.postinst	1970-01-01 00:00:00.000000000 +0000
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-set -e
-
-#DEBHELPER#
-
-mkdir -p /etc/opt/chrome/native-messaging-hosts
-if [ ! -e /etc/opt/chrome/native-messaging-hosts/org.kde.plasma.browser_integration.json ]; then
-  ln -sfnv /usr/share/plasma-browser-integration/org.kde.plasma.chrome_browser_integration.json /etc/opt/chrome/native-messaging-hosts/org.kde.plasma.browser_integration.json
-fi
-
-mkdir -p /etc/opt/edge/native-messaging-hosts
-if [ ! -e /etc/opt/edge/native-messaging-hosts/org.kde.plasma.browser_integration.json ]; then
-  ln -sfnv /usr/share/plasma-browser-integration/org.kde.plasma.edge_browser_integration.json /etc/opt/edge/native-messaging-hosts/org.kde.plasma.browser_integration.json
-fi
-
-exit 0
diff -pruN 6.3.6-1/debian/plasma-browser-integration.postrm 6.4.5-0ubuntu1/debian/plasma-browser-integration.postrm
--- 6.3.6-1/debian/plasma-browser-integration.postrm	2025-02-27 23:09:18.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/plasma-browser-integration.postrm	1970-01-01 00:00:00.000000000 +0000
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-set -e
-
-#DEBHELPER#
-
-case "$1" in
-    purge|remove)
-
-    chrome_symlink=/etc/opt/chrome/native-messaging-hosts/org.kde.plasma.browser_integration.json
-    edge_symlink=/etc/opt/edge/native-messaging-hosts/org.kde.plasma.browser_integration.json
-    for symlink in "${chrome_symlink}" "${edge_symlink}" ; do
-        if [ -h "${symlink}" ]; then
-            rm -fv "${symlink}"
-            relative_dir=$(realpath -s $(dirname "${symlink}") --relative-to=/etc/opt)
-            if [ -d "${relative_dir}" ]; then
-                initial_dir=$(pwd) ; cd /etc/opt/
-                rmdir -v -p --ignore-fail-on-non-empty "${relative_dir}"
-                cd ${initial_dir}
-            fi
-        fi
-    done
-    # Avoid a piuparts error. See https://bugs.debian.org/888549
-    mkdir -p /etc/opt/
-esac
-
-exit 0
diff -pruN 6.3.6-1/debian/postinst 6.4.5-0ubuntu1/debian/postinst
--- 6.3.6-1/debian/postinst	1970-01-01 00:00:00.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/postinst	2025-09-09 16:03:05.000000000 +0000
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+#DEBHELPER#
+
+target_dir=/etc/opt/chrome/native-messaging-hosts
+source_dir=/usr/share/plasma-browser-integration
+filename=org.kde.plasma.browser_integration.json
+
+mkdir -p "$target_dir"
+
+if [ ! -e "$target_dir/$filename" ]; then
+    ln -s "$source_dir/$filename" "$target_dir"
+fi
+
+exit 0
diff -pruN 6.3.6-1/debian/postrm 6.4.5-0ubuntu1/debian/postrm
--- 6.3.6-1/debian/postrm	1970-01-01 00:00:00.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/postrm	2025-09-09 16:03:05.000000000 +0000
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+#DEBHELPER#
+
+case "$1" in
+    purge|remove)
+
+    # Avoid a piuparts error. See https://bugs.debian.org/888549
+    rm -f /etc/opt/chrome/native-messaging-hosts/org.kde.plasma.browser_integration.json
+    rmdir /etc/opt/chrome/native-messaging-hosts || true
+    rmdir /etc/opt/chrome/ || true
+    mkdir -p /etc/opt/
+esac
+
+exit 0
diff -pruN 6.3.6-1/debian/rules 6.4.5-0ubuntu1/debian/rules
--- 6.3.6-1/debian/rules	2025-02-27 23:49:29.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/rules	2025-09-09 16:03:05.000000000 +0000
@@ -3,22 +3,19 @@
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
-export FIREFOX_UUID = ec8030f7-c20a-464f-9b0e-13a3a9e97384
-export EXTENSION_GECKO_ID = $(shell jq -r .browser_specific_settings.gecko.id < extension/manifest.json)
-$(info EXTENSION_GECKO_ID=$(EXTENSION_GECKO_ID))
-
 %:
 	dh $@
 
-execute_before_dh_auto_configure:
-	if [ "${EXTENSION_GECKO_ID}" = "null" ]; then \
-	    >&2 echo 'Failed to extract extension gecko id from manifest.'; \
-	    exit 1; \
-	fi
-
 override_dh_auto_configure:
 	dh_auto_configure -- -DINSTALL_CHROME_MANIFEST=OFF
 
-execute_after_dh_auto_install:
-	mv debian/tmp/etc/opt/chrome/native-messaging-hosts/org.kde.plasma.browser_integration.json debian/tmp/etc/opt/chrome/native-messaging-hosts/org.kde.plasma.chrome_browser_integration.json
-	mv debian/tmp/etc/opt/edge/native-messaging-hosts/org.kde.plasma.browser_integration.json debian/tmp/etc/opt/edge/native-messaging-hosts/org.kde.plasma.edge_browser_integration.json
+# Use debian/postinst to install the Chrome conffile
+# and debian/postrm to remove it since dpkg's automatic
+# conffile handling doesn't handle the special /etc/opt/ directory
+# https://bugs.debian.org/888549
+override_dh_auto_install:
+	dh_auto_install
+	mkdir -p debian/plasma-browser-integration/usr/share/plasma-browser-integration
+	mv debian/plasma-browser-integration/etc/opt/chrome/native-messaging-hosts/org.kde.plasma.browser_integration.json \
+		debian/plasma-browser-integration/usr/share/plasma-browser-integration/org.kde.plasma.browser_integration.json
+	rm -rf debian/plasma-browser-integration/etc/opt
diff -pruN 6.3.6-1/debian/webext-plasma-browser-integration.install 6.4.5-0ubuntu1/debian/webext-plasma-browser-integration.install
--- 6.3.6-1/debian/webext-plasma-browser-integration.install	2025-03-03 08:21:21.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/webext-plasma-browser-integration.install	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-extension/* usr/share/webext/plasma-browser-integration/
diff -pruN 6.3.6-1/debian/webext-plasma-browser-integration.links 6.4.5-0ubuntu1/debian/webext-plasma-browser-integration.links
--- 6.3.6-1/debian/webext-plasma-browser-integration.links	2025-02-27 23:16:42.000000000 +0000
+++ 6.4.5-0ubuntu1/debian/webext-plasma-browser-integration.links	1970-01-01 00:00:00.000000000 +0000
@@ -1,3 +0,0 @@
-#!/usr/bin/dh-exec
-usr/share/webext/plasma-browser-integration usr/share/chromium/extensions/plasma-browser-integration
-usr/share/webext/plasma-browser-integration usr/share/mozilla/extensions/{${FIREFOX_UUID}}/${EXTENSION_GECKO_ID}
diff -pruN 6.3.6-1/extension/_locales/ar/messages.json 6.4.5-0ubuntu1/extension/_locales/ar/messages.json
--- 6.3.6-1/extension/_locales/ar/messages.json	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/extension/_locales/ar/messages.json	2025-09-09 08:27:48.000000000 +0000
@@ -1,6 +1,6 @@
 {
     "browseraction_mpris_enable_on": {
-        "message": "فعّل التحكّمات بالوسائط في:"
+        "message": "مكّن التحكّمات بالوسائط في:"
     },
     "browseraction_mpris_title": {
         "message": "التحكّمات بالوسائط"
@@ -36,7 +36,7 @@
         "message": "افتح في ”$1“"
     },
     "kdeconnect_open_via": {
-        "message": "افتح في «كِيدِي المتّصل»"
+        "message": "افتح في «جسر كِيدِي»"
     },
     "options_about_bugs": {
         "message": "إن وجدت مشكلة من فضلك راجِع <a href=\"$1\">قائمة العلل المفتوحة</a> ثمّ <a href=\"$2\">افتح بلاغًا عن علة</a>."
@@ -93,19 +93,19 @@
         "message": "لاحِظ: يمكن أن يحتوي العنوان على معلومات حساسة قد تكون عرضة للكشف حين يُشارك الملف مع الآخرين أو حين يستطيع الآخرين الوصول إليه"
     },
     "options_plugin_downloads_title": {
-        "message": "اعرض التنزيلات في منطقة التنبيهات"
+        "message": "اعرض التنزيلات في منطقة الإشعارات"
     },
     "options_plugin_historyrunner_description": {
-        "message": "قد تحتاج هذه الميزة <a id=\"$1\" href=\"$2\">تصاريح إضافية</a> لتستطيع استعمالها."
+        "message": "قد تحتاج هذه الميزة <a id=\"$1\" href=\"$2\">أذونات إضافية</a> لتستطيع استعمالها."
     },
     "options_plugin_historyrunner_title": {
         "message": "ابحث عبر تأريخ المتصفّح"
     },
     "options_plugin_kdeconnect_description": {
-        "message": "تُضيف هذه الملحقة مُدخلًا في قائمة السياق للروابط، فتتيح لك إرسالها إلى هاتفك وغيرها من أجهزة مقترنة عبر <a href=\"$1\">«كِيدِي المتّصل»</a>."
+        "message": "تُضيف هذه الملحقة مُدخلًا في قائمة السياق للروابط، فتتيح لك إرسالها إلى هاتفك وغيرها من أجهزة مقترنة عبر <a href=\"$1\">«جسر كِيدِي»</a>."
     },
     "options_plugin_kdeconnect_title": {
-        "message": "أرسِل عبر «كِيدِي المتّصل»"
+        "message": "أرسِل عبر «جسر كِيدِي»"
     },
     "options_plugin_mpris_description": {
         "message": "تُتيح لك التحكّم بمشّغلات الصوت والفديو في المواقع باستعمال بلازمويد ”متحكّم الوسائط“."
@@ -147,22 +147,22 @@
         "message": "إعدادات تكامل بلازما مع المتصفح"
     },
     "permission_request_already": {
-        "message": "سبق ومنحتَ هذا التصريح."
+        "message": "سبق ومنحتَ هذا الإذن."
     },
     "permission_request_button_request": {
-        "message": "اطلب التصريح"
+        "message": "اطلب الإذن"
     },
     "permission_request_button_revoke": {
-        "message": "اسحب التصريح"
+        "message": "اسحب الإذن"
     },
     "permission_request_historyrunner_1": {
-        "message": "لعرض نتائج البحث من تأريخ المتصفّح، يحتاج الامتداد تصاريح إضافية."
+        "message": "لعرض نتائج البحث من تأريخ المتصفّح، يحتاج الامتداد أذونات إضافية."
     },
     "permission_request_historyrunner_2": {
         "message": "يمكنك تعطيل هذه الميزة من <a id=\"$1\" href=\"$2\">إعدادات بحث بلازما</a>."
     },
     "permission_request_title": {
-        "message": "مطلوب تصاريح إضافية"
+        "message": "مطلوب أذونات إضافية"
     },
     "purpose_share": {
         "message": "شارِك..."
diff -pruN 6.3.6-1/extension/_locales/de/messages.json 6.4.5-0ubuntu1/extension/_locales/de/messages.json
--- 6.3.6-1/extension/_locales/de/messages.json	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/extension/_locales/de/messages.json	2025-09-09 08:27:48.000000000 +0000
@@ -69,7 +69,7 @@
         "message": "Übersetzt von: $1"
     },
     "options_about_translators": {
-        "message": "Deutsches KDE-Übersetzerteam"
+        "message": "Deutsches KDE-Übersetzungsteam"
     },
     "options_heading_krunner": {
         "message": "Plasma-Suche"
diff -pruN 6.3.6-1/extension/_locales/es/messages.json 6.4.5-0ubuntu1/extension/_locales/es/messages.json
--- 6.3.6-1/extension/_locales/es/messages.json	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/extension/_locales/es/messages.json	2025-09-09 08:27:48.000000000 +0000
@@ -120,7 +120,7 @@
         "message": "Controles multimedia"
     },
     "options_plugin_purpose_description": {
-        "message": "Añade una entrada de menú de contexto «Compartir...» y permite que los sitios web abran un diálogo para compartir contenido usando la API de Web Share."
+        "message": "Añade una entrada de menú de contexto «Compartir…» y permite que los sitios web abran un diálogo para compartir contenido usando la API de Web Share."
     },
     "options_plugin_purpose_title": {
         "message": "Compartir contenido"
@@ -165,7 +165,7 @@
         "message": "Se necesitan permisos adicionales"
     },
     "purpose_share": {
-        "message": "Compartir..."
+        "message": "Compartir…"
     },
     "purpose_share_failed_text": {
         "message": "No se puede compartir esta contenido: $1"
@@ -180,6 +180,6 @@
         "message": "Contenido compartido"
     },
     "store_description": {
-        "message": "Multitarea eficiente mediante el control de las funciones del navegador desde el escritorio, incluso cuando Chrome está en segundo plano. Gestión de la reproducción de sonido y de vídeo, comprobación de descargas en el área de notificaciones, envío de archivos al teléfono móvil mediante KDE Connect y mucho más desde el escritorio Plasma de KDE.\\n\\nEl paquete «plasma-browser-integration» debe estar instalado para que esta extensión funcione. Debería estar disponible en el gestor de paquetes de su distribución al ejecutar Plasma 5.13 o posterior.\\n\\nNOTA: Esta extensión no está disponible en Debian."
+        "message": "Multitask efficiently by controlling browser functions from the desktop, even while Chrome is in the background. Manage audio and video playback, check downloads in the notification area, send files to your phone using KDE Connect and more inside the KDE Plasma Desktop!\\n\\nThe plasma-browser-integration package must be installed for this extension to work. It should be available from your distribution's package manager when running Plasma 5.13 or later.\\n\\nNOTE: This extension is not supported on Debian."
     }
 }
\ No newline at end of file
diff -pruN 6.3.6-1/extension/_locales/it/messages.json 6.4.5-0ubuntu1/extension/_locales/it/messages.json
--- 6.3.6-1/extension/_locales/it/messages.json	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/extension/_locales/it/messages.json	2025-09-09 08:27:48.000000000 +0000
@@ -81,7 +81,7 @@
         "message": "Questo può interferire con l'aspetto di siti web che applicano già uno stile personalizzato alla proprie barre di scorrimento."
     },
     "options_plugin_breezeScrollBars_title": {
-        "message": "Usa barre di scorrimento in stile Breeze"
+        "message": "Usa barre di scorrimento in stile Brezza"
     },
     "options_plugin_downloads_addToRecentDocuments": {
         "message": "Aggiungi i file scaricati ai documenti recenti"
diff -pruN 6.3.6-1/extension/_locales/sl/messages.json 6.4.5-0ubuntu1/extension/_locales/sl/messages.json
--- 6.3.6-1/extension/_locales/sl/messages.json	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/extension/_locales/sl/messages.json	2025-09-09 08:27:48.000000000 +0000
@@ -60,7 +60,7 @@
         "message": "Gostitelj verzija: $1"
     },
     "options_about_kde": {
-        "message": "<html><b>KDE</b> je svetovna skupnost programskih inženirjev, umetnikov, piscev, prevajalcev in ustvarjalcev, ki so zavezani <a href=\"$1\">k razvoju svobodne programske opreme</a>. KDE je ustvaril okolje namizja Plasma, na stotine aplikacij in številne programske knjižnice, ki jih podpirajo.<br /><br />KDE je kooperativen podvig: noben sam deležnik ne nadzoruje smeri ali izdelka. Namesto tega si prizadevamo za dosego skupnega cilja izdelave najboljše programske opreme na svetu. Vsi so dobrodošli <a href=\"$2\"> da se nam pridružijo in prispevajo</a> v KDE, vključno z vami.<br /><br />Obiščite <a href=\"$3\">$3</a> za več informacij o skupnosti KDE in programski opremo, ki jo izdelujemo.<br /><br />S slovenskimi uporabniki in razvijalci lahko poklepetate na <a href=\"https://discuss.kde.org/c/local-communities/kde-slovenia/33\">forumu Discuss. </a>. Glede prevodov pa lahko pišete na <a href=\"http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-slo\">dopisni seznam lugos-slo</a>.</html>"
+        "message": "<html><b>KDE</b> je svetovna skupnost programskih inženirjev, umetnikov, piscev, prevajalcev in ustvarjalcev, ki so zavezani <a href=\"$1\">k razvoju proste programske opreme</a>. KDE je ustvaril okolje namizja Plasma, na stotine aplikacij in številne programske knjižnice, ki jih podpirajo.<br /><br />KDE je kooperativen podvig: noben sam deležnik ne nadzoruje smeri ali izdelka. Namesto tega si prizadevamo za dosego skupnega cilja izdelave najboljše programske opreme na svetu. Vsi so dobrodošli <a href=\"$2\"> da se nam pridružijo in prispevajo</a> v KDE, vključno z vami.<br /><br />Obiščite <a href=\"$3\">$3</a> za več informacij o skupnosti KDE in programski opremo, ki jo izdelujemo.<br /><br />S slovenskimi uporabniki in razvijalci lahko poklepetate na <a href=\"https://discuss.kde.org/c/local-communities/kde-slovenia/33\">forumu Discuss. </a>. Glede prevodov pa lahko pišete na <a href=\"http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-slo\">dopisni seznam lugos-slo</a>.</html>"
     },
     "options_about_license": {
         "message": "License: <a href=\"$1\">Splošno dovoljenje GNU verzija 3</a>"
diff -pruN 6.3.6-1/flatpak-integrator/browserintegrationflatpakintegrator.json 6.4.5-0ubuntu1/flatpak-integrator/browserintegrationflatpakintegrator.json
--- 6.3.6-1/flatpak-integrator/browserintegrationflatpakintegrator.json	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/flatpak-integrator/browserintegrationflatpakintegrator.json	2025-09-09 08:27:48.000000000 +0000
@@ -1,7 +1,8 @@
 {
     "KPlugin": {
         "Description": "Automatically enables support for Firefox Flatpak",
-        "Description[ar]": "تمكين الدعم لفيرفوكس إصدارة فلاتباك تلقائيًا",
+        "Description[ar]": "تمكين الدعم لفيرفوكس إصدارة فلاتباك آليًّا",
+        "Description[az]": "Firefox Flatpak ilə inteqrasiyanı avtomatik aktiv edir",
         "Description[bg]": "Автоматично активира поддръжката на Firefox Flatpak",
         "Description[ca@valencia]": "Activa automàticament el suport per a Flatpak de Firefox",
         "Description[ca]": "Activa automàticament el suport per al Flatpak del Firefox",
@@ -14,25 +15,27 @@
         "Description[he]": "הפעלת תמיכה אוטומטית ב־Flatpak של Firefox",
         "Description[hu]": "Támogatás automatikus bekapcsolása Firefox Flatpak verziójához",
         "Description[ia]": "Habilita automaticamente le supporto perFirefox Flatpack",
+        "Description[is]": "Virkjar sjálfkrafa stuðning við Firefox Flatpak",
         "Description[it]": "Abilita automaticamente il supporto per Firefox Flatpak",
         "Description[ka]": "ავტომატურად ჩართავს Firefox Flatpak-ის მხარდაჭერას",
         "Description[ko]": "자동으로 Firefox Flatpak 지원 활성화",
         "Description[lt]": "Automatiškai įjungia Firefox Flatpak palaikymą",
+        "Description[lv]": "Automātiski ieslēdz „Firefox“ „Flatpak“ versijas atbalstu",
         "Description[nl]": "Schakelt automatisch ondersteuning voor Firefox Flatpak in",
+        "Description[nn]": "Slå automatisk på støtte for Firefox Flatpak",
         "Description[pl]": "Włącza obsługę Flatpaka z Firefoksem",
         "Description[pt_BR]": "Habilita automaticamente o suporte para Firefox flatpak",
         "Description[ru]": "Автоматическая активация поддержки браузера Firefox в формате самодостаточного пакета Flatpak",
         "Description[sa]": "स्वयमेव Firefox Flatpak इत्यस्य समर्थनं सक्षमं करोति",
-        "Description[sk]": "Automaticky povolí podporu pre Firefox Flatpak",
         "Description[sl]": "Samodejno omogoči podporo za Firefox Flatpak",
         "Description[sv]": "Aktiverar automatiskt stöd för Firefox Flatpak",
         "Description[tr]": "Firefox Flatpak için kendiliğinden desteği etkinleştirir",
         "Description[uk]": "Автоматично вмикає підтримку для Flatpak Firefox",
-        "Description[x-test]": "xxAutomatically enables support for Firefox Flatpakxx",
         "Description[zh_CN]": "自动启用 Firefox Flatpak 支持",
         "Description[zh_TW]": "自動啟用對 Flatpak 版 Firefox 的支援",
         "Name": "Plasma Browser Integration Flatpak Integration",
         "Name[ar]": "تكامل متصفح البلازما مع فلاتباك",
+        "Name[az]": "Flatpak paketində quraşdırılmış Firefox ilə inteqrasiya",
         "Name[bg]": "Интеграция на Flatpak за браузър интеграция в Plasma",
         "Name[ca@valencia]": "Integració de Flatpak de la integració del navegador amb Plasma",
         "Name[ca]": "Integració del Flatpak de la integració del navegador amb el Plasma",
@@ -45,11 +48,14 @@
         "Name[he]": "שילוב פלזמה ודפדפן ב־Flatpak",
         "Name[hu]": "Plasma böngészőintegráció Flatpak integráció",
         "Name[ia]": "Plasma Browser Integration Flatpack Integration (Integration de Flatpak de integration de navigator de Plasma)",
+        "Name[is]": "Flatpak-samþætting fyrir vafrasamþættingu Plasma",
         "Name[it]": "Integrazione Plasma del browser per integrazione Flatpak",
         "Name[ka]": "Plasma-ის ბრაუზერის ინტეგრაცია Flatpak-ის ინტეგრაცია",
         "Name[ko]": "Plasma 브라우저 통합의 Flatpak 통합",
         "Name[lt]": "Plasma naršyklės integracijos Flatpak integracija",
+        "Name[lv]": "„Plasma“ pārlūka integrācijas „Flatpak“ integrācija",
         "Name[nl]": "Plasma-browserintegratie Flatpak-integratie",
+        "Name[nn]": "Flatpak-integrering for nettlesarintegrering for Plasma",
         "Name[pl]": "Dodanie Flatpaka z obsługą przeglądarki w Plazmie",
         "Name[pt_BR]": "Integração de navegadores no Plasma, integração com flatpak",
         "Name[ru]": "Интеграция с браузером Firefox, установленного в пакете Flatpak",
@@ -58,7 +64,6 @@
         "Name[sv]": "Plasma webbläsarintegrering med Flatpak",
         "Name[tr]": "Plasma Tarayıcı Tümleştirmesi Flatpak Tümleşimi",
         "Name[uk]": "Інтеграція Flatpak як браузера Плазми",
-        "Name[x-test]": "xxPlasma Browser Integration Flatpak Integrationxx",
         "Name[zh_CN]": "Plasma 浏览器集成 Flatpak 集成",
         "Name[zh_TW]": "Plasma 瀏覽器整合 Flatpak 整合"
     },
diff -pruN 6.3.6-1/flatpak-integrator/flatpak-host-wrapper 6.4.5-0ubuntu1/flatpak-integrator/flatpak-host-wrapper
--- 6.3.6-1/flatpak-integrator/flatpak-host-wrapper	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/flatpak-integrator/flatpak-host-wrapper	2025-09-09 08:27:48.000000000 +0000
@@ -7,8 +7,18 @@
 
 set -eu
 
-# This packs $1 and $2 into a single string for gdbus of the form "'$1', '$2'\n"
-args=$(printf "'%s', '%s'\n" "$1" "$2")
+# Format arguments for gdbus based on whether it's Firefox (2 args) or Chrome (1 arg)
+# See: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_messaging#exchanging_messages
+if [ $# -eq 2 ]; then
+    # Firefox case - pack $1 and $2 into a single string
+    args=$(printf "'%s', '%s'\n" "$1" "$2")
+elif [ $# -eq 1 ]; then
+    # Chrome case - format single argument
+    args=$(printf "'%s'\n" "$1")
+else
+    echo "Error: Expected 1 (Chrome) or 2 (Firefox) arguments but got $#" >&2
+    exit 1
+fi
 
 # The descriptor madness needs some explaining:
 # We expect the forked gdbus to pick up three descriptors from us: 3, 4, and 5, respectively presenting our
diff -pruN 6.3.6-1/flatpak-integrator/plugin.cpp 6.4.5-0ubuntu1/flatpak-integrator/plugin.cpp
--- 6.3.6-1/flatpak-integrator/plugin.cpp	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/flatpak-integrator/plugin.cpp	2025-09-09 08:27:48.000000000 +0000
@@ -115,21 +115,56 @@ class BrowserIntegrationFlatpakIntegrato
     Q_CLASSINFO("D-Bus Interface", "org.kde.plasma.browser.integration.FlatpakIntegrator")
 
 public:
+    /** Enum for different browser types, i.e. which browser they are based on. */
+    enum BrowserBase {
+        Firefox,
+        Chrome,
+        Chromium,
+    };
+    Q_ENUM(BrowserBase)
+
+    /** Browser information structure to hold browser-specific configuration. */
+    struct BrowserInfo {
+        BrowserBase base;
+
+        /** The browser's Flatpak id, e.g. "org.mozilla.firefox". */
+        QString id;
+
+        /** The directory the browser expects its native messaging hosts to be in. */
+        QString nativeMessagingHostsDir;
+    };
+
     BrowserIntegrationFlatpakIntegrator(QObject *parent, const QList<QVariant> &)
         : KDEDModule(parent)
     {
-        auto flatpak = new QProcess(this);
-        connect(flatpak, qOverload<int, QProcess::ExitStatus>(&QProcess::finished), this, [flatpak](int, QProcess::ExitStatus) {
-            flatpak->deleteLater();
-        });
-        flatpak->start(u"flatpak"_s, {u"override"_s, u"--user"_s, u"--talk-name=org.kde.plasma.browser.integration"_s, u"org.mozilla.firefox"_s});
+        // List of Flatpak browsers we support.
+        const QList<BrowserInfo> supportedBrowsers = {
+            {BrowserBase::Firefox, u"org.mozilla.firefox"_s, u"/.mozilla/native-messaging-hosts"_s},
+            {BrowserBase::Firefox, u"io.gitlab.librewolf-community"_s, u"/.librewolf/native-messaging-hosts"_s},
+            {BrowserBase::Chrome, u"com.google.Chrome"_s, u"/config/google-chrome/NativeMessagingHosts"_s},
+            {BrowserBase::Chrome, u"com.google.ChromeDev"_s, u"/config/google-chrome-unstable/NativeMessagingHosts"_s},
+            {BrowserBase::Chromium, u"org.chromium.Chromium"_s, u"/config/chromium/NativeMessagingHosts"_s},
+            {BrowserBase::Chromium, u"io.github.ungoogled_software.ungoogled_chromium"_s, u"/config/chromium/NativeMessagingHosts"_s},
+        };
+
+        // Set up Flatpak permissions for each browser
+        for (const auto &browser : supportedBrowsers) {
+            auto flatpak = new QProcess(this);
+            connect(flatpak, qOverload<int, QProcess::ExitStatus>(&QProcess::finished), this, [flatpak](int, QProcess::ExitStatus) {
+                flatpak->deleteLater();
+            });
+            flatpak->start(u"flatpak"_s, {u"override"_s, u"--user"_s, u"--talk-name=org.kde.plasma.browser.integration"_s, browser.id});
+        }
 
         // Register on separate bus connection to avoid exposing other services to the sandbox
         auto connection = QDBusConnection::connectToBus(QDBusConnection::SessionBus, "org.kde.plasma.browser.integration"_L1);
         connection.registerService("org.kde.plasma.browser.integration"_L1);
         connection.registerObject("/org/kde/plasma/browser/integration"_L1, this, QDBusConnection::ExportAllSlots);
 
-        createMessagingHost(); // always create integration regardless of firefox being installed so we can be ready for the browser
+        // Create messaging hosts for each supported browser
+        for (const auto &browser : supportedBrowsers) {
+            createMessagingHost(browser); // always create integration regardless of the browser being installed so we can be ready for if it is installed
+        }
     }
 
 public Q_SLOTS:
@@ -144,7 +179,14 @@ private:
     {
         constexpr auto maxBufferSize = 1024;
         thread_local std::array<char, maxBufferSize> buffer;
+#ifdef STRERROR_R_CHAR_P
         return strerror_r(error, buffer.data(), buffer.size());
+#else
+        // Won't be changed by strerror_r but not const so compiler doesn't throw an error
+        static char unknown[] = "unknown error";
+
+        return strerror_r(error, buffer.data(), buffer.size()) ? unknown : buffer.data();
+#endif
     }
 
     int openNoSymlinks(const std::filesystem::path &path, int flags, mode_t mode = 0)
@@ -166,28 +208,32 @@ private:
         return openat(dirfd, ".", flags | O_NOFOLLOW | O_CLOEXEC, mode);
     }
 
-    void createMessagingHost()
+    void createMessagingHost(const BrowserInfo &browser)
     {
-        QDir().mkpath(m_hostWrapperDir);
+        const QString hostWrapperDir = QDir::homePath() + QStringLiteral("/.var/app/") + browser.id;
+        const QString hostWrapperName = "plasma-browser-integration-host"_L1;
+        const QString hostWrapperPath = hostWrapperDir + "/"_L1 + hostWrapperName;
 
-        auto hostWrapperDirFd = openNoSymlinks(qUtf8Printable(m_hostWrapperDir), O_PATH);
+        QDir().mkpath(hostWrapperDir);
+
+        auto hostWrapperDirFd = openNoSymlinks(qUtf8Printable(hostWrapperDir), O_PATH);
         const auto closeHostWrapperDirFd = qScopeGuard([hostWrapperDirFd]() {
             close(hostWrapperDirFd);
         });
         if (hostWrapperDirFd == -1) {
             auto err = errno;
-            qCWarning(INTEGRATOR) << "Failed to open hostWrapper directory." << m_hostWrapperDir << ":" << safe_strerror(err);
+            qCWarning(INTEGRATOR) << "Failed to open hostWrapper directory." << hostWrapperDir << ":" << safe_strerror(err);
             return;
         }
 
         { // host wrapper
-            auto hostWrapperFd = openat(hostWrapperDirFd, qUtf8Printable(m_hostWrapperName), O_WRONLY | O_CLOEXEC | O_CREAT | O_TRUNC | O_NOFOLLOW, S_IRWXU);
+            auto hostWrapperFd = openat(hostWrapperDirFd, qUtf8Printable(hostWrapperName), O_WRONLY | O_CLOEXEC | O_CREAT | O_TRUNC | O_NOFOLLOW, S_IRWXU);
             auto closeHostWrapperFd = qScopeGuard([hostWrapperFd]() {
                 close(hostWrapperFd);
             });
             if (hostWrapperFd == -1) {
                 auto err = errno;
-                qCWarning(INTEGRATOR) << "Failed to open host wrapper file" << m_hostWrapperName << ":" << safe_strerror(err);
+                qCWarning(INTEGRATOR) << "Failed to open host wrapper file" << hostWrapperName << ":" << safe_strerror(err);
                 return;
             }
 
@@ -215,7 +261,7 @@ private:
         }
 
         { // hosts definition
-            const QString extensionDefinitionDir = m_hostWrapperDir + "/.mozilla/native-messaging-hosts"_L1;
+            const QString extensionDefinitionDir = hostWrapperDir + browser.nativeMessagingHostsDir;
             QDir().mkpath(extensionDefinitionDir);
 
             auto defintionsDirFd = openNoSymlinks(qUtf8Printable(extensionDefinitionDir), O_PATH);
@@ -244,20 +290,28 @@ private:
                 qCWarning(INTEGRATOR) << "Failed to open extension definition file";
                 return;
             }
+
             QJsonObject extensionDefinitionObject({
                 {u"name"_s, u"org.kde.plasma.browser_integration"_s},
                 {u"description"_s, u"Native connector for KDE Plasma"_s},
-                {u"path"_s, m_hostWrapperPath},
+                {u"path"_s, hostWrapperPath},
                 {u"type"_s, u"stdio"_s},
-                {u"allowed_extensions"_s, QJsonArray({u"plasma-browser-integration@kde.org"_s})},
             });
+
+            // Add browser-specific fields
+            if (browser.base == BrowserBase::Firefox) {
+                extensionDefinitionObject.insert(u"allowed_extensions"_s, QJsonArray({u"plasma-browser-integration@kde.org"_s}));
+            } else if (browser.base == BrowserBase::Chrome || browser.base == BrowserBase::Chromium) {
+                extensionDefinitionObject.insert(u"allowed_origins"_s,
+                                                 QJsonArray({
+                                                     u"chrome-extension://cimiefiiaegbelhefglklhhakcgmhkai/"_s,
+                                                     u"chrome-extension://dnnckbejblnejeabhcmhklcaljjpdjeh/"_s,
+                                                 }));
+            }
+
             extensionDefinition.write(QJsonDocument(extensionDefinitionObject).toJson());
         }
     }
-
-    const QString m_hostWrapperDir = QDir::homePath() + "/.var/app/org.mozilla.firefox"_L1;
-    const QString m_hostWrapperName = "plasma-browser-integration-host"_L1;
-    const QString m_hostWrapperPath = m_hostWrapperDir + "/"_L1 + m_hostWrapperName;
 };
 
 K_PLUGIN_FACTORY_WITH_JSON(BrowserIntegrationFlatpakIntegratorFactory,
diff -pruN 6.3.6-1/host/abstractkrunnerplugin.cpp 6.4.5-0ubuntu1/host/abstractkrunnerplugin.cpp
--- 6.3.6-1/host/abstractkrunnerplugin.cpp	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/host/abstractkrunnerplugin.cpp	2025-09-09 08:27:48.000000000 +0000
@@ -7,6 +7,7 @@
 #include "abstractkrunnerplugin.h"
 
 #include <QDBusConnection>
+#include <QGuiApplication>
 #include <QImage>
 
 #include "krunner1adaptor.h"
@@ -54,6 +55,13 @@ QImage AbstractKRunnerPlugin::imageFromD
     if (!image.loadFromData(data)) {
         qWarning() << "Failed to load favicon image from" << dataUrl.left(30);
     }
+
+    // Limit image size to reduce DBus message size.
+    const int maxIconSize = 64 * qGuiApp->devicePixelRatio();
+    if (image.width() > maxIconSize || image.height() > maxIconSize) {
+        image = image.scaled(maxIconSize, maxIconSize, Qt::KeepAspectRatio, Qt::SmoothTransformation);
+    }
+
     return image;
 }
 
diff -pruN 6.3.6-1/host/mprisplugin.cpp 6.4.5-0ubuntu1/host/mprisplugin.cpp
--- 6.3.6-1/host/mprisplugin.cpp	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/host/mprisplugin.cpp	2025-09-09 08:27:48.000000000 +0000
@@ -537,10 +537,14 @@ void MPrisPlugin::processMetadata(const
             continue;
         }
 
-        // why is this named "sizes" when it's just a string and the examples don't mention how one could specify multiple?
-        // also, how on Earth could a single image src have multiple sizes? ...
-        // spec says this is a space-separated list of sizes for ... some reason
-        const QString sizeString = item.value(QStringLiteral("sizes")).toString();
+        // "sizes" is a space-separated list of sizes, for some reason.
+        const QString sizeString = item.value(QStringLiteral("sizes")).toString().toLower();
+
+        if (sizeString == QLatin1String("any")) {
+            artworkUrl = url;
+            break;
+        }
+
         QSize actualSize;
 
         // now parse the size...
diff -pruN 6.3.6-1/host/org.kde.plasma.browser_integration.host.desktop.in 6.4.5-0ubuntu1/host/org.kde.plasma.browser_integration.host.desktop.in
--- 6.3.6-1/host/org.kde.plasma.browser_integration.host.desktop.in	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/host/org.kde.plasma.browser_integration.host.desktop.in	2025-09-09 08:27:48.000000000 +0000
@@ -42,7 +42,6 @@ Name[sv]=Värddator för Plasma webbläs
 Name[ta]=பிளாஸ்மா உலாவி ஒருங்கிணைப்பு புரவன்
 Name[tr]=Plasma Tarayıcı Tümleştirme Makinesi
 Name[uk]=Вузол інтеграції браузера із Плазмою
-Name[x-test]=xxPlasma Browser Integration Hostxx
 Name[zh_CN]=Plasma 浏览器集成宿主程序
 Name[zh_TW]=Plasma 瀏覽器整合主程式
 Icon=plasma-browser-integration
diff -pruN 6.3.6-1/host/plasma-runner-browserhistory.desktop 6.4.5-0ubuntu1/host/plasma-runner-browserhistory.desktop
--- 6.3.6-1/host/plasma-runner-browserhistory.desktop	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/host/plasma-runner-browserhistory.desktop	2025-09-09 08:27:48.000000000 +0000
@@ -42,7 +42,6 @@ Name[sv]=Webbläsarhistorik
 Name[ta]=உலாவி வரலாறு
 Name[tr]=Tarayıcı Geçmişi
 Name[uk]=Журнал навігатора
-Name[x-test]=xxBrowser Historyxx
 Name[zh_CN]=浏览器历史记录
 Name[zh_TW]=瀏覽器歷史
 Comment=Search the browser history for visited websites
@@ -87,7 +86,6 @@ Comment[sv]=Sök igenom webbläsarhistor
 Comment[ta]=நீங்கள் பார்த்த பக்கங்களை உலாவி வரலாற்றில் தேடுங்கள்
 Comment[tr]=Tarayıcı geçmişini ziyaret edilen web sayfaları için arayın
 Comment[uk]=Пошук у журналі перегляду інтернету щодо відвіданих сайтів
-Comment[x-test]=xxSearch the browser history for visited websitesxx
 Comment[zh_CN]=搜索浏览器的已访问网站历史记录
 Comment[zh_TW]=在瀏覽器歷史中搜尋訪問過的網站
 X-KDE-ServiceTypes=Plasma/Runner
@@ -145,6 +143,5 @@ X-Plasma-Runner-Syntax-Descriptions[sv]=
 X-Plasma-Runner-Syntax-Descriptions[ta]=:q: என்பதற்குப் பொருந்தும் இணையதளங்களை உலாவியின் வரலாற்றில் கண்டுபிடிக்கும்
 X-Plasma-Runner-Syntax-Descriptions[tr]=Başlığı veya URL’si :q: ile eşleşen siteleri tarayıcı geçmişinde bulur
 X-Plasma-Runner-Syntax-Descriptions[uk]=Пошук у журналі навігатора сайтів, чий заголовок або адреса відповідають запиту :q:
-X-Plasma-Runner-Syntax-Descriptions[x-test]=xxFinds websites in the browser history whose title or URL match :q:xx
 X-Plasma-Runner-Syntax-Descriptions[zh_CN]=查找标题或链接匹配 :q: 的浏览器历史记录中的网站
 X-Plasma-Runner-Syntax-Descriptions[zh_TW]=尋找瀏覽器歷史中標題或網址符合 :q: 的網站
diff -pruN 6.3.6-1/host/plasma-runner-browsertabs.desktop 6.4.5-0ubuntu1/host/plasma-runner-browsertabs.desktop
--- 6.3.6-1/host/plasma-runner-browsertabs.desktop	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/host/plasma-runner-browsertabs.desktop	2025-09-09 08:27:48.000000000 +0000
@@ -43,7 +43,6 @@ Name[sv]=Webbläsarflikar
 Name[ta]=உலாவி கீற்றுகள்
 Name[tr]=Tarayıcı Sekmeleri
 Name[uk]=Вкладки навігатора
-Name[x-test]=xxBrowser Tabsxx
 Name[zh_CN]=浏览器标签页
 Name[zh_TW]=瀏覽器分頁
 Comment=Find and activate browser tabs
@@ -96,7 +95,6 @@ Comment[ta]=உலாவி கீற்
 Comment[tg]=Ёфтан ва фаъол кардани варақаҳои намоишгар
 Comment[tr]=Tarayıcı sekmelerini bulun ve etkinleştirin
 Comment[uk]=Пошук і задіяння вкладок навігатора
-Comment[x-test]=xxFind and activate browser tabsxx
 Comment[zh_CN]=查找并激活浏览器标签页
 Comment[zh_TW]=尋找並開啟瀏覽器分頁
 X-KDE-ServiceTypes=Plasma/Runner
@@ -153,6 +151,5 @@ X-Plasma-Runner-Syntax-Descriptions[sv]=
 X-Plasma-Runner-Syntax-Descriptions[ta]=:q: என்பதற்குப் பொருந்தும் கீற்றுகளை இணைய உலாவியில் கண்டுபிடிக்கும்
 X-Plasma-Runner-Syntax-Descriptions[tr]=Başlığı veya URL’si :q: ile eşleşen açık tarayıcı sekmelerini bulur
 X-Plasma-Runner-Syntax-Descriptions[uk]=Пошук відкритих вкладок навігатора, які мають заголовок або адресу, що відповідає запиту :q:
-X-Plasma-Runner-Syntax-Descriptions[x-test]=xxFinds open browser tabs whose title or URL match :q:xx
 X-Plasma-Runner-Syntax-Descriptions[zh_CN]=查找标题或链接匹配 :q: 的浏览器标签页
 X-Plasma-Runner-Syntax-Descriptions[zh_TW]=尋找標題或網址符合 :q: 的瀏覽器分頁
diff -pruN 6.3.6-1/host/purposeplugin.cpp 6.4.5-0ubuntu1/host/purposeplugin.cpp
--- 6.3.6-1/host/purposeplugin.cpp	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/host/purposeplugin.cpp	2025-09-09 08:27:48.000000000 +0000
@@ -58,6 +58,13 @@ QJsonObject PurposePlugin::handleData(in
 
         if (!m_menu) {
             m_menu.reset(new Purpose::Menu());
+            // HACK A popup window must have a proper parent but we cannot attach it to
+            // the browser window, so let's just make it a regular menu.
+            if (qGuiApp->platformName().startsWith(QLatin1String("wayland"))) {
+                m_menu->setWindowFlag(Qt::Popup, false);
+                // Hide when it loses focus.
+                m_menu->installEventFilter(this);
+            }
             m_menu->model()->setPluginType(QStringLiteral("ShareUrl"));
 
             connect(m_menu.data(), &QMenu::aboutToShow, this, [this] {
@@ -85,6 +92,10 @@ QJsonObject PurposePlugin::handleData(in
 
             connect(m_menu.data(), &QMenu::triggered, this, [this] {
                 m_menu->setProperty("actionInvoked", true);
+                // If it's not a popup, we need to hide it manually.
+                if (!m_menu->windowFlags().testFlag(Qt::Popup)) {
+                    m_menu->hide();
+                }
             });
 
             connect(m_menu.data(), &Purpose::Menu::finished, this, [this](const QJsonObject &output, int errorCode, const QString &errorMessage) {
@@ -177,10 +188,31 @@ void PurposePlugin::showShareMenu(const
 
     debug() << "Share mime type" << mimeType << "with data" << data;
 
-    m_menu->model()->setInputData(shareData);
-    m_menu->reload();
+    auto *alternativesModel = m_menu->model();
+    alternativesModel->setInputData(shareData);
+
+    // Purpose does not tell us when it does not accept the given input data (e.g. missing field).
+    if (alternativesModel->rowCount() == 0) {
+        qWarning() << "Failed to find any share providers for the given data";
+        // NOTE WebShare API asks not to disclose the failure to find a provider
+        // to the caller but we can't just leave the menu dangling.
+        sendPendingReply(false,
+                         {
+                             {QStringLiteral("errorCode"), QStringLiteral("INVALID_ARGUMENT")},
+                         });
+        return;
+    }
 
     m_menu->popup(QCursor::pos());
 }
 
+bool PurposePlugin::eventFilter(QObject *watched, QEvent *event)
+{
+    if (event->type() == QEvent::WindowDeactivate && watched == m_menu.data()) {
+        m_menu->hide();
+    }
+
+    return AbstractBrowserPlugin::eventFilter(watched, event);
+}
+
 #include "moc_purposeplugin.cpp"
diff -pruN 6.3.6-1/host/purposeplugin.h 6.4.5-0ubuntu1/host/purposeplugin.h
--- 6.3.6-1/host/purposeplugin.h	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/host/purposeplugin.h	2025-09-09 08:27:48.000000000 +0000
@@ -31,6 +31,8 @@ public:
     using AbstractBrowserPlugin::handleData;
     QJsonObject handleData(int serial, const QString &event, const QJsonObject &data) override;
 
+    bool eventFilter(QObject *watched, QEvent *event) override;
+
 private:
     void showShareMenu(const QJsonObject &data, const QString &mimeType = QString());
 
diff -pruN 6.3.6-1/po/ar/plasma-browser-integration-host.po 6.4.5-0ubuntu1/po/ar/plasma-browser-integration-host.po
--- 6.3.6-1/po/ar/plasma-browser-integration-host.po	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/po/ar/plasma-browser-integration-host.po	2025-09-09 08:27:48.000000000 +0000
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
-"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
 "X-Generator: Lokalize 23.08.5\n"
 
 #, kde-format
@@ -86,17 +86,17 @@ msgstr "فُقد الاتصال بالش
 #: downloadjob.cpp:246
 #, kde-format
 msgid "The server is no longer reachable."
-msgstr "لم نعد نستطيع التواصل مع الخادوم."
+msgstr "لم نعد نستطيع التواصل مع الخادم."
 
 #: downloadjob.cpp:248
 #, kde-format
 msgid "A server error has occurred."
-msgstr "وقع عُطل في الخادوم."
+msgstr "وقع عُطل في الخادم."
 
 #: downloadjob.cpp:252
 #, kde-format
 msgid "The server does not have the requested data."
-msgstr "لا يحتوي الخادوم على البيانات المطلوبة."
+msgstr "لا يحتوي الخادم على البيانات المطلوبة."
 
 #: downloadjob.cpp:254
 #, kde-format
@@ -130,7 +130,7 @@ msgstr "المقصد"
 #, kde-format
 msgctxt "Dummy search result"
 msgid "Additional permissions are required"
-msgstr "مطلوب تصاريح إضافية"
+msgstr "مطلوب أذونات إضافية"
 
 #: tabsrunnerplugin.cpp:38
 #, kde-format
diff -pruN 6.3.6-1/po/ar/plasma-browser-integration-reminder.po 6.4.5-0ubuntu1/po/ar/plasma-browser-integration-reminder.po
--- 6.3.6-1/po/ar/plasma-browser-integration-reminder.po	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/po/ar/plasma-browser-integration-reminder.po	2025-09-09 08:27:48.000000000 +0000
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
-"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
 
 #: browserintegrationreminder.cpp:141
 #, kde-format
diff -pruN 6.3.6-1/po/az/plasma-browser-integration-host.po 6.4.5-0ubuntu1/po/az/plasma-browser-integration-host.po
--- 6.3.6-1/po/az/plasma-browser-integration-host.po	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/po/az/plasma-browser-integration-host.po	2025-09-09 08:27:48.000000000 +0000
@@ -1,31 +1,32 @@
-# Copyright (C) YEAR This file is copyright:
+# Copyright (C) 2025 This file is copyright:
 # This file is distributed under the same license as the plasma-browser-integration package.
 #
-# Xəyyam Qocayev <xxmn77@gmail.com>, 2020, 2021, 2022.
+# SPDX-FileCopyrightText: 2025 X əyyam
+# SPDX-FileCopyrightText: 2025 linux <xxmn77@gmail.com>
 msgid ""
 msgstr ""
 "Project-Id-Version: plasma-browser-integration\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n"
 "POT-Creation-Date: 2024-10-28 00:41+0000\n"
-"PO-Revision-Date: 2022-07-06 09:33+0400\n"
-"Last-Translator: Kheyyam <xxmn77@gmail.com>\n"
+"PO-Revision-Date: 2025-05-06 11:29+0400\n"
+"Last-Translator: linux <xxmn77@gmail.com>\n"
 "Language-Team: Azerbaijani <kde-i18n-doc@kde.org>\n"
 "Language: az\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 22.04.2\n"
+"X-Generator: Lokalize 25.04.0\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
 msgid "Your names"
-msgstr ""
+msgstr "Xəyyam Qocayev"
 
 #, kde-format
 msgctxt "EMAIL OF TRANSLATORS"
 msgid "Your emails"
-msgstr ""
+msgstr "xxmn77@gmail.com"
 
 #: downloadjob.cpp:138
 #, kde-format
diff -pruN 6.3.6-1/po/es/plasma-browser-integration-host.po 6.4.5-0ubuntu1/po/es/plasma-browser-integration-host.po
--- 6.3.6-1/po/es/plasma-browser-integration-host.po	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/po/es/plasma-browser-integration-host.po	2025-09-09 08:27:48.000000000 +0000
@@ -1,15 +1,15 @@
 # Spanish translations for plasma-browser-integration-host.po package.
-# Copyright (C) 2019 This file is copyright:
+# Copyright (C) 2019-2025 This file is copyright:
 # This file is distributed under the same license as the plasma-browser-integration package.
-#
 # Automatically generated, 2019.
-# SPDX-FileCopyrightText: 2019, 2021, 2024 Eloy Cuadra <ecuadra@eloihr.net>
+#
+# SPDX-FileCopyrightText: 2019, 2021, 2024, 2025 Eloy Cuadra <ecuadra@eloihr.net>
 msgid ""
 msgstr ""
 "Project-Id-Version: plasma-browser-integration-host\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n"
 "POT-Creation-Date: 2024-10-28 00:41+0000\n"
-"PO-Revision-Date: 2024-08-07 01:10+0200\n"
+"PO-Revision-Date: 2025-05-21 01:26+0100\n"
 "Last-Translator: Eloy Cuadra <ecuadra@eloihr.net>\n"
 "Language-Team: Spanish <kde-l10n-es@kde.org>\n"
 "Language: es\n"
diff -pruN 6.3.6-1/po/es/plasma-browser-integration-reminder.po 6.4.5-0ubuntu1/po/es/plasma-browser-integration-reminder.po
--- 6.3.6-1/po/es/plasma-browser-integration-reminder.po	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/po/es/plasma-browser-integration-reminder.po	2025-09-09 08:27:48.000000000 +0000
@@ -1,15 +1,15 @@
 # Spanish translations for plasma-browser-integration-reminder.po package.
-# Copyright (C) 2018 This file is copyright:
+# Copyright (C) 2018-2025 This file is copyright:
 # This file is distributed under the same license as the plasma-browser-integration package.
-#
 # Automatically generated, 2018.
-# Eloy Cuadra <ecuadra@eloihr.net>, 2018.
+#
+# SPDX-FileCopyrightText: 2018, 2025 Eloy Cuadra <ecuadra@eloihr.net>
 msgid ""
 msgstr ""
 "Project-Id-Version: plasma-browser-integration-reminder\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n"
 "POT-Creation-Date: 2023-06-08 02:13+0000\n"
-"PO-Revision-Date: 2018-09-16 19:55+0100\n"
+"PO-Revision-Date: 2025-05-21 01:27+0100\n"
 "Last-Translator: Eloy Cuadra <ecuadra@eloihr.net>\n"
 "Language-Team: Spanish <kde-l10n-es@kde.org>\n"
 "Language: es\n"
diff -pruN 6.3.6-1/po/pl/plasma-browser-integration-host.po 6.4.5-0ubuntu1/po/pl/plasma-browser-integration-host.po
--- 6.3.6-1/po/pl/plasma-browser-integration-host.po	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/po/pl/plasma-browser-integration-host.po	2025-09-09 08:27:48.000000000 +0000
@@ -16,7 +16,6 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 23.08.5\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
diff -pruN 6.3.6-1/reminder/browserintegrationreminder.json 6.4.5-0ubuntu1/reminder/browserintegrationreminder.json
--- 6.3.6-1/reminder/browserintegrationreminder.json	2025-07-08 11:46:27.000000000 +0000
+++ 6.4.5-0ubuntu1/reminder/browserintegrationreminder.json	2025-09-09 08:27:48.000000000 +0000
@@ -26,7 +26,7 @@
         "Description[ka]": "გაწვდით ბმულს ბრაუზერის გაფართოებაზე, თუ Plasma-ის ბრაუზერის ინტეგრაციის ჰოსტი დაყენებულია",
         "Description[ko]": "Plasma 브라우저 통합 호스트가 설치되어 있을 때 브라우저 확장 기능 설치 링크 제공",
         "Description[lt]": "Pateikia nuorodą į naršyklės priedą tuo atveju, jei yra įdiegtas Plasma naršyklės integracijos mazgas",
-        "Description[lv]": "Sniedz saiti uz pārlūkprogrammas paplašinājumu, ja ir instalēta „Plasma“ pārlūka integrācijas saimnieksistēma",
+        "Description[lv]": "Nodrošina saiti uz pārlūkprogrammas paplašinājumu, ja ir instalēta „Plasma“ pārlūka integrācijas saimnieksistēma",
         "Description[nl]": "Biedt een koppeling naar de browser-extensie als de host voor Plasma-browserintegratie is geïnstalleerd",
         "Description[nn]": "Gjev ei lenkje til nettlesarutvidinga viss vert for integrering av Plasma-nettlesar er installert",
         "Description[pl]": "Dostarcza łącze do rozszerzeń przeglądarki, jeśli gospodarz integracji przeglądarki Plazmy został wgrany",
@@ -40,7 +40,6 @@
         "Description[ta]": "பிளாஸ்மா உலாவி ஒருங்கிணைப்பு புரவன் நிறுவப்படவில்லையெனில் உலாவி துணை நிரலுக்கான இணைப்பை வழங்கும்",
         "Description[tr]": "Plasma Tarayıcı Tümleştirme istemcisi kuruluysa tarayıcı uzantısı için bir bağlantı sağlar",
         "Description[uk]": "Надає посилання на розширення браузера, якщо встановлено основну частину засобу інтеграції браузера із Плазмою",
-        "Description[x-test]": "xxProvides a link to the browser extension if the Plasma Browser Integration host is installedxx",
         "Description[zh_CN]": "如果 Plasma 浏览器集成主程序已安装，则提供下载浏览器扩展程序的链接",
         "Description[zh_TW]": "有安裝 Plasma 瀏覽器整合主程式時提供它的瀏覽器擴充功能的連結",
         "Name": "Plasma Browser Integration Installation Reminder",
@@ -89,7 +88,6 @@
         "Name[tg]": "Хотиррасонӣ барои насби ҳампайвандии намоишгари Плазма",
         "Name[tr]": "Plasma Tarayıcı Tümleştirmesi Kurulum Anımsatıcısı",
         "Name[uk]": "Нагадування щодо встановлення інтеграції браузера із Плазмою",
-        "Name[x-test]": "xxPlasma Browser Integration Installation Reminderxx",
         "Name[zh_CN]": "Plasma 浏览器集成程序安装提醒",
         "Name[zh_TW]": "Plasma 瀏覽器整合安裝提醒"
     },
