From 0ca124fa8fe66f5cf6d00714175e20cffca07a14 Mon Sep 17 00:00:00 2001 From: Harshil Sharma <18575143+harshilsharma63@users.noreply.github.com> Date: Mon, 6 Apr 2026 08:50:40 +0530 Subject: [PATCH] Fixed a bug where attachment-only post would send on enter when when set to only send on ctrl/cmd + enter (#35828) --- webapp/channels/src/utils/post_utils.test.tsx | 16 ++++++++++++---- webapp/channels/src/utils/post_utils.ts | 8 ++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/webapp/channels/src/utils/post_utils.test.tsx b/webapp/channels/src/utils/post_utils.test.tsx index 6d12ee76a41..6a07ce68b4d 100644 --- a/webapp/channels/src/utils/post_utils.test.tsx +++ b/webapp/channels/src/utils/post_utils.test.tsx @@ -526,10 +526,6 @@ describe('PostUtils.postMessageOnKeyPress', () => { name: 'no override: empty message', input: {event: {keyCode: 13}, message: '', sendMessageOnCtrlEnter: false, sendCodeBlockOnCtrlEnter: false}, expected: {allowSending: true}, - }, { - name: 'no override: empty message on ctrl + enter', - input: {event: {keyCode: 13}, message: '', sendMessageOnCtrlEnter: true, sendCodeBlockOnCtrlEnter: false}, - expected: {allowSending: true}, }]; for (const testCase of noOverrideCases) { @@ -550,6 +546,18 @@ describe('PostUtils.postMessageOnKeyPress', () => { // on sending of message on Ctrl + Enter const sendMessageOnCtrlEnterCases = [{ + name: 'sendMessageOnCtrlEnter: Test for empty message on CTRL+ENTER setting, no ctrlKey|metaKey - should not allow sending (attachment-only messages)', + input: {event: {keyCode: 13}, message: '', sendMessageOnCtrlEnter: true, sendCodeBlockOnCtrlEnter: false}, + expected: {allowSending: false}, + }, { + name: 'sendMessageOnCtrlEnter: Test for empty message on CTRL+ENTER setting, with ctrlKey - should allow sending', + input: {event: {keyCode: 13, ctrlKey: true}, message: '', sendMessageOnCtrlEnter: true, sendCodeBlockOnCtrlEnter: false}, + expected: {allowSending: true}, + }, { + name: 'sendMessageOnCtrlEnter: Test for empty message on CTRL+ENTER setting, with metaKey - should allow sending', + input: {event: {keyCode: 13, metaKey: true}, message: '', sendMessageOnCtrlEnter: true, sendCodeBlockOnCtrlEnter: false}, + expected: {allowSending: true}, + }, { name: 'sendMessageOnCtrlEnter: Test for overriding sending of message on CTRL+ENTER, no ctrlKey|metaKey', input: {event: {keyCode: 13}, message: 'message', sendMessageOnCtrlEnter: true, sendCodeBlockOnCtrlEnter: false}, expected: {allowSending: false}, diff --git a/webapp/channels/src/utils/post_utils.ts b/webapp/channels/src/utils/post_utils.ts index f9b9a250708..9899bcd6c04 100644 --- a/webapp/channels/src/utils/post_utils.ts +++ b/webapp/channels/src/utils/post_utils.ts @@ -334,10 +334,7 @@ export function postMessageOnKeyPress( return {allowSending: false, ignoreKeyPress: true}; } - if ( - message.trim() === '' || - !(sendMessageOnCtrlEnter || sendCodeBlockOnCtrlEnter) - ) { + if (!(sendMessageOnCtrlEnter || sendCodeBlockOnCtrlEnter)) { return {allowSending: true}; } @@ -346,6 +343,9 @@ export function postMessageOnKeyPress( if (sendMessageOnCtrlEnter) { return sendOnCtrlEnter(message, ctrlOrMetaKeyPressed, true, caretPosition); } else if (sendCodeBlockOnCtrlEnter) { + if (message.trim() === '') { + return {allowSending: true}; + } return sendOnCtrlEnter(message, ctrlOrMetaKeyPressed, false, caretPosition); }