From d67c380f4cc78422092686d344af6fd3ef4ca802 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Wed, 19 Mar 2025 15:15:44 -0500 Subject: [PATCH] Fix memory leak in relay? --- packages/ditto/controllers/nostr/relay.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/ditto/controllers/nostr/relay.ts b/packages/ditto/controllers/nostr/relay.ts index 3690b61e..bbec9b5c 100644 --- a/packages/ditto/controllers/nostr/relay.ts +++ b/packages/ditto/controllers/nostr/relay.ts @@ -171,6 +171,10 @@ function connectStream(socket: WebSocket, ip: string | undefined, opts: ConnectS } else { const [verb, , ...rest] = msg; send([verb, subId, ...rest] as NostrRelayMsg); + + if (verb === 'CLOSED') { + break; + } } } } catch (e) { @@ -182,6 +186,7 @@ function connectStream(socket: WebSocket, ip: string | undefined, opts: ConnectS send(['CLOSED', subId, 'error: something went wrong']); } } finally { + controllers.get(subId)?.abort(); controllers.delete(subId); } }