Event stream timeout

This commit is contained in:
Samuel Elliott 2022-11-20 23:17:45 +00:00
parent 0c0a27bd8e
commit 827224cd80
No known key found for this signature in database
GPG Key ID: 8420C7CDE43DC4D6

View File

@ -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;