From e16fb71fd1a8ea7d96ab41837c12753fbf64d825 Mon Sep 17 00:00:00 2001 From: Yair Silbermintz Date: Thu, 1 Feb 2024 01:00:55 -0500 Subject: [PATCH 1/2] Send browser notification on change of printer status --- src/printer/fdm/index.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/printer/fdm/index.js b/src/printer/fdm/index.js index 67db4ed7..d05ac103 100644 --- a/src/printer/fdm/index.js +++ b/src/printer/fdm/index.js @@ -35,9 +35,19 @@ const getPrinterName = () => getPrinterLabel(context); const updatePrinterStatus = (state) => { const linkState = state; + const translatedState = translateState(linkState) + + if ("Notification" in window) { + if (Notification.permission === "granted") { + const notification = new Notification(translatedState); + } else if (Notification.permission !== "denied") { + Notification.requestPermission(); + } + } + const elem = document.getElementById("printer-status"); if (elem) { - elem.innerHTML = translateState(linkState); + elem.innerHTML = translatedState; } }; From b30e56b7fe62a5e6d2da9603d5a5f60d86e39cb3 Mon Sep 17 00:00:00 2001 From: "Mr. Glass" Date: Thu, 1 Feb 2024 22:54:08 -0500 Subject: [PATCH 2/2] Check if message is new before sending notification --- src/printer/fdm/index.js | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/printer/fdm/index.js b/src/printer/fdm/index.js index d05ac103..a4ec8811 100644 --- a/src/printer/fdm/index.js +++ b/src/printer/fdm/index.js @@ -37,17 +37,18 @@ const updatePrinterStatus = (state) => { const linkState = state; const translatedState = translateState(linkState) - if ("Notification" in window) { - if (Notification.permission === "granted") { - const notification = new Notification(translatedState); - } else if (Notification.permission !== "denied") { - Notification.requestPermission(); - } - } - const elem = document.getElementById("printer-status"); if (elem) { - elem.innerHTML = translatedState; + if (elem.innerHTML != translatedState) { + if (elem.innerHTML != "NA" && "Notification" in window) { + if (Notification.permission === "granted") { + const notification = new Notification(translatedState); + } else if (Notification.permission !== "denied") { + Notification.requestPermission(); + } + } + elem.innerHTML = translatedState; + } } };