unread: Simplify code to mark messages as read.

We now call the function mark_as_read(), and it only requires
passing in a message_id.
This commit is contained in:
Steve Howell
2017-08-02 15:40:01 -04:00
committed by Tim Abbott
parent eac155d3b8
commit 325d7f0f57
3 changed files with 18 additions and 22 deletions

View File

@@ -142,13 +142,11 @@ var zero_counts = {
unread.update_unread_topics(other_message, event); unread.update_unread_topics(other_message, event);
// cleanup // cleanup
message.subject = 'dinner'; unread.mark_as_read(message.id);
unread.process_read_message(message);
count = unread.num_unread_for_topic(stream_id, 'dinner'); count = unread.num_unread_for_topic(stream_id, 'dinner');
assert.equal(count, 0); assert.equal(count, 0);
other_message.subject = 'snack'; unread.mark_as_read(other_message.id);
unread.process_read_message(other_message);
count = unread.num_unread_for_topic(stream_id, 'snack'); count = unread.num_unread_for_topic(stream_id, 'snack');
assert.equal(count, 0); assert.equal(count, 0);
}()); }());
@@ -226,7 +224,7 @@ stream_data.get_stream_id = function () {
for (i = 0; i < num_msgs; i += 1) { for (i = 0; i < num_msgs; i += 1) {
message.id = i+1; message.id = i+1;
unread.process_read_message(message); unread.mark_as_read(message.id);
} }
count = unread.num_unread_for_topic(stream_id, 'lunch'); count = unread.num_unread_for_topic(stream_id, 'lunch');
@@ -272,7 +270,7 @@ stream_data.get_stream_id = function () {
counts = unread.get_counts(); counts = unread.get_counts();
assert.equal(counts.home_unread_messages, 1); assert.equal(counts.home_unread_messages, 1);
assert.equal(counts.stream_count.get(stream_id), 1); assert.equal(counts.stream_count.get(stream_id), 1);
unread.process_read_message(message); unread.mark_as_read(message.id);
counts = unread.get_counts(); counts = unread.get_counts();
assert.equal(counts.home_unread_messages, 0); assert.equal(counts.home_unread_messages, 0);
@@ -299,7 +297,7 @@ stream_data.get_stream_id = function () {
stream_data.get_sub_by_id = function () { return; }; stream_data.get_sub_by_id = function () { return; };
unread.process_read_message(message); unread.mark_as_read(message.id);
var counts = unread.get_counts(); var counts = unread.get_counts();
assert.equal(counts.home_unread_messages, 0); assert.equal(counts.home_unread_messages, 0);
}()); }());
@@ -336,7 +334,7 @@ stream_data.get_stream_id = function () {
counts = unread.get_counts(); counts = unread.get_counts();
assert.equal(counts.private_message_count, 1); assert.equal(counts.private_message_count, 1);
assert.equal(counts.pm_count.get('999'), 1); assert.equal(counts.pm_count.get('999'), 1);
unread.process_read_message(message); unread.mark_as_read(message.id);
counts = unread.get_counts(); counts = unread.get_counts();
assert.equal(counts.private_message_count, 0); assert.equal(counts.private_message_count, 0);
assert.equal(counts.pm_count.get('999'), 0); assert.equal(counts.pm_count.get('999'), 0);
@@ -399,7 +397,7 @@ stream_data.get_stream_id = function () {
counts = unread.get_counts(); counts = unread.get_counts();
assert.equal(counts.mentioned_message_count, 1); assert.equal(counts.mentioned_message_count, 1);
unread.process_read_message(message); unread.mark_as_read(message.id);
counts = unread.get_counts(); counts = unread.get_counts();
assert.equal(counts.mentioned_message_count, 0); assert.equal(counts.mentioned_message_count, 0);
}()); }());
@@ -463,7 +461,7 @@ stream_data.get_stream_id = function () {
display_recipient: [{id: 9999}], display_recipient: [{id: 9999}],
}; };
unread.process_read_message(message); unread.mark_as_read(message.id);
var counts = unread.get_counts(); var counts = unread.get_counts();
assert.equal(counts.private_message_count, 0); assert.equal(counts.private_message_count, 0);
}()); }());

View File

@@ -251,17 +251,13 @@ exports.process_loaded_messages = function (messages) {
}); });
}; };
exports.process_read_message = function (message) { exports.mark_as_read = function (message_id) {
// We don't need to check anything about the message, since all
if (message.type === 'private') { // the following methods are cheap and work fine even if message_id
exports.unread_pm_counter.del(message.id); // was never set to unread.
} exports.unread_pm_counter.del(message_id);
exports.unread_topic_counter.del(message_id);
if (message.type === 'stream') { exports.unread_mentions_counter.del(message_id);
exports.unread_topic_counter.del(message.id);
}
exports.unread_mentions_counter.del(message.id);
}; };
exports.declare_bankruptcy = function () { exports.declare_bankruptcy = function () {

View File

@@ -41,7 +41,9 @@ exports.mark_messages_as_read = function mark_messages_as_read(messages, options
message.flags = message.flags || []; message.flags = message.flags || [];
message.flags.push('read'); message.flags.push('read');
message.unread = false; message.unread = false;
unread.process_read_message(message, options);
unread.mark_as_read(message.id);
home_msg_list.show_message_as_read(message, options); home_msg_list.show_message_as_read(message, options);
message_list.all.show_message_as_read(message, options); message_list.all.show_message_as_read(message, options);
if (message_list.narrowed) { if (message_list.narrowed) {