diff --git a/dist/converse.js b/dist/converse.js index fcd213bcc..46610ed73 100644 --- a/dist/converse.js +++ b/dist/converse.js @@ -48767,10 +48767,6 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_3__["default"].plugins view.close(); }); return this; - }, - - chatBoxMayBeShown(chatbox) { - return this.model.chatBoxMayBeShown(chatbox); } }); @@ -50493,10 +50489,6 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_5__["default"].plugins } else { return this.__super__.model.apply(this, arguments); } - }, - - chatBoxMayBeShown(chatbox) { - return this.__super__.chatBoxMayBeShown.apply(this, arguments) && chatbox.get('id') !== 'controlbox'; } }, @@ -50547,6 +50539,10 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_5__["default"].plugins return this.__super__.validate.apply(this, arguments); }, + mayBeShown() { + return this.__super__.mayBeShown.apply(this, arguments) && this.get('id') !== 'controlbox'; + }, + initialize() { if (this.get('id') === 'controlbox') { this.set({ @@ -52522,6 +52518,10 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_1__["default"].plugins 'minimized': true, 'time_minimized': moment().format() }); + }, + + mayBeShown() { + return this.__super__.mayBeShown.apply(this, arguments) && !this.get('minimized'); } }, @@ -52697,12 +52697,6 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_1__["default"].plugins return div.innerHTML; } - }, - ChatBoxes: { - chatBoxMayBeShown(chatbox) { - return this.__super__.chatBoxMayBeShown.apply(this, arguments) && !chatbox.get('minimized'); - } - }, ChatBoxViews: { getChatBoxWidth(view) { @@ -60349,27 +60343,29 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_1__["default"].plugins // relevant objects or classes. // // new functions which don't exist yet can also be added. - ChatBoxes: { - chatBoxMayBeShown(chatbox) { + ChatBox: { + mayBeShown() { const _converse = this.__super__._converse; - if (chatbox.get('id') === 'controlbox') { - return true; - } - if (_converse.isUniView()) { + if (this.get('id') === 'controlbox') { + return true; + } + const any_chats_visible = _converse.chatboxes.filter(cb => cb.get('id') != 'controlbox').filter(cb => !cb.get('hidden')).length > 0; if (any_chats_visible) { - return !chatbox.get('hidden'); + return !this.get('hidden'); } else { return true; } } else { - return this.__super__.chatBoxMayBeShown.apply(this, arguments); + return this.__super__.mayBeShown.apply(this, arguments); } - }, + } + }, + ChatBoxes: { createChatBox(jid, attrs) { /* Make sure new chat boxes are hidden by default. */ const _converse = this.__super__._converse; @@ -62615,6 +62611,10 @@ _converse_core__WEBPACK_IMPORTED_MODULE_2__["default"].plugins.add('converse-cha return attrs; }, + mayBeShown() { + return true; + }, + isHidden() { /* Returns a boolean to indicate whether a newly received * message will be visible to the user or not. @@ -62687,14 +62687,10 @@ _converse_core__WEBPACK_IMPORTED_MODULE_2__["default"].plugins.add('converse-cha }, null, 'message', 'error'); }, - chatBoxMayBeShown(chatbox) { - return true; - }, - onChatBoxesFetched(collection) { /* Show chat boxes upon receiving them from sessionStorage */ collection.each(chatbox => { - if (this.chatBoxMayBeShown(chatbox)) { + if (chatbox.mayBeShown()) { chatbox.trigger('show'); } }); @@ -62753,6 +62749,8 @@ _converse_core__WEBPACK_IMPORTED_MODULE_2__["default"].plugins.add('converse-cha } else { // An error message without id likely means that we // sent a message without id (which shouldn't happen). + _converse.log('Received an error message without id attribute!', Strophe.LogLevel.ERROR); + _converse.log(message, Strophe.LogLevel.ERROR); } diff --git a/src/converse-chatboxviews.js b/src/converse-chatboxviews.js index 7824f66f7..48dd46d7b 100644 --- a/src/converse-chatboxviews.js +++ b/src/converse-chatboxviews.js @@ -145,10 +145,6 @@ converse.plugins.add('converse-chatboxviews', { */ this.each(function (view) { view.close(); }); return this; - }, - - chatBoxMayBeShown (chatbox) { - return this.model.chatBoxMayBeShown(chatbox); } }); diff --git a/src/converse-controlbox.js b/src/converse-controlbox.js index daf9aa121..4ce3729d3 100644 --- a/src/converse-controlbox.js +++ b/src/converse-controlbox.js @@ -92,12 +92,7 @@ converse.plugins.add('converse-controlbox', { } else { return this.__super__.model.apply(this, arguments); } - }, - - chatBoxMayBeShown (chatbox) { - return this.__super__.chatBoxMayBeShown.apply(this, arguments) && - chatbox.get('id') !== 'controlbox'; - }, + } }, ChatBoxViews: { @@ -143,6 +138,11 @@ converse.plugins.add('converse-controlbox', { return this.__super__.validate.apply(this, arguments); }, + mayBeShown () { + return this.__super__.mayBeShown.apply(this, arguments) && + this.get('id') !== 'controlbox'; + }, + initialize () { if (this.get('id') === 'controlbox') { this.set({'time_opened': moment(0).valueOf()}); diff --git a/src/converse-minimize.js b/src/converse-minimize.js index f321beeaf..000e191da 100644 --- a/src/converse-minimize.js +++ b/src/converse-minimize.js @@ -68,6 +68,11 @@ converse.plugins.add('converse-minimize', { 'time_minimized': moment().format() }); }, + + mayBeShown () { + return this.__super__.mayBeShown.apply(this, arguments) && + !this.get('minimized'); + } }, ChatBoxView: { @@ -219,13 +224,6 @@ converse.plugins.add('converse-minimize', { } }, - ChatBoxes: { - chatBoxMayBeShown (chatbox) { - return this.__super__.chatBoxMayBeShown.apply(this, arguments) && - !chatbox.get('minimized'); - }, - }, - ChatBoxViews: { getChatBoxWidth (view) { if (!view.model.get('minimized') && u.isVisible(view.el)) { diff --git a/src/converse-singleton.js b/src/converse-singleton.js index 5894cb70a..1ac8ab15a 100644 --- a/src/converse-singleton.js +++ b/src/converse-singleton.js @@ -43,28 +43,30 @@ converse.plugins.add('converse-singleton', { // relevant objects or classes. // // new functions which don't exist yet can also be added. - ChatBoxes: { - chatBoxMayBeShown (chatbox) { + ChatBox: { + mayBeShown () { const { _converse } = this.__super__; - if (chatbox.get('id') === 'controlbox') { - return true; - } if (_converse.isUniView()) { + if (this.get('id') === 'controlbox') { + return true; + } const any_chats_visible = _converse.chatboxes .filter(cb => cb.get('id') != 'controlbox') .filter(cb => !cb.get('hidden')).length > 0; if (any_chats_visible) { - return !chatbox.get('hidden'); + return !this.get('hidden'); } else { return true; } } else { - return this.__super__.chatBoxMayBeShown.apply(this, arguments); + return this.__super__.mayBeShown.apply(this, arguments); } - }, + } + }, + ChatBoxes: { createChatBox (jid, attrs) { /* Make sure new chat boxes are hidden by default. */ const { _converse } = this.__super__; diff --git a/src/headless/converse-chatboxes.js b/src/headless/converse-chatboxes.js index 49e37ba73..96a170003 100644 --- a/src/headless/converse-chatboxes.js +++ b/src/headless/converse-chatboxes.js @@ -776,6 +776,10 @@ converse.plugins.add('converse-chatboxes', { return attrs; }, + mayBeShown () { + return true; + }, + isHidden () { /* Returns a boolean to indicate whether a newly received * message will be visible to the user or not. @@ -840,14 +844,10 @@ converse.plugins.add('converse-chatboxes', { }, null, 'message', 'error'); }, - chatBoxMayBeShown (chatbox) { - return true; - }, - onChatBoxesFetched (collection) { /* Show chat boxes upon receiving them from sessionStorage */ collection.each(chatbox => { - if (this.chatBoxMayBeShown(chatbox)) { + if (chatbox.mayBeShown()) { chatbox.trigger('show'); } }); @@ -898,6 +898,7 @@ converse.plugins.add('converse-chatboxes', { } else { // An error message without id likely means that we // sent a message without id (which shouldn't happen). + _converse.log('Received an error message without id attribute!', Strophe.LogLevel.ERROR); _converse.log(message, Strophe.LogLevel.ERROR); } const attrs = await chatbox.getMessageAttributesFromStanza(message, message); diff --git a/src/headless/dist/converse-headless.js b/src/headless/dist/converse-headless.js index 2d5e0ad82..de0b03bb1 100644 --- a/src/headless/dist/converse-headless.js +++ b/src/headless/dist/converse-headless.js @@ -41123,6 +41123,10 @@ _converse_core__WEBPACK_IMPORTED_MODULE_2__["default"].plugins.add('converse-cha return attrs; }, + mayBeShown() { + return true; + }, + isHidden() { /* Returns a boolean to indicate whether a newly received * message will be visible to the user or not. @@ -41195,14 +41199,10 @@ _converse_core__WEBPACK_IMPORTED_MODULE_2__["default"].plugins.add('converse-cha }, null, 'message', 'error'); }, - chatBoxMayBeShown(chatbox) { - return true; - }, - onChatBoxesFetched(collection) { /* Show chat boxes upon receiving them from sessionStorage */ collection.each(chatbox => { - if (this.chatBoxMayBeShown(chatbox)) { + if (chatbox.mayBeShown()) { chatbox.trigger('show'); } }); @@ -41261,6 +41261,8 @@ _converse_core__WEBPACK_IMPORTED_MODULE_2__["default"].plugins.add('converse-cha } else { // An error message without id likely means that we // sent a message without id (which shouldn't happen). + _converse.log('Received an error message without id attribute!', Strophe.LogLevel.ERROR); + _converse.log(message, Strophe.LogLevel.ERROR); }