diff --git a/views/default-mobile.handlebars b/views/default-mobile.handlebars
index c543fb3d..747333fd 100644
--- a/views/default-mobile.handlebars
+++ b/views/default-mobile.handlebars
@@ -3064,7 +3064,7 @@
// Node
var icon = node.icon, nodestate = NodeStateStr(node);
- if ((!node.conn) || (node.conn == 0)) { icon += ' gray'; }
+ if (((!node.conn) || (node.conn == 0)) && (node.mtype != 3)) { icon += ' gray'; }
div.innerHTML = '
@@ -4106,7 +4107,7 @@
// Node
var icon = node.icon;
- if ((!node.conn) || (node.conn == 0)) { icon += ' gray'; }
+ if (((!node.conn) || (node.conn == 0)) && (node.mtype != 3)) { icon += ' gray'; }
if (view == 1) {
div.innerHTML = '
| | | ' + name + ' ' + NodeStateStr(node) + ' | |
|
' + devNotify;
@@ -5255,7 +5256,6 @@
nodeid = contextelement.children[1].attributes.onclick.value;
}
var node = getNodeFromId(nodeid.substring(12, nodeid.length - 18));
- var mesh = meshes[node.meshid];
var rights = GetNodeRights(node);
var consoleRights = ((rights & 16) != 0);
@@ -5264,11 +5264,12 @@
var terminalAccess = ((rights == 0xFFFFFFFF) || ((rights & 512) == 0));
var fileAccess = ((rights == 0xFFFFFFFF) || ((rights & 1024) == 0));
- QV('cxdesktop', ((mesh.mtype == 1) || (node.agent == null) || (node.agent.caps == null) || ((node.agent.caps & 1) != 0) || (node.intelamt && (node.intelamt.state == 2))) && ((rights & 8) || (rights & 256)) && desktopAccess);
- QV('cxterminal', ((mesh.mtype == 1) || (node.agent == null) || (node.agent.caps == null) || ((node.agent.caps & 2) != 0) || (node.intelamt && (node.intelamt.state == 2))) && (rights & 8) && terminalAccess);
- QV('cxfiles', ((mesh.mtype == 2) && ((node.agent == null) || (node.agent.caps == null) || ((node.agent.caps & 4) != 0))) && (rights & 8) && fileAccess);
+ QV('cxdesktop', ((node.mtype == 1) || (node.agent == null) || (node.agent.caps == null) || ((node.agent.caps & 1) != 0) || (node.intelamt && (node.intelamt.state == 2))) && ((rights & 8) || (rights & 256)) && desktopAccess);
+ QV('cxterminal', ((node.mtype == 1) || (node.agent == null) || (node.agent.caps == null) || ((node.agent.caps & 2) != 0) || (node.intelamt && (node.intelamt.state == 2))) && (rights & 8) && terminalAccess);
+ QV('cxfiles', ((node.mtype == 2) && ((node.agent == null) || (node.agent.caps == null) || ((node.agent.caps & 4) != 0))) && (rights & 8) && fileAccess);
QV('cxevents', (node.intelamt != null) && ((node.intelamt.state == 2) || (node.conn & 2)) && (rights & 8));
- QV('cxconsole', (consoleRights && (mesh.mtype == 2) && ((node.agent == null) || (node.agent.caps == null) || ((node.agent.caps & 8) != 0))) && (rights & 8));
+ QV('cxdetails', node.mtype != 3);
+ QV('cxconsole', (consoleRights && (node.mtype == 2) && ((node.agent == null) || (node.agent.caps == null) || ((node.agent.caps & 8) != 0))) && (rights & 8));
QV('cxmgroupsplit', true);
QV('cxstar', true);
break;
@@ -6401,7 +6402,7 @@
if ((args.xterm === 0) && (node.agent) && ((node.agent.caps & 2) != 0) && ((meshrights & 8) != 0) && ((meshrights == 0xFFFFFFFF) || ((meshrights & 512) == 0))) { x += '
' + "XTerm" + ' '; }
// RDP link, show this link only of the remote machine is Windows.
- if (((connectivity & 1) != 0) && (node.agent) && ((meshrights & 8) != 0) && (node.agent.id != 14)) {
+ if ((((connectivity & 1) != 0) || (node.mtype == 3)) && (node.agent) && ((meshrights & 8) != 0) && (node.agent.id != 14)) {
if ((node.agent.id > 0) && (node.agent.id < 5)) {
if (navigator.platform.toLowerCase() == 'win32') {
if ((serverinfo.devicemeshrouterlinks == null) || (serverinfo.devicemeshrouterlinks.rdp != false)) {
@@ -6435,12 +6436,12 @@
}
// noVNC link
- if (((connectivity & 1) != 0) && (node.agent) && ((meshrights & 8) != 0) && ((features & 0x20000000) == 0) && (node.agent.id != 14)) {
+ if ((((connectivity & 1) != 0) || (node.mtype == 3)) && (node.agent) && ((meshrights & 8) != 0) && ((features & 0x20000000) == 0) && (node.agent.id != 14)) {
x += '
' + "noVNC" + ' ';
}
// MSTSC.js link
- if (((connectivity & 1) != 0) && (node.agent) && ((meshrights & 8) != 0) && ((features & 0x40000000) == 0) && (node.agent.id != 14)) {
+ if ((((connectivity & 1) != 0) || (node.mtype == 3)) && (node.agent) && ((meshrights & 8) != 0) && ((features & 0x40000000) == 0) && (node.agent.id != 14)) {
x += '
' + "Web-RDP" + ' ';
}
@@ -6448,7 +6449,15 @@
if ((meshrights == 0xFFFFFFFF) && (features & 0x00400000)) { x += '
' + "MQTT Login" + ' '; }
x += '