From 0faee8d8139ba4172fdcb85e128d738eb68afc43 Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Fri, 3 Jul 2026 13:26:32 +0100 Subject: [PATCH 1/7] Make the Unreads filter obey the 'Notifications.showbold' setting This is based on #32902 but I chatted with Danielle and we thought that maybe the second checkbox was not needed: if the user chose "Show all activity in the room list (dots or number of unread messages)" then I argue that the user wants to see rooms with dots when they turn on the Unreads filter. --- .../skip-list/filters/UnreadFilter.ts | 10 +++- .../room-list-v3/RoomListStoreV3-test.ts | 46 ++++++++++++++++++- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/apps/web/src/stores/room-list-v3/skip-list/filters/UnreadFilter.ts b/apps/web/src/stores/room-list-v3/skip-list/filters/UnreadFilter.ts index 0c6100eb131..094f95bb141 100644 --- a/apps/web/src/stores/room-list-v3/skip-list/filters/UnreadFilter.ts +++ b/apps/web/src/stores/room-list-v3/skip-list/filters/UnreadFilter.ts @@ -8,10 +8,18 @@ import type { Room } from "matrix-js-sdk/src/matrix"; import { type Filter, FilterEnum } from "."; import { RoomNotificationStateStore } from "../../../notifications/RoomNotificationStateStore"; import { getMarkedUnreadState } from "../../../../utils/notifications"; +import SettingsStore from "../../../../settings/SettingsStore"; export class UnreadFilter implements Filter { public matches(room: Room): boolean { - return RoomNotificationStateStore.instance.getRoomState(room).hasUnreadCount || !!getMarkedUnreadState(room); + // If the user marked this room as unread, it's unread + if (getMarkedUnreadState(room)) { + return true; + } + + const showBold = SettingsStore.getValue("Notifications.showbold"); + const notifState = RoomNotificationStateStore.instance.getRoomState(room); + return showBold ? notifState.hasAnyNotificationOrActivity : notifState.hasUnreadCount; } public get key(): FilterEnum.UnreadFilter { diff --git a/apps/web/test/unit-tests/stores/room-list-v3/RoomListStoreV3-test.ts b/apps/web/test/unit-tests/stores/room-list-v3/RoomListStoreV3-test.ts index 73e1ec82d6a..d0c4f379209 100644 --- a/apps/web/test/unit-tests/stores/room-list-v3/RoomListStoreV3-test.ts +++ b/apps/web/test/unit-tests/stores/room-list-v3/RoomListStoreV3-test.ts @@ -593,7 +593,10 @@ describe("RoomListStoreV3", () => { } }); - it("supports filtering unread rooms", async () => { + it("supports filtering unread rooms when showbold is off", async () => { + // Ensure that Notifications.showbold is off + jest.spyOn(SettingsStore, "getValue").mockImplementation(() => false); + const { client, rooms } = getClientAndRooms(); // Let's choose 5 rooms to put in space const { spaceRoom, roomIds } = createSpace(rooms, [6, 8, 13, 27, 75], client); @@ -601,7 +604,47 @@ describe("RoomListStoreV3", () => { // Let's say 8, 27 are unread jest.spyOn(RoomNotificationStateStore.instance, "getRoomState").mockImplementation((room) => { const state = { + // This should be used, because showbold is off hasUnreadCount: [rooms[8], rooms[27]].includes(room), + + // This should not be used + hasAnyNotificationOrActivity: false, + } as unknown as RoomNotificationState; + return state; + }); + + setupMocks(spaceRoom, roomIds); + const store = new RoomListStoreV3Class(dispatcher); + await store.start(); + + // Should only give us rooms at index 8 and 27 + const result = store + .getSortedRoomsInActiveSpace([FilterEnum.UnreadFilter]) + .sections.flatMap((s) => s.rooms); + expect(result).toHaveLength(2); + for (const i of [8, 27]) { + expect(result).toContain(rooms[i]); + } + }); + + it("supports filtering unread rooms when showbold is on", async () => { + // Ensure that Notifications.showbold is on + jest.spyOn(SettingsStore, "getValue").mockImplementation((setting: string) => { + return setting === "Notifications.showbold"; + }); + + const { client, rooms } = getClientAndRooms(); + // Let's choose 5 rooms to put in space + const { spaceRoom, roomIds } = createSpace(rooms, [6, 8, 13, 27, 75], client); + + // Let's say 8, 27 are unread + jest.spyOn(RoomNotificationStateStore.instance, "getRoomState").mockImplementation((room) => { + const state = { + // This should be used, because showbold is off + hasUnreadCount: false, + + // This should not be used + hasAnyNotificationOrActivity: [rooms[8], rooms[27]].includes(room), } as unknown as RoomNotificationState; return state; }); @@ -777,6 +820,7 @@ describe("RoomListStoreV3", () => { jest.spyOn(RoomNotificationStateStore.instance, "getRoomState").mockImplementation((room) => { const state = { hasUnreadCount: [rooms[8], rooms[27]].includes(room), + hasAnyNotificationOrActivity: [rooms[8], rooms[27]].includes(room), } as unknown as RoomNotificationState; return state; }); From d019e5b80c5673732443f3da45283fbb79640d31 Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Fri, 3 Jul 2026 14:32:26 +0100 Subject: [PATCH 2/7] Update the room list filters when the showbold setting is changed --- .../stores/room-list-v3/RoomListStoreV3.ts | 11 ++++++ .../room-list-v3/RoomListStoreV3-test.ts | 34 +++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/apps/web/src/stores/room-list-v3/RoomListStoreV3.ts b/apps/web/src/stores/room-list-v3/RoomListStoreV3.ts index 200abab9be4..b8d13e221e4 100644 --- a/apps/web/src/stores/room-list-v3/RoomListStoreV3.ts +++ b/apps/web/src/stores/room-list-v3/RoomListStoreV3.ts @@ -136,6 +136,7 @@ export class RoomListStoreV3Class extends AsyncStoreWithClient { }); SpaceStore.instance.on(UPDATE_HOME_BEHAVIOUR, () => this.onActiveSpaceChanged()); SettingsStore.watchSetting("RoomList.OrderedCustomSections", null, () => this.onOrderedCustomSectionsChange()); + SettingsStore.watchSetting("Notifications.showbold", null, () => this.onShowBoldChange()); this.loadCustomSections(); SettingsStore.watchSetting("RoomList.showSections", null, () => this.scheduleEmit()); @@ -517,6 +518,16 @@ export class RoomListStoreV3Class extends AsyncStoreWithClient { this.scheduleEmit(); } + /** + * Handle changes to the showbold setting. + * Updates the skip list filters to reflect the new setting and emits an update. + * Emit {@link LISTS_UPDATE_EVENT}. + */ + private onShowBoldChange(): void { + this.roomSkipList?.useNewFilters(this.getSkipListFilters()); + this.scheduleEmit(); + } + /** * Create a new section. * Emits {@link SECTION_CREATED_EVENT} if the section was successfully created. diff --git a/apps/web/test/unit-tests/stores/room-list-v3/RoomListStoreV3-test.ts b/apps/web/test/unit-tests/stores/room-list-v3/RoomListStoreV3-test.ts index d0c4f379209..e6b35ee2047 100644 --- a/apps/web/test/unit-tests/stores/room-list-v3/RoomListStoreV3-test.ts +++ b/apps/web/test/unit-tests/stores/room-list-v3/RoomListStoreV3-test.ts @@ -869,6 +869,40 @@ describe("RoomListStoreV3", () => { store.getSortedRoomsInActiveSpace([FilterEnum.InvitesFilter]).sections.flatMap((s) => s.rooms), ).toContain(room); }); + + it("updates filters when showbold setting changes", async () => { + // Given one room is "bold" (unread) and one has a notification + const { store, rooms } = await getRoomListStore(); + jest.spyOn(RoomNotificationStateStore.instance, "getRoomState").mockImplementation((room) => { + const state = { + // Only 27 has notifications + hasUnreadCount: [rooms[27]].includes(room), + // But both 8 and 27 have unread messages (bold) + hasAnyNotificationOrActivity: [rooms[8], rooms[27]].includes(room), + } as unknown as RoomNotificationState; + return state; + }); + + // When showbold is set to true + await SettingsStore.setValue("Notifications.showbold", null, SettingLevel.DEVICE, true); + + // Then both rooms are in the room list + const showboldRooms = store + .getSortedRoomsInActiveSpace([FilterEnum.UnreadFilter]) + .sections.flatMap((s) => s.rooms); + expect(showboldRooms).toContain(rooms[27]); + expect(showboldRooms).toContain(rooms[8]); + + // But when showbold is set to false + await SettingsStore.setValue("Notifications.showbold", null, SettingLevel.DEVICE, false); + + // Then only the room with a notification is in the room list + const noShowboldRooms = store + .getSortedRoomsInActiveSpace([FilterEnum.UnreadFilter]) + .sections.flatMap((s) => s.rooms); + expect(noShowboldRooms).toContain(rooms[27]); + expect(noShowboldRooms).not.toContain(rooms[8]); + }); }); describe("getServerNoticeRooms", () => { From 5dc75f2545568ea8c713e541d4d1549bf1effa0b Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Fri, 3 Jul 2026 15:34:04 +0100 Subject: [PATCH 3/7] Playwright test for showing rooms with activity when showbold is set --- .../room-list-filter-sort.spec.ts | 84 +++++++++++------- .../unread-dm-linux.png | Bin 2854 -> 0 bytes 2 files changed, 54 insertions(+), 30 deletions(-) delete mode 100644 apps/web/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/unread-dm-linux.png diff --git a/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts b/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts index 2ac857c7ce6..cb35d02b43f 100644 --- a/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts +++ b/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts @@ -12,6 +12,7 @@ import { closeReleaseAnnouncement, rejectToast } from "@element-hq/element-web-p import { expect, test } from "../../../element-web-test"; import { SettingLevel } from "../../../../src/settings/SettingLevel"; import { getFilterCollapseButton, getFilterExpandButton, getPrimaryFilters, getRoomOptionsMenu } from "./utils"; +import { type ElementAppPage } from "../../../pages/ElementAppPage"; test.describe("Room list filters and sort", () => { test.use({ @@ -30,6 +31,20 @@ test.describe("Room list filters and sort", () => { return page.getByTestId("room-list"); } + async function setShowBold(page: Page, app: ElementAppPage, showbold: boolean) { + await app.settings.openUserSettings("Notifications"); + + const showAllActivity = page.getByRole("switch", { name: "Show all activity in the room list", exact: false }); + + if (showbold) { + await showAllActivity.check(); + } else { + await showAllActivity.uncheck(); + } + + await app.settings.closeDialog(); + } + test.beforeEach(async ({ page, app, bot, user }) => { // The toasts are displayed above the search section await rejectToast(page, "Verify this device"); @@ -204,36 +219,45 @@ test.describe("Room list filters and sort", () => { await expect(primaryFilters.locator("role=option").first()).toHaveText("Invites"); }); - test( - "unread filter should only match unread rooms that have a count", - { tag: "@screenshot" }, - async ({ page, app, bot }) => { - const roomListView = getRoomList(page); - const primaryFilters = getPrimaryFilters(page); - - // Let's configure unread dm room so that we only get notification for mentions and keywords - await app.viewRoomById(unReadDmId); - await app.settings.openRoomSettings("Notifications"); - await page.getByText("@mentions & keywords").click(); - await app.settings.closeDialog(); - - // Let's open a room other than unread room or unread dm - await roomListView.getByRole("button", { name: "Open room favourite room" }).click(); - - // Let's make the bot send a new message in both rooms - await bot.sendMessage(unReadDmId, "Hello!"); - await bot.sendMessage(unReadRoomId, "Hello!"); - - // Let's activate the unread filter now - await primaryFilters.getByRole("option", { name: "Unread" }).click(); - - // Unread filter should only show unread room and not unread dm! - const unreadDm = roomListView.getByRole("option", { name: "Open room unread room" }); - await expect(unreadDm).toBeVisible(); - await expect(unreadDm).toMatchScreenshot("unread-dm.png"); - await expect(roomListView.getByRole("option", { name: "Open room unread dm" })).not.toBeVisible(); - }, - ); + test("unread filter should obey the showbold setting", async ({ page, app, bot }) => { + const roomListView = getRoomList(page); + const primaryFilters = getPrimaryFilters(page); + + // Set the "showbold" setting to off + await setShowBold(page, app, false); + + // The unread DM room only notifies for mentions and keywords + await app.viewRoomById(unReadDmId); + await app.settings.openRoomSettings("Notifications"); + await page.getByText("@mentions & keywords").click(); + await app.settings.closeDialog(); + + // (The unread non-DM room still notifies for all activity) + + // Open some other room + await roomListView.getByRole("button", { name: "Open room favourite room" }).click(); + + // Send a message in the unread DM room and the unread non-DM room + await bot.sendMessage(unReadDmId, "Hello!"); + await bot.sendMessage(unReadRoomId, "Hello!"); + + // Turn the "Unreads" filter on + await primaryFilters.getByRole("option", { name: "Unreads" }).click(); + + const unreadRoom = roomListView.getByRole("option", { name: "Open room unread room" }); + const unreadDm = roomListView.getByRole("option", { name: "Open room unread dm" }); + + // Only the unread room is visible. The DM room is hidden. + await expect(unreadRoom).toBeVisible(); + await expect(unreadDm).not.toBeVisible(); + + // Now set "showbold" to on + await setShowBold(page, app, true); + + // Now both unread rooms are visible + await expect(unreadRoom).toBeVisible(); + await expect(unreadDm).toBeVisible(); + }); test("should sort the room list alphabetically", async ({ page }) => { const roomListView = getRoomList(page); diff --git a/apps/web/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/unread-dm-linux.png b/apps/web/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/unread-dm-linux.png deleted file mode 100644 index e1f451d12113ae5c1539cbb553861a688e648245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2854 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 Ef=3&FTL1t6 From 4986bc50f0669ca85e2cb97787ab7a5a1d52196f Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Tue, 7 Jul 2026 16:41:25 +0100 Subject: [PATCH 4/7] In Playwright showbold test, set the setting directly instead of clicking it --- .../left-panel/room-list-panel/room-list-filter-sort.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts b/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts index cb35d02b43f..d64750d04af 100644 --- a/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts +++ b/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts @@ -224,7 +224,7 @@ test.describe("Room list filters and sort", () => { const primaryFilters = getPrimaryFilters(page); // Set the "showbold" setting to off - await setShowBold(page, app, false); + await app.settings.setValue("Notifications.showbold", null, SettingLevel.ACCOUNT, false); // The unread DM room only notifies for mentions and keywords await app.viewRoomById(unReadDmId); @@ -252,7 +252,7 @@ test.describe("Room list filters and sort", () => { await expect(unreadDm).not.toBeVisible(); // Now set "showbold" to on - await setShowBold(page, app, true); + await app.settings.setValue("Notifications.showbold", null, SettingLevel.ACCOUNT, true); // Now both unread rooms are visible await expect(unreadRoom).toBeVisible(); From e874c56eb7627338d7d2e97e3bd057f796fffe38 Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Tue, 7 Jul 2026 16:46:23 +0100 Subject: [PATCH 5/7] Remove unused function --- .../room-list-panel/room-list-filter-sort.spec.ts | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts b/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts index d64750d04af..721bbe95149 100644 --- a/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts +++ b/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts @@ -31,20 +31,6 @@ test.describe("Room list filters and sort", () => { return page.getByTestId("room-list"); } - async function setShowBold(page: Page, app: ElementAppPage, showbold: boolean) { - await app.settings.openUserSettings("Notifications"); - - const showAllActivity = page.getByRole("switch", { name: "Show all activity in the room list", exact: false }); - - if (showbold) { - await showAllActivity.check(); - } else { - await showAllActivity.uncheck(); - } - - await app.settings.closeDialog(); - } - test.beforeEach(async ({ page, app, bot, user }) => { // The toasts are displayed above the search section await rejectToast(page, "Verify this device"); From 75c609fda4540c67e437e8b7c94ab8058d0ef67c Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Tue, 7 Jul 2026 16:47:06 +0100 Subject: [PATCH 6/7] Remove unused import --- .../e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts b/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts index 721bbe95149..dcd95317909 100644 --- a/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts +++ b/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts @@ -12,7 +12,6 @@ import { closeReleaseAnnouncement, rejectToast } from "@element-hq/element-web-p import { expect, test } from "../../../element-web-test"; import { SettingLevel } from "../../../../src/settings/SettingLevel"; import { getFilterCollapseButton, getFilterExpandButton, getPrimaryFilters, getRoomOptionsMenu } from "./utils"; -import { type ElementAppPage } from "../../../pages/ElementAppPage"; test.describe("Room list filters and sort", () => { test.use({ From d74325510b872cc60a58347268c1de4e5b31cfc3 Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Tue, 7 Jul 2026 17:15:42 +0100 Subject: [PATCH 7/7] Correct the settings level --- .../left-panel/room-list-panel/room-list-filter-sort.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts b/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts index dcd95317909..d099265754a 100644 --- a/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts +++ b/apps/web/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts @@ -209,7 +209,7 @@ test.describe("Room list filters and sort", () => { const primaryFilters = getPrimaryFilters(page); // Set the "showbold" setting to off - await app.settings.setValue("Notifications.showbold", null, SettingLevel.ACCOUNT, false); + await app.settings.setValue("Notifications.showbold", null, SettingLevel.DEVICE, false); // The unread DM room only notifies for mentions and keywords await app.viewRoomById(unReadDmId); @@ -237,7 +237,7 @@ test.describe("Room list filters and sort", () => { await expect(unreadDm).not.toBeVisible(); // Now set "showbold" to on - await app.settings.setValue("Notifications.showbold", null, SettingLevel.ACCOUNT, true); + await app.settings.setValue("Notifications.showbold", null, SettingLevel.DEVICE, true); // Now both unread rooms are visible await expect(unreadRoom).toBeVisible();