mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
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:
@@ -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;
|
||||
|
@@ -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}) => {
|
||||
|
Reference in New Issue
Block a user