From e7482bc6cbfbb001785e5e12781fbdde369b3649 Mon Sep 17 00:00:00 2001 From: Keith Maika Date: Fri, 7 Jan 2022 13:30:38 -0500 Subject: [PATCH] Get converse version dynamically. --- app/controllers/about-controller.js | 9 +++++-- app/init.js | 1 - app/services/desktop-service.js | 27 ++++++++++++++----- app/views/about/page.html | 2 +- .../converse-desktop/desktop-plugin.js | 10 ++++--- 5 files changed, 36 insertions(+), 13 deletions(-) diff --git a/app/controllers/about-controller.js b/app/controllers/about-controller.js index 8d1fb7d..af27329 100644 --- a/app/controllers/about-controller.js +++ b/app/controllers/about-controller.js @@ -1,8 +1,13 @@ const angApp = (await import('../init.js')).default; -angApp.controller('AboutController', function($scope, AppStateService, AppInfo) { +angApp.controller('AboutController', function ($scope, AppStateService, AppInfo, DesktopService) { - $scope.appInfo = AppInfo + $scope.appInfo = AppInfo; + $scope.converseVersion = 'unknown'; + DesktopService.getConverseVersion().then((version) => { + $scope.converseVersion = version; + $scope.$apply(); + }); $scope.closeAbout = () => { AppStateService.set(AppStateService.APP_STATE_DEFAULT) diff --git a/app/init.js b/app/init.js index 06d647b..d7e23c4 100644 --- a/app/init.js +++ b/app/init.js @@ -5,7 +5,6 @@ angApp.constant('AppInfo', { APP_HOME: 'https://github.com/conversejs/converse-desktop', APP_RELEASES_CHECK_URL: 'https://api.github.com/repos/conversejs/converse-desktop/releases', APP_RELEASES_URL: 'https://github.com/conversejs/converse-desktop/releases', - CONVERSE_VERSION: 'v9.0.0', ELECTRON_VERSION: '13.6.6' }); diff --git a/app/services/desktop-service.js b/app/services/desktop-service.js index 2e757e2..61a357d 100644 --- a/app/services/desktop-service.js +++ b/app/services/desktop-service.js @@ -2,11 +2,26 @@ const angApp = (await import('../init.js')).default; const desktopPlugin = (await import('../../libs/converse.js/converse-desktop/desktop-plugin.js')).default; angApp.factory('DesktopService', ( - $window, $timeout, CredentialsService, SystemService, AppStateService, - SettingsService, XmppHelperService - ) => { + $window, $timeout, CredentialsService, SystemService, AppStateService, + SettingsService, XmppHelperService +) => { let desktopService = {} + let promise = new Promise((resolve) => { + function checkVersion() { + if (converse.getVersion) { + resolve(converse.getVersion()); + } else { + $timeout(checkVersion, 50); + } + } + + $timeout(checkVersion, 50); + }); + + desktopService.getConverseVersion = () => { + return promise; + }; desktopService._notifyMessage = () => { SystemService.playAudio() @@ -36,8 +51,8 @@ angApp.factory('DesktopService', ( let omemoDefault = SettingsService.get('omemoDefault') let xmppResource = XmppHelperService.getResourceFromJid(login) if (!xmppResource) { - xmppResource = '.' + (Math.random().toString(36)+'00000000000000000').slice(2, 7) // Generate 5 char unique str - login = login + '/converseDesktop'+xmppResource + xmppResource = '.' + (Math.random().toString(36) + '00000000000000000').slice(2, 7) // Generate 5 char unique str + login = login + '/converseDesktop' + xmppResource } let conversejsParams = { assets_path: './node_modules/converse.js/dist/', @@ -60,7 +75,7 @@ angApp.factory('DesktopService', ( conversejsParams.bosh_service_url = connectionManager } $timeout(() => { - converse.initialize(conversejsParams) + converse.initialize(conversejsParams); }, 50) } diff --git a/app/views/about/page.html b/app/views/about/page.html index a959743..470998b 100644 --- a/app/views/about/page.html +++ b/app/views/about/page.html @@ -10,7 +10,7 @@
Jabber/XMPP client based on Converse.js and Electron
 
- Version of converse.js is {{appInfo.CONVERSE_VERSION}} + Version of converse.js is {{converseVersion}}
Version of electron is {{appInfo.ELECTRON_VERSION}} diff --git a/libs/converse.js/converse-desktop/desktop-plugin.js b/libs/converse.js/converse-desktop/desktop-plugin.js index 848cf75..3dbc693 100644 --- a/libs/converse.js/converse-desktop/desktop-plugin.js +++ b/libs/converse.js/converse-desktop/desktop-plugin.js @@ -6,6 +6,10 @@ desktopPlugin.register = (login) => { let _converse = event.properties._converse let Strophe = converse.env.Strophe + converse.getVersion = function () { + return _converse.VERSION_NAME; + }; + /** * Check if message stanza has some body payload * @param {*} stanzaNodes @@ -13,7 +17,7 @@ desktopPlugin.register = (login) => { let isBodyMessage = (stanzaNodes) => { let result = false Object.keys(stanzaNodes).some((key) => { - if (stanzaNodes[key].nodeName == 'body') { + if (stanzaNodes[key].nodeName === 'body') { result = true } }) @@ -34,7 +38,7 @@ desktopPlugin.register = (login) => { let sender = data.stanza.attributes.from.nodeValue let senderJid = Strophe.getBareJidFromJid(sender) let loginJid = Strophe.getBareJidFromJid(login) - if (senderJid != loginJid) { + if (senderJid !== loginJid) { console.log(senderJid) let event = new CustomEvent('conversejs-unread', {detail: senderJid}) document.dispatchEvent(event) @@ -54,7 +58,7 @@ desktopPlugin.register = (login) => { }) window.document.addEventListener('conversejs-open-chat', function (e) { let chatToOpen = e.detail - console.log('Get open-unread-chat event: '+chatToOpen) + console.log('Get open-unread-chat event: ' + chatToOpen) if (chatToOpen !== null) { _converse.api.chats.open(chatToOpen) }