diff --git a/agents/agents-new/MeshCmd-signed.exe b/agents/agents-new/MeshCmd-signed.exe
new file mode 100644
index 00000000..905e6647
Binary files /dev/null and b/agents/agents-new/MeshCmd-signed.exe differ
diff --git a/agents/agents-new/MeshCmd64-signed.exe b/agents/agents-new/MeshCmd64-signed.exe
new file mode 100644
index 00000000..82c8926b
Binary files /dev/null and b/agents/agents-new/MeshCmd64-signed.exe differ
diff --git a/agents/agents-new/MeshService-signed.exe b/agents/agents-new/MeshService-signed.exe
new file mode 100644
index 00000000..d9ea1348
Binary files /dev/null and b/agents/agents-new/MeshService-signed.exe differ
diff --git a/agents/agents-new/MeshService.exe b/agents/agents-new/MeshService.exe
new file mode 100644
index 00000000..85a69b6d
Binary files /dev/null and b/agents/agents-new/MeshService.exe differ
diff --git a/agents/agents-new/MeshService64-signed.exe b/agents/agents-new/MeshService64-signed.exe
new file mode 100644
index 00000000..ed80a9d2
Binary files /dev/null and b/agents/agents-new/MeshService64-signed.exe differ
diff --git a/agents/agents-new/MeshService64.exe b/agents/agents-new/MeshService64.exe
new file mode 100644
index 00000000..55cc73c2
Binary files /dev/null and b/agents/agents-new/MeshService64.exe differ
diff --git a/agents/agents-old/MeshCmd-signed.exe b/agents/agents-old/MeshCmd-signed.exe
new file mode 100644
index 00000000..9dedbb4d
Binary files /dev/null and b/agents/agents-old/MeshCmd-signed.exe differ
diff --git a/agents/agents-old/MeshCmd64-signed.exe b/agents/agents-old/MeshCmd64-signed.exe
new file mode 100644
index 00000000..d3936a78
Binary files /dev/null and b/agents/agents-old/MeshCmd64-signed.exe differ
diff --git a/agents/agents-old/MeshService-signed.exe b/agents/agents-old/MeshService-signed.exe
new file mode 100644
index 00000000..b91921f4
Binary files /dev/null and b/agents/agents-old/MeshService-signed.exe differ
diff --git a/agents/agents-old/MeshService.exe b/agents/agents-old/MeshService.exe
new file mode 100644
index 00000000..14e59669
Binary files /dev/null and b/agents/agents-old/MeshService.exe differ
diff --git a/agents/agents-old/MeshService64-signed.exe b/agents/agents-old/MeshService64-signed.exe
new file mode 100644
index 00000000..ba3471ec
Binary files /dev/null and b/agents/agents-old/MeshService64-signed.exe differ
diff --git a/agents/agents-old/MeshService64.exe b/agents/agents-old/MeshService64.exe
new file mode 100644
index 00000000..9b8b6185
Binary files /dev/null and b/agents/agents-old/MeshService64.exe differ
diff --git a/meshdesktopmultiplex.js b/meshdesktopmultiplex.js
index edf4ce51..b4b3b6e2 100644
--- a/meshdesktopmultiplex.js
+++ b/meshdesktopmultiplex.js
@@ -304,11 +304,13 @@ function CreateDesktopMultiplexor(parent, domain, nodeid, func) {
}
}
- // Send the list of all users currently vieweing this session to all viewers
+ // Send the list of all users currently vieweing this session to all viewers and servers
obj.sendSessionMetadata = function () {
var allUsers = {};
for (var i in obj.viewers) { var v = obj.viewers[i]; if ((v.user != null) && (v.user._id != null)) { if (allUsers[v.user._id] == null) { allUsers[v.user._id] = 1; } else { allUsers[v.user._id]++; } } }
obj.sendToAllViewers(JSON.stringify({ type: 'metadata', 'ctrlChannel': '102938', users: allUsers, startTime: obj.startTime }));
+
+ // TODO: Update the servers
}
// Send this command to all viewers
@@ -401,6 +403,7 @@ function CreateDesktopMultiplexor(parent, domain, nodeid, func) {
if (peer == obj.agent) {
obj.recordingFileWriting = true;
recordData(true, data, function () {
+ if (obj.viewers == null) return;
obj.recordingFileWriting = false;
if ((obj.viewersOverflowCount < obj.viewers.length) && obj.agent && (obj.agent.paused == true)) { obj.agent.paused = false; obj.agent.ws._socket.resume(); }
obj.processAgentData(data);
diff --git a/public/images/icon-relay-notify.png b/public/images/icon-relay-notify.png
new file mode 100644
index 00000000..d7f262ac
Binary files /dev/null and b/public/images/icon-relay-notify.png differ
diff --git a/public/images/icon-relay-notify10.png b/public/images/icon-relay-notify10.png
new file mode 100644
index 00000000..6bae061c
Binary files /dev/null and b/public/images/icon-relay-notify10.png differ
diff --git a/public/images/icon-relay-notify12.png b/public/images/icon-relay-notify12.png
new file mode 100644
index 00000000..704065d6
Binary files /dev/null and b/public/images/icon-relay-notify12.png differ
diff --git a/public/styles/style.css b/public/styles/style.css
index e605c660..0ab7839e 100644
--- a/public/styles/style.css
+++ b/public/styles/style.css
@@ -746,6 +746,44 @@ NoMeshesPanel img {
width: 47px;
}
+.deviceNotifyDot {
+ text-align:center;
+ position:absolute;
+ right:10px;
+ top:0px;
+ width:16px;
+ height:16px;
+ color:#FFF;
+ background-color:#00F;
+ padding:2px;
+ border-radius:10px;
+ box-shadow: 2px 2px 10px black;
+ cursor:pointer;
+}
+
+ .deviceNotifyDot:hover {
+ background-color:#44F;
+ }
+
+.deviceNotifySmallDot {
+ text-align:center;
+ position:absolute;
+ right:10px;
+ top:0px;
+ width:10px;
+ height:10px;
+ color:#FFF;
+ padding:2px;
+ background-color:#00F;
+ border-radius:10px;
+ box-shadow: 2px 2px 10px black;
+ cursor:pointer;
+}
+
+ .deviceNotifySmallDot:hover {
+ background-color:#44F;
+ }
+
#xdevices {
max-height: calc(100vh - 242px);
overflow-y: auto;
diff --git a/translate/translate.json b/translate/translate.json
index c6f0ced6..02cd759e 100644
--- a/translate/translate.json
+++ b/translate/translate.json
@@ -30971,4 +30971,4 @@
]
}
]
-}
+}
\ No newline at end of file
diff --git a/views/default.handlebars b/views/default.handlebars
index 85979d9c..5ac1fed3 100644
--- a/views/default.handlebars
+++ b/views/default.handlebars
@@ -3151,11 +3151,21 @@
if (showRealNames == true && node.rname != null) name = EscapeHtml(node.rname);
if (name.length == 0) { name = '' + "None" + ''; }
+ // Setup device notification (TODO)
+ var devNotify = '';
+ if (node.sessions != null) {
+ if (view == 2) {
+ devNotify = '
';
+ } else {
+ devNotify = '
';
+ }
+ }
+
// Node
var icon = node.icon;
if ((!node.conn) || (node.conn == 0)) { icon += ' gray'; }
if (view == 1) {
- r += '