فهرست منبع

MUC: wait for messages collection to be initialized

before processing MUC messages received prematurely due to SMACKS
resumption.
JC Brand 5 سال پیش
والد
کامیت
58f6d36564
1فایلهای تغییر یافته به همراه6 افزوده شده و 2 حذف شده
  1. 6 2
      src/headless/converse-muc.js

+ 6 - 2
src/headless/converse-muc.js

@@ -2403,9 +2403,13 @@ converse.plugins.add('converse-muc', {
                 const muc_jid = Strophe.getBareJidFromJid(stanza.getAttribute('from'));
                 if (!_converse.chatboxes.get(muc_jid)) {
                     _converse.api.waitUntil('chatBoxesFetched')
-                        .then(() => {
+                        .then(async () => {
                             const muc = _converse.chatboxes.get(muc_jid);
-                            muc && muc.message_handler.run(stanza);
+                            if (muc) {
+                                await muc.initialized;
+                                await muc.messages.fetched
+                                muc.message_handler.run(stanza);
+                            }
                         });
                 }
                 return true;