diff --git a/CHANGES.md b/CHANGES.md index 5dc7670e6..837c2e984 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,6 +15,7 @@ - #1312 Error `unrecognized expression` in Safari - #1318 added values 'on' and 'off' for 'trusted' option which removes the "This is a trusted device" checkbox from the login form - #1319 Implement sending of presences according to XEP-0319: Last User Interaction in Presence +- #1316 show version info in login dialog ## 4.0.4 (2018-10-29) diff --git a/css/converse.css b/css/converse.css index 2745ea5f4..868087f0c 100644 --- a/css/converse.css +++ b/css/converse.css @@ -10737,6 +10737,10 @@ body.reset { height: 100%; overflow-y: auto; background-color: white; } + #conversejs #controlbox .controlbox-subtitle { + font-size: 90%; + padding: 0.5em; + text-align: right; } #conversejs #controlbox .controlbox-pane { background-color: white; border: 0; diff --git a/dist/converse.js b/dist/converse.js index c30903540..b60de99ec 100644 --- a/dist/converse.js +++ b/dist/converse.js @@ -60401,7 +60401,10 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_5__["default"].plugins } } - this.el.innerHTML = templates_controlbox_html__WEBPACK_IMPORTED_MODULE_8___default()(_.extend(this.model.toJSON())); + this.el.innerHTML = templates_controlbox_html__WEBPACK_IMPORTED_MODULE_8___default()(_.extend(this.model.toJSON(), { + 'version_name': _converse.VERSION_NAME, + 'view_mode': _converse.view_mode + })); if (!this.model.get('closed')) { this.show(); @@ -60603,7 +60606,8 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_5__["default"].plugins 'conn_feedback_class': feedback_class, 'conn_feedback_subject': pretty_status, 'conn_feedback_message': _converse.connfeedback.get('message'), - 'placeholder_username': (_converse.locked_domain || _converse.default_domain) && __('Username') || __('user@domain') + 'placeholder_username': (_converse.locked_domain || _converse.default_domain) && __('Username') || __('user@domain'), + 'show_trust_checkbox': _converse.trusted !== 'on' && _converse.trusted !== 'off' })); }, @@ -60648,10 +60652,17 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_5__["default"].plugins const form_data = new FormData(ev.target); - _converse.config.save({ - 'trusted': form_data.get('trusted') && true || false, - 'storage': form_data.get('trusted') ? 'local' : 'session' - }); + if (_converse.trusted === 'on' || _converse.trusted === 'off') { + _converse.config.save({ + 'trusted': _converse.trusted === 'on', + 'storage': _converse.trusted === 'on' ? 'local' : 'session' + }); + } else { + _converse.config.save({ + 'trusted': form_data.get('trusted') && true || false, + 'storage': form_data.get('trusted') ? 'local' : 'session' + }); + } let jid = form_data.get('jid'); @@ -61367,7 +61378,10 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_4__["default"].plugins // new functions which don't exist yet can also be added. ControlBoxView: { createBrandHeadingHTML() { - return templates_inverse_brand_heading_html__WEBPACK_IMPORTED_MODULE_5___default()(); + const _converse = this.__super__._converse; + return templates_inverse_brand_heading_html__WEBPACK_IMPORTED_MODULE_5___default()({ + 'version_name': _converse.VERSION_NAME + }); }, insertBrandHeading() { @@ -71819,8 +71833,9 @@ const _converse = { 'promises': {} }; -_lodash_noconflict__WEBPACK_IMPORTED_MODULE_4___default.a.extend(_converse, Backbone.Events); // Core plugins are whitelisted automatically +_lodash_noconflict__WEBPACK_IMPORTED_MODULE_4___default.a.extend(_converse, Backbone.Events); +_converse.VERSION_NAME = "v4.0.5"; // Core plugins are whitelisted automatically _converse.core_plugins = ['converse-chatboxes', 'converse-core', 'converse-disco', 'converse-mam', 'converse-muc', 'converse-ping', 'converse-roster', 'converse-vcard']; // Setting wait to 59 instead of 60 to avoid timing conflicts with the // webserver, which is often also set to 60 and might therefore sometimes @@ -101772,13 +101787,19 @@ return __p var _ = {escape:__webpack_require__(/*! ./node_modules/lodash/escape.js */ "./node_modules/lodash/escape.js")}; module.exports = function(o) { -var __t, __p = '', __j = Array.prototype.join; +var __t, __p = '', __e = _.escape, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } __p += '\n
\n
\n '; if (!o.sticky_controlbox) { ; __p += '\n \n '; } ; -__p += '\n
\n
\n
\n'; +__p += '\n \n
\n '; + if (o.view_mode != 'fullscreen') { ; +__p += '\n
\n ' + +__e(o.version_name) + +'\n
\n '; + } ; +__p += '\n\n'; return __p }; @@ -102358,8 +102379,10 @@ return __p var _ = {escape:__webpack_require__(/*! ./node_modules/lodash/escape.js */ "./node_modules/lodash/escape.js")}; module.exports = function(o) { -var __t, __p = ''; -__p += '\n
\n
\n

Converse

\n

Open Source XMPP chat client brought to you by Opkode

\n

Translate it into your own language

\n
\n
\n'; +var __t, __p = '', __e = _.escape; +__p += '\n
\n
\n

Converse

\n

' + +__e(o.version_name) + +'

\n

Open Source XMPP chat client brought to you by Opkode

\n

Translate it into your own language

\n
\n
\n'; return __p }; @@ -102434,15 +102457,19 @@ __e(o.__("Password:")) + __e(o.__('password')) + '">\n
\n '; } ; -__p += '\n \n\n
\n \n
\n '; + } ; +__p += '\n\n
\n \n
\n '; } ; diff --git a/sass/_controlbox.scss b/sass/_controlbox.scss index 94e3dc315..376a99767 100644 --- a/sass/_controlbox.scss +++ b/sass/_controlbox.scss @@ -285,6 +285,12 @@ background-color: white; } + .controlbox-subtitle { + font-size: 90%; + padding: 0.5em; + text-align: right; + } + .controlbox-pane { background-color: white; border: 0; diff --git a/src/converse-controlbox.js b/src/converse-controlbox.js index 7f6afe32f..a13c4c237 100644 --- a/src/converse-controlbox.js +++ b/src/converse-controlbox.js @@ -213,7 +213,10 @@ converse.plugins.add('converse-controlbox', { this.model.set('closed', !_converse.show_controlbox_by_default); } } - this.el.innerHTML = tpl_controlbox(_.extend(this.model.toJSON())); + this.el.innerHTML = tpl_controlbox(_.extend(this.model.toJSON(), { + 'version_name': _converse.VERSION_NAME, + 'view_mode': _converse.view_mode + })); if (!this.model.get('closed')) { this.show(); diff --git a/src/converse-fullscreen.js b/src/converse-fullscreen.js index 8bd999209..a812eb952 100644 --- a/src/converse-fullscreen.js +++ b/src/converse-fullscreen.js @@ -28,8 +28,11 @@ converse.plugins.add('converse-fullscreen', { // new functions which don't exist yet can also be added. ControlBoxView: { - createBrandHeadingHTML() { - return tpl_brand_heading(); + createBrandHeadingHTML() { + const { _converse } = this.__super__; + return tpl_brand_heading({ + 'version_name': _converse.VERSION_NAME + }); }, insertBrandHeading () { diff --git a/src/headless/converse-core.js b/src/headless/converse-core.js index 4a9f43473..87ecbc532 100644 --- a/src/headless/converse-core.js +++ b/src/headless/converse-core.js @@ -71,6 +71,8 @@ const _converse = { _.extend(_converse, Backbone.Events); +_converse.VERSION_NAME = "v4.0.5"; + // Core plugins are whitelisted automatically _converse.core_plugins = [ 'converse-chatboxes', diff --git a/src/templates/controlbox.html b/src/templates/controlbox.html index fe0dceb37..76c3b0fd5 100644 --- a/src/templates/controlbox.html +++ b/src/templates/controlbox.html @@ -5,4 +5,9 @@ {[ } ]}
+ {[ if (o.view_mode != 'fullscreen') { ]} +
+ {{{o.version_name}}} +
+ {[ } ]}
diff --git a/src/templates/inverse_brand_heading.html b/src/templates/inverse_brand_heading.html index 3ab2f8add..99b6f0d14 100644 --- a/src/templates/inverse_brand_heading.html +++ b/src/templates/inverse_brand_heading.html @@ -1,6 +1,7 @@

Converse

+

{{{o.version_name}}}

Open Source XMPP chat client brought to you by Opkode

Translate it into your own language