Added altmessaging localurl option, #3575

Ylian Saint-Hilaire committed Feb 1, 2022 at 11:29 UTC 4dcf4857c4b312eabd1e3bf69b13c4bf3252cd05
3 files changed +6 -4
meshcentral-config-schema.json
+2 -2
@@ -360,9 +360,9 @@
360 "type": "object",
361 "properties": {
362 "name": { "type": "string", "description": "Name of the alternative messaging service, for example: \"Jitsi\" " },
363 - "url": { "type": "string", "description": "URL to the alternative messaging services, for example: \"https://meet.jit.si/myserver-{0}\"" }
363 + "url": { "type": "string", "description": "URL to the alternative messaging services, for example: \"https://meet.jit.si/myserver-{0}\"" },
364 + "localurl": { "type": "string", "description": "If specified, this is the URL that is used on the administrator side, for example: \"https://meet.jit.si/myserver-{0}\"" }
365 },
365 - "additionalProperties": false,
366 "required": [ "name", "url" ]
367 },
368 "deviceMeshRouterLinks": {
meshuser.js
+1 -1
@@ -540,7 +540,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
540 }
541 if (matchingDomains.length > 0) { serverinfo.amtAcmFqdn = matchingDomains; }
542 }
543 - if ((typeof domain.altmessenging == 'object') && (typeof domain.altmessenging.name == 'string') && (typeof domain.altmessenging.url == 'string')) { serverinfo.altmessenging = [{ name: domain.altmessenging.name, url: domain.altmessenging.url }]; }
543 + if ((typeof domain.altmessenging == 'object') && (typeof domain.altmessenging.name == 'string') && (typeof domain.altmessenging.url == 'string')) { serverinfo.altmessenging = [{ name: domain.altmessenging.name, url: domain.altmessenging.url, localurl: domain.altmessenging.localurl }]; }
544 if (typeof domain.devicemeshrouterlinks == 'object') { serverinfo.devicemeshrouterlinks = domain.devicemeshrouterlinks; }
545 if (Array.isArray(domain.altmessenging)) { serverinfo.altmessenging = []; for (var i in domain.altmessenging) { if ((typeof domain.altmessenging[i] == 'object') && (typeof domain.altmessenging[i].name == 'string') && (typeof domain.altmessenging[i].url == 'string')) { serverinfo.altmessenging.push({ name: domain.altmessenging[i].name, url: domain.altmessenging[i].url }); } } }
546 serverinfo.https = true;
views/default.handlebars
+3 -1
@@ -7409,8 +7409,10 @@
7409 function altDeviceChat(e, i) {
7410 if (xxdialogMode) return;
7411 var url = serverinfo.altmessenging[i].url.split('{0}').join(currentNode._id.split('/').join('-'));
7412 + var localurl = url;
7413 + if (typeof serverinfo.altmessenging[i].url == 'string') { localurl = serverinfo.altmessenging[i].localurl.split('{0}').join(currentNode._id.split('/').join('-')); }
7414 meshserver.send({ action: 'msg', type: 'openUrl', nodeid: currentNode._id, url: url });
7413 - safeNewWindow(url, 'altmessenger:' + currentNode._id, 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=560');
7415 + safeNewWindow(localurl, 'altmessenger:' + currentNode._id, 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=560');
7416 }
7417
7418 function deviceToggleBackground() {