Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package plasma6-browser-integration for 
openSUSE:Factory checked in at 2025-06-18 15:54:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plasma6-browser-integration (Old)
 and      /work/SRC/openSUSE:Factory/.plasma6-browser-integration.new.19631 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "plasma6-browser-integration"

Wed Jun 18 15:54:24 2025 rev:24 rq:1285736 version:6.4.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/plasma6-browser-integration/plasma6-browser-integration.changes
  2025-05-08 18:21:44.700465684 +0200
+++ 
/work/SRC/openSUSE:Factory/.plasma6-browser-integration.new.19631/plasma6-browser-integration.changes
       2025-06-18 15:55:08.001697607 +0200
@@ -1,0 +2,38 @@
+Thu Jun 12 10:37:44 UTC 2025 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 6.4.0:
+  * New bugfix release
+  * For more details see https://kde.org/announcements/plasma/6/6.4.0
+- Changes since 6.3.91:
+  * Update version for new release 6.4.0
+
+-------------------------------------------------------------------
+Thu May 29 21:20:57 UTC 2025 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 6.3.91:
+  * New bugfix release
+  * For more details see https://kde.org/announcements/plasma/6/6.3.91
+- Changes since 6.3.90:
+  * Update version for new release 6.3.91
+
+-------------------------------------------------------------------
+Mon May 19 19:35:53 UTC 2025 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 6.3.90:
+  * New feature release
+  * For more details see https://kde.org/announcements/plasma/6/6.3.90
+- Changes since 6.3.5:
+  * update version for new release
+  * feat: add librewolf support (kde#476967)
+  * Purpose plugin: Reject share if model has no items
+  * feat[flatpak-integrator]: add support for flatpak chromium variants
+  * feat[flatpak-integrator]: add support for variants
+  * Remove unused PROJECT_VERSION_MAJOR cmake variable
+  * flatpak-integrator: use more sophisticated code to pass around fds 
(kde#500000)
+  * CI: Add linux-qt6-next build
+  * Add missing include for flatpak-integrator plugin
+  * Use the XSI version of strerror_r when the GNU version isn't available
+  * Add xml/yaml linting
+  * update version for new release
+
+-------------------------------------------------------------------

Old:
----
  plasma-browser-integration-6.3.5.tar.xz
  plasma-browser-integration-6.3.5.tar.xz.sig

New:
----
  plasma-browser-integration-6.4.0.tar.xz
  plasma-browser-integration-6.4.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ plasma6-browser-integration.spec ++++++
--- /var/tmp/diff_new_pack.wzfwHU/_old  2025-06-18 15:55:08.917735604 +0200
+++ /var/tmp/diff_new_pack.wzfwHU/_new  2025-06-18 15:55:08.917735604 +0200
@@ -16,8 +16,8 @@
 #
 
 
-%define kf6_version 6.10.0
-%define qt6_version 6.7.0
+%define kf6_version 6.14.0
+%define qt6_version 6.8.0
 
 %define rname plasma-browser-integration
 
@@ -29,14 +29,14 @@
 # Latest ABI-stable Plasma (e.g. 6.0 in KF6, but 6.0.80 in KUF)
 %{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk 
-F. '{print $1"."$2}')}
 Name:           plasma6-browser-integration
-Version:        6.3.5
+Version:        6.4.0
 Release:        0
 Summary:        Helper for the KDE Plasma Browser Integration
 License:        GPL-3.0-or-later
 URL:            https://www.kde.org
-Source:         
https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz
+Source:         %{rname}-%{version}.tar.xz
 %if %{with released}
-Source1:        
https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz.sig
+Source1:        %{rname}-%{version}.tar.xz.sig
 Source2:        plasma.keyring
 %endif
 BuildRequires:  kf6-extra-cmake-modules >= %{kf6_version}
@@ -103,6 +103,9 @@
   mv %{buildroot}%{_prefix}/lib/mozilla %{buildroot}%{_libdir}
 fi
 
+# Doesn't exist in openSUSE
+rm -r %{buildroot}%{_prefix}/lib/librewolf
+
 %find_lang %{name} --all-name
 
 %files

++++++ plasma-browser-integration-6.3.5.tar.xz -> 
plasma-browser-integration-6.4.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plasma-browser-integration-6.3.5/.gitlab-ci.yml 
new/plasma-browser-integration-6.4.0/.gitlab-ci.yml
--- old/plasma-browser-integration-6.3.5/.gitlab-ci.yml 2025-05-06 
19:58:27.000000000 +0200
+++ new/plasma-browser-integration-6.4.0/.gitlab-ci.yml 2025-06-12 
11:01:44.000000000 +0200
@@ -5,3 +5,6 @@
   - 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plasma-browser-integration-6.3.5/.kde-ci.yml 
new/plasma-browser-integration-6.4.0/.kde-ci.yml
--- old/plasma-browser-integration-6.3.5/.kde-ci.yml    2025-05-06 
19:58:27.000000000 +0200
+++ new/plasma-browser-integration-6.4.0/.kde-ci.yml    2025-06-12 
11:01:44.000000000 +0200
@@ -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 @@
     '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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plasma-browser-integration-6.3.5/CMakeLists.txt 
new/plasma-browser-integration-6.4.0/CMakeLists.txt
--- old/plasma-browser-integration-6.3.5/CMakeLists.txt 2025-05-06 
19:58:27.000000000 +0200
+++ new/plasma-browser-integration-6.4.0/CMakeLists.txt 2025-06-12 
11:01:44.000000000 +0200
@@ -1,11 +1,10 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(PROJECT_VERSION "6.3.5")
-set(PROJECT_VERSION_MAJOR 6)
+set(PROJECT_VERSION "6.4.0")
 
 project(plasma-browser-integration VERSION ${PROJECT_VERSION})
 
-set(PROJECT_DEP_VERSION "6.3.5")
+set(PROJECT_DEP_VERSION "6.4.0")
 set(QT_MIN_VERSION "6.6.0")
 set(KF6_MIN_VERSION "6.8.0")
 
@@ -75,6 +74,9 @@
 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}/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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/extension/_locales/ar/messages.json 
new/plasma-browser-integration-6.4.0/extension/_locales/ar/messages.json
--- old/plasma-browser-integration-6.3.5/extension/_locales/ar/messages.json    
2025-05-06 19:58:27.000000000 +0200
+++ new/plasma-browser-integration-6.4.0/extension/_locales/ar/messages.json    
2025-06-12 11:01:44.000000000 +0200
@@ -36,7 +36,7 @@
         "message": "افتح في ”$1“"
     },
     "kdeconnect_open_via": {
-        "message": "افتح في «كِيدِي المتّصل»"
+        "message": "افتح في «جسر كِيدِي»"
     },
     "options_about_bugs": {
         "message": "إن وجدت مشكلة من فضلك راجِع <a href=\"$1\">قائمة العلل 
المفتوحة</a> ثمّ <a href=\"$2\">افتح بلاغًا عن علة</a>."
@@ -102,10 +102,10 @@
         "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": "تُتيح لك التحكّم بمشّغلات الصوت والفديو في المواقع 
باستعمال بلازمويد ”متحكّم الوسائط“."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/extension/_locales/de/messages.json 
new/plasma-browser-integration-6.4.0/extension/_locales/de/messages.json
--- old/plasma-browser-integration-6.3.5/extension/_locales/de/messages.json    
2025-05-06 19:58:27.000000000 +0200
+++ new/plasma-browser-integration-6.4.0/extension/_locales/de/messages.json    
2025-06-12 11:01:44.000000000 +0200
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/extension/_locales/es/messages.json 
new/plasma-browser-integration-6.4.0/extension/_locales/es/messages.json
--- old/plasma-browser-integration-6.3.5/extension/_locales/es/messages.json    
2025-05-06 19:58:27.000000000 +0200
+++ new/plasma-browser-integration-6.4.0/extension/_locales/es/messages.json    
2025-06-12 11:01:44.000000000 +0200
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/extension/_locales/it/messages.json 
new/plasma-browser-integration-6.4.0/extension/_locales/it/messages.json
--- old/plasma-browser-integration-6.3.5/extension/_locales/it/messages.json    
2025-05-06 19:58:27.000000000 +0200
+++ new/plasma-browser-integration-6.4.0/extension/_locales/it/messages.json    
2025-06-12 11:01:44.000000000 +0200
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/flatpak-integrator/browserintegrationflatpakintegrator.json
 
new/plasma-browser-integration-6.4.0/flatpak-integrator/browserintegrationflatpakintegrator.json
--- 
old/plasma-browser-integration-6.3.5/flatpak-integrator/browserintegrationflatpakintegrator.json
    2025-05-06 19:58:27.000000000 +0200
+++ 
new/plasma-browser-integration-6.4.0/flatpak-integrator/browserintegrationflatpakintegrator.json
    2025-06-12 11:01:44.000000000 +0200
@@ -2,6 +2,7 @@
     "KPlugin": {
         "Description": "Automatically enables support for Firefox Flatpak",
         "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,16 +15,18 @@
         "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",
@@ -33,6 +36,7 @@
         "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 +49,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",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/flatpak-integrator/flatpak-host-wrapper 
new/plasma-browser-integration-6.4.0/flatpak-integrator/flatpak-host-wrapper
--- 
old/plasma-browser-integration-6.3.5/flatpak-integrator/flatpak-host-wrapper    
    2025-05-06 19:58:27.000000000 +0200
+++ 
new/plasma-browser-integration-6.4.0/flatpak-integrator/flatpak-host-wrapper    
    2025-06-12 11:01:44.000000000 +0200
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/flatpak-integrator/plugin.cpp 
new/plasma-browser-integration-6.4.0/flatpak-integrator/plugin.cpp
--- old/plasma-browser-integration-6.3.5/flatpak-integrator/plugin.cpp  
2025-05-06 19:58:27.000000000 +0200
+++ new/plasma-browser-integration-6.4.0/flatpak-integrator/plugin.cpp  
2025-06-12 11:01:44.000000000 +0200
@@ -115,21 +115,56 @@
     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 @@
     {
         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 @@
         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 @@
         }
 
         { // 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 @@
                 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-integrat...@kde.org"_s})},
             });
+
+            // Add browser-specific fields
+            if (browser.base == BrowserBase::Firefox) {
+                extensionDefinitionObject.insert(u"allowed_extensions"_s, 
QJsonArray({u"plasma-browser-integrat...@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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/host/purposeplugin.cpp 
new/plasma-browser-integration-6.4.0/host/purposeplugin.cpp
--- old/plasma-browser-integration-6.3.5/host/purposeplugin.cpp 2025-05-06 
19:58:27.000000000 +0200
+++ new/plasma-browser-integration-6.4.0/host/purposeplugin.cpp 2025-06-12 
11:01:44.000000000 +0200
@@ -177,8 +177,20 @@
 
     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());
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/po/az/plasma-browser-integration-host.po 
new/plasma-browser-integration-6.4.0/po/az/plasma-browser-integration-host.po
--- 
old/plasma-browser-integration-6.3.5/po/az/plasma-browser-integration-host.po   
    2025-05-06 19:58:27.000000000 +0200
+++ 
new/plasma-browser-integration-6.4.0/po/az/plasma-browser-integration-host.po   
    2025-06-12 11:01:44.000000000 +0200
@@ -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 <xxm...@gmail.com>, 2020, 2021, 2022.
+# SPDX-FileCopyrightText: 2025 X əyyam
+# SPDX-FileCopyrightText: 2025 linux <xxm...@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 <xxm...@gmail.com>\n"
+"PO-Revision-Date: 2025-05-06 11:29+0400\n"
+"Last-Translator: linux <xxm...@gmail.com>\n"
 "Language-Team: Azerbaijani <kde-i18n-...@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 "xxm...@gmail.com"
 
 #: downloadjob.cpp:138
 #, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/po/es/plasma-browser-integration-host.po 
new/plasma-browser-integration-6.4.0/po/es/plasma-browser-integration-host.po
--- 
old/plasma-browser-integration-6.3.5/po/es/plasma-browser-integration-host.po   
    2025-05-06 19:58:27.000000000 +0200
+++ 
new/plasma-browser-integration-6.4.0/po/es/plasma-browser-integration-host.po   
    2025-06-12 11:01:44.000000000 +0200
@@ -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 <ecua...@eloihr.net>
+#
+# SPDX-FileCopyrightText: 2019, 2021, 2024, 2025 Eloy Cuadra 
<ecua...@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 <ecua...@eloihr.net>\n"
 "Language-Team: Spanish <kde-l10n...@kde.org>\n"
 "Language: es\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/po/es/plasma-browser-integration-reminder.po
 
new/plasma-browser-integration-6.4.0/po/es/plasma-browser-integration-reminder.po
--- 
old/plasma-browser-integration-6.3.5/po/es/plasma-browser-integration-reminder.po
   2025-05-06 19:58:27.000000000 +0200
+++ 
new/plasma-browser-integration-6.4.0/po/es/plasma-browser-integration-reminder.po
   2025-06-12 11:01:44.000000000 +0200
@@ -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 <ecua...@eloihr.net>, 2018.
+#
+# SPDX-FileCopyrightText: 2018, 2025 Eloy Cuadra <ecua...@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 <ecua...@eloihr.net>\n"
 "Language-Team: Spanish <kde-l10n...@kde.org>\n"
 "Language: es\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/po/pl/plasma-browser-integration-host.po 
new/plasma-browser-integration-6.4.0/po/pl/plasma-browser-integration-host.po
--- 
old/plasma-browser-integration-6.3.5/po/pl/plasma-browser-integration-host.po   
    2025-05-06 19:58:27.000000000 +0200
+++ 
new/plasma-browser-integration-6.4.0/po/pl/plasma-browser-integration-host.po   
    2025-06-12 11:01:44.000000000 +0200
@@ -16,7 +16,6 @@
 "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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-browser-integration-6.3.5/reminder/browserintegrationreminder.json 
new/plasma-browser-integration-6.4.0/reminder/browserintegrationreminder.json
--- 
old/plasma-browser-integration-6.3.5/reminder/browserintegrationreminder.json   
    2025-05-06 19:58:27.000000000 +0200
+++ 
new/plasma-browser-integration-6.4.0/reminder/browserintegrationreminder.json   
    2025-06-12 11:01:44.000000000 +0200
@@ -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",

Reply via email to