Browse Source

Fixes #1143 Disallow sending of empty messages

JC Brand 7 years ago
parent
commit
b027f0f784
3 changed files with 13 additions and 9 deletions
  1. 1 0
      CHANGES.md
  2. 7 5
      dist/converse.js
  3. 5 4
      src/converse-chatview.js

+ 1 - 0
CHANGES.md

@@ -30,6 +30,7 @@
 - Documentation includes utf-8 charset to make minfied versions compatible across platforms. #1017
 - #1026 Typing in MUC shows "Typing from another device"
 - #1039 Multi-option data form elements not shown and saved correctly
+- #1143 Able to send blank message
 
 ### API changes
 

+ 7 - 5
dist/converse.js

@@ -70266,6 +70266,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
           ev.preventDefault();
           const textarea = this.el.querySelector('.chat-textarea'),
                 message = textarea.value;
+
+          if (!message.replace(/\s/g, '').length) {
+            return;
+          }
+
           let spoiler_hint;
 
           if (this.model.get('composing_spoiler')) {
@@ -70280,12 +70285,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
           const event = document.createEvent('Event');
           event.initEvent('input', true, true);
           textarea.dispatchEvent(event);
+          this.onMessageSubmitted(message, spoiler_hint);
 
-          if (message !== '') {
-            this.onMessageSubmitted(message, spoiler_hint);
-
-            _converse.emit('messageSend', message);
-          }
+          _converse.emit('messageSend', message);
 
           this.setChatState(_converse.ACTIVE);
         },

+ 5 - 4
src/converse-chatview.js

@@ -890,6 +890,9 @@
                     const textarea = this.el.querySelector('.chat-textarea'),
                           message = textarea.value;
 
+                    if (!message.replace(/\s/g, '').length) {
+                        return;
+                    }
                     let spoiler_hint;
                     if (this.model.get('composing_spoiler')) {
                         const hint_el = this.el.querySelector('form.sendXMPPMessage input.spoiler-hint');
@@ -903,10 +906,8 @@
                     event.initEvent('input', true, true);
                     textarea.dispatchEvent(event);
 
-                    if (message !== '') {
-                        this.onMessageSubmitted(message, spoiler_hint);
-                        _converse.emit('messageSend', message);
-                    }
+                    this.onMessageSubmitted(message, spoiler_hint);
+                    _converse.emit('messageSend', message);
                     this.setChatState(_converse.ACTIVE);
                 },