From 7789aca6206f730e4608b673e5738aa272c3aa4b Mon Sep 17 00:00:00 2001 From: MythEclipse Date: Sun, 14 Jun 2026 00:45:59 +0700 Subject: [PATCH] chore(services): update components based on recent changes Changes: services/discord-gateway/src/app/shutdown.ts | 8 ++++++++ 1 file changed, 8 insertions(+) --- services/discord-gateway/src/app/shutdown.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/discord-gateway/src/app/shutdown.ts b/services/discord-gateway/src/app/shutdown.ts index a74fc81..5f05d41 100644 --- a/services/discord-gateway/src/app/shutdown.ts +++ b/services/discord-gateway/src/app/shutdown.ts @@ -4,6 +4,7 @@ import type { CommandHandler } from "../modules/command-handler/commandHandler.j import type { EventBroadcaster } from "../modules/event-broadcaster/index.js"; import { stopMetricsServer } from "../modules/gateway-metrics/index.js"; import { stopMuxerWorker } from "../modules/voice-recording/muxer.js"; +import type { VoicePcmWsClient } from "../modules/voice-pcm-ws/index.js"; import type { VoiceController } from "../modules/voice-recording/voiceController.js"; import type { closeDatabase } from "../shared/database/drizzle.js"; @@ -19,6 +20,7 @@ export interface GracefulShutdownOptions { eventBroadcaster: EventBroadcaster; commandHandler: CommandHandler; stopMetricsServer?: StopMetricsServer; + pcmWsClient?: VoicePcmWsClient; } export function createGracefulShutdown(options: GracefulShutdownOptions) { @@ -41,6 +43,12 @@ export function createGracefulShutdown(options: GracefulShutdownOptions) { options.logger.info("Stopping voice connection..."); await options.voiceController.disconnect(); + // 1b. Close PCM WebSocket client (after voice, before Redis) + if (options.pcmWsClient) { + options.logger.info("Closing voice PCM WS client..."); + await options.pcmWsClient.close(); + } + // 2. Close Redis/pubsub after voice is done options.logger.info("Closing event broadcaster..."); await options.eventBroadcaster.close();