From aeb5caf921ad0460f3c5cd84005080d8c8523b82 Mon Sep 17 00:00:00 2001
From: Ian Macdonald <ian@caliban.org>
Date: Sat, 4 Jun 2022 16:35:17 +0200
Subject: [PATCH] Trim leading and trailing whitespace on message composition
 and display.

---
 ts/components/conversation/composition/CompositionBox.tsx       | 2 +-
 .../conversation/message/message-content/MessageText.tsx        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ts/components/conversation/composition/CompositionBox.tsx b/ts/components/conversation/composition/CompositionBox.tsx
index 3c728964e..9d1883f0b 100644
--- a/ts/components/conversation/composition/CompositionBox.tsx
+++ b/ts/components/conversation/composition/CompositionBox.tsx
@@ -843,7 +843,7 @@ class CompositionBoxInner extends React.Component<Props, State> {
       // this does not call call removeAllStagedAttachmentsInConvers
       const { attachments, previews } = await this.getFiles(linkPreview);
       this.props.sendMessage({
-        body: messagePlaintext,
+        body: messagePlaintext.trim(),
         attachments: attachments || [],
         quote: extractedQuotedMessageProps,
         preview: previews,
diff --git a/ts/components/conversation/message/message-content/MessageText.tsx b/ts/components/conversation/message/message-content/MessageText.tsx
index aee070f52..3c623ae4c 100644
--- a/ts/components/conversation/message/message-content/MessageText.tsx
+++ b/ts/components/conversation/message/message-content/MessageText.tsx
@@ -31,7 +31,7 @@ export const MessageText = (props: Props) => {
     ? window.i18n('messageDeletedPlaceholder')
     : direction === 'incoming' && status === 'error'
     ? window.i18n('incomingError')
-    : text;
+    : text?.trim();
 
   if (!contents) {
     return null;