diff --git a/packages/core/src/network/client.ts b/packages/core/src/network/client.ts index 5f5e356e..c5b2c485 100644 --- a/packages/core/src/network/client.ts +++ b/packages/core/src/network/client.ts @@ -308,7 +308,7 @@ export class MtClient extends EventEmitter { emitError(err: unknown): void { if (this._emitError) { this._emitError(err) - } else { + } else if (this._connect.finished()) { this.log.error('unhandled error:', err) } } diff --git a/packages/core/src/network/network-manager.ts b/packages/core/src/network/network-manager.ts index 4fb9c4ce..9e036845 100644 --- a/packages/core/src/network/network-manager.ts +++ b/packages/core/src/network/network-manager.ts @@ -879,6 +879,7 @@ export class NetworkManager { for (const dc of this._dcConnections.values()) { await dc.destroy() } + this._dcConnections.clear() this.config.offReload(this._onConfigChanged) this._resetOnNetworkChange?.() }