From efe9d977cd2bbb0b289ac5fa5383f55e9f1f8080 Mon Sep 17 00:00:00 2001 From: Laan Tungir Date: Fri, 26 Jun 2026 10:27:42 -0400 Subject: [PATCH] =?UTF-8?q?Make=20warmOutbox=20handler=20non-blocking=20(f?= =?UTF-8?q?ire-and-forget)=20in=20worker=20dispatch=20=E2=80=94=20trackUse?= =?UTF-8?q?rs=20involves=20network=20I/O=20that=20was=20blocking=20the=20e?= =?UTF-8?q?ntire=20message=20dispatch=20loop,=20starving=20getRelayData/ge?= =?UTF-8?q?tRelayStats?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- www/js/version.json | 6 +++--- www/ndk-worker.js | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/www/js/version.json b/www/js/version.json index d6f8c21..8c67546 100644 --- a/www/js/version.json +++ b/www/js/version.json @@ -1,5 +1,5 @@ { - "VERSION": "v0.7.48", - "VERSION_NUMBER": "0.7.48", - "BUILD_DATE": "2026-06-26T14:17:56.525Z" + "VERSION": "v0.7.49", + "VERSION_NUMBER": "0.7.49", + "BUILD_DATE": "2026-06-26T14:27:42.415Z" } diff --git a/www/ndk-worker.js b/www/ndk-worker.js index a66948c..6274cbc 100644 --- a/www/ndk-worker.js +++ b/www/ndk-worker.js @@ -6930,7 +6930,10 @@ self.onconnect = (event) => { break; case 'warmOutbox': - await handleWarmOutbox(requestId, pubkeys, port); + // Don't await — trackUsers involves network I/O to outbox pool + // relays and would block the entire message dispatch loop, + // starving getRelayData/getRelayStats messages. + void handleWarmOutbox(requestId, pubkeys, port); break; case 'setRelayEventLogging':