Prevent sliding sync from showing a room under multiple sublists (#9266)

* Prevent sliding sync from showing a room under multiple sublists

* Add tests

(cherry picked from commit 96656e4e17)
pull/28788/head^2
Michael Telatynski 2022-09-12 17:16:37 +01:00 committed by GitHub
parent 28a418dd2a
commit 6be85e7146
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 0 deletions

View File

@ -319,4 +319,16 @@ describe("Sliding Sync", () => {
"Join", "Test Room",
]);
});
it("should show a favourite DM only in the favourite sublist", () => {
cy.createRoom({
name: "Favourite DM",
is_direct: true,
}).as("room").then(roomId => {
cy.getClient().then(cli => cli.setRoomTag(roomId, "m.favourite", { order: 0.5 }));
});
cy.get('.mx_RoomSublist[aria-label="Favourites"]').contains(".mx_RoomTile", "Favourite DM").should("exist");
cy.get('.mx_RoomSublist[aria-label="People"]').contains(".mx_RoomTile", "Favourite DM").should("not.exist");
});
});

View File

@ -55,6 +55,8 @@ const filterConditions: Record<TagID, MSC3575Filter> = {
is_dm: true,
is_invite: false,
is_tombstoned: false,
// If a DM has a Favourite & Low Prio tag then it'll be shown in those lists instead
not_tags: ["m.favourite", "m.lowpriority"],
},
[DefaultTagID.Untagged]: {
is_dm: false,
@ -66,6 +68,8 @@ const filterConditions: Record<TagID, MSC3575Filter> = {
},
[DefaultTagID.LowPriority]: {
tags: ["m.lowpriority"],
// If a room has both Favourite & Low Prio tags then it'll be shown under Favourites
not_tags: ["m.favourite"],
is_tombstoned: false,
},
// TODO https://github.com/vector-im/element-web/issues/23207