mirror of
https://github.com/zulip/zulip.git
synced 2025-11-21 15:09:34 +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) {
|
export function display_slow_send_loading_spinner(message) {
|
||||||
const message_list_id = message_lists.current.id;
|
const $rows = message_lists.all_rendered_row_for_message_id(message.id);
|
||||||
const $row = $(`#message-row-${message_list_id}-${CSS.escape(message.id)}`);
|
|
||||||
if (message.locally_echoed && !message.failed_request) {
|
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
|
// We don't need to do anything special to ensure this gets
|
||||||
// cleaned up if the message is delivered, because the
|
// cleaned up if the message is delivered, because the
|
||||||
// message's HTML gets replaced once the message is
|
// message's HTML gets replaced once the message is
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import $ from "jquery";
|
||||||
import assert from "minimalistic-assert";
|
import assert from "minimalistic-assert";
|
||||||
|
|
||||||
import * as blueslip from "./blueslip";
|
import * as blueslip from "./blueslip";
|
||||||
@@ -70,6 +71,14 @@ export function all_rendered_message_lists(): MessageList[] {
|
|||||||
return rendered_message_lists;
|
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 {
|
export function all_current_message_rows(): JQuery {
|
||||||
assert(current !== undefined);
|
assert(current !== undefined);
|
||||||
return current.view.$list.find(".message_row");
|
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) {
|
export function get_reaction_section(message_id) {
|
||||||
const message_list_id = message_lists.current.id;
|
const $rows = message_lists.all_rendered_row_for_message_id(message_id);
|
||||||
return $(`#message-row-${message_list_id}-${CSS.escape(message_id)}`).find(
|
return $rows.find(".message_reactions");
|
||||||
".message_reactions",
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function find_reaction(message_id, local_id) {
|
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", {
|
const spectators = mock_esm("../src/spectators", {
|
||||||
login_to_access() {},
|
login_to_access() {},
|
||||||
});
|
});
|
||||||
mock_esm("../src/message_lists", {
|
const message_lists = mock_esm("../src/message_lists", {
|
||||||
current: {
|
current: {
|
||||||
id: 1,
|
id: 1,
|
||||||
},
|
},
|
||||||
|
home: {
|
||||||
|
id: 2,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
set_global("document", "document-stub");
|
set_global("document", "document-stub");
|
||||||
@@ -417,6 +420,7 @@ test("prevent_simultaneous_requests_updating_reaction", ({override, override_rew
|
|||||||
function stub_reactions(message_id) {
|
function stub_reactions(message_id) {
|
||||||
const $message_reactions = $.create("reactions-stub");
|
const $message_reactions = $.create("reactions-stub");
|
||||||
const $message_row = $.create(`#message-row-1-${CSS.escape(message_id)}`);
|
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);
|
$message_row.set_find_results(".message_reactions", $message_reactions);
|
||||||
return $message_reactions;
|
return $message_reactions;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user