Page MenuHomePhabricator

No OneTemporary

diff --git a/web/push-notif/badge-handler.react.js b/web/push-notif/badge-handler.react.js
index c8ff49a79..6cf5d98a8 100644
--- a/web/push-notif/badge-handler.react.js
+++ b/web/push-notif/badge-handler.react.js
@@ -1,20 +1,33 @@
// @flow
import * as React from 'react';
import { useSelector } from 'react-redux';
import { unreadCount } from 'lib/selectors/thread-selectors.js';
import electron from '../electron.js';
import getTitle from '../title/getTitle.js';
function useBadgeHandler() {
+ const connection = useSelector(state => state.connection);
+ const prevConnection = React.useRef();
+
const boundUnreadCount = useSelector(unreadCount);
+ const prevUnreadCount = React.useRef(boundUnreadCount);
React.useEffect(() => {
- document.title = getTitle(boundUnreadCount);
- electron?.setBadge(boundUnreadCount === 0 ? null : boundUnreadCount);
- }, [boundUnreadCount]);
+ if (
+ connection.status === 'connected' &&
+ (prevConnection.current?.status !== 'connected' ||
+ boundUnreadCount !== prevUnreadCount.current)
+ ) {
+ document.title = getTitle(boundUnreadCount);
+ electron?.setBadge(boundUnreadCount === 0 ? null : boundUnreadCount);
+ }
+
+ prevConnection.current = connection;
+ prevUnreadCount.current = boundUnreadCount;
+ }, [boundUnreadCount, connection]);
}
export default useBadgeHandler;

File Metadata

Mime Type
text/x-diff
Expires
Mon, Dec 23, 3:24 AM (5 h, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2690285
Default Alt Text
(1 KB)

Event Timeline