aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/msteams
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-05-27 23:34:40 +0200
committerLibravatar Vijay Raghavan Aravamudhan <vraravam@users.noreply.github.com>2021-07-24 00:23:17 +0000
commit14e401db8c52c12c6de08f6394ee2bb61e5a959e (patch)
tree56e54676c4818c74c1d192ebbb4637b74a61188d /recipes/msteams
parentAdd documentation for injectJSUnsafe (diff)
downloadferdium-recipes-14e401db8c52c12c6de08f6394ee2bb61e5a959e.tar.gz
ferdium-recipes-14e401db8c52c12c6de08f6394ee2bb61e5a959e.tar.zst
ferdium-recipes-14e401db8c52c12c6de08f6394ee2bb61e5a959e.zip
[msteams] Context isolation support
Diffstat (limited to 'recipes/msteams')
-rw-r--r--recipes/msteams/package.json2
-rw-r--r--recipes/msteams/webview-unsafe.js5
-rw-r--r--recipes/msteams/webview.js12
3 files changed, 9 insertions, 10 deletions
diff --git a/recipes/msteams/package.json b/recipes/msteams/package.json
index f87082a..d412030 100644
--- a/recipes/msteams/package.json
+++ b/recipes/msteams/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "msteams", 2 "id": "msteams",
3 "name": "Microsoft Teams", 3 "name": "Microsoft Teams",
4 "version": "2.0.1", 4 "version": "3.0.0",
5 "description": "Microsoft Teams", 5 "description": "Microsoft Teams",
6 "main": "index.js", 6 "main": "index.js",
7 "author": "Stefan Malzner <stefan@adlk.io>", 7 "author": "Stefan Malzner <stefan@adlk.io>",
diff --git a/recipes/msteams/webview-unsafe.js b/recipes/msteams/webview-unsafe.js
new file mode 100644
index 0000000..1c7b7cf
--- /dev/null
+++ b/recipes/msteams/webview-unsafe.js
@@ -0,0 +1,5 @@
1window.electronSafeIpc = {
2 send: () => null,
3 on: () => null,
4};
5window.desktop = undefined;
diff --git a/recipes/msteams/webview.js b/recipes/msteams/webview.js
index 6d499fb..3cd7af0 100644
--- a/recipes/msteams/webview.js
+++ b/recipes/msteams/webview.js
@@ -2,29 +2,23 @@
2 2
3const path = require('path'); 3const path = require('path');
4 4
5window.electronSafeIpc = {
6 send: () => null,
7 on: () => null
8};
9window.desktop = undefined;
10
11module.exports = Franz => { 5module.exports = Franz => {
12 const getMessages = () => { 6 const getMessages = () => {
13 let messages = 0; 7 let messages = 0;
14 const badge = document.querySelector('.activity-badge.dot-activity-badge .activity-badge'); 8 const badge = document.querySelector('.activity-badge.dot-activity-badge .activity-badge');
15
16 if (badge) { 9 if (badge) {
17 const value = parseInt(badge.innerHTML, 10); 10 const value = parseInt(badge.innerHTML, 10);
18
19 if (!isNaN(value)) { 11 if (!isNaN(value)) {
20 messages = value; 12 messages = value;
21 } 13 }
22 } 14 }
23 const indirectMessages = document.querySelectorAll("[class*=channel-anchor][class*=ts-unread-channel]").length; 15
16 const indirectMessages = document.querySelectorAll('[class*=channel-anchor][class*=ts-unread-channel]').length;
24 17
25 Franz.setBadge(messages, indirectMessages); 18 Franz.setBadge(messages, indirectMessages);
26 }; 19 };
27 20
28 Franz.injectCSS(path.join(__dirname, 'service.css')); 21 Franz.injectCSS(path.join(__dirname, 'service.css'));
22 Franz.injectJSUnsafe(path.join(__dirname, 'webview-unsafe.js'));
29 Franz.loop(getMessages); 23 Franz.loop(getMessages);
30}; 24};