diff --git a/web/src/message_list.js b/web/src/message_list.js index 1ec3164dba..70dc3b5e33 100644 --- a/web/src/message_list.js +++ b/web/src/message_list.js @@ -394,16 +394,6 @@ export class MessageList { $recipient_row.find(".always_visible_topic_edit").show(); } - show_message_as_read(message, options) { - const $row = this.get_row(message.id); - if (options.from === "pointer" || options.from === "server") { - $row.find(".unread_marker").addClass("fast_fade"); - } else { - $row.find(".unread_marker").addClass("slow_fade"); - } - $row.removeClass("unread"); - } - reselect_selected_id() { const selected_id = this.data.selected_id(); diff --git a/web/src/message_list_view.js b/web/src/message_list_view.js index f8ba5afc46..2fabffe9a0 100644 --- a/web/src/message_list_view.js +++ b/web/src/message_list_view.js @@ -1577,4 +1577,14 @@ export class MessageListView { stream_color.update_stream_recipient_color($stream_header); } } + + show_message_as_read(message, options) { + const $row = this.get_row(message.id); + if (options.from === "pointer" || options.from === "server") { + $row.find(".unread_marker").addClass("fast_fade"); + } else { + $row.find(".unread_marker").addClass("slow_fade"); + } + $row.removeClass("unread"); + } } diff --git a/web/src/unread_ops.js b/web/src/unread_ops.js index b0949335e9..53c8af51ec 100644 --- a/web/src/unread_ops.js +++ b/web/src/unread_ops.js @@ -150,7 +150,7 @@ export function mark_all_as_read(args = {}) { function process_newly_read_message(message, options) { for (const msg_list of message_lists.all_rendered_message_lists()) { - msg_list.show_message_as_read(message, options); + msg_list.view.show_message_as_read(message, options); } notifications.close_notification(message); recent_topics_ui.update_topic_unread_count(message); diff --git a/web/tests/example7.test.js b/web/tests/example7.test.js index 9e7c18697a..fd6e2444b9 100644 --- a/web/tests/example7.test.js +++ b/web/tests/example7.test.js @@ -55,8 +55,8 @@ const message_viewport = mock_esm("../src/message_viewport"); const notifications = mock_esm("../src/notifications"); const unread_ui = mock_esm("../src/unread_ui"); -message_lists.current = {}; -message_lists.home = {}; +message_lists.current = {view: {}}; +message_lists.home = {view: {}}; message_lists.all_rendered_message_lists = () => [message_lists.home, message_lists.current]; const message_store = zrequire("message_store"); @@ -107,8 +107,8 @@ run_test("unread_ops", ({override}) => { override(message_lists.current, "all_messages", () => test_messages); // Ignore these interactions for now: - override(message_lists.current, "show_message_as_read", () => {}); - override(message_lists.home, "show_message_as_read", () => {}); + override(message_lists.current.view, "show_message_as_read", () => {}); + override(message_lists.home.view, "show_message_as_read", () => {}); override(notifications, "close_notification", () => {}); override(unread_ui, "update_unread_counts", () => {}); override(unread_ui, "notify_messages_remain_unread", () => {});