]> git.mxchange.org Git - friendica.git/commitdiff
Don't create empty announce notifications
authorMichael <heluecht@pirati.ca>
Sat, 19 Mar 2022 17:53:41 +0000 (17:53 +0000)
committerMichael <heluecht@pirati.ca>
Sat, 19 Mar 2022 17:53:41 +0000 (17:53 +0000)
src/Model/Post/UserNotification.php
src/Navigation/Notifications/Repository/Notification.php

index 0873646a41bd59c385f82a145199d64d9b85f252..f4e700f0bc9d8ed75c240102688408201a321ba4 100644 (file)
@@ -220,7 +220,7 @@ class UserNotification
                        return;
                }
 
-               if (self::checkExplicitMention($item, $profiles)) {
+               if (($item['verb'] != Activity::ANNOUNCE) && self::checkExplicitMention($item, $profiles)) {
                        $notification_type = $notification_type | self::TYPE_EXPLICIT_TAGGED;
                        if (!$notified) {
                                self::insertNotificationByItem(self::TYPE_EXPLICIT_TAGGED, $uid, $item);
@@ -228,7 +228,7 @@ class UserNotification
                        }
                }
 
-               if (self::checkImplicitMention($item, $profiles)) {
+               if (($item['verb'] != Activity::ANNOUNCE) && self::checkImplicitMention($item, $profiles)) {
                        $notification_type = $notification_type | self::TYPE_IMPLICIT_TAGGED;
                        if (!$notified) {
                                self::insertNotificationByItem(self::TYPE_IMPLICIT_TAGGED, $uid, $item);
@@ -252,7 +252,7 @@ class UserNotification
                        }
                }
 
-               if (self::checkCommentedThread($item, $contacts)) {
+               if (($item['verb'] != Activity::ANNOUNCE) && self::checkCommentedThread($item, $contacts)) {
                        $notification_type = $notification_type | self::TYPE_THREAD_COMMENT;
                        if (!$notified) {
                                self::insertNotificationByItem(self::TYPE_THREAD_COMMENT, $uid, $item);
@@ -260,7 +260,7 @@ class UserNotification
                        }
                }
 
-               if (self::checkCommentedParticipation($item, $contacts)) {
+               if (($item['verb'] != Activity::ANNOUNCE) && self::checkCommentedParticipation($item, $contacts)) {
                        $notification_type = $notification_type | self::TYPE_COMMENT_PARTICIPATION;
                        if (!$notified) {
                                self::insertNotificationByItem(self::TYPE_COMMENT_PARTICIPATION, $uid, $item);
@@ -268,7 +268,7 @@ class UserNotification
                        }
                }
 
-               if (self::checkActivityParticipation($item, $contacts)) {
+               if (($item['verb'] != Activity::ANNOUNCE) && self::checkActivityParticipation($item, $contacts)) {
                        $notification_type = $notification_type | self::TYPE_ACTIVITY_PARTICIPATION;
                        if (!$notified) {
                                self::insertNotificationByItem(self::TYPE_ACTIVITY_PARTICIPATION, $uid, $item);
index 8df93a005805055dcaa0e07be1fb1243540e990f..7c3a65fc090c61d0f47f72f7dd60b1a3cb587262 100644 (file)
@@ -138,8 +138,7 @@ class Notification extends BaseRepository
         */
        public function selectDigestForUser(int $uid): Collection\Notifications
        {
-               $values = [$uid, Verb::getID(\Friendica\Protocol\Activity::ANNOUNCE),
-                       UserNotification::TYPE_COMMENT_PARTICIPATION, UserNotification::TYPE_ACTIVITY_PARTICIPATION, UserNotification::TYPE_THREAD_COMMENT];
+               $values = [$uid];
 
                $like_condition = '';
                if (!$this->pconfig->get($uid, 'system', 'notify_like')) {
@@ -159,7 +158,7 @@ class Notification extends BaseRepository
                WHERE `id` IN (
                    SELECT MAX(`id`)
                    FROM `notification`
-                   WHERE `uid` = ? AND NOT (`vid` = ? AND `type` IN (?, ?, ?))
+                   WHERE `uid` = ?
                    $like_condition
                    $announce_condition
                    GROUP BY IFNULL(`parent-uri-id`, `actor-id`)