From 3c455ffd71c58e44b2a7f6c51bd9343d78c4edde Mon Sep 17 00:00:00 2001 From: Feiko Joosten Date: Tue, 21 Apr 2020 20:12:58 +0200 Subject: Fixes notifications for WhatsApp (#120) - Fixes an issue where whatsapp doesn't properly detect notifications. - Added support for indirect notifications (muted chats) --- uncompressed/whatsapp/webview.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'uncompressed/whatsapp/webview.js') diff --git a/uncompressed/whatsapp/webview.js b/uncompressed/whatsapp/webview.js index 989680a..6cc173a 100644 --- a/uncompressed/whatsapp/webview.js +++ b/uncompressed/whatsapp/webview.js @@ -28,16 +28,22 @@ window.addEventListener('beforeunload', async () => { module.exports = Franz => { const getMessages = function getMessages() { - const elements = document.querySelectorAll('.CxUIE, .unread, ._0LqQ'); - let count = 0; + const elements = document.querySelectorAll("[class=OUeyt]"); + var count = 0; + var indirectCount = 0; - for (let i = 0; i < elements.length; i += 1) { - if (elements[i].querySelectorAll('*[data-icon="muted"]').length === 0) { - count += 1; - } + for (var i = 0; i < elements.length; i += 1) { + var countValue = parseInt(elements[i].textContent, 10); + + if (elements[i].parentNode.previousElementSibling === null || elements[i].parentNode.previousElementSibling.querySelectorAll("[data-icon=muted]").length === 0) { + count += countValue; + } + else { + indirectCount += countValue; + } } - Franz.setBadge(count); + Franz.setBadge(count, indirectCount); }; Franz.injectCSS(path.join(__dirname, 'service.css')); -- cgit v1.2.3-70-g09d2