Skip to content

Conversation

@VaguelySerious
Copy link
Member

@VaguelySerious VaguelySerious commented Jan 13, 2026

This superseeds #626 and #748, and reverts #747 in order to:

  • Allow users to open the web app anywhere, and then select any of their projects, easily swapping between them
  • Provide better debugging for world env vars and config
  • Support self-hosting the app with locked-in UI
  • Cleans up state management and URL data
  • Derives the world state from world-manifest.json. Updating the manifest will now directly update the UI support for worlds.

The dream for this is that you can open your web app once, and easily switch between local/staging/prod envs, or different project/repos) without having to invoke the o11y separately every time.

Not in this PR, but now unblocked:

  • Automatically do vc env pull if vercel credentials expired
  • Scan your machine for workflow projects

Testing

I'm working on e2e tests for this, but in the meantime, I manually validated this PR extensively:

  • Opening web from CLI outside of project
  • Opening web from CLI inside project
  • Installing this PR's tarball into a separate local project and running from there
  • Switching and editing projects between local/remote
  • Opening web to vercel with --localUI
  • Opening web with already running server from elsewhere
  • Opening web in self-hosted mode (WORKFLOW_UI_SELF_HOSTING="1")
  • Opening web when wf is aliased to the workflow local directory (contributor DevEx)

What I didn't test:

  • Opening web to postgres remote instance
    • I remember @pranaygp had a Railway instance for this. Could you test that?

Screenshots

Screenshot 2026-01-13 at 3 17 47 PM Screenshot 2026-01-13 at 3 17 41 PM image

@changeset-bot
Copy link

changeset-bot bot commented Jan 13, 2026

🦋 Changeset detected

Latest commit: b2d538a

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 19 packages
Name Type
@workflow/web-shared Patch
@workflow/utils Patch
@workflow/cli Patch
@workflow/web Patch
@workflow/core Patch
@workflow/errors Patch
@workflow/world-local Patch
workflow Patch
@workflow/world-testing Patch
@workflow/builders Patch
@workflow/docs-typecheck Patch
@workflow/next Patch
@workflow/nitro Patch
@workflow/world-postgres Patch
@workflow/world-vercel Patch
@workflow/ai Patch
@workflow/astro Patch
@workflow/sveltekit Patch
@workflow/nuxt Patch

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

@vercel
Copy link
Contributor

vercel bot commented Jan 13, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
example-nextjs-workflow-turbopack Ready Ready Preview, Comment Jan 13, 2026 3:25pm
example-nextjs-workflow-webpack Ready Ready Preview, Comment Jan 13, 2026 3:25pm
example-workflow Ready Ready Preview, Comment Jan 13, 2026 3:25pm
workbench-astro-workflow Ready Ready Preview, Comment Jan 13, 2026 3:25pm
workbench-express-workflow Ready Ready Preview, Comment Jan 13, 2026 3:25pm
workbench-fastify-workflow Ready Ready Preview, Comment Jan 13, 2026 3:25pm
workbench-hono-workflow Ready Ready Preview, Comment Jan 13, 2026 3:25pm
workbench-nitro-workflow Ready Ready Preview, Comment Jan 13, 2026 3:25pm
workbench-nuxt-workflow Ready Ready Preview, Comment Jan 13, 2026 3:25pm
workbench-sveltekit-workflow Ready Ready Preview, Comment Jan 13, 2026 3:25pm
workbench-vite-workflow Ready Ready Preview, Comment Jan 13, 2026 3:25pm
workflow-docs Ready Ready Preview, Comment Jan 13, 2026 3:25pm

@github-actions
Copy link
Contributor

github-actions bot commented Jan 13, 2026

🧪 E2E Test Results

⚠️ Results below are stale and not from the latest commit. This comment will be updated when CI completes on the latest run.

Tests are running...


Started at: 2026-01-13T15:22:37Z


Some tests failed

Summary

Passed Failed Skipped Total
✅ ▲ Vercel Production 374 0 11 385
✅ 💻 Local Development 342 0 8 350
✅ 📦 Local Production 342 0 8 350
✅ 🐘 Local Postgres 342 0 8 350
✅ 🪟 Windows 35 0 0 35
❌ 🌍 Community Worlds 136 16 0 152
Total 1571 16 35 1622

❌ Failed Tests

🌍 Community Worlds (16 failed)

mongodb (1 failed):

  • webhookWorkflow

starter (14 failed):

  • addTenWorkflow
  • addTenWorkflow
  • error handling error propagation workflow errors nested function calls preserve message and stack trace
  • error handling error propagation workflow errors cross-file imports preserve message and stack trace
  • error handling error propagation step errors basic step error preserves message and stack trace
  • error handling error propagation step errors cross-file step error preserves message and function names in stack
  • error handling retry behavior regular Error retries until success
  • error handling retry behavior FatalError fails immediately without retries
  • error handling catchability FatalError can be caught and detected with FatalError.is()
  • hookCleanupTestWorkflow - hook token reuse after workflow completion
  • stepFunctionPassingWorkflow - step function references can be passed as arguments (without closure vars)
  • stepFunctionWithClosureWorkflow - step function with closure variables passed as argument
  • spawnWorkflowFromStepWorkflow - spawning a child workflow using start() inside a step
  • pathsAliasWorkflow - TypeScript path aliases resolve correctly

turso (1 failed):

  • webhookWorkflow

Details by Category

✅ ▲ Vercel Production
App Passed Failed Skipped
✅ astro 34 0 1
✅ example 34 0 1
✅ express 34 0 1
✅ fastify 34 0 1
✅ hono 34 0 1
✅ nextjs-turbopack 34 0 1
✅ nextjs-webpack 34 0 1
✅ nitro 34 0 1
✅ nuxt 34 0 1
✅ sveltekit 34 0 1
✅ vite 34 0 1
✅ 💻 Local Development
App Passed Failed Skipped
✅ astro-stable 34 0 1
✅ express-stable 34 0 1
✅ fastify-stable 34 0 1
✅ hono-stable 34 0 1
✅ nextjs-turbopack-stable 35 0 0
✅ nextjs-webpack-stable 35 0 0
✅ nitro-stable 34 0 1
✅ nuxt-stable 34 0 1
✅ sveltekit-stable 34 0 1
✅ vite-stable 34 0 1
✅ 📦 Local Production
App Passed Failed Skipped
✅ astro-stable 34 0 1
✅ express-stable 34 0 1
✅ fastify-stable 34 0 1
✅ hono-stable 34 0 1
✅ nextjs-turbopack-stable 35 0 0
✅ nextjs-webpack-stable 35 0 0
✅ nitro-stable 34 0 1
✅ nuxt-stable 34 0 1
✅ sveltekit-stable 34 0 1
✅ vite-stable 34 0 1
✅ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro-stable 34 0 1
✅ express-stable 34 0 1
✅ fastify-stable 34 0 1
✅ hono-stable 34 0 1
✅ nextjs-turbopack-stable 35 0 0
✅ nextjs-webpack-stable 35 0 0
✅ nitro-stable 34 0 1
✅ nuxt-stable 34 0 1
✅ sveltekit-stable 34 0 1
✅ vite-stable 34 0 1
✅ 🪟 Windows
App Passed Failed Skipped
✅ nextjs-turbopack 35 0 0
❌ 🌍 Community Worlds
App Passed Failed Skipped
✅ mongodb-dev 3 0 0
❌ mongodb 34 1 0
✅ redis-dev 3 0 0
✅ redis 35 0 0
✅ starter-dev 3 0 0
❌ starter 21 14 0
✅ turso-dev 3 0 0
❌ turso 34 1 0

📋 View full workflow run

@github-actions
Copy link
Contributor

github-actions bot commented Jan 13, 2026

📊 Benchmark Results

⚠️ Results below are stale and not from the latest commit. This comment will be updated when CI completes on the latest run.

Benchmarks are running...


Started at: 2026-01-13T15:22:37Z


📊 Benchmark Results

📈 Comparing against baseline from main branch. Green 🟢 = faster, Red 🔺 = slower.

workflow with no steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🌐 Redis 🥇 Next.js (Turbopack) 0.038s (+7.7% 🔺) 1.018s (~) 0.980s 10 1.00x
🌐 Starter Next.js (Turbopack) 0.039s (-3.0%) 1.014s (~) 0.975s 10 1.03x
💻 Local Next.js (Turbopack) 0.041s (+4.9%) 1.014s (~) 0.974s 10 1.07x
💻 Local Nitro 0.044s (+37.1% 🔺) 1.007s (~) 0.963s 10 1.15x
💻 Local Express 0.044s (+2.1%) 1.007s (~) 0.963s 10 1.15x
🌐 MongoDB Next.js (Turbopack) 0.076s (+65.9% 🔺) 1.015s (~) 0.939s 10 2.00x
🌐 Turso Next.js (Turbopack) 0.113s (+7.9% 🔺) 1.014s (~) 0.901s 10 2.99x
🐘 Postgres Next.js (Turbopack) 0.158s (-39.7% 🟢) 1.019s (~) 0.861s 10 4.17x
🐘 Postgres Nitro 0.319s (+35.7% 🔺) 1.012s (-1.4%) 0.693s 10 8.42x
🐘 Postgres Express 0.338s (+16.2% 🔺) 1.013s (-0.6%) 0.675s 10 8.92x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 0.612s (-22.7% 🟢) 1.638s (-3.4%) 1.026s 10 1.00x
▲ Vercel Nitro 0.621s (~) 1.643s (+15.1% 🔺) 1.022s 10 1.01x
▲ Vercel Express 0.672s (+15.8% 🔺) 1.680s (+13.9% 🔺) 1.008s 10 1.10x

🔍 Observability: Next.js (Turbopack) | Nitro | Express

workflow with 1 step

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🌐 Redis 🥇 Next.js (Turbopack) 1.087s (+0.8%) 2.014s (~) 0.927s 10 1.00x
🌐 Starter Next.js (Turbopack) 1.094s (+0.6%) 2.009s (~) 0.915s 10 1.01x
💻 Local Next.js (Turbopack) 1.099s (~) 2.011s (~) 0.913s 10 1.01x
💻 Local Nitro 1.112s (+3.1%) 2.006s (~) 0.894s 10 1.02x
💻 Local Express 1.114s (~) 2.007s (~) 0.893s 10 1.03x
🌐 Turso Next.js (Turbopack) 1.296s (~) 2.013s (~) 0.716s 10 1.19x
🌐 MongoDB Next.js (Turbopack) 1.310s (+1.0%) 2.016s (~) 0.706s 10 1.21x
🐘 Postgres Nitro 2.175s (-10.0% 🟢) 3.013s (~) 0.838s 10 2.00x
🐘 Postgres Express 2.202s (+3.6%) 3.013s (~) 0.811s 10 2.03x
🐘 Postgres Next.js (Turbopack) 2.417s (+29.0% 🔺) 3.018s (+49.7% 🔺) 0.602s 10 2.22x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.934s (+2.1%) 3.778s (~) 0.843s 10 1.00x
▲ Vercel Nitro 3.006s (+12.8% 🔺) 3.834s (+3.9%) 0.828s 10 1.02x
▲ Vercel Next.js (Turbopack) 3.091s (+10.5% 🔺) 3.760s (+0.7%) 0.669s 10 1.05x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 10 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🌐 Redis 🥇 Next.js (Turbopack) 10.539s (~) 11.020s (~) 0.480s 5 1.00x
🌐 Starter Next.js (Turbopack) 10.601s (~) 11.013s (~) 0.412s 5 1.01x
💻 Local Next.js (Turbopack) 10.666s (~) 11.019s (~) 0.353s 5 1.01x
💻 Local Nitro 10.788s (+2.3%) 11.013s (~) 0.225s 5 1.02x
💻 Local Express 10.805s (~) 11.014s (~) 0.209s 5 1.03x
🌐 MongoDB Next.js (Turbopack) 12.180s (+2.1%) 13.022s (+8.3% 🔺) 0.842s 5 1.16x
🌐 Turso Next.js (Turbopack) 12.197s (~) 13.024s (~) 0.827s 5 1.16x
🐘 Postgres Express 20.245s (-1.2%) 21.033s (~) 0.788s 5 1.92x
🐘 Postgres Next.js (Turbopack) 20.306s (+36.4% 🔺) 21.046s (+34.6% 🔺) 0.740s 5 1.93x
🐘 Postgres Nitro 20.426s (~) 21.032s (~) 0.607s 5 1.94x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 23.476s (+2.1%) 24.188s (+2.3%) 0.712s 5 1.00x
▲ Vercel Express 23.731s (+3.6%) 24.472s (+3.3%) 0.742s 5 1.01x
▲ Vercel Next.js (Turbopack) 24.775s (+10.8% 🔺) 25.497s (+10.6% 🔺) 0.722s 5 1.06x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Promise.all with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🌐 Redis 🥇 Next.js (Turbopack) 1.346s (+1.7%) 2.012s (~) 0.666s 15 1.00x
🌐 Starter Next.js (Turbopack) 1.352s (~) 2.008s (~) 0.656s 15 1.00x
💻 Local Next.js (Turbopack) 1.383s (~) 2.012s (~) 0.629s 15 1.03x
💻 Local Nitro 1.413s (+4.3%) 2.005s (~) 0.592s 15 1.05x
💻 Local Express 1.422s (+1.4%) 2.007s (~) 0.585s 15 1.06x
🐘 Postgres Next.js (Turbopack) 2.050s (+19.0% 🔺) 2.326s (+15.6% 🔺) 0.277s 13 1.52x
🌐 MongoDB Next.js (Turbopack) 2.134s (~) 3.014s (~) 0.880s 10 1.59x
🌐 Turso Next.js (Turbopack) 2.207s (~) 3.012s (~) 0.805s 10 1.64x
🐘 Postgres Nitro 2.403s (-8.7% 🟢) 3.012s (~) 0.609s 10 1.79x
🐘 Postgres Express 2.426s (~) 3.012s (~) 0.586s 10 1.80x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 5.411s (+86.3% 🔺) 6.154s (+65.6% 🔺) 0.742s 5 1.00x
▲ Vercel Nitro 7.212s (+116.2% 🔺) 8.073s (+101.4% 🔺) 0.861s 4 1.33x
▲ Vercel Express 7.818s (+181.4% 🔺) 10.086s (+170.3% 🔺) 2.268s 3 1.44x

🔍 Observability: Next.js (Turbopack) | Nitro | Express

Promise.all with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Next.js (Turbopack) 2.037s (-3.6%) 2.794s (-7.4% 🟢) 0.757s 11 1.00x
💻 Local Nitro 2.211s (+10.5% 🔺) 3.151s (+31.2% 🔺) 0.940s 10 1.09x
💻 Local Express 2.229s (+0.6%) 3.185s (+1.1%) 0.955s 10 1.09x
🌐 Redis Next.js (Turbopack) 2.388s (+0.9%) 3.015s (~) 0.627s 10 1.17x
🌐 Starter Next.js (Turbopack) 2.456s (~) 3.008s (~) 0.552s 10 1.21x
🐘 Postgres Next.js (Turbopack) 2.635s (+7.1% 🔺) 3.014s (~) 0.379s 10 1.29x
🐘 Postgres Nitro 2.789s (-5.3% 🟢) 3.020s (-3.1%) 0.231s 10 1.37x
🐘 Postgres Express 2.829s (-7.0% 🟢) 3.017s (-15.6% 🟢) 0.187s 10 1.39x
🌐 Turso Next.js (Turbopack) 4.751s (~) 5.183s (~) 0.433s 6 2.33x
🌐 MongoDB Next.js (Turbopack) 4.774s (+1.9%) 5.178s (~) 0.405s 6 2.34x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 3.948s (-1.6%) 4.564s (-0.8%) 0.616s 7 1.00x
▲ Vercel Nitro 3.998s (+23.0% 🔺) 4.605s (+28.5% 🔺) 0.607s 7 1.01x
▲ Vercel Express 4.033s (+22.4% 🔺) 5.108s (+31.8% 🔺) 1.075s 6 1.02x

🔍 Observability: Next.js (Turbopack) | Nitro | Express

Promise.race with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🌐 Redis 🥇 Next.js (Turbopack) 1.336s (~) 2.011s (~) 0.675s 15 1.00x
🌐 Starter Next.js (Turbopack) 1.345s (-3.0%) 2.007s (~) 0.663s 15 1.01x
💻 Local Next.js (Turbopack) 1.392s (~) 2.011s (~) 0.619s 15 1.04x
💻 Local Nitro 1.425s (+7.1% 🔺) 2.005s (~) 0.580s 15 1.07x
💻 Local Express 1.431s (+0.8%) 2.007s (~) 0.575s 15 1.07x
🐘 Postgres Nitro 1.634s (-4.2%) 2.009s (~) 0.375s 15 1.22x
🐘 Postgres Next.js (Turbopack) 1.713s (+3.0%) 2.013s (~) 0.301s 15 1.28x
🐘 Postgres Express 1.843s (-11.6% 🟢) 2.224s (-7.3% 🟢) 0.382s 14 1.38x
🌐 MongoDB Next.js (Turbopack) 2.183s (+3.2%) 3.011s (~) 0.829s 10 1.63x
🌐 Turso Next.js (Turbopack) 2.238s (~) 3.013s (~) 0.775s 10 1.68x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 3.039s (+3.3%) 3.849s (+2.5%) 0.810s 8 1.00x
▲ Vercel Nitro 3.285s (+14.4% 🔺) 4.224s (+17.7% 🔺) 0.939s 8 1.08x
▲ Vercel Express 3.429s (+21.4% 🔺) 4.245s (+13.8% 🔺) 0.817s 8 1.13x

🔍 Observability: Next.js (Turbopack) | Nitro | Express

Promise.race with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Next.js (Turbopack) 2.222s (+2.5%) 3.139s (+2.0%) 0.917s 10 1.00x
💻 Local Nitro 2.225s (+6.5% 🔺) 3.173s (+15.4% 🔺) 0.949s 10 1.00x
💻 Local Express 2.243s (-2.3%) 3.190s (-1.7%) 0.946s 10 1.01x
🌐 Redis Next.js (Turbopack) 2.379s (+0.5%) 3.012s (~) 0.633s 10 1.07x
🌐 Starter Next.js (Turbopack) 2.460s (~) 3.009s (~) 0.549s 10 1.11x
🐘 Postgres Nitro 2.597s (-3.2%) 3.015s (~) 0.418s 10 1.17x
🐘 Postgres Next.js (Turbopack) 2.602s (+6.0% 🔺) 3.020s (~) 0.418s 10 1.17x
🐘 Postgres Express 2.919s (+0.9%) 3.116s (~) 0.198s 10 1.31x
🌐 MongoDB Next.js (Turbopack) 4.680s (-0.7%) 5.178s (~) 0.498s 6 2.11x
🌐 Turso Next.js (Turbopack) 4.726s (-1.7%) 5.188s (~) 0.462s 6 2.13x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 3.343s (+3.0%) 4.043s (+6.2% 🔺) 0.700s 8 1.00x
▲ Vercel Express 3.361s (+4.1%) 4.079s (+8.7% 🔺) 0.718s 8 1.01x
▲ Vercel Next.js (Turbopack) 3.385s (+1.4%) 3.840s (-4.5%) 0.455s 9 1.01x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Stream Benchmarks (includes TTFB metrics)
workflow with stream

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🌐 Starter 🥇 Next.js (Turbopack) 0.127s (-2.3%) 1.006s (~) 0.000s (NaN%) 1.012s (~) 0.885s 10 1.00x
🌐 Redis Next.js (Turbopack) 0.131s (+14.6% 🔺) 1.005s (~) 0.000s (+Infinity% 🔺) 1.015s (~) 0.885s 10 1.03x
💻 Local Next.js (Turbopack) 0.141s (+2.4%) 1.003s (~) 0.017s (+4.3%) 1.029s (~) 0.888s 10 1.11x
💻 Local Nitro 0.175s (+43.0% 🔺) 0.993s (-0.5%) 0.016s (+2.5%) 1.023s (~) 0.848s 10 1.37x
💻 Local Express 0.175s (~) 0.992s (~) 0.016s (+11.0% 🔺) 1.023s (~) 0.848s 10 1.37x
🌐 Turso Next.js (Turbopack) 0.462s (-9.4% 🟢) 0.989s (+3.7%) 0.000s (-50.0% 🟢) 1.014s (~) 0.552s 10 3.62x
🌐 MongoDB Next.js (Turbopack) 0.484s (-2.0%) 0.965s (+1.4%) 0.000s (-100.0% 🟢) 1.012s (~) 0.529s 10 3.80x
🐘 Postgres Next.js (Turbopack) 2.060s (+61.4% 🔺) 2.600s (+67.8% 🔺) 0.000s (~) 2.821s (+55.0% 🔺) 0.761s 10 16.17x
🐘 Postgres Nitro 2.340s (+12.0% 🔺) 2.707s (-3.5%) 0.000s (-100.0% 🟢) 3.014s (+3.4%) 0.674s 10 18.37x
🐘 Postgres Express 2.354s (+1.1%) 2.688s (-1.0%) 0.000s (NaN%) 3.013s (~) 0.659s 10 18.48x

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 3.124s (+5.6% 🔺) 3.375s (+8.0% 🔺) 0.748s (+11.0% 🔺) 4.636s (+9.3% 🔺) 1.512s 10 1.00x
▲ Vercel Next.js (Turbopack) 3.214s (+8.1% 🔺) 3.319s (~) 0.928s (+84.1% 🔺) 4.766s (+10.9% 🔺) 1.552s 10 1.03x
▲ Vercel Express 3.281s (+13.0% 🔺) 3.486s (+9.4% 🔺) 0.668s (+34.2% 🔺) 4.804s (+15.9% 🔺) 1.522s 10 1.05x

🔍 Observability: Nitro | Next.js (Turbopack) | Express

Summary

Fastest Framework by World

Winner determined by most benchmark wins

World 🥇 Fastest Framework Wins
💻 Local Next.js (Turbopack) 8/8
🐘 Postgres Next.js (Turbopack) 4/8
▲ Vercel Next.js (Turbopack) 4/8
Fastest World by Framework

Winner determined by most benchmark wins

Framework 🥇 Fastest World Wins
Express 💻 Local 8/8
Next.js (Turbopack) 🌐 Redis 5/8
Nitro 💻 Local 8/8
Column Definitions
  • Workflow Time: Runtime reported by workflow (completedAt - createdAt) - primary metric
  • TTFB: Time to First Byte - time from workflow start until first stream byte received (stream benchmarks only)
  • Slurp: Time from first byte to complete stream consumption (stream benchmarks only)
  • Wall Time: Total testbench time (trigger workflow + poll for result)
  • Overhead: Testbench overhead (Wall Time - Workflow Time)
  • Samples: Number of benchmark iterations run
  • vs Fastest: How much slower compared to the fastest configuration for this benchmark

Worlds:

  • 💻 Local: In-memory filesystem world (local development)
  • 🐘 Postgres: PostgreSQL database world (local development)
  • ▲ Vercel: Vercel production/preview deployment
  • 🌐 Starter: Community world (local development)
  • 🌐 Turso: Community world (local development)
  • 🌐 MongoDB: Community world (local development)
  • 🌐 Redis: Community world (local development)
  • 🌐 Jazz: Community world (local development)

📋 View full workflow run

@socket-security
Copy link

socket-security bot commented Jan 13, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​shiki@​3.21.01001007798100

View full report

return targetWorld;
}
}

Copy link
Contributor

@vercel vercel bot Jan 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Environment variables from previous backend configurations persist on process.env when switching backends, causing potential configuration pollution

Fix on Vercel

Signed-off-by: Peter Wielander <[email protected]>
Signed-off-by: Peter Wielander <[email protected]>
Signed-off-by: Peter Wielander <[email protected]>
backend: 'WORKFLOW_TARGET_WORLD',
dataDir: 'WORKFLOW_LOCAL_DATA_DIR',
env: 'WORKFLOW_VERCEL_ENV',
authToken: 'WORKFLOW_VERCEL_AUTH_TOKEN',
Copy link
Contributor

@vercel vercel bot Jan 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sensitive authentication tokens (WORKFLOW_VERCEL_AUTH_TOKEN) are being stored in plaintext in localStorage via the project's envMap, creating a security vulnerability.

Fix on Vercel

Signed-off-by: Peter Wielander <[email protected]>
"lucide-react": "0.469.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"shiki": "3.21.0",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was added to fix a warning. shiki is installed via streamdown, but since the latest version, throws lots of warnings unless it's directly added as a dependency

Signed-off-by: Peter Wielander <[email protected]>
},
"devDependencies": {
"@xyflow/react": "12.9.3",
"shiki": "3.21.0",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above

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.

2 participants