diff --git a/README.md b/README.md
index 9b48c8d6..bf251cff 100644
--- a/README.md
+++ b/README.md
@@ -113,6 +113,7 @@
+
@@ -121,6 +122,7 @@
+
diff --git a/app/store/ServicesList.js b/app/store/ServicesList.js
index 27633afa..c89b72f2 100644
--- a/app/store/ServicesList.js
+++ b/app/store/ServicesList.js
@@ -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'
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