mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +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 {
 | 
			
		||||
    if (message.submessages && message.submessages.length > 0) {
 | 
			
		||||
    if (message.submessages.length > 0) {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
 
 | 
			
		||||
@@ -94,6 +94,7 @@ export function process_new_message(raw_message: RawMessage, deliver_locally = f
 | 
			
		||||
            clean_reactions,
 | 
			
		||||
            display_reply_to: undefined,
 | 
			
		||||
        };
 | 
			
		||||
        message.submessages ??= [];
 | 
			
		||||
        message_user_ids.add_user_id(message.sender_id);
 | 
			
		||||
    } else {
 | 
			
		||||
        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,
 | 
			
		||||
            clean_reactions,
 | 
			
		||||
        };
 | 
			
		||||
        message.submessages ??= [];
 | 
			
		||||
 | 
			
		||||
        pm_conversations.process_message(message);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -65,10 +65,6 @@ export function get_message_events(message: Message): SubmessageEvents | undefin
 | 
			
		||||
        return undefined;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!message.submessages) {
 | 
			
		||||
        return undefined;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (message.submessages.length === 0) {
 | 
			
		||||
        return undefined;
 | 
			
		||||
    }
 | 
			
		||||
@@ -163,8 +159,6 @@ export function update_message(submsg: Submessage): void {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    message.submessages ??= [];
 | 
			
		||||
 | 
			
		||||
    const existing = message.submessages.find((sm) => sm.id === submsg.id);
 | 
			
		||||
 | 
			
		||||
    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)
 | 
			
		||||
    const message = {
 | 
			
		||||
        sent_by_me: true,
 | 
			
		||||
        submessages: [],
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    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.
 | 
			
		||||
    message.submessages = ["/poll"];
 | 
			
		||||
    assert.equal(is_content_editable(message, 55), false);
 | 
			
		||||
    delete message.submessages;
 | 
			
		||||
    message.submessages = [];
 | 
			
		||||
    message.type = "private";
 | 
			
		||||
    assert.equal(is_content_editable(message, 45), false);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -166,6 +166,7 @@ run_test("update_messages", ({override, override_rewire}) => {
 | 
			
		||||
            status_emoji_info: undefined,
 | 
			
		||||
            stream_id: denmark.stream_id,
 | 
			
		||||
            stream: "Denmark",
 | 
			
		||||
            submessages: [],
 | 
			
		||||
            topic: "lunch",
 | 
			
		||||
            type: "stream",
 | 
			
		||||
            unread: true,
 | 
			
		||||
 
 | 
			
		||||
@@ -203,6 +203,7 @@ test("my_message_all_actions", ({override}) => {
 | 
			
		||||
            unread: false,
 | 
			
		||||
            collapsed: false,
 | 
			
		||||
            not_spectator: true,
 | 
			
		||||
            submessages: [],
 | 
			
		||||
            edit_history: [
 | 
			
		||||
                {
 | 
			
		||||
                    prev_content: "Previous content",
 | 
			
		||||
 
 | 
			
		||||
@@ -13,11 +13,7 @@ const widgetize = mock_esm("../src/widgetize");
 | 
			
		||||
const submessage = zrequire("submessage");
 | 
			
		||||
 | 
			
		||||
run_test("get_message_events", () => {
 | 
			
		||||
    let msg = {};
 | 
			
		||||
 | 
			
		||||
    assert.equal(submessage.get_message_events(msg), undefined);
 | 
			
		||||
 | 
			
		||||
    msg = {
 | 
			
		||||
    let msg = {
 | 
			
		||||
        submessages: [],
 | 
			
		||||
    };
 | 
			
		||||
    assert.equal(submessage.get_message_events(msg), undefined);
 | 
			
		||||
@@ -117,6 +113,7 @@ run_test("check sender", ({override}) => {
 | 
			
		||||
run_test("handle_event", () => {
 | 
			
		||||
    const message = {
 | 
			
		||||
        id: 42,
 | 
			
		||||
        submessages: [],
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    const event = {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user