From 1be6796247bad16146103680a6c38dfc2f7efd45 Mon Sep 17 00:00:00 2001 From: Adam Setch Date: Thu, 20 Feb 2025 11:15:27 -0500 Subject: [PATCH] fix: change filter logic to avoid early returning Signed-off-by: Adam Setch --- .../utils/notifications/filters/filter.ts | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/src/renderer/utils/notifications/filters/filter.ts b/src/renderer/utils/notifications/filters/filter.ts index a14698709..c3872a50f 100644 --- a/src/renderer/utils/notifications/filters/filter.ts +++ b/src/renderer/utils/notifications/filters/filter.ts @@ -13,33 +13,43 @@ export function filterNotifications( settings: SettingsState, ): Notification[] { return notifications.filter((notification) => { + let passesFilters = true; + if (settings.detailedNotifications) { if (hasUserTypeFilters(settings)) { - return settings.filterUserTypes.some((userType) => - filterNotificationByUserType(notification, userType), - ); + passesFilters = + passesFilters && + settings.filterUserTypes.some((userType) => + filterNotificationByUserType(notification, userType), + ); } if (hasIncludeHandleFilters(settings)) { - return settings.filterIncludeHandles.some((handle) => - filterNotificationByHandle(notification, handle), - ); + passesFilters = + passesFilters && + settings.filterIncludeHandles.some((handle) => + filterNotificationByHandle(notification, handle), + ); } if (hasExcludeHandleFilters(settings)) { - return !settings.filterExcludeHandles.some((handle) => - filterNotificationByHandle(notification, handle), - ); + passesFilters = + passesFilters && + !settings.filterExcludeHandles.some((handle) => + filterNotificationByHandle(notification, handle), + ); } } if (hasReasonFilters(settings)) { - return settings.filterReasons.some((reason) => - filterNotificationByReason(notification, reason), - ); + passesFilters = + passesFilters && + settings.filterReasons.some((reason) => + filterNotificationByReason(notification, reason), + ); } - return true; + return passesFilters; }); }