diff options
author | 2021-09-14 13:37:47 +0530 | |
---|---|---|
committer | 2021-09-14 13:37:47 +0530 | |
commit | 30ca63d84ccf7fbc378ebf7101f09e10deaf0eaa (patch) | |
tree | 27f8ff6265a6fd2a739b8875825504bb86f279f3 /src | |
parent | docs: updated Changelog [skip ci] (diff) | |
download | ferdium-app-30ca63d84ccf7fbc378ebf7101f09e10deaf0eaa.tar.gz ferdium-app-30ca63d84ccf7fbc378ebf7101f09e10deaf0eaa.tar.zst ferdium-app-30ca63d84ccf7fbc378ebf7101f09e10deaf0eaa.zip |
refactor: defensive programming to avoid javascript error for unread badges
Diffstat (limited to 'src')
-rw-r--r-- | src/webview/badge.ts | 12 | ||||
-rw-r--r-- | src/webview/lib/RecipeWebview.js | 12 |
2 files changed, 12 insertions, 12 deletions
diff --git a/src/webview/badge.ts b/src/webview/badge.ts index 753e90fef..024e29b3f 100644 --- a/src/webview/badge.ts +++ b/src/webview/badge.ts | |||
@@ -26,17 +26,17 @@ export class BadgeHandler { | |||
26 | return Math.max(adjustedNumber, 0); | 26 | return Math.max(adjustedNumber, 0); |
27 | } | 27 | } |
28 | 28 | ||
29 | setBadge(direct: string | number, indirect: string | number) { | 29 | setBadge(direct: string | number | undefined | null, indirect: string | number | undefined | null) { |
30 | if (this.countCache.direct.toString() === direct.toString() | ||
31 | && this.countCache.indirect.toString() === indirect.toString()) { | ||
32 | return; | ||
33 | } | ||
34 | |||
35 | const count = { | 30 | const count = { |
36 | direct: this.safeParseInt(direct), | 31 | direct: this.safeParseInt(direct), |
37 | indirect: this.safeParseInt(indirect), | 32 | indirect: this.safeParseInt(indirect), |
38 | }; | 33 | }; |
39 | 34 | ||
35 | if (this.countCache.direct.toString() === count.direct.toString() | ||
36 | && this.countCache.indirect.toString() === count.indirect.toString()) { | ||
37 | return; | ||
38 | } | ||
39 | |||
40 | debug('Sending badge count to host', count); | 40 | debug('Sending badge count to host', count); |
41 | ipcRenderer.sendToHost('message-counts', count); | 41 | ipcRenderer.sendToHost('message-counts', count); |
42 | 42 | ||
diff --git a/src/webview/lib/RecipeWebview.js b/src/webview/lib/RecipeWebview.js index 2bd6bad8d..157da7693 100644 --- a/src/webview/lib/RecipeWebview.js +++ b/src/webview/lib/RecipeWebview.js | |||
@@ -35,12 +35,12 @@ class RecipeWebview { | |||
35 | /** | 35 | /** |
36 | * Set the unread message badge | 36 | * Set the unread message badge |
37 | * | 37 | * |
38 | * @param {int} direct Set the count of direct messages | 38 | * @param {string | number | undefined | null} direct Set the count of direct messages |
39 | * eg. Slack direct mentions, or a | 39 | * eg. Slack direct mentions, or a |
40 | * message to @channel | 40 | * message to @channel |
41 | * @param {int} indirect Set a badge that defines there are | 41 | * @param {string | number | undefined | null} indirect Set a badge that defines there are |
42 | * new messages but they do not involve | 42 | * new messages but they do not involve |
43 | * me directly to me eg. in a channel | 43 | * me directly to me eg. in a channel |
44 | */ | 44 | */ |
45 | setBadge(direct = 0, indirect = 0) { | 45 | setBadge(direct = 0, indirect = 0) { |
46 | this.badgeHandler.setBadge(direct, indirect); | 46 | this.badgeHandler.setBadge(direct, indirect); |