From 720a5965595c777858bb7912c5ec59090f467d24 Mon Sep 17 00:00:00 2001 From: pengx17 Date: Mon, 20 Jan 2025 16:23:00 +0000 Subject: [PATCH] fix(infra): increase eventemitter listener count (#9799) --- packages/common/nbstore/src/connection/connection.ts | 8 ++++++-- .../core/src/modules/workspace-engine/impls/cloud.ts | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/common/nbstore/src/connection/connection.ts b/packages/common/nbstore/src/connection/connection.ts index 28b7fe2f7..1416a09b3 100644 --- a/packages/common/nbstore/src/connection/connection.ts +++ b/packages/common/nbstore/src/connection/connection.ts @@ -24,7 +24,9 @@ export interface Connection { export abstract class AutoReconnectConnection implements Connection { - private readonly event = new EventEmitter2(); + private readonly event = new EventEmitter2({ + maxListeners: 100, + }); private _inner: T | undefined = undefined; private _status: ConnectionStatus = 'idle'; private _error: Error | undefined = undefined; @@ -168,14 +170,16 @@ export abstract class AutoReconnectConnection return; } - this.onStatusChanged(status => { + const off = this.onStatusChanged(status => { if (status === 'connected') { resolve(); + off(); } }); signal?.addEventListener('abort', reason => { reject(reason); + off(); }); }); } diff --git a/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts b/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts index 7591b4e11..a899d4955 100644 --- a/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts +++ b/packages/frontend/core/src/modules/workspace-engine/impls/cloud.ts @@ -348,6 +348,8 @@ class CloudWorkspaceFlavourProvider implements WorkspaceFlavourProvider { await storage.connection.waitForConnected(); const localBlob = await storage.get(blob); + storage.connection.disconnect(); + if (localBlob) { return new Blob([localBlob.data], { type: localBlob.mime }); }