Skip to content

Commit

Permalink
Bugfix. Remove seen call notifications from the list.
Browse files Browse the repository at this point in the history
Signed-off-by: alex-z <[email protected]>
  • Loading branch information
allexzander committed Mar 22, 2024
1 parent 0312a1f commit 86f572d
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 9 deletions.
4 changes: 3 additions & 1 deletion src/gui/tray/activitylistmodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -688,7 +688,9 @@ void ActivityListModel::checkAndRemoveSeenActivities(const OCC::ActivityList &ne
{
ActivityList activitiesToRemove;
for (const auto &activity : _finalList) {
if (activity._objectType == QStringLiteral("chat") && !newActivities.contains(activity)) {
const auto isTalkActiity = activity._objectType == QStringLiteral("chat") ||
activity._objectType == QStringLiteral("call");
if (isTalkActiity && !newActivities.contains(activity)) {
activitiesToRemove.push_back(activity);
}
}
Expand Down
13 changes: 7 additions & 6 deletions src/gui/tray/usermodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,12 +119,12 @@ bool User::canShowNotification(const long notificationId)
!notificationAlreadyShown(notificationId);
}

void User::checkAndRemoveSeenActivities(const ActivityList &list, const int numChatNotificationsReceived)
void User::checkAndRemoveSeenActivities(const ActivityList &list, const int numTalkNotificationsReceived)

Check warning on line 122 in src/gui/tray/usermodel.cpp

View workflow job for this annotation

GitHub Actions / build

src/gui/tray/usermodel.cpp:122:41 [bugprone-easily-swappable-parameters]

2 adjacent parameters of 'checkAndRemoveSeenActivities' of similar type are easily swapped by mistake
{
if (numChatNotificationsReceived < _lastChatNotificationsReceivedCount) {
if (numTalkNotificationsReceived < _lastTalkNotificationsReceivedCount) {
_activityModel->checkAndRemoveSeenActivities(list);
}
_lastChatNotificationsReceivedCount = numChatNotificationsReceived;
_lastTalkNotificationsReceivedCount = numTalkNotificationsReceived;
}

void User::showDesktopNotification(const QString &title, const QString &message, const long notificationId)
Expand Down Expand Up @@ -205,10 +205,11 @@ void User::showDesktopTalkNotification(const Activity &activity)

void User::slotBuildNotificationDisplay(const ActivityList &list)
{
const auto chatNotificationsReceivedCount = std::count_if(std::cbegin(list), std::cend(list), [](const auto &activity) {
return activity._objectType == QStringLiteral("chat");
const auto talkNotificationsReceivedCount = std::count_if(std::cbegin(list), std::cend(list), [](const auto &activity) {
return activity._objectType == QStringLiteral("chat") ||
activity._objectType == QStringLiteral("call");
});
checkAndRemoveSeenActivities(list, chatNotificationsReceivedCount);
checkAndRemoveSeenActivities(list, talkNotificationsReceivedCount);

ActivityList toNotifyList;

Expand Down
4 changes: 2 additions & 2 deletions src/gui/tray/usermodel.h
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ private slots:
bool notificationAlreadyShown(const long notificationId);
bool canShowNotification(const long notificationId);

void checkAndRemoveSeenActivities(const ActivityList &list, const int numChatNotificationsReceived);
void checkAndRemoveSeenActivities(const ActivityList &list, const int numTalkNotificationsReceived);

AccountStatePtr _account;
bool _isCurrentUser;
Expand All @@ -188,7 +188,7 @@ private slots:
// no query for notifications is started.
int _notificationRequestsRunning = 0;

int _lastChatNotificationsReceivedCount = 0;
int _lastTalkNotificationsReceivedCount = 0;

bool _isNotificationFetchRunning = false;
};
Expand Down

0 comments on commit 86f572d

Please sign in to comment.