mirror of
https://github.com/zulip/zulip.git
synced 2025-11-13 10:26:28 +00:00
message: Make sure submessages is always defined.
This commit is contained in:
@@ -141,7 +141,7 @@ export function is_topic_editable(message: Message, edit_limit_seconds_buffer =
|
|||||||
}
|
}
|
||||||
|
|
||||||
function is_widget_message(message: Message): boolean {
|
function is_widget_message(message: Message): boolean {
|
||||||
if (message.submessages && message.submessages.length > 0) {
|
if (message.submessages.length > 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ export function process_new_message(raw_message: RawMessage, deliver_locally = f
|
|||||||
clean_reactions,
|
clean_reactions,
|
||||||
display_reply_to: undefined,
|
display_reply_to: undefined,
|
||||||
};
|
};
|
||||||
|
message.submessages ??= [];
|
||||||
message_user_ids.add_user_id(message.sender_id);
|
message_user_ids.add_user_id(message.sender_id);
|
||||||
} else {
|
} else {
|
||||||
const pm_with_user_ids = people.pm_with_user_ids(message_with_booleans);
|
const pm_with_user_ids = people.pm_with_user_ids(message_with_booleans);
|
||||||
@@ -114,6 +115,7 @@ export function process_new_message(raw_message: RawMessage, deliver_locally = f
|
|||||||
to_user_ids,
|
to_user_ids,
|
||||||
clean_reactions,
|
clean_reactions,
|
||||||
};
|
};
|
||||||
|
message.submessages ??= [];
|
||||||
|
|
||||||
pm_conversations.process_message(message);
|
pm_conversations.process_message(message);
|
||||||
|
|
||||||
|
|||||||
@@ -65,10 +65,6 @@ export function get_message_events(message: Message): SubmessageEvents | undefin
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!message.submessages) {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (message.submessages.length === 0) {
|
if (message.submessages.length === 0) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
@@ -163,8 +159,6 @@ export function update_message(submsg: Submessage): void {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
message.submessages ??= [];
|
|
||||||
|
|
||||||
const existing = message.submessages.find((sm) => sm.id === submsg.id);
|
const existing = message.submessages.find((sm) => sm.id === submsg.id);
|
||||||
|
|
||||||
if (existing !== undefined) {
|
if (existing !== undefined) {
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ run_test("is_content_editable", ({override}) => {
|
|||||||
// user, and that were successfully sent (i.e. no failed_request or local_id)
|
// user, and that were successfully sent (i.e. no failed_request or local_id)
|
||||||
const message = {
|
const message = {
|
||||||
sent_by_me: true,
|
sent_by_me: true,
|
||||||
|
submessages: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
override(realm, "realm_allow_message_editing", false);
|
override(realm, "realm_allow_message_editing", false);
|
||||||
@@ -75,7 +76,7 @@ run_test("is_content_editable", ({override}) => {
|
|||||||
// Right now, we prevent users from editing widgets.
|
// Right now, we prevent users from editing widgets.
|
||||||
message.submessages = ["/poll"];
|
message.submessages = ["/poll"];
|
||||||
assert.equal(is_content_editable(message, 55), false);
|
assert.equal(is_content_editable(message, 55), false);
|
||||||
delete message.submessages;
|
message.submessages = [];
|
||||||
message.type = "private";
|
message.type = "private";
|
||||||
assert.equal(is_content_editable(message, 45), false);
|
assert.equal(is_content_editable(message, 45), false);
|
||||||
|
|
||||||
|
|||||||
@@ -166,6 +166,7 @@ run_test("update_messages", ({override, override_rewire}) => {
|
|||||||
status_emoji_info: undefined,
|
status_emoji_info: undefined,
|
||||||
stream_id: denmark.stream_id,
|
stream_id: denmark.stream_id,
|
||||||
stream: "Denmark",
|
stream: "Denmark",
|
||||||
|
submessages: [],
|
||||||
topic: "lunch",
|
topic: "lunch",
|
||||||
type: "stream",
|
type: "stream",
|
||||||
unread: true,
|
unread: true,
|
||||||
|
|||||||
@@ -203,6 +203,7 @@ test("my_message_all_actions", ({override}) => {
|
|||||||
unread: false,
|
unread: false,
|
||||||
collapsed: false,
|
collapsed: false,
|
||||||
not_spectator: true,
|
not_spectator: true,
|
||||||
|
submessages: [],
|
||||||
edit_history: [
|
edit_history: [
|
||||||
{
|
{
|
||||||
prev_content: "Previous content",
|
prev_content: "Previous content",
|
||||||
|
|||||||
@@ -13,11 +13,7 @@ const widgetize = mock_esm("../src/widgetize");
|
|||||||
const submessage = zrequire("submessage");
|
const submessage = zrequire("submessage");
|
||||||
|
|
||||||
run_test("get_message_events", () => {
|
run_test("get_message_events", () => {
|
||||||
let msg = {};
|
let msg = {
|
||||||
|
|
||||||
assert.equal(submessage.get_message_events(msg), undefined);
|
|
||||||
|
|
||||||
msg = {
|
|
||||||
submessages: [],
|
submessages: [],
|
||||||
};
|
};
|
||||||
assert.equal(submessage.get_message_events(msg), undefined);
|
assert.equal(submessage.get_message_events(msg), undefined);
|
||||||
@@ -117,6 +113,7 @@ run_test("check sender", ({override}) => {
|
|||||||
run_test("handle_event", () => {
|
run_test("handle_event", () => {
|
||||||
const message = {
|
const message = {
|
||||||
id: 42,
|
id: 42,
|
||||||
|
submessages: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
const event = {
|
const event = {
|
||||||
|
|||||||
Reference in New Issue
Block a user