mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2025-03-09 15:40:18 +00:00
More web push progress.
This commit is contained in:
parent
50185dac86
commit
af1fcb8431
4 changed files with 86 additions and 22 deletions
|
@ -12732,10 +12732,10 @@
|
|||
x += '<input type=button value="' + "Notes" + '" title="' + "View notes about this user" + '" onclick=showNotes(false,"' + encodeURIComponentEx(user._id) + '") />';
|
||||
if (user.phone && (features & 0x02000000)) { x += '<input type=button value="' + "SMS" + '" title="' + "Send a SMS message to this user" + '" onclick=showSendSMS("' + encodeURIComponentEx(user._id) + '") />'; }
|
||||
if ((typeof user.email == 'string') && (user.emailVerified === true) && (features & 0x00000040)) { x += '<input type=button value="' + "Email" + '" title="' + "Send a email message to this user" + '" onclick=showSendEmail("' + encodeURIComponentEx(user._id) + '") />'; }
|
||||
if (!self && (activeSessions > 0)) {
|
||||
if (!self && ((activeSessions > 0) || ((features2 & 8) && (user.webpush)))) {
|
||||
x += '<input type=button value="' + "Notify" + '" title="' + "Send user notification" + '" onclick=showUserAlertDialog(event,"' + encodeURIComponentEx(user._id) + '") />';
|
||||
x += '<input type=button value="' + "Chat" + '" title="' + "Chat" + '" onclick=userChat(event,"' + encodeURIComponentEx(user._id) + '","' + encodeURIComponentEx(user.name) + '") />';
|
||||
if ((serverinfo != null) && (serverinfo.altmessenging != null)) { for (var i in serverinfo.altmessenging) { x += '<input type=button value="' + EscapeHtml(serverinfo.altmessenging[i].name) + '" onclick=altUserChat(event,"' + encodeURIComponentEx(user._id) + '","' + encodeURIComponentEx(user.name) + '",' + i + ') />'; } }
|
||||
if ((activeSessions > 0) && (serverinfo != null) && (serverinfo.altmessenging != null)) { for (var i in serverinfo.altmessenging) { x += '<input type=button value="' + EscapeHtml(serverinfo.altmessenging[i].name) + '" onclick=altUserChat(event,"' + encodeURIComponentEx(user._id) + '","' + encodeURIComponentEx(user.name) + '",' + i + ') />'; } }
|
||||
}
|
||||
|
||||
// Setup the panel
|
||||
|
@ -13852,11 +13852,11 @@
|
|||
navigator.serviceWorker.ready.then(function(reg) {
|
||||
reg.pushManager.subscribe({ applicationServerKey: urlBase64ToUint8Array(serverinfo.vapidpublickey), userVisibleOnly: true }).then(function(sub) {
|
||||
meshserver.send({ action: 'webpush', sub: sub });
|
||||
}).catch(function(e) { console.error('Unable to subscribe to push', e); });
|
||||
}).catch(function(e) { console.error('Worker: Unable to subscribe to push', e); });
|
||||
})
|
||||
}).catch(function(error) {
|
||||
// Registration failed
|
||||
console.log('Registration failed', error);
|
||||
console.log('Worker: Registration failed', error);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -14405,10 +14405,10 @@
|
|||
|
||||
// Used to convert Base64 public VAPID key to bytearray.
|
||||
function urlBase64ToUint8Array(base64String) {
|
||||
const padding = '='.repeat((4 - base64String.length % 4) % 4);
|
||||
const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');
|
||||
const rawData = atob(base64);
|
||||
const outputArray = new Uint8Array(rawData.length);
|
||||
var padding = '='.repeat((4 - base64String.length % 4) % 4);
|
||||
var base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');
|
||||
var rawData = atob(base64);
|
||||
var outputArray = new Uint8Array(rawData.length);
|
||||
for (let i = 0; i < rawData.length; ++i) { outputArray[i] = rawData.charCodeAt(i); }
|
||||
return outputArray;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue