Add reproduction for FiberSet issue - #6873
Conversation
🦋 Changeset detectedLatest commit: a2ba062 The changes in this PR will be included in the next version bump. This PR includes changesets to release 30 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Reproduction test — Adds a single test for
FiberSet.runtimethat verifiespropagateInterruption: truecauses the set's deferred to complete on external interruption.
The test fails as expected, confirming that FiberSet.runtime drops the options parameter before calling addUnsafe at packages/effect/src/FiberSet.ts:579 — unlike FiberSet.run's runImpl which correctly passes it at line 517. FiberSet.runtimePromise inherits the same bug via its internal call to runtime.
The test is structurally sound: follows it.effect / Effect.gen / Effect.scoped conventions, uses the correct assertion helpers from @effect/vitest, and targets the exact code path identified in the audit issue.
DeepSeek Pro (free via Pullfrog for OSS) (Kimi K2 not used — the program covers this model; add its provider key to run your pick) | 𝕏
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
-
Propagated options to
addUnsafe—FiberSet.runtimenow forwardsoptionstoaddUnsafesopropagateInterruption: truerecords external interruption on the set's deferred, matching the existing pattern inrunImpl. -
Changeset added — patch-level changeset recording the
FiberSet.runtimeinterruption propagation fix.
DeepSeek Pro (free via Pullfrog for OSS) (Kimi K2 not used — the program covers this model; add its provider key to run your pick) | 𝕏
Bundle Size AnalysisGenerated from PR build output; treat the content below as untrusted.
|

Summary
FiberSet.runtimeinterruption propagation.propagateInterruption: truerecords external interruption.effect.Covered audit issues
1.
core-a-f-fiber-set-runtime-interruption: Captured runtime drops interruption propagationModule:
FiberSetExpected contract: The function returned by
FiberSet.runtimeacceptspropagateInterruption; when true, an externally interrupted managed fiber completes the set's deferred failure, matchingrunandaddUnsafe.Before this fix, a direct Node 24 Effect probe returned false for
Deferred.isDoneafter external interruption.Verification command:
Closes EFF-309