diff --git a/app/store/ServicesList.js b/app/store/ServicesList.js index 2700d6f3..74ebe1f8 100644 --- a/app/store/ServicesList.js +++ b/app/store/ServicesList.js @@ -29,7 +29,6 @@ Ext.define('Rambox.store.ServicesList', { ,url: 'https://web.whatsapp.com/' ,type: 'messaging' ,js_unread: 'function checkUnread(){const elements = document.querySelectorAll(\'.CxUIE, .unread\');let count = 0;for (let i = 0; i < elements.length; i++) {if (elements[i].querySelectorAll(\'*[data-icon="muted"]\').length === 0) {count++;}}updateBadge(count);}function updateBadge(count){if(count && count>=1){rambox.setUnreadCount(count);}else{rambox.clearUnreadCount();}}setInterval(checkUnread, 1e3);(async()=>{try{const a=await window.navigator.serviceWorker.getRegistrations();for(const b of a)b.unregister()}catch(a){}})();' - ,userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36' }, { id: 'slack' diff --git a/app/ux/WebView.js b/app/ux/WebView.js index a77a38a2..a1782192 100644 --- a/app/ux/WebView.js +++ b/app/ux/WebView.js @@ -178,7 +178,7 @@ Ext.define('Rambox.ux.WebView',{ ,autosize: 'on' ,webpreferences: '' //,nativeWindowOpen=yes //,disablewebsecurity: 'on' // Disabled because some services (Like Google Drive) dont work with this enabled - ,useragent: ipc.sendSync('getConfig').user_agent ? ipc.sendSync('getConfig').user_agent : Ext.getStore('ServicesList').getById(me.record.get('type')).get('userAgent') + ,useragent: me.getUserAgent() ,preload: './resources/js/rambox-service-api.js' } }]; @@ -188,6 +188,10 @@ Ext.define('Rambox.ux.WebView',{ return cfg; } + ,getUserAgent: function() { + var ua = ipc.sendSync('getConfig').user_agent ? ipc.sendSync('getConfig').user_agent : Ext.getStore('ServicesList').getById(this.record.get('type')).get('userAgent') + return ua.length === 0 ? window.clientInformation.userAgent.replace(/Electron\/([0-9]\.?)+\s/,'') : ua; + } ,statusBarConstructor: function(floating) { var me = this; @@ -300,7 +304,7 @@ Ext.define('Rambox.ux.WebView',{ ,src: e.url ,style: 'width:100%;height:100%;' ,partition: me.getWebView().partition - ,useragent: ipc.sendSync('getConfig').user_agent ? ipc.sendSync('getConfig').user_agent : Ext.getStore('ServicesList').getById(me.record.get('type')).get('userAgent') + ,useragent: me.getUserAgent() } } }).show(); @@ -328,7 +332,7 @@ Ext.define('Rambox.ux.WebView',{ ,src: e.url ,style: 'width:100%;height:100%;' ,partition: me.getWebView().partition - ,useragent: ipc.sendSync('getConfig').user_agent ? ipc.sendSync('getConfig').user_agent : Ext.getStore('ServicesList').getById(me.record.get('type')).get('userAgent') + ,useragent: me.getUserAgent() } } }).show(); @@ -358,7 +362,7 @@ Ext.define('Rambox.ux.WebView',{ ,src: e.url ,style: 'width:100%;height:100%;' ,partition: me.getWebView().partition - ,useragent: ipc.sendSync('getConfig').user_agent ? ipc.sendSync('getConfig').user_agent : Ext.getStore('ServicesList').getById(me.record.get('type')).get('userAgent') + ,useragent: me.getUserAgent() ,preload: './resources/js/rambox-modal-api.js' } }