Get converse version dynamically.

This commit is contained in:
Keith Maika 2022-01-07 13:30:38 -05:00
parent 53de9a020b
commit e7482bc6cb
No known key found for this signature in database
GPG Key ID: F71740E8722C75F1
5 changed files with 36 additions and 13 deletions

View File

@ -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)

View File

@ -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'
});

View File

@ -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)
}

View File

@ -10,7 +10,7 @@
<div class="about__description">Jabber/XMPP client based on Converse.js and Electron</div>
<div>&nbsp;</div>
<div class="about__converse-version">
Version of <a href="https://conversejs.org/" target="_blank">converse.js</a> is {{appInfo.CONVERSE_VERSION}}
Version of <a href="https://conversejs.org/" target="_blank">converse.js</a> is {{converseVersion}}
</div>
<div class="about__electron-version">
Version of <a href="https://www.electronjs.org/" target="_blank">electron</a> is {{appInfo.ELECTRON_VERSION}}

View File

@ -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)
}