diff --git a/css/converse.css b/css/converse.css index 81cad83fc..1327cbe68 100644 --- a/css/converse.css +++ b/css/converse.css @@ -7385,6 +7385,20 @@ body.reset { opacity: 0; } 100% { opacity: 1; } } +@-webkit-keyframes fadeOut { + 0% { + opacity: 1; + visibility: visible; } + 100% { + opacity: 0; + visibility: hidden; } } +@keyframes fadeOut { + 0% { + opacity: 1; + visibility: visible; } + 100% { + opacity: 0; + visibility: hidden; } } #conversejs .fade-in { opacity: 0; /* make things invisible upon start */ @@ -7418,6 +7432,11 @@ body.reset { #conversejs .hidden { opacity: 0 !important; display: none !important; } + #conversejs .fade-out { + animation-duration: 1s; + animation-fill-mode: forwards; + animation-name: fadeOut; + animation-timing-function: ease-in-out; } #conversejs .collapsed { height: 0 !important; overflow: hidden !important; diff --git a/dist/converse.js b/dist/converse.js index 94aab2d0b..f63cae627 100644 --- a/dist/converse.js +++ b/dist/converse.js @@ -59675,9 +59675,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }, createBookmark(options) { - _converse.bookmarks.create(options); - - _converse.bookmarks.sendBookmarkStanza(); + _converse.bookmarks.sendBookmarkStanza().then(() => _converse.bookmarks.create(options)).catch(() => this.onBookmarkError.apply(this, arguments)); }, sendBookmarkStanza() { @@ -59712,20 +59710,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }).c('value').t('true').up().up().c('field', { 'var': 'pubsub#access_model' }).c('value').t('whitelist'); - - _converse.connection.sendIQ(stanza, null, this.onBookmarkError.bind(this)); + return _converse.api.sendIQ(stanza); }, onBookmarkError(iq) { _converse.log("Error while trying to add bookmark", Strophe.LogLevel.ERROR); - _converse.log(iq); // We remove all locally cached bookmarks and fetch them - // again from the server. + _converse.log(iq); - - this.reset(); - this.fetchBookmarksFromServer(null); - window.alert(__("Sorry, something went wrong while trying to save your bookmark.")); + _converse.api.alert.show(Strophe.LogLevel.ERROR, __('Error'), [__("Sorry, something went wrong while trying to save your bookmark.")]); }, fetchBookmarksFromServer(deferred) { @@ -69095,9 +69088,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const nick = occupant.get('nick'); - const stat = occupant.get('status'); - const last_el = this.content.lastElementChild; + const nick = occupant.get('nick'), + stat = occupant.get('status'); + let last_el = this.content.lastElementChild; if (_.includes(_.get(last_el, 'classList', []), 'chat-info') && _.get(last_el, 'dataset', {}).leave === `"${nick}"`) { last_el.outerHTML = tpl_info({ @@ -69106,6 +69099,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'extra_classes': 'chat-event', 'message': __('%1$s has left and re-entered the groupchat', nick) }); + last_el = this.content.lastElementChild; + setTimeout(() => u.addClass('fade-out', last_el), 10000); + setTimeout(() => last_el.parentElement.removeChild(last_el), 11500); } else { let message; @@ -69136,8 +69132,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ showLeaveNotification(occupant) { const nick = occupant.get('nick'), - stat = occupant.get('status'), - last_el = this.content.lastElementChild; + stat = occupant.get('status'); + let last_el = this.content.lastElementChild; if (last_el && _.includes(_.get(last_el, 'classList', []), 'chat-info') && moment(last_el.getAttribute('data-isodate')).isSame(new Date(), "day") && _.get(last_el, 'dataset', {}).join === `"${nick}"`) { let message; @@ -69154,6 +69150,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'extra_classes': 'chat-event', 'message': message }); + last_el = this.content.lastElementChild; + setTimeout(() => u.addClass('fade-out', last_el), 10000); + setTimeout(() => last_el.parentElement.removeChild(last_el), 11500); } else { let message; @@ -72689,7 +72688,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } _converse.api.listen.on('afterTearDown', () => { - _converse.devicelists.reset(); + if (_converse.devicelists) { + _converse.devicelists.reset(); + } delete _converse.omemo_store; }); @@ -77628,17 +77629,17 @@ return __p var _ = {escape:__webpack_require__(/*! ./node_modules/lodash/escape.js */ "./node_modules/lodash/escape.js")}; module.exports = function(o) { var __t, __p = '', __e = _.escape; -__p += '\n
\n
\n
\n ' + +__p += '\n
\n \n ' + __e(o.heading) + -'\n