JC Brand 6 vuotta sitten
vanhempi
commit
78b43e7b75
1 muutettua tiedostoa jossa 67 lisäystä ja 32 poistoa
  1. 67 32
      dist/converse.js

+ 67 - 32
dist/converse.js

@@ -52425,6 +52425,8 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_1__["default"].plugins
         this.save({
           'minimized': this.get('minimized') || false,
           'time_minimized': this.get('time_minimized') || moment()
+        }, {
+          'patch': true
         });
       },
 
@@ -52432,6 +52434,8 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_1__["default"].plugins
         u.safeSave(this, {
           'minimized': false,
           'time_opened': moment().valueOf()
+        }, {
+          'patch': true
         });
       },
 
@@ -52439,6 +52443,8 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_1__["default"].plugins
         u.safeSave(this, {
           'minimized': true,
           'time_minimized': moment().format()
+        }, {
+          'patch': true
         });
       }
 
@@ -52522,6 +52528,8 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_1__["default"].plugins
         if (this.model.collection && this.model.collection.browserStorage) {
           this.model.save({
             'scroll': this.content.scrollTop
+          }, {
+            'patch': true
           });
         } else {
           this.model.set({
@@ -52840,6 +52848,8 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_1__["default"].plugins
 
         this.toggleview.model.save({
           'collapsed': !this.toggleview.model.get('collapsed')
+        }, {
+          'patch': true
         });
         u.slideToggleElement(this.el.querySelector('.minimized-chats-flyout'), 200);
       },
@@ -52899,6 +52909,8 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_1__["default"].plugins
       updateUnreadMessagesCounter() {
         this.toggleview.model.save({
           'num_unread': _.sum(this.model.pluck('num_unread'))
+        }, {
+          'patch': true
         });
         this.render();
       }
@@ -53875,7 +53887,6 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_3__["default"].plugins
          */
         if (u.isPersistableModel(this.model)) {
           this.model.clearUnreadMsgCounter();
-          this.model.save();
         }
 
         this.occupantsview.setOccupantsHeight();
@@ -55428,25 +55439,29 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_3__["default"].plugins
          */
         'close'(jids) {
           if (_.isUndefined(jids)) {
-            _converse.chatboxviews.each(function (view) {
+            return Promise.all(_converse.chatboxviews.map(view => {
               if (view.is_chatroom && view.model) {
-                view.close();
+                return view.close();
               }
-            });
+
+              return Promise.resolve();
+            }));
           } else if (_.isString(jids)) {
             const view = _converse.chatboxviews.get(jids);
 
             if (view) {
-              view.close();
+              return view.close();
             }
           } else {
-            _.each(jids, function (jid) {
+            return Promise.all(_.map(jids, jid => {
               const view = _converse.chatboxviews.get(jid);
 
               if (view) {
-                view.close();
+                return view.close();
               }
-            });
+
+              return Promise.resolve();
+            }));
           }
         }
 
@@ -66106,6 +66121,8 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
 
       _.each(groupchats, gc => _utils_form__WEBPACK_IMPORTED_MODULE_7__["default"].safeSave(gc, {
         'connection_status': _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].ROOMSTATUS.DISCONNECTED
+      }, {
+        'patch': true
       }));
 
       this.__super__.tearDown.call(this, arguments);
@@ -66329,7 +66346,11 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
           stanza.cnode(Strophe.xmlElement("password", [], password));
         }
 
-        this.save('connection_status', _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].ROOMSTATUS.CONNECTING);
+        this.save({
+          'connection_status': _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].ROOMSTATUS.CONNECTING
+        }, {
+          'patch': true
+        });
 
         _converse.api.send(stanza);
 
@@ -66364,6 +66385,8 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
 
         _utils_form__WEBPACK_IMPORTED_MODULE_7__["default"].safeSave(this, {
           'connection_status': _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].ROOMSTATUS.DISCONNECTED
+        }, {
+          'patch': true
         });
         this.removeHandlers();
       },
@@ -66493,6 +66516,8 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
         if (nick) {
           this.save({
             'nick': nick
+          }, {
+            'patch': true
           });
         } else {
           nick = this.get('nick');
@@ -66624,7 +66649,12 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
 
           attrs[fieldname.replace('muc_', '')] = true;
         });
-        this.features.save(attrs);
+        attrs.description = _.get(fields.findWhere({
+          'var': "muc#roominfo_description"
+        }), 'attributes.value');
+        this.features.save(attrs, {
+          'patch': true
+        });
       },
 
       requestMemberList(affiliation) {
@@ -66815,7 +66845,6 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
             this.save({
               'affiliation': affiliation
             }, {
-              'wait': true,
               'patch': true
             });
           }
@@ -66824,7 +66853,6 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
             this.save({
               'role': role
             }, {
-              'wait': true,
               'patch': true
             });
           }
@@ -66947,6 +66975,7 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
           'reserved_nick': nick,
           'nick': nick
         }, {
+          'patch': true,
           'silent': true
         });
         return iq;
@@ -67225,6 +67254,8 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
           if (forwarded && msg && msg.get('sender') === 'me') {
             msg.save({
               'received': moment().format()
+            }, {
+              'patch': true
             });
           }
         }
@@ -67235,38 +67266,39 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
         });
       },
 
-      async onPresence(pres) {
+      onPresence(pres) {
         /* Handles all MUC presence stanzas.
          *
          * Parameters:
          *  (XMLElement) pres: The stanza
          */
         if (pres.getAttribute('type') === 'error') {
-          this.save('connection_status', _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].ROOMSTATUS.DISCONNECTED);
+          this.save({
+            'connection_status': _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].ROOMSTATUS.DISCONNECTED
+          }, {
+            'patch': true
+          });
           return;
         }
 
         const is_self = pres.querySelector("status[code='110']");
 
         if (is_self && pres.getAttribute('type') !== 'unavailable') {
-          await this.onOwnPresence(pres);
+          this.onOwnPresence(pres);
         }
 
         this.updateOccupantsOnPresence(pres);
 
         if (this.get('role') !== 'none' && this.get('connection_status') === _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].ROOMSTATUS.CONNECTING) {
-          await new Promise((success, error) => this.save({
+          this.save({
             'connection_status': _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].ROOMSTATUS.CONNECTED
           }, {
-            'patch': true,
-            'wait': true,
-            success,
-            error
-          }));
+            'patch': true
+          });
         }
       },
 
-      async onOwnPresence(pres) {
+      onOwnPresence(pres) {
         /* Handles a received presence relating to the current
          * user.
          *
@@ -67308,14 +67340,11 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
           }
         }
 
-        await new Promise((success, error) => this.save({
+        this.save({
           'connection_status': _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].ROOMSTATUS.ENTERED
         }, {
-          'patch': true,
-          'wait': true,
-          success,
-          error
-        }));
+          'patch': true
+        });
       },
 
       isUserMentioned(message) {
@@ -67371,6 +67400,8 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
         _utils_form__WEBPACK_IMPORTED_MODULE_7__["default"].safeSave(this, {
           'num_unread': 0,
           'num_unread_general': 0
+        }, {
+          'patch': true
         });
       }
 
@@ -67607,7 +67638,11 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
        */
       _converse.chatboxes.each(function (model) {
         if (model.get('type') === _converse.CHATROOMS_TYPE) {
-          model.save('connection_status', _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].ROOMSTATUS.DISCONNECTED);
+          model.save({
+            'connection_status': _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].ROOMSTATUS.DISCONNECTED
+          }, {
+            'patch': true
+          });
         }
       });
     }
@@ -70231,11 +70266,11 @@ u.onMultipleEvents = function () {
   _lodash_noconflict__WEBPACK_IMPORTED_MODULE_3___default.a.each(events, map => map.object.on(map.event, handler));
 };
 
-u.safeSave = function (model, attributes) {
+u.safeSave = function (model, attributes, options) {
   if (u.isPersistableModel(model)) {
-    model.save(attributes);
+    model.save(attributes, options);
   } else {
-    model.set(attributes);
+    model.set(attributes, options);
   }
 };