fix: resolve architecture disconnects and codebase weaknesses
- fix(backend): replace raw .parse() with proper loadConfig() + ConfigError - fix(gateway): connect voice recording uploader to EventBroadcaster - fix(gateway): remove dead globalThis.moderationBroadcaster path in AI analyzer - fix(gateway): eliminate audioStream race condition by attaching handlers before pipe - fix(gateway): enable inlineVolume by default for setMusicVolume to work - fix(gateway): reuse persistent redisPub for command replies (no new connection per cmd) - fix(frontend): add missing voice_active_user/voice_pcm_data to WsEventMap - fix(frontend): correct onAttachmentUploaded handler signature to accept data - chore: move @types/pg from dependencies to devDependencies - chore: translate remaining Indonesian comments to English - chore: remove stale P3 TODO comment
This commit is contained in:
@@ -178,12 +178,11 @@ export class CommandHandler {
|
||||
};
|
||||
}
|
||||
|
||||
// Publish reply on the designated reply channel.
|
||||
const redisPub = new Redis(config.REDIS_URL);
|
||||
// Publish reply on the designated reply channel using the persistent publisher.
|
||||
try {
|
||||
await redisPub.publish(cmd.replyChannel, JSON.stringify(reply));
|
||||
} finally {
|
||||
await redisPub.quit();
|
||||
await this.redisPub.publish(cmd.replyChannel, JSON.stringify(reply));
|
||||
} catch (err) {
|
||||
logger.error({ err }, "Failed to publish command reply");
|
||||
}
|
||||
|
||||
// Always refresh status keys after every command so the backend has
|
||||
|
||||
Reference in New Issue
Block a user