diff --git a/src/browser/webview/mattermost.js b/src/browser/webview/mattermost.js index 7b8398ee..7157407e 100644 --- a/src/browser/webview/mattermost.js +++ b/src/browser/webview/mattermost.js @@ -7,6 +7,7 @@ const webFrame = electron.webFrame; const EnhancedNotification = require('../js/notification'); const UNREAD_COUNT_INTERVAL = 1000; +const CLEAR_CACHE_INTERVAL = 60 * 60 * 1000; // 1 hour Notification = EnhancedNotification; // eslint-disable-line no-global-assign, no-native-reassign @@ -185,3 +186,10 @@ function setSpellChecker() { } setSpellChecker(); ipc.on('set-spellcheker', setSpellChecker); + +// mattermost-webapp is SPA. So cache is not cleared due to no navigation. +// We needed to manually clear cache to free memory in long-term-use. +// http://seenaburns.com/debugging-electron-memory-usage/ +setInterval(() => { + webFrame.clearCache(); +}, CLEAR_CACHE_INTERVAL);