فهرست منبع

Makes more sense to destroy a message outside of `showMessage`

Also ensures that we don't trigger `messageAdded` for a destroyed
message.
JC Brand 6 سال پیش
والد
کامیت
f1f641ce61
1فایلهای تغییر یافته به همراه4 افزوده شده و 5 حذف شده
  1. 4 5
      src/converse-chatview.js

+ 4 - 5
src/converse-chatview.js

@@ -796,11 +796,6 @@ converse.plugins.add('converse-chatview', {
              * @param { _converse.Message } message - The message object
              */
             async showMessage (message) {
-                if (!u.isNewMessage(message) && u.isEmptyMessage(message)) {
-                    // Handle archived or delayed messages without any message
-                    // text to show.
-                    return message.destroy();
-                }
                 const view = this.add(message.get('id'), new _converse.MessageView({'model': message}));
                 await view.render();
 
@@ -844,6 +839,10 @@ converse.plugins.add('converse-chatview', {
                     // We already have a view for this message
                     return;
                 }
+                if (!u.isNewMessage(message) && u.isEmptyMessage(message)) {
+                    // Ignore archived or delayed messages without any text to show.
+                    return message.destroy();
+                }
                 await this.showMessage(message);
                 /**
                  * Triggered once a message has been added to a chatbox.