diff --git a/static/js/compose_fade.js b/static/js/compose_fade.js index c7da0e1247..0ce2ba48b5 100644 --- a/static/js/compose_fade.js +++ b/static/js/compose_fade.js @@ -229,7 +229,7 @@ exports.update_rendered_message_groups = function (message_groups, get_element) // the other code takes advantage of blocks beneath recipient bars. _.each(message_groups, function (message_group) { var elt = get_element(message_group); - var first_message = message_group.messages[0]; + var first_message = message_group.message_containers[0]; var should_fade = !fade_heuristic(focused_recipient, first_message); change_fade_state(elt, should_fade); }); diff --git a/static/js/message_list_view.js b/static/js/message_list_view.js index 16f56033e7..004599183e 100644 --- a/static/js/message_list_view.js +++ b/static/js/message_list_view.js @@ -2,7 +2,7 @@ function MessageListView(list, table_name, collapse_messages) { this.list = list; this.collapse_messages = collapse_messages; this._rows = {}; - this._list_messages = {}; + this.message_containers = {}; this.table_name = table_name; if (this.table_name) { this.clear_table(); @@ -44,8 +44,8 @@ function same_recipient(a, b) { return util.same_recipient(a.msg, b.msg); } -function add_display_time(group, message, prev) { - var time = new XDate(message.msg.timestamp * 1000); +function add_display_time(group, message_container, prev) { + var time = new XDate(message_container.msg.timestamp * 1000); if (prev !== undefined) { var prev_time = new XDate(prev.msg.timestamp * 1000); @@ -57,31 +57,31 @@ function add_display_time(group, message, prev) { group.show_date = (timerender.render_date(time))[0].outerHTML; } - if (message.timestr === undefined) { - message.timestr = stringify_time(time); + if (message_container.timestr === undefined) { + message_container.timestr = stringify_time(time); } } -function populate_group_from_message(group, message) { - group.is_stream = message.msg.is_stream; - group.is_private = message.msg.is_private; +function populate_group_from_message_container(group, message_container) { + group.is_stream = message_container.msg.is_stream; + group.is_private = message_container.msg.is_private; if (group.is_stream) { - group.background_color = stream_data.get_color(message.msg.stream); + group.background_color = stream_data.get_color(message_container.msg.stream); group.color_class = stream_color.get_color_class(group.background_color); - group.invite_only = stream_data.get_invite_only(message.msg.stream); - group.subject = message.msg.subject; - group.match_subject = message.match_subject; - group.stream_url = message.stream_url; - group.topic_url = message.topic_url; + group.invite_only = stream_data.get_invite_only(message_container.msg.stream); + group.subject = message_container.msg.subject; + group.match_subject = message_container.match_subject; + group.stream_url = message_container.stream_url; + group.topic_url = message_container.topic_url; } else if (group.is_private) { - group.pm_with_url = message.pm_with_url; - group.display_reply_to = message.msg.display_reply_to; + group.pm_with_url = message_container.pm_with_url; + group.display_reply_to = message_container.msg.display_reply_to; } - group.display_recipient = message.msg.display_recipient; - group.always_visible_topic_edit = message.msg.always_visible_topic_edit; - group.on_hover_topic_edit = message.msg.on_hover_topic_edit; - group.subject_links = message.msg.subject_links; + group.display_recipient = message_container.msg.display_recipient; + group.always_visible_topic_edit = message_container.msg.always_visible_topic_edit; + group.on_hover_topic_edit = message_container.msg.on_hover_topic_edit; + group.subject_links = message_container.msg.subject_links; } MessageListView.prototype = { @@ -91,34 +91,34 @@ MessageListView.prototype = { // trigger a re-render _RENDER_THRESHOLD: 50, - _add_msg_timestring: function MessageListView___add_msg_timestring(message) { - if (message.msg.last_edit_timestamp !== undefined) { + _add_msg_timestring: function MessageListView___add_msg_timestring(message_container) { + if (message_container.msg.last_edit_timestamp !== undefined) { // Add or update the last_edit_timestr - var last_edit_time = new XDate(message.msg.last_edit_timestamp * 1000); - message.last_edit_timestr = + var last_edit_time = new XDate(message_container.msg.last_edit_timestamp * 1000); + message_container.last_edit_timestr = (timerender.render_date(last_edit_time))[0].innerText + " at " + stringify_time(last_edit_time); } }, - add_subscription_marker: function MessageListView__add_subscription_marker(group, last_msg, first_msg) { - if (last_msg !== undefined && - first_msg.msg.historical !== last_msg.msg.historical) { + add_subscription_marker: function MessageListView__add_subscription_marker(group, last_msg_container, first_msg_container) { + if (last_msg_container !== undefined && + first_msg_container.msg.historical !== last_msg_container.msg.historical) { group.bookend_top = true; - if (first_msg.msg.historical) { - group.unsubscribed = first_msg.msg.stream; - group.bookend_content = this.list.unsubscribed_bookend_content(first_msg.msg.stream); + if (first_msg_container.msg.historical) { + group.unsubscribed = first_msg_container.msg.stream; + group.bookend_content = this.list.unsubscribed_bookend_content(first_msg_container.msg.stream); } else { - group.subscribed = first_msg.msg.stream; - group.bookend_content = this.list.subscribed_bookend_content(first_msg.msg.stream); + group.subscribed = first_msg_container.msg.stream; + group.bookend_content = this.list.subscribed_bookend_content(first_msg_container.msg.stream); } } }, - build_message_groups: function MessageListView__build_message_groups(messages, message_id_prefix) { + build_message_groups: function MessageListView__build_message_groups(message_containers, message_id_prefix) { function start_group() { return { - messages: [], + message_containers: [], message_group_id: _.uniqueId('message_group_') }; } @@ -128,82 +128,82 @@ MessageListView.prototype = { var new_message_groups = []; var prev; - function add_message_to_group(message) { - if (same_sender(prev, message)) { + function add_message_container_to_group(message_container) { + if (same_sender(prev, message_container)) { prev.next_is_same_sender = true; } - current_group.messages.push(message); + current_group.message_containers.push(message_container); } function finish_group() { - if (current_group.messages.length > 0) { - populate_group_from_message(current_group, current_group.messages[0]); - current_group.messages[current_group.messages.length - 1].include_footer = true; + if (current_group.message_containers.length > 0) { + populate_group_from_message_container(current_group, current_group.message_containers[0]); + current_group.message_containers[current_group.message_containers.length - 1].include_footer = true; new_message_groups.push(current_group); } } - _.each(messages, function (message) { - message.include_recipient = false; - message.include_footer = false; + _.each(message_containers, function (message_container) { + message_container.include_recipient = false; + message_container.include_footer = false; - if (same_recipient(prev, message) && self.collapse_messages && - prev.msg.historical === message.msg.historical && same_day(prev, message)) { - add_message_to_group(message); + if (same_recipient(prev, message_container) && self.collapse_messages && + prev.msg.historical === message_container.msg.historical && same_day(prev, message_container)) { + add_message_container_to_group(message_container); } else { finish_group(); current_group = start_group(); - add_message_to_group(message); + add_message_container_to_group(message_container); - message.include_recipient = true; - message.subscribed = false; - message.unsubscribed = false; + message_container.include_recipient = true; + message_container.subscribed = false; + message_container.unsubscribed = false; // This home_msg_list condition can be removed // once we filter historical messages from the // home view on the server side (which requires // having an index on UserMessage.flags) if (self.list !== home_msg_list) { - self.add_subscription_marker(current_group, prev, message); + self.add_subscription_marker(current_group, prev, message_container); } - if (message.msg.stream) { - message.stream_url = narrow.by_stream_uri(message.msg.stream); - message.topic_url = narrow.by_stream_subject_uri(message.msg.stream, message.msg.subject); + if (message_container.msg.stream) { + message_container.stream_url = narrow.by_stream_uri(message_container.msg.stream); + message_container.topic_url = narrow.by_stream_subject_uri(message_container.msg.stream, message_container.msg.subject); } else { - message.pm_with_url = narrow.pm_with_uri(message.msg.reply_to); + message_container.pm_with_url = narrow.pm_with_uri(message_container.msg.reply_to); } } - add_display_time(current_group, message, prev); + add_display_time(current_group, message_container, prev); - message.include_sender = true; - if (!message.include_recipient && + message_container.include_sender = true; + if (!message_container.include_recipient && !prev.status_message && - same_sender(prev, message)) { - message.include_sender = false; + same_sender(prev, message_container)) { + message_container.include_sender = false; } - self._add_msg_timestring(message); + self._add_msg_timestring(message_container); - message.small_avatar_url = ui.small_avatar_url(message.msg); - if (message.msg.stream !== undefined) { - message.background_color = stream_data.get_color(message.msg.stream); + message_container.small_avatar_url = ui.small_avatar_url(message_container.msg); + if (message_container.msg.stream !== undefined) { + message_container.background_color = stream_data.get_color(message_container.msg.stream); } - message.contains_mention = notifications.speaking_at_me(message.msg); - message.unread = unread.message_unread(message.msg); + message_container.contains_mention = notifications.speaking_at_me(message_container.msg); + message_container.unread = unread.message_unread(message_container.msg); - if (message.msg.is_me_message) { + if (message_container.msg.is_me_message) { // Slice the '

/me ' off the front, and '

' off the end - message.status_message = message.msg.content.slice(4 + 3, -4); - message.include_sender = true; + message_container.status_message = message_container.msg.content.slice(4 + 3, -4); + message_container.include_sender = true; } else { - message.status_message = false; + message_container.status_message = false; } - prev = message; + prev = message_container; }); finish_group(); @@ -220,23 +220,23 @@ MessageListView.prototype = { if (first_group === undefined || second_group === undefined) { return false; } - var last_msg = _.last(first_group.messages); - var first_msg = _.first(second_group.messages); + var last_msg_container = _.last(first_group.message_containers); + var first_msg_container = _.first(second_group.message_containers); // Join two groups into one. - if (this.collapse_messages && same_recipient(last_msg, first_msg) && same_day(last_msg, first_msg) && (last_msg.msg.historical === first_msg.msg.historical)) { - if (!last_msg.status_message && !first_msg.is_me_message && same_sender(last_msg, first_msg)) { - first_msg.include_sender = false; + if (this.collapse_messages && same_recipient(last_msg_container, first_msg_container) && same_day(last_msg_container, first_msg_container) && (last_msg_container.msg.historical === first_msg_container.msg.historical)) { + if (!last_msg_container.status_message && !first_msg_container.is_me_message && same_sender(last_msg_container, first_msg_container)) { + first_msg_container.include_sender = false; } - if (same_sender(last_msg, first_msg)) { - last_msg.next_is_same_sender = true; + if (same_sender(last_msg_container, first_msg_container)) { + last_msg_container.next_is_same_sender = true; } - first_group.messages = first_group.messages.concat(second_group.messages); + first_group.message_containers = first_group.message_containers.concat(second_group.message_containers); return true; // Add a subscription marker - } else if (this.list !== home_msg_list && last_msg.msg.historical !== first_msg.msg.historical) { + } else if (this.list !== home_msg_list && last_msg_container.msg.historical !== first_msg_container.msg.historical) { first_group.bookend_bottom = true; - this.add_subscription_marker(first_group, last_msg, first_msg); + this.add_subscription_marker(first_group, last_msg_container, first_msg_container); } return false; }, @@ -288,14 +288,14 @@ MessageListView.prototype = { if (this.join_message_groups(first_group, second_group)) { // rerender the last message message_actions.rerender_messages.push( - first_group.messages[first_group.messages.length - second_group.messages.length - 1] + first_group.message_containers[first_group.message_containers.length - second_group.message_containers.length - 1] ); - message_actions.append_messages = _.first(new_message_groups).messages; + message_actions.append_messages = _.first(new_message_groups).message_containers; new_message_groups = _.rest(new_message_groups); } else if (first_group !== undefined && second_group !== undefined) { - var last_msg = _.last(first_group.messages); - var first_msg = _.first(second_group.messages); - if (same_day(last_msg, first_msg)) { + var last_msg_container = _.last(first_group.message_containers); + var first_msg_container = _.first(second_group.message_containers); + if (same_day(last_msg_container, first_msg_container)) { // Clear the date if it is the same as the last group second_group.show_date = undefined; } @@ -307,22 +307,22 @@ MessageListView.prototype = { return message_actions; }, - _post_process_messages: function MessageListView___post_process_messages(messages) { - // _post_process_messages adds applies some extra formating to messages + _post_process_dom_messages: function MessageListView___post_process_dom_messages(dom_messages) { + // _post_process_dom_messages adds applies some extra formating to messages // and stores them in self._rows and sends an event that the message is - // complete. _post_process_messages should be a list of DOM nodes not + // complete. _post_process_dom_messages should be a list of DOM nodes not // jQuery objects. var self = this; - _.each(messages, function (message_row) { - if (!_.isElement(message_row)) { - blueslip.error('Only DOM nodes can be passed to _post_process_messages'); + _.each(dom_messages, function (dom_message) { + if (!_.isElement(dom_message)) { + blueslip.warn('Only DOM nodes can be passed to _post_process_messages'); } - var row = $(message_row); + var row = $(dom_message); // Save DOM elements by id into self._rows for O(1) lookup if (row.hasClass('message_row')) { - self._rows[row.attr('zid')] = message_row; + self._rows[row.attr('zid')] = dom_message; } if (row.hasClass('mention')) { @@ -362,7 +362,7 @@ MessageListView.prototype = { // we we record if last_message_was_selected before updating the table var last_message_was_selected = rows.id(rows.last_visible()) === list.selected_id(); var orig_scrolltop_offset, last_message_id; - var combined_messages, first_msg, last_msg; + var message_containers, first_msg, last_msg; var self = this; @@ -370,7 +370,7 @@ MessageListView.prototype = { // all messages lists. To prevent having both list views overwriting // each others data we will make a new message object to add data to // for rendering. - messages = _.map(messages, function (message) { return {msg: message}; }); + message_containers = _.map(messages, function (message) { return {msg: message}; }); function save_scroll_position() { if (orig_scrolltop_offset === undefined && self.selected_row().length > 0) { @@ -388,16 +388,18 @@ MessageListView.prototype = { // This function processes messages into chunks with separators between them, // and templates them to be inserted as table rows into the DOM. - if (messages.length === 0 || this.table_name === undefined) { + if (message_containers.length === 0 || this.table_name === undefined) { return; } - var new_message_groups = this.build_message_groups(messages, this.table_name); + var new_message_groups = this.build_message_groups(message_containers, this.table_name); var message_actions = this.merge_message_groups(new_message_groups, where); var new_dom_elements = []; var rendered_groups, dom_messages, last_message_row, last_group_row; - _.each(messages, function (message) { self._list_messages[message.msg.id] = message; }); + _.each(message_containers, function (message_container) { + self.message_containers[message_container.msg.id] = message_container; + }); // Rerender message groups @@ -418,7 +420,7 @@ MessageListView.prototype = { dom_messages = rendered_groups.find('.message_row'); // Not adding to new_dom_elements it is only used for autoscroll - self._post_process_messages(dom_messages.get()); + self._post_process_dom_messages(dom_messages.get()); old_message_group.replaceWith(rendered_groups); condense.condense_and_collapse(dom_messages); }); @@ -437,7 +439,7 @@ MessageListView.prototype = { dom_messages = rendered_groups.find('.message_row'); new_dom_elements = new_dom_elements.concat(rendered_groups); - self._post_process_messages(dom_messages.get()); + self._post_process_dom_messages(dom_messages.get()); // The date row will be included in the message groups table.find('.recipient_row').first().prev('.date_row').remove(); @@ -447,11 +449,11 @@ MessageListView.prototype = { // Rerender message rows if (message_actions.rerender_messages.length > 0) { - _.each(message_actions.rerender_messages, function (message) { - var old_row = self.get_row(message.msg.id); - var msg_to_render = _.extend(message, {table_name: this.table_name}); + _.each(message_actions.rerender_messages, function (message_container) { + var old_row = self.get_row(message_container.msg.id); + var msg_to_render = _.extend(message_container, {table_name: this.table_name}); var row = $(templates.render('single_message', msg_to_render)); - self._post_process_messages(row.get()); + self._post_process_dom_messages(row.get()); old_row.replaceWith(row); condense.condense_and_collapse(row); list.reselect_selected_id(); @@ -462,12 +464,12 @@ MessageListView.prototype = { if (message_actions.append_messages.length > 0) { last_message_row = table.find('.message_row:last').expectOne(); last_group_row = rows.get_message_recipient_row(last_message_row); - dom_messages = $(_.map(message_actions.append_messages, function (message) { - var msg_to_render = _.extend(message, {table_name: this.table_name}); + dom_messages = $(_.map(message_actions.append_messages, function (message_container) { + var msg_to_render = _.extend(message_container, {table_name: this.table_name}); return templates.render('single_message', msg_to_render); }).join('')).filter('.message_row'); - self._post_process_messages(dom_messages.get()); + self._post_process_dom_messages(dom_messages.get()); last_group_row.append(dom_messages); new_dom_elements = new_dom_elements.concat(dom_messages); @@ -487,7 +489,7 @@ MessageListView.prototype = { dom_messages = rendered_groups.find('.message_row'); new_dom_elements = new_dom_elements.concat(rendered_groups); - self._post_process_messages(dom_messages.get()); + self._post_process_dom_messages(dom_messages.get()); table.append(rendered_groups); condense.condense_and_collapse(dom_messages); } @@ -496,7 +498,7 @@ MessageListView.prototype = { var last_message_group = _.last(self._message_groups); if (last_message_group !== undefined) { - list.last_message_historical = _.last(last_message_group.messages).msg.historical; + list.last_message_historical = _.last(last_message_group.message_containers).msg.historical; } list.update_trailing_bookend(); @@ -508,7 +510,7 @@ MessageListView.prototype = { // of rows.js from compose_fade. We provide a callback function to be lazy-- // compose_fade may not actually need the elements depending on its internal // state. - var message_row = self.get_row(message_group.messages[0].msg.id); + var message_row = self.get_row(message_group.message_containers[0].msg.id); return rows.get_message_recipient_row(message_row); }; @@ -699,14 +701,14 @@ MessageListView.prototype = { } }, - _rerender_header: function MessageListView__maybe_rerender_header(messages) { + _rerender_header: function MessageListView__maybe_rerender_header(message_containers) { // Given a list of messages that are in the **same** message group, // rerender the header / recipient bar of the messages - if (messages.length === 0) { + if (message_containers.length === 0) { return; } - var first_row = this.get_row(messages[0].msg.id); + var first_row = this.get_row(message_containers[0].msg.id); // We may not have the row if the stream or topic was muted if (first_row.length === 0) { @@ -716,17 +718,17 @@ MessageListView.prototype = { var recipient_row = rows.get_message_recipient_row(first_row); var header = recipient_row.find('.message_header'); - var group = {messages: messages}; - populate_group_from_message(group, messages[0]); + var group = {message_containers: message_containers}; + populate_group_from_message_container(group, message_containers[0]); var rendered_recipient_row = $(templates.render('recipient_row', group)); header.replaceWith(rendered_recipient_row); }, - _rerender_message: function MessageListView___rerender_message(message) { - var row = this.get_row(message.msg.id); - var was_selected = this.list.selected_message() === message; + _rerender_message: function MessageListView___rerender_message(message_container) { + var row = this.get_row(message_container.msg.id); + var was_selected = this.list.selected_message() === message_container.msg; // We may not have the row if the stream or topic was muted if (row.length === 0) { @@ -734,15 +736,15 @@ MessageListView.prototype = { } // Re-render just this one message - this._add_msg_timestring(message); + this._add_msg_timestring(message_container); - var msg_to_render = _.extend(message, {table_name: this.table_name}); + var msg_to_render = _.extend(message_container, {table_name: this.table_name}); var rendered_msg = $(templates.render('single_message', msg_to_render)); - this._post_process_messages(rendered_msg.get()); + this._post_process_dom_messages(rendered_msg.get()); row.replaceWith(rendered_msg); if (was_selected) { - this.list.select_id(message.msg.id); + this.list.select_id(message_container.msg.id); } }, @@ -757,20 +759,20 @@ MessageListView.prototype = { return message === undefined; }); // Convert messages to list messages - own_messages = _.map(messages, function (message) { - return self._list_messages[message.id]; + var message_containers = _.map(messages, function (message) { + return self.message_containers[message.id]; }); var message_groups = []; var current_group = []; - _.each(own_messages, function (message) { - if (current_group.length === 0 || same_recipient(current_group[current_group.length - 1], message)) { - current_group.push(message); + _.each(message_containers, function (message_container) { + if (current_group.length === 0 || same_recipient(current_group[current_group.length - 1], message_container)) { + current_group.push(message_container); } else { message_groups.push(current_group); current_group = []; } - self._rerender_message(message); + self._rerender_message(message_container); }); if (current_group.length !== 0) { message_groups.push(current_group); @@ -827,7 +829,7 @@ MessageListView.prototype = { rows.get_table(this.table_name).children().detach(); this._rows = {}; this._message_groups = []; - this._list_messages = {}; + this.message_containers = {}; }, get_row: function MessageListView_get_row(id) { @@ -866,10 +868,10 @@ MessageListView.prototype = { this._rows[new_id] = row; } - if (this._list_messages[old_id] !== undefined) { - var message = this._list_messages[old_id]; - delete this._list_messages[old_id]; - this._list_messages[new_id] = message; + if (this.message_containers[old_id] !== undefined) { + var message_container = this.message_containers[old_id]; + delete this.message_containers[old_id]; + this.message_containers[new_id] = message_container; } } diff --git a/static/templates/message_group.handlebars b/static/templates/message_group.handlebars index a44d34de9f..301ff668f2 100644 --- a/static/templates/message_group.handlebars +++ b/static/templates/message_group.handlebars @@ -13,7 +13,7 @@
{{partial "recipient_row" "use_match_properties" ../../use_match_properties}} - {{#each messages}} + {{#each message_containers}} {{#with this}} {{partial "single_message" "use_match_properties" ../../../../use_match_properties "table_name" ../../../../table_name}} {{/with}} diff --git a/zerver/tests/frontend/node/message_list_view.js b/zerver/tests/frontend/node/message_list_view.js index 34a4fa5bec..d9268b9060 100644 --- a/zerver/tests/frontend/node/message_list_view.js +++ b/zerver/tests/frontend/node/message_list_view.js @@ -17,27 +17,31 @@ set_global('unread', {message_unread: function () {}}); // MessageListView has lots of DOM code, so we are going to test the mesage // group mearging logic on its own. - function build_message(message) { + function build_message_context(message, message_context) { + if (message_context === undefined) { + message_context = {}; + } if (message === undefined) { message = {}; } - return { - msg: _.defaults(message, { - id: _.uniqueId('test_message_'), - status_message: false, - type: 'stream', - stream: 'Test Stream 1', - subject: 'Test Subject 1', - sender_email: 'test@example.com', - timestamp: _.uniqueId(), - include_sender: true - }) - }; + message_context = _.defaults(message_context, { + include_sender: true + }); + message_context.msg = _.defaults(message, { + id: _.uniqueId('test_message_'), + status_message: false, + type: 'stream', + stream: 'Test Stream 1', + subject: 'Test Subject 1', + sender_email: 'test@example.com', + timestamp: _.uniqueId() + }); + return message_context; } function build_message_group(messages) { return { - messages: messages, + message_containers: messages, message_group_id: _.uniqueId('test_message_group_'), show_date: true }; @@ -76,7 +80,7 @@ set_global('unread', {message_unread: function () {}}); (function test_empty_list_bottom() { var list = build_list([]); var message_group = build_message_group([ - build_message() + build_message_context() ]); var result = list.merge_message_groups([message_group], 'bottom'); @@ -91,12 +95,12 @@ set_global('unread', {message_unread: function () {}}); (function test_append_message_same_subject() { - var message1 = build_message(); + var message1 = build_message_context(); var message_group1 = build_message_group([ message1 ]); - var message2 = build_message(); + var message2 = build_message_context(); var message_group2 = build_message_group([ message2 ]); @@ -117,12 +121,12 @@ set_global('unread', {message_unread: function () {}}); (function test_append_message_diffrent_subject() { - var message1 = build_message(); + var message1 = build_message_context(); var message_group1 = build_message_group([ message1 ]); - var message2 = build_message({subject: 'Test subject 2'}); + var message2 = build_message_context({subject: 'Test subject 2'}); var message_group2 = build_message_group([ message2 ]); @@ -144,12 +148,12 @@ set_global('unread', {message_unread: function () {}}); (function test_append_message_diffrent_day() { - var message1 = build_message({timestamp: 1000}); + var message1 = build_message_context({timestamp: 1000}); var message_group1 = build_message_group([ message1 ]); - var message2 = build_message({timestamp: 900000}); + var message2 = build_message_context({timestamp: 900000}); var message_group2 = build_message_group([ message2 ]); @@ -171,12 +175,12 @@ set_global('unread', {message_unread: function () {}}); (function test_append_message_historical() { - var message1 = build_message({historical: false}); + var message1 = build_message_context({historical: false}); var message_group1 = build_message_group([ message1 ]); - var message2 = build_message({historical: true}); + var message2 = build_message_context({historical: true}); var message_group2 = build_message_group([ message2 ]); @@ -198,12 +202,12 @@ set_global('unread', {message_unread: function () {}}); (function test_append_message_same_subject_me_message() { - var message1 = build_message(); + var message1 = build_message_context(); var message_group1 = build_message_group([ message1 ]); - var message2 = build_message({is_me_message: true}); + var message2 = build_message_context({}, {is_me_message: true}); var message_group2 = build_message_group([ message2 ]); @@ -226,12 +230,12 @@ set_global('unread', {message_unread: function () {}}); (function test_prepend_message_same_subject() { - var message1 = build_message(); + var message1 = build_message_context(); var message_group1 = build_message_group([ message1 ]); - var message2 = build_message(); + var message2 = build_message_context(); var message_group2 = build_message_group([ message2 ]); @@ -254,12 +258,12 @@ set_global('unread', {message_unread: function () {}}); (function test_prepend_message_diffrent_subject() { - var message1 = build_message(); + var message1 = build_message_context(); var message_group1 = build_message_group([ message1 ]); - var message2 = build_message({subject: 'Test Subject 2'}); + var message2 = build_message_context({subject: 'Test Subject 2'}); var message_group2 = build_message_group([ message2 ]); @@ -280,12 +284,12 @@ set_global('unread', {message_unread: function () {}}); (function test_prepend_message_diffrent_day() { - var message1 = build_message({timestamp: 900000}); + var message1 = build_message_context({timestamp: 900000}); var message_group1 = build_message_group([ message1 ]); - var message2 = build_message({timestamp: 1000}); + var message2 = build_message_context({timestamp: 1000}); var message_group2 = build_message_group([ message2 ]); @@ -307,12 +311,12 @@ set_global('unread', {message_unread: function () {}}); (function test_prepend_message_historical() { - var message1 = build_message({historical: false}); + var message1 = build_message_context({historical: false}); var message_group1 = build_message_group([ message1 ]); - var message2 = build_message({historical: true}); + var message2 = build_message_context({historical: true}); var message_group2 = build_message_group([ message2 ]); diff --git a/zerver/tests/frontend/node/templates.js b/zerver/tests/frontend/node/templates.js index 878fa68623..d0fe885b46 100644 --- a/zerver/tests/frontend/node/templates.js +++ b/zerver/tests/frontend/node/templates.js @@ -289,7 +289,7 @@ function render(template_name, args) { display_recipient: "support", is_stream: true, message_ids: [1, 2], - messages: messages, + message_containers: messages, show_date: '"Jan 07"', subject: 'two messages', match_subject: 'two messages'