From 3157131bf2057dfc69015ce5512346d4c90163d4 Mon Sep 17 00:00:00 2001 From: Philipinho <16838612+Philipinho@users.noreply.github.com> Date: Sun, 25 Jan 2026 21:47:04 +0000 Subject: [PATCH] pass wsAdapter to gateway --- apps/server/src/collaboration/collaboration.gateway.ts | 6 ++++-- apps/server/src/collaboration/collaboration.module.ts | 3 +-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/server/src/collaboration/collaboration.gateway.ts b/apps/server/src/collaboration/collaboration.gateway.ts index d2419636..53798baa 100644 --- a/apps/server/src/collaboration/collaboration.gateway.ts +++ b/apps/server/src/collaboration/collaboration.gateway.ts @@ -18,6 +18,7 @@ import { import { WsSocketWrapper } from './extensions/redis-sync/ws-socket-wrapper'; import RedisClient from 'ioredis'; import { pack, unpack } from 'msgpackr'; +import { CollabWsAdapter } from './adapter/collab-ws.adapter'; @Injectable() export class CollaborationGateway { @@ -122,8 +123,7 @@ export class CollaborationGateway { return this.hocuspocus.getDocumentsCount(); } - async destroy(): Promise { - await new Promise((r) => setTimeout(r, 10000)); + async destroy(collabWsAdapter: CollabWsAdapter): Promise { // eslint-disable-next-line no-async-promise-executor await new Promise(async (resolve) => { try { @@ -134,6 +134,8 @@ export class CollaborationGateway { }, }); + collabWsAdapter?.close(); + if (this.hocuspocus.getDocumentsCount() === 0) resolve(''); this.hocuspocus.closeConnections(); } catch (error) { diff --git a/apps/server/src/collaboration/collaboration.module.ts b/apps/server/src/collaboration/collaboration.module.ts index 14b9d230..4f085e93 100644 --- a/apps/server/src/collaboration/collaboration.module.ts +++ b/apps/server/src/collaboration/collaboration.module.ts @@ -51,8 +51,7 @@ export class CollaborationModule implements OnModuleInit, OnModuleDestroy { } async onModuleDestroy(): Promise { - this.collabWsAdapter?.close(); - await this.collaborationGateway?.destroy(); + await this.collaborationGateway?.destroy(this.collabWsAdapter); this.collabWsAdapter?.destroy(); } }