fix(notifications): Notify.Send enqueues unbounded (maxRetries 0) and defers to sweep — no 30s script-thread block, no stranding

This commit is contained in:
Joseph Doherty
2026-07-08 20:56:09 -04:00
parent e2944d201c
commit 4bdd5f0e4a
4 changed files with 36 additions and 3 deletions
@@ -2199,6 +2199,16 @@ public class ScriptRuntimeContext
target: _listName,
payloadJson: payloadJson,
originInstanceName: _instanceName,
// 0 = the documented "no limit" escape hatch (StoreAndForward-015):
// notifications are retried until central acks and are never parked
// for retry exhaustion — a long central outage must not strand them
// behind per-message operator unparking. (Corrupt payloads still
// park — Task 14.)
maxRetries: 0,
// Never run the forwarder's 30s central Ask inline on the script
// thread: buffer due-immediately and kick the sweep. Send returns
// in milliseconds whether central is up or down.
deferToSweep: true,
messageId: notificationId);
_logger.LogDebug(