From: Camila Date: Wed, 11 May 2022 20:05:28 +0000 (+0200) Subject: Do not add a second DELETE to the list of actions in one notification. X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~15^2~207^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9c63615a787793243d010941780a7dd5c2c0f898;p=nextcloud-desktop.git Do not add a second DELETE to the list of actions in one notification. Signed-off-by: Camila --- diff --git a/src/gui/tray/notificationhandler.cpp b/src/gui/tray/notificationhandler.cpp index 3be035a10..b429093ad 100644 --- a/src/gui/tray/notificationhandler.cpp +++ b/src/gui/tray/notificationhandler.cpp @@ -149,12 +149,17 @@ void ServerNotificationHandler::slotNotificationsReceived(const QJsonDocument &j // Add another action to dismiss notification on server // https://github.com/owncloud/notifications/blob/master/docs/ocs-endpoint-v1.md#deleting-a-notification-for-a-user - ActivityLink al; - al._label = tr("Dismiss"); - al._link = Utility::concatUrlPath(ai->account()->url(), notificationsPath + "/" + QString::number(a._id)).toString(); - al._verb = "DELETE"; - al._primary = false; - a._links.append(al); + constexpr auto deleteVerb = "DELETE"; + if (std::find_if(std::cbegin(a._links), std::cend(a._links), [](const ActivityLink& link) { + return link._verb == deleteVerb; + }) == std::cend(a._links)) { + ActivityLink al; + al._label = tr("Dismiss"); + al._link = Utility::concatUrlPath(ai->account()->url(), notificationsPath + "/" + QString::number(a._id)).toString(); + al._verb = deleteVerb; + al._primary = false; + a._links.append(al); + } list.append(a); }