From d95c8cbe1f5ebce5531cc9a763836090f286a159 Mon Sep 17 00:00:00 2001 From: Michael McBride Date: Sat, 8 Apr 2023 20:28:41 -0500 Subject: [PATCH] Force regular message from client to prevent timeouts Fixes #19 --- twirch/src/app/app.module.ts | 5 +++-- twirch/src/app/services/channel-service.service.ts | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/twirch/src/app/app.module.ts b/twirch/src/app/app.module.ts index 7886805..e1a50c7 100644 --- a/twirch/src/app/app.module.ts +++ b/twirch/src/app/app.module.ts @@ -10,8 +10,9 @@ import { ToolbarComponent } from './components/toolbar/toolbar.component'; const config: SocketIoConfig = { url: 'https://twirch.io', options: { - transports: ['polling', 'websocket'] - } + transports: ['polling', 'websocket'], + closeOnBeforeunload: true + }, }; @NgModule({ diff --git a/twirch/src/app/services/channel-service.service.ts b/twirch/src/app/services/channel-service.service.ts index f277489..ee69315 100644 --- a/twirch/src/app/services/channel-service.service.ts +++ b/twirch/src/app/services/channel-service.service.ts @@ -10,12 +10,19 @@ const _chatMessage: string = 'chat message'; }) export class ChannelService { + keepAliveTimer; chatMessage = this.socket.fromEvent(_chatMessage); - constructor(private socket: Socket) { } + constructor(private socket: Socket) { + this.keepAliveTimer = setInterval(this.keepAlive, 60000); + } selectChannels(channels: string[]): void { this.socket.emit(_joinChannels, channels); } + keepAlive(): void { + this.socket.emit('keepAlive', ''); + } + }