fix(world-vercel): include runId in streams.get() request URL#1676
Conversation
🧪 E2E Test Results❌ Some tests failed Summary
❌ Failed Tests🌍 Community Worlds (74 failed)mongodb (7 failed):
redis (7 failed):
turso (60 failed):
Details by Category✅ ▲ Vercel Production
✅ 💻 Local Development
✅ 📦 Local Production
✅ 🐘 Local Postgres
✅ 🪟 Windows
❌ 🌍 Community Worlds
✅ 📋 Other
|
📊 Benchmark Results
workflow with no steps💻 Local Development
workflow with 1 step💻 Local Development
workflow with 10 sequential steps💻 Local Development
workflow with 25 sequential steps💻 Local Development
workflow with 50 sequential steps💻 Local Development
Promise.all with 10 concurrent steps💻 Local Development
Promise.all with 25 concurrent steps💻 Local Development
Promise.all with 50 concurrent steps💻 Local Development
Promise.race with 10 concurrent steps💻 Local Development
Promise.race with 25 concurrent steps💻 Local Development
Promise.race with 50 concurrent steps💻 Local Development
workflow with 10 sequential data payload steps (10KB)💻 Local Development
workflow with 25 sequential data payload steps (10KB)💻 Local Development
workflow with 50 sequential data payload steps (10KB)💻 Local Development
workflow with 10 concurrent data payload steps (10KB)💻 Local Development
workflow with 25 concurrent data payload steps (10KB)💻 Local Development
workflow with 50 concurrent data payload steps (10KB)💻 Local Development
Stream Benchmarks (includes TTFB metrics)workflow with stream💻 Local Development
stream pipeline with 5 transform steps (1MB)💻 Local Development
10 parallel streams (1MB each)💻 Local Development
fan-out fan-in 10 streams (1MB each)💻 Local Development
SummaryFastest Framework by WorldWinner determined by most benchmark wins
Fastest World by FrameworkWinner determined by most benchmark wins
Column Definitions
Worlds:
❌ Some benchmark jobs failed:
Check the workflow run for details. |
🦋 Changeset detectedLatest commit: 221e1b0 The changes in this PR will be included in the next version bump. This PR includes changesets to release 17 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.
Pull request overview
Fixes @workflow/world-vercel stream reads by ensuring streams.get() includes the runId in the generated request URL, aligning the client with the /v2/runs/:runId/stream/:streamId endpoint shape.
Changes:
- Make
getStreamUrl()requirerunId: stringand remove the no-runIdfallback URL shape. - Fix
streams.get()to pass through itsrunIdparameter instead of discarding it. - Add a changeset for a patch release of
@workflow/world-vercel.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| packages/world-vercel/src/streamer.ts | Corrects stream read URL construction to include runId and removes legacy fallback path. |
| .changeset/fix-stream-get-runid.md | Announces a patch release documenting the bug fix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
streams.get() was ignoring the runId parameter and hardcoding undefined, causing requests to hit /api/v2/stream/:streamId instead of the correct /api/v2/runs/:runId/stream/:streamId. Also removes the fallback path in getStreamUrl() that allowed omitting runId.
3a747ef to
221e1b0
Compare
|
Backport to To resolve manually: git fetch origin stable
git checkout stable
git cherry-pick 68cf25e83bdc8bf912fb30cb8f9ba4cb9a30f087
# Fix conflicts, then:
git cherry-pick --continue
git push origin stable |
|
Backport to To resolve manually: git fetch origin stable
git checkout stable
git cherry-pick 68cf25e83bdc8bf912fb30cb8f9ba4cb9a30f087
# Fix conflicts, then:
git cherry-pick --continue
git push origin stable |
* fix(world-vercel): include runId in streams.get() request URL streams.get() was ignoring the runId parameter and hardcoding undefined, causing requests to hit /api/v2/stream/:streamId instead of the correct /api/v2/runs/:runId/stream/:streamId. Also removes the fallback path in getStreamUrl() that allowed omitting runId. * test(world-vercel): add regression test for streams.get() runId in URL
|
Cherry-pick to |
Summary
streams.get()in@workflow/world-vercelto passrunIdthrough togetStreamUrl()instead of hardcodingundefined, which was causing all stream read requests to hit/api/v2/stream/:streamIdinstead of/api/v2/runs/:runId/stream/:streamIdgetStreamUrl()that allowed omittingrunId— the parameter is now required asstring(wasstring | undefined)The health check case is unaffected since it already generates a synthetic runId via
generateHealthCheckRunId()— the bug was just thatget()was discarding it.