const { remote, } = require('electron'); const path = require('path'); const webContents = remote.getCurrentWebContents(); const { session, } = webContents; setTimeout(() => { if (document.querySelector('body').innerHTML.includes('Google Chrome 36+')) { window.location.reload(); } }, 1000); window.addEventListener('beforeunload', async () => { try { session.flushStorageData(); session.clearStorageData({ storages: ['appcache', 'serviceworkers', 'cachestorage', 'websql', 'indexdb'], }); const registrations = await window.navigator.serviceWorker.getRegistrations(); registrations.forEach(r => { r.unregister(); console.log('ServiceWorker unregistered'); }); } catch (err) { console.err(err); } }); module.exports = Franz => { const getMessages = function getMessages() { const elements = document.querySelectorAll('.CxUIE, .unread'); let count = 0; for (let i = 0; i < elements.length; i += 1) { if (elements[i].querySelectorAll('*[data-icon="muted"]').length === 0) { count += 1; } } Franz.setBadge(count); }; Franz.injectCSS(path.join(__dirname, 'service.css')); Franz.loop(getMessages); };