recent_conversations: Exclude muted user PMs from recent conversations.

Earlier muted private conversations were shown in recent
conversations. This commit excludes them from recent conversations.

Fixes #24299.
This commit is contained in:
Ujjawal Modi
2023-03-16 02:49:06 +05:30
committed by Tim Abbott
parent bfc5092082
commit f404dbddb2
2 changed files with 35 additions and 0 deletions

View File

@@ -17,6 +17,7 @@ import * as message_store from "./message_store";
import * as message_util from "./message_util";
import * as message_view_header from "./message_view_header";
import * as muted_topics_ui from "./muted_topics_ui";
import * as muted_users from "./muted_users";
import * as narrow from "./narrow";
import * as narrow_state from "./narrow_state";
import * as navigate from "./navigate";
@@ -550,6 +551,14 @@ export function filters_should_hide_topic(topic_data) {
return true;
}
if (filters.has("include_private") && topic_data.type === "private") {
const recipients = people.split_to_ints(msg.to_user_ids);
if (recipients.every((id) => muted_users.is_user_muted(id))) {
return true;
}
}
const search_keyword = $("#recent_topics_search").val();
if (!topic_in_search_results(search_keyword, msg.stream, msg.topic)) {
return true;

View File

@@ -192,9 +192,15 @@ people.add_active_user({
user_id: 3,
full_name: "Spike Spiegel",
});
people.add_active_user({
email: "eren@zulip.com",
user_id: 4,
full_name: "Eren Yeager",
});
people.initialize_current_user(1);
muted_users.add_muted_user(2, 17947949);
muted_users.add_muted_user(4, 17947949);
let id = 0;
@@ -307,6 +313,22 @@ private_messages[0] = {
display_recipient: [{id: 1}, {id: 2}, {id: 3}],
pm_with_url: test_url(),
};
private_messages[1] = {
id: (id += 1),
sender_id: sender1,
to_user_ids: "2,4",
type: "private",
display_recipient: [{id: 1}, {id: 2}, {id: 4}],
pm_with_url: test_url(),
};
private_messages[2] = {
id: (id += 1),
sender_id: sender1,
to_user_ids: "3",
type: "private",
display_recipient: [{id: 1}, {id: 3}],
pm_with_url: test_url(),
};
function get_topic_key(stream_id, topic) {
return stream_id + ":" + topic.toLowerCase();
@@ -508,6 +530,10 @@ test("test_filter_pm", ({mock_template}) => {
];
rt.process_messages([private_messages[0]]);
assert.deepEqual(rt.filters_should_hide_topic({type: "private", last_msg_id: 12}), false);
assert.deepEqual(rt.filters_should_hide_topic({type: "private", last_msg_id: 13}), true);
assert.deepEqual(rt.filters_should_hide_topic({type: "private", last_msg_id: 14}), false);
});
test("test_filter_unread", ({mock_template}) => {