From 5c01b5df5c4a36097682220b53ad686966dd5077 Mon Sep 17 00:00:00 2001 From: Afonso Jorge Ramos Date: Tue, 30 Dec 2025 04:21:55 +0100 Subject: [PATCH 1/3] feat: add 'Show read notifications' setting (#708) --- src/renderer/__mocks__/state-mocks.ts | 1 + .../settings/NotificationSettings.test.tsx | 16 +++++ .../settings/NotificationSettings.tsx | 21 +++++++ src/renderer/context/defaults.ts | 1 + .../__snapshots__/Settings.test.tsx.snap | 61 +++++++++++++++++-- src/renderer/types.ts | 1 + .../notifications/filters/filter.test.ts | 28 +++++++++ .../utils/notifications/filters/filter.ts | 5 ++ 8 files changed, 128 insertions(+), 6 deletions(-) diff --git a/src/renderer/__mocks__/state-mocks.ts b/src/renderer/__mocks__/state-mocks.ts index 63ad1f1c0..9d05eff33 100644 --- a/src/renderer/__mocks__/state-mocks.ts +++ b/src/renderer/__mocks__/state-mocks.ts @@ -43,6 +43,7 @@ const mockNotificationSettings: NotificationSettingsState = { showPills: true, showNumber: true, participating: false, + showReadNotifications: true, markAsDoneOnOpen: false, markAsDoneOnUnsubscribe: false, delayNotificationState: false, diff --git a/src/renderer/components/settings/NotificationSettings.test.tsx b/src/renderer/components/settings/NotificationSettings.test.tsx index 648bf8c76..3fc3650a3 100644 --- a/src/renderer/components/settings/NotificationSettings.test.tsx +++ b/src/renderer/components/settings/NotificationSettings.test.tsx @@ -271,6 +271,22 @@ describe('renderer/components/settings/NotificationSettings.tsx', () => { ); }); + it('should toggle the showReadNotifications checkbox', async () => { + await act(async () => { + renderWithAppContext(, { + updateSetting: updateSettingMock, + }); + }); + + await userEvent.click(screen.getByTestId('checkbox-showReadNotifications')); + + expect(updateSettingMock).toHaveBeenCalledTimes(1); + expect(updateSettingMock).toHaveBeenCalledWith( + 'showReadNotifications', + false, + ); + }); + it('should toggle the markAsDoneOnOpen checkbox', async () => { await act(async () => { renderWithAppContext(, { diff --git a/src/renderer/components/settings/NotificationSettings.tsx b/src/renderer/components/settings/NotificationSettings.tsx index 66bb02de7..7e1c170c1 100644 --- a/src/renderer/components/settings/NotificationSettings.tsx +++ b/src/renderer/components/settings/NotificationSettings.tsx @@ -328,6 +328,27 @@ export const NotificationSettings: FC = () => { } /> + + updateSetting('showReadNotifications', evt.target.checked) + } + tooltip={ + + + When checked, {APPLICATION.NAME} will + display both read and unread notifications. + + + When unchecked, {APPLICATION.NAME} will only + display unread notifications. + + + } + /> + +
+ + + +
- -