mirror of
https://github.com/zulip/zulip.git
synced 2025-11-16 11:52:01 +00:00
Move "already read" check into process_read_messages and rename it.
Functions were supposed to check that messages were unread before passing them to process_read_messages, but some didn't. The `mark_messages_as_read` function was essentially that, so take that name. (imported from commit 2917fe30d2defb8a047ec32e1bc70d379779276b)
This commit is contained in:
@@ -330,11 +330,16 @@ function process_loaded_for_unread(messages) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Takes a list of messages and marks them as read
|
// Takes a list of messages and marks them as read
|
||||||
function process_read_messages(messages, options) {
|
function mark_messages_as_read(messages, options) {
|
||||||
options = options || {};
|
options = options || {};
|
||||||
var processed = [];
|
var processed = [];
|
||||||
|
|
||||||
_.each(messages, function (message) {
|
_.each(messages, function (message) {
|
||||||
|
if (!unread.message_unread(message)) {
|
||||||
|
// Don't do anything if the message is already read.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
message.flags = message.flags || [];
|
message.flags = message.flags || [];
|
||||||
message.flags.push('read');
|
message.flags.push('read');
|
||||||
|
|
||||||
@@ -358,7 +363,6 @@ function process_read_messages(messages, options) {
|
|||||||
if (narrowed_msg_list) {
|
if (narrowed_msg_list) {
|
||||||
narrowed_msg_list.show_message_as_read(message, options);
|
narrowed_msg_list.show_message_as_read(message, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (processed.length > 0) {
|
if (processed.length > 0) {
|
||||||
@@ -369,9 +373,12 @@ function process_read_messages(messages, options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
queued_flag_timer = setTimeout(send_queued_flags, 1000);
|
queued_flag_timer = setTimeout(send_queued_flags, 1000);
|
||||||
|
update_unread_counts();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
update_unread_counts();
|
function mark_message_as_read(message, options) {
|
||||||
|
mark_messages_as_read([message], options);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we ever materially change the algorithm for this function, we
|
// If we ever materially change the algorithm for this function, we
|
||||||
@@ -386,29 +393,12 @@ function process_visible_unread_messages(update_cursor) {
|
|||||||
mark_current_list_as_read();
|
mark_current_list_as_read();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
var visible_messages = viewport.visible_messages();
|
mark_messages_as_read(viewport.visible_messages());
|
||||||
var mark_as_read = _.filter(visible_messages, unread.message_unread);
|
|
||||||
|
|
||||||
if (mark_as_read.length > 0) {
|
|
||||||
process_read_messages(mark_as_read);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function mark_messages_as_read(msg_list, options) {
|
|
||||||
var unread_msgs = _.filter(msg_list, unread.message_unread);
|
|
||||||
process_read_messages(unread_msgs, options);
|
|
||||||
}
|
|
||||||
|
|
||||||
function mark_current_list_as_read(options) {
|
function mark_current_list_as_read(options) {
|
||||||
var unread_msgs = _.filter(current_msg_list.all(), unread.message_unread);
|
mark_messages_as_read(current_msg_list.all(), options);
|
||||||
process_read_messages(unread_msgs, options);
|
|
||||||
}
|
|
||||||
|
|
||||||
function mark_message_as_read(message, options) {
|
|
||||||
// This seems like a rather pointless wrapper, but
|
|
||||||
// process_read_messages() should stay as an internal API.
|
|
||||||
process_read_messages([message], options);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function respond_to_message(opts) {
|
function respond_to_message(opts) {
|
||||||
|
|||||||
Reference in New Issue
Block a user