mirror of
https://github.com/zulip/zulip.git
synced 2025-11-16 03:41:58 +00:00
reactions: Fix reactions not displayed in all messages view.
We were not updating all the rendered `messages-rows` but just
for the current view.
This bug was introduced in
df180f7bd5
This commit is contained in:
@@ -472,10 +472,9 @@ function abort_message(message) {
|
||||
}
|
||||
|
||||
export function display_slow_send_loading_spinner(message) {
|
||||
const message_list_id = message_lists.current.id;
|
||||
const $row = $(`#message-row-${message_list_id}-${CSS.escape(message.id)}`);
|
||||
const $rows = message_lists.all_rendered_row_for_message_id(message.id);
|
||||
if (message.locally_echoed && !message.failed_request) {
|
||||
$row.find(".slow-send-spinner").removeClass("hidden");
|
||||
$rows.find(".slow-send-spinner").removeClass("hidden");
|
||||
// We don't need to do anything special to ensure this gets
|
||||
// cleaned up if the message is delivered, because the
|
||||
// message's HTML gets replaced once the message is
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import $ from "jquery";
|
||||
import assert from "minimalistic-assert";
|
||||
|
||||
import * as blueslip from "./blueslip";
|
||||
@@ -70,6 +71,14 @@ export function all_rendered_message_lists(): MessageList[] {
|
||||
return rendered_message_lists;
|
||||
}
|
||||
|
||||
export function all_rendered_row_for_message_id(message_id: number): JQuery {
|
||||
let $rows = $();
|
||||
for (const msg_list of all_rendered_message_lists()) {
|
||||
$rows = $rows.add(msg_list.get_row(message_id));
|
||||
}
|
||||
return $rows;
|
||||
}
|
||||
|
||||
export function all_current_message_rows(): JQuery {
|
||||
assert(current !== undefined);
|
||||
return current.view.$list.find(".message_row");
|
||||
|
||||
@@ -203,10 +203,8 @@ export function get_reaction_title_data(message_id, local_id) {
|
||||
}
|
||||
|
||||
export function get_reaction_section(message_id) {
|
||||
const message_list_id = message_lists.current.id;
|
||||
return $(`#message-row-${message_list_id}-${CSS.escape(message_id)}`).find(
|
||||
".message_reactions",
|
||||
);
|
||||
const $rows = message_lists.all_rendered_row_for_message_id(message_id);
|
||||
return $rows.find(".message_reactions");
|
||||
}
|
||||
|
||||
export function find_reaction(message_id, local_id) {
|
||||
|
||||
@@ -44,10 +44,13 @@ const settings_data = mock_esm("../src/settings_data");
|
||||
const spectators = mock_esm("../src/spectators", {
|
||||
login_to_access() {},
|
||||
});
|
||||
mock_esm("../src/message_lists", {
|
||||
const message_lists = mock_esm("../src/message_lists", {
|
||||
current: {
|
||||
id: 1,
|
||||
},
|
||||
home: {
|
||||
id: 2,
|
||||
},
|
||||
});
|
||||
|
||||
set_global("document", "document-stub");
|
||||
@@ -417,6 +420,7 @@ test("prevent_simultaneous_requests_updating_reaction", ({override, override_rew
|
||||
function stub_reactions(message_id) {
|
||||
const $message_reactions = $.create("reactions-stub");
|
||||
const $message_row = $.create(`#message-row-1-${CSS.escape(message_id)}`);
|
||||
message_lists.all_rendered_row_for_message_id = () => $message_row;
|
||||
$message_row.set_find_results(".message_reactions", $message_reactions);
|
||||
return $message_reactions;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user