Repository navigation
Bump Alchemy to 2.0.0-beta.85 and Effect to 4.1.2 - #180
Merged
Merged
Conversation
Alchemy 2.0.0-beta.85 requires Effect ^4.1.0. Regenerate the config JSON schema so Effect 4.1's flattened anyOf output matches the committed document. Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
The Vite dev forwarder waits for HTTP 100 Continue before it sends a request body. workerd 1.20261006.1 never sends that response, so local POSTs through port 3000 lose their body. Alchemy 2.0.0-beta.85 depends on workerd 1.20261026.1, which does. Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
jonbeckman
marked this pull request as ready for review
November 9, 2026 09:42
Contributor
TegamiThis repository uses Tegami to manage releases. When your changes affect published packages, add a changelog file under Create a changelog → · Changelog format Release preview
Changelogs in this PR
Run Managed by Tegami. |
Contributor
🟢 e2e solzero-core: 32 passed4 agent steps · 4 replayed from cache Change 14 files changed since All 32 tests in 13 files
Tested by e2e 0.23.0 · 3m 22s · local-cloudflare · run artifacts |
The override held workerd behind the release Alchemy beta.85's Vite forwarder needs for 100 Continue. Miniflare 5.20261101.0-beta and Wrangler 4.156.1 depend on workerd 1.20261101.1. Alchemy's runtime still depends on workerd 1.20261026.1. No published Miniflare release depends on that exact version. Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
jonbeckman
marked this pull request as draft
November 13, 2026 17:05
Keep Alchemy 2.0.0-beta.85, Effect 4.1.2, Wrangler 4.156.1, and Miniflare 5.20261101.0-beta. Keep master's oxlint, oxfmt, tsrs, and AI SDK versions. Drop the workerd 1.20261006.1 override and its release-age exclusions. Regenerate nub.lock with nub. Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
#195 moved @alchemy.run/cloudflare and alchemy to production dependencies so a pruned publish can still deploy. Keep those packages there, at 2.0.0-beta.85. Effect stays 4.1.2. Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves the workspace onto Alchemy
2.0.0-beta.85and Effect4.1.2, and merges currentmaster(through #195).The root
workerdoverride is removed. It held workerd behind the release Alchemy beta.85's Vite forwarder needs. That forwarder waits forHTTP/1.1 100 Continuebefore it sends a POST body, andworkerd1.20261006.1never sends that response.No published Miniflare release depends on
workerd1.20261026.1, the exact version@alchemy.run/cloudflare-runtime@2.0.0-beta.85depends on. Miniflare is now5.20261101.0-beta, the next published release, and it depends onworkerd1.20261101.1. Wrangler4.149.0also depended onworkerd1.20261006.1and Miniflare5.20261006.1-alpha, so Wrangler is now4.156.1, which uses that same Miniflare andworkerd1.20261101.1.nub why workerdshows two versions:1.20261026.1, supplied by@alchemy.run/cloudflare-runtime(the binaryalchemy devuses)1.20261101.1, supplied byminiflareandwranglerBoth binaries include
100 Continue.1.20261006.1is gone.allowScriptsstill allows theworkerdinstall script.VERSIONis untouched. Therelease:nonelabel stays.Master's versions are kept for everything this pull request does not bump, including oxlint
1.93.0, oxfmt0.78.0, tsrs0.23.0-ts7.1.0-beta, the AI SDK pins from #192, and the AI Search config shape from #186. The config JSON schema was regenerated for Effect 4.1 against that shape.#195 moved
@alchemy.run/cloudflareandalchemyto production dependencies of@solzero/background-apiso a pruned publish can still deploy. Those packages stay production dependencies, at2.0.0-beta.85. Effect stays a devDependency at4.1.2.Root cause
File:
@alchemy.run/cloudflare-runtime@2.0.0-beta.85src/vite/worker-request.ts, inforwardWorkerRequest.content-lengthortransfer-encodingis forwarded withexpect: 100-continue.continue.That landed in commit
3bb45b0f08(feat(cloudflare-runtime): update workerd and sync workers-sdk, #2673), which is in2.0.0-beta.85and not in2.0.0-beta.84. Beta.84 piped the body immediately.A packet capture of
POST /api/auth/sign-in/emailto port 3000 showed the Vite process sending headers, includingexpect: 100-continueandcontent-length: 40, and then no body. workerd acknowledged the headers and never replied100 Continue. The Worker then failedrequest.arrayBuffer()withNetwork connection lostonce the client gave up. The same POST to port 3100 does not go through this Vite forwarder, so it returned 200.workerd1.20261006.1has no100 Continuestring in the binary.1.20261026.1and1.20261101.1do.Conflicts
.npmrc: kept master's release-age exclusions, including oxfmt0.78.0, oxlint1.93.0, andai@7.0.166, and removed theworkerd1.20261006.1exclusions.package.json: Miniflare5.20261101.0-betaand Wrangler4.156.1from this branch; oxfmt0.78.0and oxlint1.93.0from master. Theworkerdoverride stays removed.apps/api/package.json: Alchemy2.0.0-beta.85and Effect4.1.2from this branch; tsrs0.23.0-ts7.1.0-betafrom master. After Keep Alchemy libraries in the published deploy package #195,@alchemy.run/cloudflareandalchemyare production dependencies.config/s0.config.schema.json: master's removal ofaiSearch.serviceTokenId, then regenerated with Effect 4.1.nub.lock: regenerated with nub. Not hand-edited.Validation
nub run format,nub run lint, andnub run typecheck: passed, including the pre-push hook on both pushes.nub run config:check: passed.nub run test:config: 31 passed (5 files), including the Miniflare service-binding and storage fixtures. One workerd stderr line reported a hung request during the service-binding case; the test still passed. Re-run after the Keep Alchemy libraries in the published deploy package #195 merge.nub run test: 30 passed, 2 failed. Sign-in, Isolate, settings, workflows, and the other core flows passed. OpenCode and Codex timed out becausecloudflare/proxy-everythingexited before the container could start (iptablesPREROUTINGappend failed: missing kernel module). That is this VM, not an application change. CI runs that suite on a host that can run the proxy. The Keep Alchemy libraries in the published deploy package #195 follow-up only moves the same Alchemy packages into production dependencies, so that browser suite was not repeated.Checklist
workerd1.20261006.1entries were removed from.npmrcminimumReleaseAgeExclude. The new Miniflare and workerd versions did not need an age exclusion..tegami/release entry.VERSIONis untouched. This pull request keepsrelease:none.nub run config:check,nub run format,nub run lint,nub run typecheck,nub run test:config, andnub run test.THIRD_PARTY_NOTICES.mdfor new third-party code or separately licensed assets. No new third-party source was added.