Make warmOutbox handler non-blocking (fire-and-forget) in worker dispatch — trackUsers involves network I/O that was blocking the entire message dispatch loop, starving getRelayData/getRelayStats

This commit is contained in:
Laan Tungir
2026-06-26 10:27:42 -04:00
parent bff0bca411
commit efe9d977cd
2 changed files with 7 additions and 4 deletions

View File

@@ -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"
}

View File

@@ -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':