diff --git a/README.md b/README.md
index 9b48c8d6..e282f11c 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,8 @@

-## Services available - 79
+
+## Services available - 84
@@ -113,6 +114,7 @@
+
@@ -121,6 +123,10 @@
+
+
+
+
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