Skip to content

fix(deps): revert effect to 4.0.0-beta.57 (pre-regression)#26067

Open
stephanschielke wants to merge 2 commits intoanomalyco:devfrom
stephanschielke:fix/pin-effect-beta57
Open

fix(deps): revert effect to 4.0.0-beta.57 (pre-regression)#26067
stephanschielke wants to merge 2 commits intoanomalyco:devfrom
stephanschielke:fix/pin-effect-beta57

Conversation

@stephanschielke
Copy link
Copy Markdown

@stephanschielke stephanschielke commented May 6, 2026

Issue for this PR

Closes #25873
Related: #25835

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

Reverts effect from 4.0.0-beta.59 to 4.0.0-beta.57 in the workspace catalog.

The bump from beta.57 to beta.59 was a routine chore (PR #25524) with no feature dependency. beta.58 (Effect-TS/effect-smol#2098) changed Stream.mkUint8Array from an immutable Channel.runFold (new Uint8Array per iteration) to a mutable accumulator (acc.bytes += ...; acc.arrays.push(...); return acc). Combined with minify: true in the build script (PR #22362), JSC freezes the fold accumulator between iterations, causing Attempted to assign to readonly property.

v1.14.33 (minify + beta.57) worked. v1.14.34+ (minify + beta.59) crashes. @effect/opentelemetry and @effect/platform-node already use beta.57 in the workspace.

Upstream: Effect-TS/effect-smol#2126, Effect-TS/effect-smol#2127

Related PRs (alternative fixes):

  • PR #25867: replace all mutable fold patterns with immutable runForEach
  • PR #26066: disable minification

How did you verify your code works?

  1. Confirmed via Effect repo diff (beta.57..beta.59) that Stream.mkUint8Array is the only relevant Stream.ts change
  2. bun install resolves cleanly to beta.57 (already cached from @effect/opentelemetry and @effect/platform-node)
  3. Typecheck passes (only pre-existing TS2416 in bus/global.ts, same on dev)
  4. v1.14.33 (which used beta.57) is confirmed working

Screenshots / recordings

N/A (dependency version change, not a UI change)

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

effect@4.0.0-beta.58 (Effect-TS/effect-smol#2098) changed Stream.mkUint8Array from an immutable Channel.runFold pattern to a mutable accumulator. Combined with bun build --compile --minify (PR anomalyco#22362), JSC freezes the fold accumulator object between iterations, causing "Attempted to assign to readonly property" on all tool calls after the first. Reverting to beta.57 (last known-good). The bump was a routine chore (anomalyco#25524) with no feature dependency. Related: anomalyco#25873, Effect-TS/effect-smol#2126
@github-actions github-actions Bot added the needs:compliance This means the issue will auto-close after 2 hours. label May 6, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 6, 2026

The following comment was made by an LLM, it may be inaccurate:

Potential Duplicates Found:

  1. PR fix(build): disable minify to prevent JSC readonly property errors #26066: fix(build): disable minify to prevent JSC readonly property errors

  2. PR fix: replace all mutable Stream fold/collect patterns with immutable runForEach, revert effect to beta.57 #25867: fix: mutable Stream.runFold crash in compiled binaries, revert effect to beta.57

These are alternative solutions to the same problem rather than true duplicates. The current PR (#26067) takes the dependency revert approach, while #26066 and #25867 represent the other two alternative fixes mentioned in the PR description.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 6, 2026

Thanks for updating your PR! It now meets our contributing guidelines. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bash tool fails with 'Attempted to assign to readonly property' in v1.14.34

1 participant