Page MenuHomePhabricator

D10973.id37018.diff
No OneTemporary

D10973.id37018.diff

diff --git a/lib/identity-search/identity-search-context.js b/lib/identity-search/identity-search-context.js
--- a/lib/identity-search/identity-search-context.js
+++ b/lib/identity-search/identity-search-context.js
@@ -38,6 +38,8 @@
const socket = React.useRef<?WebSocket>(null);
const heartbeatTimeoutID = React.useRef<?TimeoutID>();
+ const previousAuthMessage = React.useRef<?AuthMessage>(authMessage);
+
const stopHeartbeatTimeout = React.useCallback(() => {
if (heartbeatTimeoutID.current) {
clearTimeout(heartbeatTimeoutID.current);
@@ -54,6 +56,18 @@
}, [stopHeartbeatTimeout]);
React.useEffect(() => {
+ const isSocketActive =
+ socket.current?.readyState === WebSocket.OPEN ||
+ socket.current?.readyState === WebSocket.CONNECTING;
+
+ const authMessageChanged = authMessage !== previousAuthMessage.current;
+ previousAuthMessage.current = authMessage;
+
+ if ((!authMessage || authMessageChanged) && isSocketActive) {
+ socket.current?.close();
+ return;
+ }
+
if (connected || !authMessage) {
return;
}

File Metadata

Mime Type
text/plain
Expires
Thu, Dec 19, 4:33 AM (21 h, 37 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2675299
Default Alt Text
D10973.id37018.diff (1 KB)

Event Timeline