mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 04:53:36 +00:00
recent_senders: Return senders in most recent sender first order.
Since the library is named `recent_senders`, most recent sender first order is expected from this library.
This commit is contained in:
@@ -227,7 +227,7 @@ test("process_stream_message", () => {
|
||||
|
||||
// Test topic change
|
||||
assert.equal(rs.get_topic_recent_senders(stream3, topic3).toString(), "3");
|
||||
assert.equal(rs.get_topic_recent_senders(stream3, topic2).toString(), "2,3");
|
||||
assert.equal(rs.get_topic_recent_senders(stream3, topic2).toString(), "3,2");
|
||||
|
||||
// message7's topic was changed by user
|
||||
message7.topic = topic3;
|
||||
@@ -240,11 +240,11 @@ test("process_stream_message", () => {
|
||||
new_topic: topic3,
|
||||
});
|
||||
|
||||
assert.equal(rs.get_topic_recent_senders(stream3, topic3).toString(), "2,3");
|
||||
assert.equal(rs.get_topic_recent_senders(stream3, topic3).toString(), "3,2");
|
||||
assert.equal(rs.get_topic_recent_senders(stream3, topic2).toString(), "3");
|
||||
|
||||
// Test stream change
|
||||
assert.equal(rs.get_topic_recent_senders(stream3, topic3).toString(), "2,3");
|
||||
assert.equal(rs.get_topic_recent_senders(stream3, topic3).toString(), "3,2");
|
||||
assert.equal(rs.get_topic_recent_senders(stream4, topic3).toString(), "");
|
||||
|
||||
message7.stream_id = stream4;
|
||||
@@ -258,10 +258,10 @@ test("process_stream_message", () => {
|
||||
});
|
||||
|
||||
assert.equal(rs.get_topic_recent_senders(stream3, topic3).toString(), "");
|
||||
assert.equal(rs.get_topic_recent_senders(stream4, topic3).toString(), "2,3");
|
||||
assert.equal(rs.get_topic_recent_senders(stream4, topic3).toString(), "3,2");
|
||||
|
||||
// Test stream & topic change
|
||||
assert.equal(rs.get_topic_recent_senders(stream4, topic3).toString(), "2,3");
|
||||
assert.equal(rs.get_topic_recent_senders(stream4, topic3).toString(), "3,2");
|
||||
assert.equal(rs.get_topic_recent_senders(stream5, topic4).toString(), "");
|
||||
|
||||
message7.stream_id = stream5;
|
||||
@@ -279,8 +279,8 @@ test("process_stream_message", () => {
|
||||
});
|
||||
|
||||
assert.equal(rs.get_topic_recent_senders(stream4, topic3).toString(), "");
|
||||
assert.equal(rs.get_topic_recent_senders(stream5, topic4).toString(), "2,3");
|
||||
assert.equal(rs.get_topic_recent_senders(stream1, topic1).toString(), "2,1");
|
||||
assert.equal(rs.get_topic_recent_senders(stream5, topic4).toString(), "3,2");
|
||||
assert.equal(rs.get_topic_recent_senders(stream1, topic1).toString(), "1,2");
|
||||
|
||||
// delete message1 and message5 sent by sender1
|
||||
rs.update_topics_of_deleted_message_ids([message1.id, message5.id]);
|
||||
|
||||
@@ -112,7 +112,7 @@ mock_esm("../../static/js/pm_list", {
|
||||
handle_narrow_deactivated: noop,
|
||||
});
|
||||
mock_esm("../../static/js/recent_senders", {
|
||||
get_topic_recent_senders: () => [1, 2],
|
||||
get_topic_recent_senders: () => [2, 1],
|
||||
});
|
||||
mock_esm("../../static/js/stream_data", {
|
||||
is_muted: () =>
|
||||
|
||||
@@ -201,7 +201,7 @@ export function get_topic_recent_senders(stream_id, topic) {
|
||||
function by_max_message_id(item1, item2) {
|
||||
const list1 = item1[1];
|
||||
const list2 = item2[1];
|
||||
return list1.max_id() - list2.max_id();
|
||||
return list2.max_id() - list1.max_id();
|
||||
}
|
||||
|
||||
const sorted_senders = Array.from(sender_dict.entries()).sort(by_max_message_id);
|
||||
|
||||
@@ -398,8 +398,12 @@ function format_conversation(conversation_data) {
|
||||
context.topic,
|
||||
);
|
||||
|
||||
// Display in most recent sender first order
|
||||
all_senders = recent_senders.get_topic_recent_senders(context.stream_id, context.topic);
|
||||
// Since the css for displaying senders in reverse order is much simpler,
|
||||
// we provide our handlebars with senders in opposite order.
|
||||
// Display in most recent sender first order.
|
||||
all_senders = recent_senders
|
||||
.get_topic_recent_senders(context.stream_id, context.topic)
|
||||
.reverse();
|
||||
senders = all_senders.slice(-MAX_AVATAR);
|
||||
|
||||
// Collect extra sender fullname for tooltip
|
||||
|
||||
Reference in New Issue
Block a user