From 827224cd80cfeab1a564a0163efd4ca3b8cab130 Mon Sep 17 00:00:00 2001 From: Samuel Elliott Date: Sun, 20 Nov 2022 23:17:45 +0000 Subject: [PATCH] Event stream timeout --- src/common/presence.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/common/presence.ts b/src/common/presence.ts index 82fb7ab..56f18ec 100644 --- a/src/common/presence.ts +++ b/src/common/presence.ts @@ -617,8 +617,13 @@ export class ZncProxyDiscordPresence extends Loop { this.events = events; + let timeout: NodeJS.Timeout; + let timeout_interval = 90000; + const ontimeout = () => events.dispatchEvent({type: 'error', message: 'Timeout'} as any); + events.onopen = event => { debugEventStream('EventSource connected', event); + timeout = setTimeout(ontimeout, timeout_interval); }; let user: CurrentUser | Friend | undefined = undefined; @@ -628,6 +633,9 @@ export class ZncProxyDiscordPresence extends Loop { this.last_data = {}; const onmessage = (event: MessageEvent) => { + clearTimeout(timeout); + timeout = setTimeout(ontimeout, timeout_interval); + if (event.type === 'message') { debugEventStream('Received debug message', event.data); return;