Your message dated Tue, 17 Jun 2025 20:27:01 +0000
with message-id <[email protected]>
and subject line unblock tokodon
has caused the Debian Bug report #1107945,
regarding unblock: tokodon/25.04.2-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1107945: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1107945
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: [email protected], Debian Qt/KDE Maintainers 
<[email protected]>
Control: affects -1 + src:tokodon
User: [email protected]
Usertags: unblock

Dear Release Team,

please unblock package tokodon.

[ Reason ]
It contains the following changes:
* New upstream release (25.04.1).
  - Clamp contentY when using the PageUp key. (kde#501936)
  - Stop registering for push notifications despite them being disabled.
  - Print out what the old endpoint was in the warning message.
  - Don't spam network error log with push subscription checks.
  - Don't bother updating push subscriptions if there is none.
  - Remove annual_report from push notification rules.
  - Call updatePushNotifications when toggling the notifications checkbox.
* New upstream release (25.04.2).
  - ModerationTools: Fix opening some subpages.

The complete debdiff contains a huge amount of translation fixes so I’m
attaching a simple diff trimmed from these for your convenience:
    diff -ur --exclude=po tokodon-25.04.[02]

[ Tests ]
- Tested connecting to mastodon with an existing account and browsing
  through the various pages of the app.
- Upstream test suite passes in sbuild.

[ Risks ]
Upstream point releases only contain targetted commits. Further fixes
can easily be backported or the changes reverted.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing


Thanks!


unblock tokodon/25.04.2-1

Attachment: tokodon_25.04.0-1.dsc_tokodon_25.04.2-1.dsc.debdiff.gz
Description: application/gzip

diff -ur '--exclude=po' tokodon-25.04.0/CMakeLists.txt 
tokodon-25.04.2/CMakeLists.txt
--- tokodon-25.04.0/CMakeLists.txt      2025-04-10 05:11:52.000000000 +0200
+++ tokodon-25.04.2/CMakeLists.txt      2025-06-03 05:21:40.000000000 +0200
@@ -6,7 +6,7 @@
 # KDE Applications version, managed by release script.
 set(RELEASE_SERVICE_VERSION_MAJOR "25")
 set(RELEASE_SERVICE_VERSION_MINOR "04")
-set(RELEASE_SERVICE_VERSION_MICRO "0")
+set(RELEASE_SERVICE_VERSION_MICRO "2")
 set(RELEASE_SERVICE_VERSION 
"${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
 
 project(tokodon VERSION ${RELEASE_SERVICE_VERSION})
diff -ur '--exclude=po' tokodon-25.04.0/debian/changelog 
tokodon-25.04.2/debian/changelog
--- tokodon-25.04.0/debian/changelog    2025-04-17 22:24:22.000000000 +0200
+++ tokodon-25.04.2/debian/changelog    2025-06-09 23:37:39.000000000 +0200
@@ -1,3 +1,19 @@
+tokodon (25.04.2-1) unstable; urgency=medium
+
+  [ Aurélien COUDERC ]
+  * New upstream release (25.04.1).
+    - Clamp contentY when using the PageUp key. (kde#501936)
+    - Stop registering for push notifications despite them being disabled.
+    - Print out what the old endpoint was in the warning message.
+    - Don't spam network error log with push subscription checks.
+    - Don't bother updating push subscriptions if there is none.
+    - Remove annual_report from push notification rules.
+    - Call updatePushNotifications when toggling the notifications checkbox.
+  * New upstream release (25.04.2).
+    - ModerationTools: Fix opening some subpages.
+
+ -- Aurélien COUDERC <[email protected]>  Mon, 09 Jun 2025 23:37:39 +0200
+
 tokodon (25.04.0-1) unstable; urgency=medium
 
   [ Aurélien COUDERC ]
diff -ur '--exclude=po' tokodon-25.04.0/.gitlab-ci.yml 
tokodon-25.04.2/.gitlab-ci.yml
--- tokodon-25.04.0/.gitlab-ci.yml      2025-04-10 05:11:52.000000000 +0200
+++ tokodon-25.04.2/.gitlab-ci.yml      2025-06-03 05:21:40.000000000 +0200
@@ -6,7 +6,6 @@
     file:
       - /gitlab-templates/reuse-lint.yml
       - /gitlab-templates/linux-qt6.yml
-      - /gitlab-templates/linux-qt6-next.yml
       - /gitlab-templates/freebsd-qt6.yml
       - /gitlab-templates/android-qt6.yml
       - /gitlab-templates/craft-android-qt6-apks.yml
diff -ur '--exclude=po' tokodon-25.04.0/org.kde.tokodon.appdata.xml 
tokodon-25.04.2/org.kde.tokodon.appdata.xml
--- tokodon-25.04.0/org.kde.tokodon.appdata.xml 2025-04-10 05:11:52.000000000 
+0200
+++ tokodon-25.04.2/org.kde.tokodon.appdata.xml 2025-06-03 05:21:40.000000000 
+0200
@@ -151,6 +151,8 @@
     </screenshot>
   </screenshots>
   <releases>
+    <release version="25.04.2" date="2025-06-05"/>
+    <release version="25.04.1" date="2025-05-08"/>
     <release version="25.04.0" date="2025-04-17"/>
     <release version="24.12.3" date="2025-03-06"/>
     <release version="24.12.2" date="2025-02-06"/>
diff -ur '--exclude=po' tokodon-25.04.0/org.kde.tokodon.desktop 
tokodon-25.04.2/org.kde.tokodon.desktop
--- tokodon-25.04.0/org.kde.tokodon.desktop     2025-04-10 05:11:52.000000000 
+0200
+++ tokodon-25.04.2/org.kde.tokodon.desktop     2025-06-03 05:21:40.000000000 
+0200
@@ -61,6 +61,7 @@
 GenericName[ko]=연합우주 탐색하기
 GenericName[lv]=Pārlūkojiet fediversu
 GenericName[nl]=In de Fediverse bladeren
+GenericName[nn]=Bla gjennom Allheimen
 GenericName[pl]=Przejrzyj Fediverse
 GenericName[ru]=Просмотр Fediverse
 GenericName[sa]=Fediverse ब्राउज् कुर्वन्तु
diff -ur '--exclude=po' tokodon-25.04.0/snapcraft.yaml 
tokodon-25.04.2/snapcraft.yaml
--- tokodon-25.04.0/snapcraft.yaml      2025-04-10 05:11:52.000000000 +0200
+++ tokodon-25.04.2/snapcraft.yaml      2025-06-03 05:21:40.000000000 +0200
@@ -18,26 +18,39 @@
       - audio-record
       - home
       - password-manager-service
-environment:
-  ALSA_CONFIG_PATH: "$SNAP/kf6/etc/asound.conf"
+    environment:
+      LD_LIBRARY_PATH: 
"$SNAP/ffmpeg-platform/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:$SNAP/kf6/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:$LD_LIBRARY_PATH"
+      PATH: $SNAP/ffmpeg-platform/usr/bin:$SNAP/usr/bin${PATH}
+      ALSA_CONFIG_PATH: "$SNAP/kf6/etc/asound.conf"
+      QT_MEDIA_BACKEND: "ffmpeg"
+      QT_PLUGIN_PATH: 
"$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/marble/plugins:/snap/kf6-core24/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/plugins"
 layout:
   /usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/alsa-lib:
     bind: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/alsa-lib
+plugs:
+  ffmpeg-2404:
+    interface: content
+    target: ffmpeg-platform # the folder where this content snap will be 
mounted
+    default-provider: ffmpeg-2404
 slots:
   session-dbus-interface:
     interface: dbus
     name: org.kde.tokodon
     bus: session
-package-repositories:
-  - type: apt
-    components:
-      - main
-    suites:
-      - noble
-    key-id: 444DABCF3667D0283F894EDDE6D4736255751E5D
-    url: http://origin.archive.neon.kde.org/user
-    key-server: keyserver.ubuntu.com
 parts:
+  kunifiedpush:
+    source: https://invent.kde.org/libraries/kunifiedpush.git
+    plugin: cmake
+    build-packages:
+      - libssl-dev
+    build-environment:
+      - PATH: /snap/bin:${PATH}
+      - PYTHONPATH: 
${CRAFT_STAGE}/lib/python3.12/site-packages:${CRAFT_STAGE}/usr/lib/python3/dist-packages
+      - LD_LIBRARY_PATH: 
"/snap/mesa-2404/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kde-qt6-core24-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/libproxy:$LD_LIBRARY_PATH"
+    cmake-parameters:
+      - -DCMAKE_INSTALL_PREFIX=/usr
+      - -DCMAKE_BUILD_TYPE=Release
+      - -DBUILD_TESTING=OFF
   mpvqt:
     plugin: cmake
     source: https://invent.kde.org/libraries/mpvqt.git
@@ -64,6 +77,7 @@
   tokodon:
     after:
       - mpvqt
+      - kunifiedpush
     parse-info:
       - usr/share/metainfo/org.kde.tokodon.appdata.xml
     plugin: cmake
@@ -71,6 +85,9 @@
     source-type: local
     build-packages:
       - libmpv-dev
+      - libfreetype-dev
+    build-snaps:
+      - ffmpeg-2404-sdk
     stage-packages:
       - libasound2
       - libasound2-data
@@ -83,6 +100,8 @@
       - gstreamer1.0-plugins-ugly
       - libblas3
       - libsecret-1-0
+      - libfreetype6
+      - libssl3t64
     cmake-parameters:
       - -DCMAKE_INSTALL_PREFIX=/usr
       - -DCMAKE_BUILD_TYPE=Release
@@ -102,12 +121,9 @@
       - -DCMAKE_LIBRARY_PATH=lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR
       - 
"-DCMAKE_FIND_ROOT_PATH=$CRAFT_STAGE\\;/snap/kde-qt6-core24-sdk/current\\;/snap/kf6-core24-sdk/current/usr"
       - 
"-DCMAKE_PREFIX_PATH=$CRAFT_STAGE\\;/snap/kde-qt6-core24-sdk/current\\;/snap/kf6-core24-sdk/current/usr"
-    build-environment: &buildenvironment
-      - PATH: /snap/kde-qt6-core24-sdk/current/usr/bin${PATH:+:$PATH}
-      - PKG_CONFIG_PATH: 
/snap/kde-qt6-core24-sdk/current/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
-      - XDG_DATA_DIRS: 
$CRAFT_STAGE/usr/share:/snap/kde-qt6-core24-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
-      - XDG_CONFIG_HOME: 
$CRAFT_STAGE/etc/xdg:/snap/kde-qt6-core24-sdk/current/etc/xdg:/etc/xdg${XDG_CONFIG_HOME:+:$XDG_CONFIG_HOME}
-      - LD_LIBRARY_PATH: 
"/snap/kde-qt6-core24-sdk/current/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}:/snap/kde-qt6-core24-sdk/current/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/libproxy:/snap/kde-qt6-core24-sdk/current/usr/lib:/snap/kf6-core24-sdk/current/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}:/snap/kf6-core24-sdk/current/usr/lib:$CRAFT_STAGE/usr/lib:$CRAFT_STAGE/lib/:$CRAFT_STAGE/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
+    build-environment: &build-environment
+      - PKG_CONFIG_PATH: 
"$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/pkgconfig:/snap/ffmpeg-2404-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/pkgconfig"
+      - LD_LIBRARY_PATH: 
"/snap/mesa-2404/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/ffmpeg-2404-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kde-qt6-core24-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/libproxy:$LD_LIBRARY_PATH"
     prime:
       - -usr/lib/*/cmake/*
       - -usr/include/*
@@ -135,7 +151,7 @@
       - kf6-core24
     override-prime: |
       set -eux
-      for snap in "core24" "kf6-core24"; do
+      for snap in "core24" "kf6-core24" "ffmpeg-2404"; do
           cd "/snap/$snap/current" && find . -type f,l -exec rm -rf 
"${CRAFT_PRIME}/{}" \;
       done
 
diff -ur '--exclude=po' tokodon-25.04.0/src/account/abstractaccount.h 
tokodon-25.04.2/src/account/abstractaccount.h
--- tokodon-25.04.0/src/account/abstractaccount.h       2025-04-10 
05:11:52.000000000 +0200
+++ tokodon-25.04.2/src/account/abstractaccount.h       2025-06-03 
05:21:40.000000000 +0200
@@ -301,12 +301,14 @@
      * @param parent The parent object that calls get() or the callback 
belongs to.
      * @param callback The callback that should be executed if the request is 
successful.
      * @param errorCallback The callback that should be executed if the 
request is not successful.
+     * @param fallible Whether the request is okay with failing. If true, also 
reported in the error log.
      */
     virtual void get(const QUrl &url,
                      bool authenticated,
                      QObject *parent,
                      std::function<void(QNetworkReply *)> callback,
-                     std::function<void(QNetworkReply *)> errorCallback = 
nullptr) = 0;
+                     std::function<void(QNetworkReply *)> errorCallback = 
nullptr,
+                     bool fallible = false) = 0;
 
     /**
      * @brief Make an HTTP POST request to the server.
diff -ur '--exclude=po' tokodon-25.04.0/src/account/account.cpp 
tokodon-25.04.2/src/account/account.cpp
--- tokodon-25.04.0/src/account/account.cpp     2025-04-10 05:11:52.000000000 
+0200
+++ tokodon-25.04.2/src/account/account.cpp     2025-06-03 05:21:40.000000000 
+0200
@@ -49,9 +49,11 @@
                   bool authenticated,
                   QObject *parent,
                   std::function<void(QNetworkReply *)> reply_cb,
-                  std::function<void(QNetworkReply *)> errorCallback)
+                  std::function<void(QNetworkReply *)> errorCallback,
+                  bool fallible)
 {
     QNetworkRequest request = makeRequest(url, authenticated);
+    request.setAttribute(QNetworkRequest::Attribute::User, fallible);
     qCDebug(TOKODON_HTTP) << "GET" << url;
 
     QNetworkReply *reply = m_qnam->get(request);
@@ -178,7 +180,9 @@
 {
     connect(reply, &QNetworkReply::finished, [reply, reply_cb, 
errorCallback]() {
         reply->deleteLater();
-        if (200 != reply->attribute(QNetworkRequest::HttpStatusCodeAttribute) 
&& !reply->url().toString().contains("nodeinfo"_L1)) {
+        // these are usually (sometimes meant to be) fallible and end up 
spamming user logs with these errors
+        const auto fallible = 
reply->request().attribute(QNetworkRequest::Attribute::User).toBool();
+        if (200 != reply->attribute(QNetworkRequest::HttpStatusCodeAttribute) 
&& !fallible) {
             NetworkController::instance().logError(reply->url().toString(), 
reply->errorString());
             if (errorCallback) {
                 errorCallback(reply);
@@ -318,17 +322,26 @@
             Q_EMIT authenticated(true, {});
 
 #ifdef HAVE_KUNIFIEDPUSH
+            // Query whether or not we have a valid push subscription from the 
server.
             get(
                 apiUrl(QStringLiteral("/api/v1/push/subscription")),
                 true,
                 this,
                 [this](QNetworkReply *reply) {
+                    // If the error code is success, then we *do* have a 
subscription.
                     m_hasPushSubscription = true;
 
                     const QJsonDocument doc = 
QJsonDocument::fromJson(reply->readAll());
 
+                    // Sometimes - for some reason - we get a successful HTTP 
code but it's actually an error. Skip!
+                    if (doc.object().contains("error"_L1)) {
+                        m_hasPushSubscription = false;
+                        return;
+                    }
+
                     if (!NetworkController::instance().endpoint.isEmpty() && 
doc["endpoint"_L1] != NetworkController::instance().endpoint) {
-                        qWarning(TOKODON_LOG) << "KUnifiedPush endpoint has 
changed to" << NetworkController::instance().endpoint << ", resubscribing!";
+                        qWarning(TOKODON_LOG) << "KUnifiedPush endpoint is 
now" << NetworkController::instance().endpoint << "and the old one was"
+                                              << doc["endpoint"_L1] << 
"resubscribing!";
 
                         
deleteResource(apiUrl(QStringLiteral("/api/v1/push/subscription")), true, this, 
[this](QNetworkReply *reply) {
                             Q_UNUSED(reply)
@@ -341,9 +354,11 @@
                 },
                 [this](QNetworkReply *reply) {
                     Q_UNUSED(reply);
+                    // Otherwise, no subscription.
                     m_hasPushSubscription = false;
-                    updatePushNotifications();
-                });
+                },
+                true // otherwise it tends to spam your error log
+            );
 #endif
         },
         [this](QNetworkReply *reply) {
@@ -536,7 +551,6 @@
     addQuery(QStringLiteral("update"), cfg->notifyUpdate());
     addQuery(QStringLiteral("admin.sign_up"), cfg->notifySignup());
     addQuery(QStringLiteral("admin.report"), cfg->notifyReport());
-    addQuery(QStringLiteral("annual_report"), cfg->notifyAnnualReport());
 
     return formdata;
 }
diff -ur '--exclude=po' tokodon-25.04.0/src/account/account.h 
tokodon-25.04.2/src/account/account.h
--- tokodon-25.04.0/src/account/account.h       2025-04-10 05:11:52.000000000 
+0200
+++ tokodon-25.04.2/src/account/account.h       2025-06-03 05:21:40.000000000 
+0200
@@ -25,7 +25,8 @@
              bool authenticated,
              QObject *parent,
              std::function<void(QNetworkReply *)> callback,
-             std::function<void(QNetworkReply *)> errorCallback = nullptr) 
override;
+             std::function<void(QNetworkReply *)> errorCallback = nullptr,
+             bool fallible = false) override;
     void post(const QUrl &url,
               const QJsonDocument &doc,
               bool authenticated,
diff -ur '--exclude=po' tokodon-25.04.0/src/autotests/mockaccount.cpp 
tokodon-25.04.2/src/autotests/mockaccount.cpp
--- tokodon-25.04.0/src/autotests/mockaccount.cpp       2025-04-10 
05:11:52.000000000 +0200
+++ tokodon-25.04.2/src/autotests/mockaccount.cpp       2025-06-03 
05:21:40.000000000 +0200
@@ -34,11 +34,13 @@
                       bool authenticated,
                       QObject *parent,
                       std::function<void(QNetworkReply *)> callback,
-                      std::function<void(QNetworkReply *)> errorCallback)
+                      std::function<void(QNetworkReply *)> errorCallback,
+                      bool fallible)
 {
     Q_UNUSED(authenticated)
     Q_UNUSED(parent)
     Q_UNUSED(errorCallback)
+    Q_UNUSED(fallible)
 
     if (m_getReplies.contains(url)) {
         auto reply = m_getReplies[url];
diff -ur '--exclude=po' tokodon-25.04.0/src/autotests/mockaccount.h 
tokodon-25.04.2/src/autotests/mockaccount.h
--- tokodon-25.04.0/src/autotests/mockaccount.h 2025-04-10 05:11:52.000000000 
+0200
+++ tokodon-25.04.2/src/autotests/mockaccount.h 2025-06-03 05:21:40.000000000 
+0200
@@ -16,7 +16,8 @@
              bool authenticated,
              QObject *parent,
              std::function<void(QNetworkReply *)> callback,
-             std::function<void(QNetworkReply *)> errorCallback = nullptr) 
override;
+             std::function<void(QNetworkReply *)> errorCallback = nullptr,
+             bool fallible = false) override;
 
     void post(const QUrl &url,
               const QJsonDocument &doc,
diff -ur '--exclude=po' 
tokodon-25.04.0/src/content/ui/Components/TimelineView.qml 
tokodon-25.04.2/src/content/ui/Components/TimelineView.qml
--- tokodon-25.04.0/src/content/ui/Components/TimelineView.qml  2025-04-10 
05:11:52.000000000 +0200
+++ tokodon-25.04.2/src/content/ui/Components/TimelineView.qml  2025-06-03 
05:21:40.000000000 +0200
@@ -30,6 +30,9 @@
         if (event.key === Qt.Key_PageUp && !root.atYBeginning) {
             event.accepted = true;
             root.contentY -= height;
+            if (root.contentY < 0) {
+                root.contentY = 0;
+            }
         } else if (event.key === Qt.Key_PageDown && !root.atYEnd) {
             event.accepted = true;
             root.contentY += height;
diff -ur '--exclude=po' 
tokodon-25.04.0/src/content/ui/ModerationTools/AccountToolPage.qml 
tokodon-25.04.2/src/content/ui/ModerationTools/AccountToolPage.qml
--- tokodon-25.04.0/src/content/ui/ModerationTools/AccountToolPage.qml  
2025-04-10 05:11:52.000000000 +0200
+++ tokodon-25.04.2/src/content/ui/ModerationTools/AccountToolPage.qml  
2025-06-03 05:21:40.000000000 +0200
@@ -233,7 +233,7 @@
             implicitWidth: ListView.view.width
             Layout.fillWidth: true
 
-            onClicked: 
applicationWindow().pageStack.layers.push(Qt.createComponent("org.kde.tokodon", 
"MainAccountToolPage"), {
+            onClicked: 
root.QQC2.ApplicationWindow.window.pageStack.layers.push(Qt.createComponent("org.kde.tokodon",
 "MainAccountToolPage"), {
                 identity: delegate.identity,
                 index: delegate.index,
                 model: accountView.model
diff -ur '--exclude=po' 
tokodon-25.04.0/src/content/ui/ModerationTools/FederationToolPage.qml 
tokodon-25.04.2/src/content/ui/ModerationTools/FederationToolPage.qml
--- tokodon-25.04.0/src/content/ui/ModerationTools/FederationToolPage.qml       
2025-04-10 05:11:52.000000000 +0200
+++ tokodon-25.04.2/src/content/ui/ModerationTools/FederationToolPage.qml       
2025-06-03 05:21:40.000000000 +0200
@@ -258,7 +258,7 @@
             width: ListView.view.width
 
             onClicked: if (root.isDomainBlock) {
-               
applicationWindow().pageStack.layers.push(Qt.createComponent("org.kde.tokodon", 
"MainFederationToolPage"), {
+               
root.QQC2.ApplicationWindow.window.pageStack.layers.push(Qt.createComponent("org.kde.tokodon",
 "MainFederationToolPage"), {
                     index: delegate.index,
                     model: federationView.model,
                     id: delegate.id,
diff -ur '--exclude=po' 
tokodon-25.04.0/src/content/ui/ModerationTools/IpRulePage.qml 
tokodon-25.04.2/src/content/ui/ModerationTools/IpRulePage.qml
--- tokodon-25.04.0/src/content/ui/ModerationTools/IpRulePage.qml       
2025-04-10 05:11:52.000000000 +0200
+++ tokodon-25.04.2/src/content/ui/ModerationTools/IpRulePage.qml       
2025-06-03 05:21:40.000000000 +0200
@@ -163,7 +163,7 @@
 
             width: ListView.view.width
 
-            onClicked: 
applicationWindow().pageStack.layers.push(Qt.createComponent("org.kde.tokodon", 
"MainIpRulePage"),
+            onClicked: 
root.QQC2.ApplicationWindow.window.pageStack.layers.push(Qt.createComponent("org.kde.tokodon",
 "MainIpRulePage"),
                     {
                         index: delegate.index,
                         model: ipRuleView.model,
diff -ur '--exclude=po' 
tokodon-25.04.0/src/content/ui/Settings/NotificationsPage.qml 
tokodon-25.04.2/src/content/ui/Settings/NotificationsPage.qml
--- tokodon-25.04.0/src/content/ui/Settings/NotificationsPage.qml       
2025-04-10 05:11:52.000000000 +0200
+++ tokodon-25.04.2/src/content/ui/Settings/NotificationsPage.qml       
2025-06-03 05:21:40.000000000 +0200
@@ -41,6 +41,7 @@
             onToggled: {
                 root.config.enableNotifications = checked;
                 root.saveConfig();
+                root.account.updatePushNotifications();
             }
         }
     }
diff -ur '--exclude=po' tokodon-25.04.0/src/tokodon.notifyrc 
tokodon-25.04.2/src/tokodon.notifyrc
--- tokodon-25.04.0/src/tokodon.notifyrc        2025-04-10 05:11:52.000000000 
+0200
+++ tokodon-25.04.2/src/tokodon.notifyrc        2025-06-03 05:21:40.000000000 
+0200
@@ -649,11 +649,13 @@
 Name[fr]=Rapport annuel
 Name[gl]=Informe anual
 Name[he]=דוח שנתי
+Name[hu]=Éves jelentés
 Name[it]=Resoconto annuale
 Name[ka]=წლიური ანგარიში
 Name[ko]=연간 보고
 Name[lv]=Ikgadējais ziņojums
 Name[nl]=Jaarlijks rapport
+Name[nn]=Årsrapport
 Name[pl]=Roczne sprawozdanie
 Name[ru]=Годовой отчёт
 Name[sa]=वार्षिक प्रतिवेदन
@@ -675,20 +677,23 @@
 Comment[fr]=Dévoilez les moments forts et mémorables de l'année dans le 
Fediverse !
 Comment[gl]=Revele o salientábel e memorábel do seu último ano no Fediverso!
 Comment[he]=חשיפת הרגעים הבלתי נשכחים מהשנה שחלפה בפדיברס!
+Comment[hu]=Mutassa be az év fénypontjait és emlékezetes pillanatait a 
Fediverse-en!
 Comment[it]=Scopri i momenti più belli e memorabili del tuo anno sul Fediverso!
 Comment[ka]=გამოაქვეყნეთ თქვენი წლის მაჩვენებლები და დასამახსოვრებელი 
მომენტები Fediverse-ზე!
 Comment[ko]=연합우주에서의 올해의 하이라이트와 기억에 남는 순간을 발견하세요!
 Comment[lv]=Apskati savus gada Fediversa spilgtākos un atmiņā paliekošākos 
brīžus!
 Comment[nl]=Onthul de hoogtepunten en memorabele momenten van uw jaar op 
Fediverse!
+Comment[nn]=Vis årets høgdepunkt og minneverdige augneblink på Allheimen!
 Comment[pl]=Udostępnij swoje wyróżnione wydarzenia i pamiętne chwile na 
Fediverse!
 Comment[ru]=Ваши самые яркие события и незабываемые моменты в Fediverse за год
 Comment[sa]=Fediverse इत्यत्र स्वस्य वर्षस्य मुख्यविषयाणां स्मरणीयक्षणानाञ्च 
अनावरणं कुर्वन्तु!
 Comment[sl]=Razkrijte vrhunce svojega leta in nepozabne trenutke na Fediverse!
-Comment[sq]=Zbuloni gjërat në pah dhe çastet e paharrueshme të vitit në 
Fedivers!
+Comment[sq]=Zbuloni kulmet tuaja për vitin dhe çaste të paharrueshme në 
Fedivers!
 Comment[sv]=Avslöja årets höjdpunkter och minnesvärda ögonblick på Fediverse.
 Comment[tr]=Mastodon’da geçtiğimiz yılın önemli noktalarını ve unutulmaz 
anlarını ortaya çıkarın!
 Comment[uk]=Ознайомтеся із акцентами року та незабутніми моментами у Fediverse!
 Comment[x-test]=xxUnveil your year's highlights and memorable moments on the 
Fediverse!xx
+Comment[zh_TW]=發現您今年在聯邦宇宙上的精選與回憶時光吧!
 Action=Popup
 
 [Event/other]
@@ -704,16 +709,18 @@
 Name[fr]=Autre
 Name[gl]=Outras
 Name[he]=אחר
+Name[hu]=Egyéb
 Name[it]=Altro
 Name[ka]=სხვა
 Name[ko]=기타
 Name[lv]=Citi
 Name[nl]=Overige
+Name[nn]=Andre
 Name[pl]=Inne
 Name[ru]=Прочее
 Name[sa]=अन्ये
 Name[sl]=Druge
-Name[sq]=Të tjera
+Name[sq]=Tjetër
 Name[sv]=Övriga
 Name[tr]=Diğer
 Name[uk]=Інше
@@ -730,11 +737,13 @@
 Comment[fr]=Notifications ne correspondant à aucune autre catégorie
 Comment[gl]=Notificacións que non casan noutras categorías.
 Comment[he]=התראות שלא מתאימות לקטגוריות אחרות
+Comment[hu]=Más kategóriákba nem illő értesítések
 Comment[it]=Notifiche che non rientrano in altre categorie
 Comment[ka]=შეტყობინებები, რომლებიც არ ჯდება სხვა კატეგორიებში
 Comment[ko]=다른 모든 분류에 포함되지 않는 알림
 Comment[lv]=Paziņojumi, kas neietilpst citā kategorijās.
 Comment[nl]=Meldingen die niet passen in andere categorieën
+Comment[nn]=Varslingar som ikkje passar i andre kategoriar
 Comment[pl]=Powiadomienia, które nie pasują do żadnej z pozostałych kategorii
 Comment[ru]=Уведомления, которые не попадают в другие категории
 Comment[sa]=अन्येषु वर्गेषु न उपयुज्यन्ते ये सूचनाः

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply via email to