Abort timed-out source sweeps instead of leaving provider work running #16
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Created from local project scan after reviewing existing issues #1-#13.
Current status:
unSource() in pis/briefing.mjs uses Promise.race() with a 30s timeout, but it does not pass an AbortSignal into source modules or safeFetch(). When a source times out, the sweep moves on while the underlying source work can continue in the background until its own internal fetch timers finish. With many slow providers this can keep sockets, timers, and API work alive after the orchestrator has already marked the source failed.
Code references:
Acceptance criteria:
unSource() creates a per-source AbortController and passes the signal to source functions that opt in.