diff --git a/README.md b/README.md index 9b48c8d6..e282f11c 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,8 @@ ![Rambox](https://raw.githubusercontent.com/saenzramiro/rambox/master/resources/screenshots/mac.png) -## Services available - 79 + +## Services available - 84 WhatsApp Messenger @@ -113,6 +114,7 @@ Riot Pushbullet Movim + Kaiwa Zyptonite LinkedIn @@ -121,6 +123,10 @@ Teams Xing Workplace +FastMail +Hibox +Jandi +Threema





































diff --git a/app/store/ServicesList.js b/app/store/ServicesList.js index c0367527..3685b686 100644 --- a/app/store/ServicesList.js +++ b/app/store/ServicesList.js @@ -515,7 +515,7 @@ Ext.define('Rambox.store.ServicesList', { ,description: 'RainLoop Webmail - Simple, modern & fast web-based email client.' ,url: '___' ,type: 'email' - ,js_unread: 'function checkUnread(){var a=document.getElementsByClassName("badge pull-right count"),b=0;for(i=0;i=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,1e3);' + ,js_unread: 'function checkUnread(){var a=document.querySelectorAll(".e-item .e-link:not(.hidden) .badge.pull-right.count"),b=0;for(i=0;i=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,1e3);' }, { id: 'amium' @@ -669,14 +669,24 @@ Ext.define('Rambox.store.ServicesList', { ,type: 'messaging' }, { - id: 'xing' - ,logo: 'xing.png' - ,name: 'XING' - ,description: 'Career-oriented social networking' - ,url: 'https://www.xing.com/messages/conversations' - ,type: 'messaging' - ,js_unread: '(function() { let originalTitle = document.title; function checkUnread() { let count = null; let notificationElement = document.querySelector(\'[data-update="unread_conversations"]\'); if (notificationElement && notificationElement.style.display !== \'none\') { count = parseInt(notificationElement.textContent.trim(), 10); } updateBadge(count); } function updateBadge(count) { if (count && count >= 1) { rambox.setUnreadCount(count); } else { rambox.clearUnreadCount(); } } setInterval(checkUnread, 3000); checkUnread(); })();' - ,dont_update_unread_from_title: true + id: 'xing', + logo: 'xing.png', + name: 'XING', + description: 'Career-oriented social networking', + url: 'https://www.xing.com/messages/conversations', + type: 'messaging', + js_unread: '(function() { let originalTitle = document.title; function checkUnread() { let count = null; let notificationElement = document.querySelector(\'[data-update="unread_conversations"]\'); if (notificationElement && notificationElement.style.display !== \'none\') { count = parseInt(notificationElement.textContent.trim(), 10); } updateBadge(count); } function updateBadge(count) { if (count && count >= 1) { rambox.setUnreadCount(count); } else { rambox.clearUnreadCount(); } } setInterval(checkUnread, 3000); checkUnread(); })();', + dont_update_unread_from_title: true + }, + { + id: 'threema', + logo: 'threema.png', + name: 'Threema', + description: 'Seriously secure messaging', + url: 'https://web.threema.ch/', + type: 'messaging', + js_unread: '(function () { let unreadCount = 0; function checkUnread() { let newUnread = 0; try { let webClientService = angular.element(document.documentElement).injector().get(\'WebClientService\'); let conversations = webClientService.conversations.conversations; conversations.forEach(function(conversation) { newUnread += conversation.unreadCount; }); } catch (e) { } if (newUnread !== unreadCount) { unreadCount = newUnread; updateBadge(unreadCount); } } function updateBadge(count) { if (count && count >= 1) { rambox.setUnreadCount(count); } else { rambox.clearUnreadCount(); } } setInterval(checkUnread, 3000); checkUnread(); })();', + dont_update_unread_from_title: true }, { id: 'workplace' @@ -728,6 +738,30 @@ Ext.define('Rambox.store.ServicesList', { ,type: 'messaging' ,js_unread: 'function checkUnread(){var a=document.getElementsByClassName("z-messages"),b=0;for(i=0;i=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);' ,dont_update_unread_from_title: true - } - ] + }, + { + id: 'fastmail' + ,logo: 'fastmail.png' + ,name: 'FastMail' + ,description: 'Secure, reliable email hosting for businesses, families and professionals. Premium email with no ads, excellent spam protection and rapid personal support.' + ,url: 'https://www.fastmail.com/login/' + ,type: 'mail' + }, + { + id: 'hibox' + ,logo: 'hibox.png' + ,name: 'Hibox' + ,description: 'Hibox is a secure and private messaging platform for your business.' + ,url: 'https://app.hibox.co/' + ,type: 'messaging' + }, + { + id: 'jandi' + ,logo: 'jandi.png' + ,name: 'Jandi' + ,description: 'Jandi is a group-oriented enterprise messaging platform with an integrated suite of collaboration tools for workplace.' + ,url: 'https://___.jandi.com/' + ,type: 'messaging' + } + ] }); diff --git a/app/ux/WebView.js b/app/ux/WebView.js index 1b72b45d..e45269b1 100644 --- a/app/ux/WebView.js +++ b/app/ux/WebView.js @@ -412,7 +412,7 @@ Ext.define('Rambox.ux.WebView',{ ,setUnreadCount: function(newUnreadCount) { var me = this; - if (me.record.get('includeInGlobalUnreadCounter') === true) { + if (newUnreadCount === parseInt(newUnreadCount,10) && me.record.get('includeInGlobalUnreadCounter') === true) { Rambox.util.UnreadCounter.setUnreadCountForService(me.record.get('id'), newUnreadCount); } else { Rambox.util.UnreadCounter.clearUnreadCountForService(me.record.get('id')); diff --git a/electron/tray.js b/electron/tray.js index dbe0c69e..459bc687 100644 --- a/electron/tray.js +++ b/electron/tray.js @@ -50,8 +50,12 @@ exports.create = function(win, config) { appIcon = new Tray(iconPath); appIcon.setToolTip('Rambox'); appIcon.setContextMenu(contextMenu); - appIcon.on('double-click', () => { - if ( !win.isVisible() || win.isMinimized() ) config.get('maximized') ? win.maximize() : win.show(); + appIcon.on('click', () => { + if ( !win.isVisible() ) { + win.isVisible() ? win.hide() : win.show(); + } else { + win.focus(); + } }); }; diff --git a/resources/icons/ciscospark.png b/resources/icons/ciscospark.png new file mode 100644 index 00000000..b71797d1 Binary files /dev/null and b/resources/icons/ciscospark.png differ diff --git a/resources/icons/fastmail.png b/resources/icons/fastmail.png new file mode 100644 index 00000000..8dd4638a Binary files /dev/null and b/resources/icons/fastmail.png differ diff --git a/resources/icons/hibox.png b/resources/icons/hibox.png new file mode 100644 index 00000000..41cf55a0 Binary files /dev/null and b/resources/icons/hibox.png differ diff --git a/resources/icons/jandi.png b/resources/icons/jandi.png new file mode 100644 index 00000000..30cb8db4 Binary files /dev/null and b/resources/icons/jandi.png differ diff --git a/resources/icons/threema.png b/resources/icons/threema.png new file mode 100644 index 00000000..ff052529 Binary files /dev/null and b/resources/icons/threema.png differ