Always re-render locally echoed messages.

Our old optimizations to prevent re-rendering of locally echoed
messages created a lot of code complexity.  This commit is an
experiment to simplify the code, which it clearly does.  The
danger of re-rendering messages is flicker, but our message
view has changed since the original local echo code was written.
This commit is contained in:
Steve Howell
2017-09-26 12:04:23 -07:00
committed by Tim Abbott
parent fa6a118d51
commit b32c3273dc
2 changed files with 2 additions and 24 deletions

View File

@@ -207,8 +207,6 @@ exports.reify_message_id = function reify_message_id(local_id, server_id) {
}; };
exports.process_from_server = function process_from_server(messages) { exports.process_from_server = function process_from_server(messages) {
var updated = false;
var locally_processed_ids = [];
var msgs_to_rerender = []; var msgs_to_rerender = [];
var non_echo_messages = []; var non_echo_messages = [];
@@ -229,24 +227,19 @@ exports.process_from_server = function process_from_server(messages) {
if (client_message.content !== message.content) { if (client_message.content !== message.content) {
client_message.content = message.content; client_message.content = message.content;
updated = true;
sent_messages.mark_disparity(message.local_id); sent_messages.mark_disparity(message.local_id);
} }
msgs_to_rerender.push(client_message); msgs_to_rerender.push(client_message);
locally_processed_ids.push(client_message.id);
delete waiting_for_ack[client_message.id]; delete waiting_for_ack[client_message.id];
}); });
if (updated) { if (msgs_to_rerender.length > 0) {
home_msg_list.view.rerender_messages(msgs_to_rerender); home_msg_list.view.rerender_messages(msgs_to_rerender);
if (current_msg_list === message_list.narrowed) { if (current_msg_list === message_list.narrowed) {
message_list.narrowed.view.rerender_messages(msgs_to_rerender); message_list.narrowed.view.rerender_messages(msgs_to_rerender);
} }
} else {
_.each(locally_processed_ids, function (id) {
ui.show_local_message_arrived(id);
});
} }
return non_echo_messages; return non_echo_messages;
}; };

View File

@@ -102,21 +102,6 @@ exports.update_starred = function (message_id, starred) {
}); });
}; };
var local_messages_to_show = [];
var show_message_timestamps = _.throttle(function () {
_.each(local_messages_to_show, function (message_id) {
update_message_in_all_views(message_id, function update_row(row) {
row.find('.message_time').toggleClass('notvisible', false);
});
});
local_messages_to_show = [];
}, 100);
exports.show_local_message_arrived = function (message_id) {
local_messages_to_show.push(message_id);
show_message_timestamps();
};
exports.show_message_failed = function (message_id, failed_msg) { exports.show_message_failed = function (message_id, failed_msg) {
// Failed to send message, so display inline retry/cancel // Failed to send message, so display inline retry/cancel
update_message_in_all_views(message_id, function update_row(row) { update_message_in_all_views(message_id, function update_row(row) {