Skip to content

[web-shared] Enable in-line decryption for data inspector in detail panel#1722

Merged
karthikscale3 merged 82 commits into
mainfrom
karthik/fix-decryption-itg2
Apr 14, 2026
Merged

[web-shared] Enable in-line decryption for data inspector in detail panel#1722
karthikscale3 merged 82 commits into
mainfrom
karthik/fix-decryption-itg2

Conversation

@karthikscale3
Copy link
Copy Markdown
Contributor

Changes

Enable in-line decryption for data inspector in detail panel. This is a follow-up to the following PR

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 14, 2026

🦋 Changeset detected

Latest commit: f088de9

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

This PR includes changesets to release 1 package
Name Type
@workflow/web-shared 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
Copy Markdown
Contributor

vercel Bot commented Apr 14, 2026

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

Project Deployment Actions Updated (UTC)
example-nextjs-workflow-turbopack Ready Ready Preview, Comment Apr 14, 2026 4:01am
example-nextjs-workflow-webpack Ready Ready Preview, Comment Apr 14, 2026 4:01am
example-workflow Ready Ready Preview, Comment Apr 14, 2026 4:01am
workbench-astro-workflow Ready Ready Preview, Comment Apr 14, 2026 4:01am
workbench-express-workflow Ready Ready Preview, Comment Apr 14, 2026 4:01am
workbench-fastify-workflow Ready Ready Preview, Comment Apr 14, 2026 4:01am
workbench-hono-workflow Ready Ready Preview, Comment Apr 14, 2026 4:01am
workbench-nitro-workflow Ready Ready Preview, Comment Apr 14, 2026 4:01am
workbench-nuxt-workflow Ready Ready Preview, Comment Apr 14, 2026 4:01am
workbench-sveltekit-workflow Ready Ready Preview, Comment Apr 14, 2026 4:01am
workbench-vite-workflow Ready Ready Preview, Comment Apr 14, 2026 4:01am
workflow-docs Ready Ready Preview, Comment, Open in v0 Apr 14, 2026 4:01am
workflow-swc-playground Ready Ready Preview, Comment Apr 14, 2026 4:01am

@karthikscale3 karthikscale3 marked this pull request as ready for review April 14, 2026 03:46
@karthikscale3 karthikscale3 requested a review from a team as a code owner April 14, 2026 03:46
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 14, 2026

📊 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
💻 Local 🥇 Nitro 0.035s (-16.1% 🟢) 1.006s (~) 0.971s 10 1.00x
💻 Local Express 0.044s (+22.0% 🔺) 1.006s (~) 0.961s 10 1.27x
💻 Local Next.js (Turbopack) 0.046s 1.005s 0.959s 10 1.32x
🐘 Postgres Next.js (Turbopack) 0.057s (+16.9% 🔺) 1.009s (~) 0.952s 10 1.64x
🐘 Postgres Express 0.061s (+6.8% 🔺) 1.011s (~) 0.950s 10 1.75x
🐘 Postgres Nitro 0.070s (+5.1% 🔺) 1.011s (~) 0.941s 10 2.01x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 0.261s (+0.9%) 2.277s (+12.9% 🔺) 2.016s 10 1.00x
▲ Vercel Express 0.296s (+14.7% 🔺) 2.117s (+17.6% 🔺) 1.820s 10 1.14x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Nitro | Express

workflow with 1 step

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 1.095s (-2.9%) 2.006s (~) 0.910s 10 1.00x
💻 Local Next.js (Turbopack) 1.114s 2.005s 0.892s 10 1.02x
💻 Local Express 1.131s (+3.1%) 2.006s (~) 0.876s 10 1.03x
🐘 Postgres Next.js (Turbopack) 1.135s (+1.1%) 2.011s (~) 0.876s 10 1.04x
🐘 Postgres Express 1.143s (-0.6%) 2.009s (~) 0.866s 10 1.04x
🐘 Postgres Nitro 1.149s (~) 2.010s (~) 0.861s 10 1.05x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 1.845s (-3.2%) 3.905s (+1.9%) 2.060s 10 1.00x
▲ Vercel Express 1.923s (-3.0%) 3.398s (-12.0% 🟢) 1.475s 10 1.04x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Nitro | Express

workflow with 10 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 10.629s (-2.9%) 11.021s (~) 0.393s 3 1.00x
💻 Local Next.js (Turbopack) 10.771s 11.023s 0.253s 3 1.01x
🐘 Postgres Next.js (Turbopack) 10.853s (+0.6%) 11.025s (~) 0.172s 3 1.02x
🐘 Postgres Express 10.897s (~) 11.021s (~) 0.123s 3 1.03x
🐘 Postgres Nitro 10.948s (~) 11.026s (~) 0.078s 3 1.03x
💻 Local Express 10.969s (+3.1%) 11.024s (~) 0.055s 3 1.03x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 16.943s (-10.7% 🟢) 19.044s (-7.2% 🟢) 2.101s 2 1.00x
▲ Vercel Express 17.825s (+0.6%) 19.110s (-5.5% 🟢) 1.285s 2 1.05x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Nitro | Express

workflow with 25 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 14.169s (-5.6% 🟢) 15.028s (~) 0.858s 4 1.00x
🐘 Postgres Express 14.486s (~) 15.025s (~) 0.539s 4 1.02x
🐘 Postgres Next.js (Turbopack) 14.525s (+2.5%) 15.026s (~) 0.501s 4 1.03x
💻 Local Next.js (Turbopack) 14.612s 15.030s 0.417s 4 1.03x
🐘 Postgres Nitro 14.678s (+0.8%) 15.027s (~) 0.349s 4 1.04x
💻 Local Express 15.004s (+5.3% 🔺) 15.281s (+1.7%) 0.276s 4 1.06x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 33.195s (-7.1% 🟢) 34.735s (-8.2% 🟢) 1.540s 2 1.00x
▲ Vercel Nitro 34.156s (~) 36.284s (~) 2.129s 2 1.03x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Express | Nitro

workflow with 50 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 13.857s (-0.7%) 14.025s (-2.0%) 0.168s 7 1.00x
🐘 Postgres Next.js (Turbopack) 13.874s (+3.4%) 14.305s (+1.0%) 0.431s 7 1.00x
🐘 Postgres Nitro 14.066s (~) 15.026s (+2.0%) 0.959s 6 1.02x
💻 Local Nitro 14.808s (-11.6% 🟢) 15.026s (-11.8% 🟢) 0.218s 6 1.07x
💻 Local Next.js (Turbopack) 15.671s 16.030s 0.359s 6 1.13x
💻 Local Express 16.909s (+12.4% 🔺) 17.031s (+9.7% 🔺) 0.122s 6 1.22x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 50.028s (-8.2% 🟢) 51.650s (-8.5% 🟢) 1.622s 2 1.00x
▲ Vercel Nitro 50.526s (-8.9% 🟢) 52.351s (-9.3% 🟢) 1.824s 2 1.01x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Express | Nitro

Promise.all with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 1.223s (+3.1%) 2.010s (~) 0.788s 15 1.00x
🐘 Postgres Express 1.256s (-1.6%) 2.009s (~) 0.753s 15 1.03x
🐘 Postgres Nitro 1.271s (-0.8%) 2.011s (~) 0.739s 15 1.04x
💻 Local Nitro 1.486s (-2.4%) 2.005s (~) 0.519s 15 1.22x
💻 Local Next.js (Turbopack) 1.486s 2.006s 0.519s 15 1.22x
💻 Local Express 1.544s (+7.2% 🔺) 2.007s (~) 0.462s 15 1.26x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 1.953s (-27.4% 🟢) 3.347s (-24.9% 🟢) 1.394s 9 1.00x
▲ Vercel Nitro 2.771s (-5.2% 🟢) 4.700s (+0.9%) 1.929s 7 1.42x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Express | Nitro

Promise.all with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 2.321s (-1.2%) 3.009s (~) 0.688s 10 1.00x
🐘 Postgres Next.js (Turbopack) 2.389s (-2.4%) 3.011s (~) 0.621s 10 1.03x
🐘 Postgres Nitro 2.390s (+1.4%) 3.011s (~) 0.621s 10 1.03x
💻 Local Nitro 2.596s (-12.4% 🟢) 3.007s (-20.0% 🟢) 0.411s 10 1.12x
💻 Local Next.js (Turbopack) 2.822s 3.208s 0.385s 10 1.22x
💻 Local Express 3.086s (+19.7% 🔺) 3.884s (+29.1% 🔺) 0.798s 8 1.33x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.537s (-3.7%) 3.964s (-9.9% 🟢) 1.427s 8 1.00x
▲ Vercel Nitro 2.715s (-0.6%) 4.318s (-6.0% 🟢) 1.603s 7 1.07x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Express | Nitro

Promise.all with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 3.464s (-0.9%) 4.010s (~) 0.545s 8 1.00x
🐘 Postgres Nitro 3.502s (~) 4.012s (~) 0.510s 8 1.01x
🐘 Postgres Next.js (Turbopack) 3.682s (+2.3%) 4.009s (~) 0.326s 8 1.06x
💻 Local Next.js (Turbopack) 6.491s 7.217s 0.725s 5 1.87x
💻 Local Nitro 6.920s (-17.3% 🟢) 7.215s (-20.1% 🟢) 0.294s 5 2.00x
💻 Local Express 8.780s (+30.7% 🔺) 9.523s (+35.7% 🔺) 0.743s 4 2.53x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.658s (-15.0% 🟢) 4.122s (-16.4% 🟢) 1.464s 8 1.00x
▲ Vercel Nitro 2.705s (+3.8%) 4.496s (+6.2% 🔺) 1.790s 7 1.02x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Express | Nitro

Promise.race with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 1.216s (+2.2%) 2.007s (~) 0.791s 15 1.00x
🐘 Postgres Express 1.256s (-0.8%) 2.008s (~) 0.752s 15 1.03x
🐘 Postgres Nitro 1.273s (~) 2.010s (~) 0.737s 15 1.05x
💻 Local Next.js (Turbopack) 1.449s 2.006s 0.557s 15 1.19x
💻 Local Nitro 1.479s (-2.9%) 2.005s (~) 0.526s 15 1.22x
💻 Local Express 1.548s (+5.5% 🔺) 2.006s (~) 0.457s 15 1.27x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.203s (+7.5% 🔺) 4.113s (~) 1.910s 8 1.00x
▲ Vercel Express 2.322s (+0.9%) 3.714s (-14.1% 🟢) 1.392s 9 1.05x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Nitro | Express

Promise.race with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 2.357s (~) 3.010s (~) 0.653s 10 1.00x
🐘 Postgres Nitro 2.373s (~) 3.009s (~) 0.636s 10 1.01x
🐘 Postgres Next.js (Turbopack) 2.378s (~) 3.010s (~) 0.631s 10 1.01x
💻 Local Nitro 2.632s (-15.0% 🟢) 3.008s (-25.0% 🟢) 0.375s 10 1.12x
💻 Local Next.js (Turbopack) 2.812s 3.110s 0.299s 10 1.19x
💻 Local Express 3.089s (+3.9%) 3.885s (+16.2% 🔺) 0.796s 8 1.31x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 3.118s (+15.4% 🔺) 4.622s (+5.3% 🔺) 1.504s 7 1.00x
▲ Vercel Nitro 3.708s (+48.5% 🔺) 5.673s (+35.4% 🔺) 1.965s 6 1.19x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Express | Nitro

Promise.race with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 3.493s (~) 4.013s (~) 0.521s 8 1.00x
🐘 Postgres Nitro 3.501s (~) 4.012s (~) 0.512s 8 1.00x
🐘 Postgres Next.js (Turbopack) 3.641s (+1.8%) 4.014s (~) 0.373s 8 1.04x
💻 Local Nitro 7.502s (-19.7% 🟢) 8.015s (-20.1% 🟢) 0.514s 4 2.15x
💻 Local Next.js (Turbopack) 7.726s 8.267s 0.541s 4 2.21x
💻 Local Express 8.925s (+10.9% 🔺) 9.023s (+2.9%) 0.097s 4 2.56x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 3.038s (-5.6% 🟢) 4.491s (-12.2% 🟢) 1.453s 7 1.00x
▲ Vercel Nitro 4.222s (+41.9% 🔺) 6.089s (+20.5% 🔺) 1.868s 5 1.39x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Express | Nitro

workflow with 10 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.671s (-32.2% 🟢) 1.004s (-20.0% 🟢) 0.333s 60 1.00x
🐘 Postgres Express 0.798s (-4.3%) 1.006s (~) 0.208s 60 1.19x
🐘 Postgres Next.js (Turbopack) 0.805s (+25.7% 🔺) 1.023s (+1.7%) 0.218s 59 1.20x
🐘 Postgres Nitro 0.838s (~) 1.006s (~) 0.169s 60 1.25x
💻 Local Next.js (Turbopack) 0.848s 1.021s 0.173s 59 1.26x
💻 Local Express 0.998s (+42.4% 🔺) 1.338s (+33.3% 🔺) 0.341s 45 1.49x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 8.452s (-9.5% 🟢) 10.321s (-7.4% 🟢) 1.868s 6 1.00x
▲ Vercel Express 8.852s (-8.5% 🟢) 10.269s (-11.1% 🟢) 1.417s 6 1.05x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Nitro | Express

workflow with 25 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.887s (-3.9%) 2.052s (-7.8% 🟢) 0.166s 44 1.00x
🐘 Postgres Next.js (Turbopack) 1.943s (+18.1% 🔺) 2.147s (+5.8% 🔺) 0.204s 43 1.03x
🐘 Postgres Nitro 2.071s (+6.9% 🔺) 2.913s (+29.4% 🔺) 0.841s 31 1.10x
💻 Local Nitro 2.198s (-27.2% 🟢) 3.007s (-16.1% 🟢) 0.809s 30 1.16x
💻 Local Next.js (Turbopack) 2.794s 3.181s 0.386s 29 1.48x
💻 Local Express 3.032s (+24.2% 🔺) 3.801s (+19.5% 🔺) 0.769s 24 1.61x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 28.470s (+1.9%) 30.199s (~) 1.729s 3 1.00x
▲ Vercel Nitro 31.281s (+11.9% 🔺) 33.706s (+12.1% 🔺) 2.425s 3 1.10x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Express | Nitro

workflow with 50 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 3.857s (-4.1%) 4.111s (-7.7% 🟢) 0.254s 30 1.00x
🐘 Postgres Next.js (Turbopack) 4.003s (+25.4% 🔺) 4.332s (+8.9% 🔺) 0.329s 28 1.04x
🐘 Postgres Nitro 4.179s (+7.3% 🔺) 5.013s (+20.8% 🔺) 0.834s 24 1.08x
💻 Local Nitro 7.178s (-22.4% 🟢) 8.015s (-20.0% 🟢) 0.836s 15 1.86x
💻 Local Next.js (Turbopack) 8.359s 9.017s 0.658s 14 2.17x
💻 Local Express 9.218s (+26.2% 🔺) 9.865s (+24.1% 🔺) 0.646s 13 2.39x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 74.352s (+4.7%) 75.689s (+2.7%) 1.337s 2 1.00x
▲ Vercel Nitro 74.492s (-2.7%) 76.675s (-2.2%) 2.184s 2 1.00x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Express | Nitro

workflow with 10 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 0.252s (+18.2% 🔺) 1.007s (~) 0.755s 60 1.00x
🐘 Postgres Express 0.283s (~) 1.007s (~) 0.724s 60 1.13x
🐘 Postgres Nitro 0.304s (+10.4% 🔺) 1.008s (~) 0.703s 60 1.21x
💻 Local Next.js (Turbopack) 0.524s 1.004s 0.480s 60 2.08x
💻 Local Nitro 0.558s (-3.8%) 1.004s (~) 0.445s 60 2.22x
💻 Local Express 0.598s (+2.7%) 1.005s (~) 0.406s 60 2.38x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 1.461s (+6.5% 🔺) 2.942s (~) 1.481s 21 1.00x
▲ Vercel Express 1.663s (+15.3% 🔺) 3.017s (-6.2% 🟢) 1.355s 20 1.14x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Nitro | Express

workflow with 25 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 0.479s (+14.0% 🔺) 1.006s (~) 0.527s 90 1.00x
🐘 Postgres Express 0.488s (-2.9%) 1.006s (~) 0.518s 90 1.02x
🐘 Postgres Nitro 0.525s (+5.0%) 1.007s (~) 0.482s 90 1.10x
💻 Local Nitro 2.353s (-4.9%) 3.007s (~) 0.654s 30 4.91x
💻 Local Next.js (Turbopack) 2.422s 2.976s 0.555s 31 5.06x
💻 Local Express 2.618s (+9.3% 🔺) 3.009s (~) 0.392s 30 5.47x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.302s (-12.2% 🟢) 3.739s (-16.5% 🟢) 1.437s 25 1.00x
▲ Vercel Nitro 2.578s (-6.4% 🟢) 4.515s (+0.7%) 1.936s 21 1.12x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Express | Nitro

workflow with 50 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 0.781s (+17.7% 🔺) 1.007s (~) 0.226s 120 1.00x
🐘 Postgres Express 0.784s (-0.8%) 1.007s (~) 0.223s 120 1.00x
🐘 Postgres Nitro 0.874s (+11.7% 🔺) 1.047s (+3.9%) 0.173s 115 1.12x
💻 Local Next.js (Turbopack) 10.144s 10.691s 0.547s 12 12.99x
💻 Local Nitro 10.222s (-8.0% 🟢) 10.934s (-7.7% 🟢) 0.712s 11 13.09x
💻 Local Express 11.398s (+13.9% 🔺) 12.029s (+12.5% 🔺) 0.632s 10 14.60x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 6.280s (-4.8%) 7.561s (-12.3% 🟢) 1.280s 16 1.00x
▲ Vercel Nitro 7.572s (+13.4% 🔺) 9.558s (+8.8% 🔺) 1.985s 13 1.21x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -

🔍 Observability: Express | Nitro

Stream Benchmarks (includes TTFB metrics)
workflow with stream

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.141s (-30.7% 🟢) 1.004s (~) 0.009s (-20.2% 🟢) 1.015s (~) 0.875s 10 1.00x
💻 Local Next.js (Turbopack) 0.171s 1.002s 0.010s 1.015s 0.844s 10 1.22x
🐘 Postgres Next.js (Turbopack) 0.192s (+16.2% 🔺) 1.001s (~) 0.001s (+30.0% 🔺) 1.009s (~) 0.817s 10 1.37x
💻 Local Express 0.205s (+46.7% 🔺) 1.004s (~) 0.012s (+26.6% 🔺) 1.018s (~) 0.813s 10 1.46x
🐘 Postgres Express 0.209s (+1.3%) 0.994s (~) 0.001s (+7.7% 🔺) 1.009s (~) 0.800s 10 1.49x
🐘 Postgres Nitro 0.216s (+1.2%) 0.996s (~) 0.001s (+7.7% 🔺) 1.011s (~) 0.796s 10 1.53x

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 1.410s (-10.6% 🟢) 2.730s (-9.0% 🟢) 0.806s (+117.3% 🔺) 4.044s (+6.3% 🔺) 2.633s 10 1.00x
▲ Vercel Express 1.806s (+17.7% 🔺) 2.972s (+7.4% 🔺) 1.018s (+43.8% 🔺) 4.360s (+9.9% 🔺) 2.555s 10 1.28x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - - -

🔍 Observability: Nitro | Express

stream pipeline with 5 transform steps (1MB)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.593s (-2.4%) 1.006s (~) 0.004s (-19.2% 🟢) 1.022s (~) 0.429s 59 1.00x
🐘 Postgres Next.js (Turbopack) 0.618s (+7.1% 🔺) 1.009s (~) 0.006s (+50.2% 🔺) 1.024s (~) 0.406s 59 1.04x
🐘 Postgres Nitro 0.646s (+5.3% 🔺) 1.004s (~) 0.005s (+28.6% 🔺) 1.024s (~) 0.377s 59 1.09x
💻 Local Nitro 0.656s (-9.7% 🟢) 1.011s (~) 0.009s (-12.5% 🟢) 1.114s (+8.8% 🔺) 0.458s 54 1.11x
💻 Local Express 0.735s (+31.6% 🔺) 1.012s (~) 0.010s (+10.9% 🔺) 1.024s (~) 0.289s 59 1.24x
💻 Local Next.js (Turbopack) 0.763s 1.010s 0.009s 1.115s 0.352s 54 1.29x

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 4.363s (-2.6%) 6.053s (~) 0.259s (-8.4% 🟢) 6.785s (-2.6%) 2.423s 9 1.00x
▲ Vercel Express 4.578s (+10.3% 🔺) 5.798s (-2.0%) 0.283s (+3.3%) 6.510s (-2.1%) 1.931s 10 1.05x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - - -

🔍 Observability: Nitro | Express

10 parallel streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 0.926s (~) 1.151s (+3.6%) 0.000s (-66.0% 🟢) 1.160s (+3.6%) 0.234s 53 1.00x
🐘 Postgres Express 0.946s (~) 1.147s (-1.9%) 0.000s (+66.7% 🔺) 1.178s (-0.6%) 0.232s 51 1.02x
🐘 Postgres Nitro 0.989s (+0.9%) 1.336s (+12.0% 🔺) 0.000s (-100.0% 🟢) 1.368s (+12.3% 🔺) 0.378s 44 1.07x
💻 Local Nitro 1.148s (-7.3% 🟢) 2.018s (~) 0.000s (+50.0% 🔺) 2.020s (~) 0.871s 30 1.24x
💻 Local Next.js (Turbopack) 1.231s 2.018s 0.000s 2.021s 0.791s 30 1.33x
💻 Local Express 1.249s (+9.6% 🔺) 2.022s (~) 0.000s (+12.5% 🔺) 2.024s (~) 0.774s 30 1.35x

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 3.209s (+22.5% 🔺) 4.281s (+11.7% 🔺) 0.000s (-96.0% 🟢) 4.616s (+6.8% 🔺) 1.406s 13 1.00x
▲ Vercel Nitro 3.233s (+10.2% 🔺) 4.549s (+9.0% 🔺) 0.000s (+116.7% 🔺) 5.093s (+9.3% 🔺) 1.859s 12 1.01x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - - -

🔍 Observability: Express | Nitro

fan-out fan-in 10 streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.739s (-2.3%) 2.098s (-1.8%) 0.000s (+Infinity% 🔺) 2.116s (-1.4%) 0.377s 29 1.00x
🐘 Postgres Next.js (Turbopack) 1.822s (-3.1%) 2.071s (-8.4% 🟢) 0.000s (+Infinity% 🔺) 2.100s (-7.4% 🟢) 0.278s 29 1.05x
🐘 Postgres Nitro 1.852s (+5.0% 🔺) 2.178s (+3.7%) 0.000s (+107.1% 🔺) 2.189s (+3.6%) 0.338s 28 1.06x
💻 Local Nitro 3.406s (-2.8%) 3.967s (-3.3%) 0.000s (-66.5% 🟢) 3.971s (-3.3%) 0.564s 16 1.96x
💻 Local Next.js (Turbopack) 3.419s 4.031s 0.001s 4.035s 0.617s 15 1.97x
💻 Local Express 3.530s (+7.8% 🔺) 4.233s (+8.3% 🔺) 0.000s (-32.1% 🟢) 4.235s (+8.3% 🔺) 0.705s 15 2.03x

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 3.963s (-6.3% 🟢) 4.927s (-12.8% 🟢) 0.000s (-100.0% 🟢) 5.303s (-15.9% 🟢) 1.340s 12 1.00x
▲ Vercel Nitro 4.229s (+8.7% 🔺) 5.931s (+9.0% 🔺) 0.000s (-81.7% 🟢) 6.416s (+7.8% 🔺) 2.187s 10 1.07x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - - -

🔍 Observability: Express | Nitro

Summary

Fastest Framework by World

Winner determined by most benchmark wins

World 🥇 Fastest Framework Wins
💻 Local Nitro 17/21
🐘 Postgres Express 11/21
▲ Vercel Express 13/21
Fastest World by Framework

Winner determined by most benchmark wins

Framework 🥇 Fastest World Wins
Express 🐘 Postgres 16/21
Next.js (Turbopack) 🐘 Postgres 17/21
Nitro 🐘 Postgres 14/21
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
  • 🌐 Turso: Community world (local development)
  • 🌐 MongoDB: Community world (local development)
  • 🌐 Redis: Community world (local development)
  • 🌐 Jazz: Community world (local development)

📋 View full workflow run


Some benchmark jobs failed:

  • Local: success
  • Postgres: success
  • Vercel: failure

Check the workflow run for details.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 14, 2026

🧪 E2E Test Results

Some tests failed

Summary

Passed Failed Skipped Total
✅ ▲ Vercel Production 923 0 67 990
✅ 💻 Local Development 898 0 182 1080
✅ 📦 Local Production 898 0 182 1080
✅ 🐘 Local Postgres 898 0 182 1080
✅ 🪟 Windows 82 0 8 90
❌ 🌍 Community Worlds 133 74 24 231
✅ 📋 Other 228 0 42 270
Total 4060 74 687 4821

❌ Failed Tests

🌍 Community Worlds (74 failed)

mongodb (7 failed):

  • hookWorkflow is not resumable via public webhook endpoint | wrun_01KP52A3W2ACE6T3JH36FRBS3W
  • webhookWorkflow | wrun_01KP52AC5M8VDWF8GFRFF01GG3
  • fetchWorkflow | wrun_01KP52DVZ3XBN5GYDBKEZ0QZZN
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_01KP52JE839W1MHXM7TD1A320X
  • health check (queue-based) - workflow and step endpoints respond to health check messages
  • health check (CLI) - workflow health command reports healthy endpoints
  • resilient start: addTenWorkflow completes when run_created returns 500 | wrun_01KP52SKG0FZF6ZQQXXKAAJ345

redis (7 failed):

  • hookWorkflow is not resumable via public webhook endpoint | wrun_01KP52A3W2ACE6T3JH36FRBS3W
  • webhookWorkflow | wrun_01KP52AC5M8VDWF8GFRFF01GG3
  • fetchWorkflow | wrun_01KP52DVZ3XBN5GYDBKEZ0QZZN
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_01KP52JE839W1MHXM7TD1A320X
  • health check (queue-based) - workflow and step endpoints respond to health check messages
  • health check (CLI) - workflow health command reports healthy endpoints
  • resilient start: addTenWorkflow completes when run_created returns 500 | wrun_01KP52SKG0FZF6ZQQXXKAAJ345

turso (60 failed):

  • addTenWorkflow | wrun_01KP528VYDDBT8KTAJWQPJRDBP
  • addTenWorkflow | wrun_01KP528VYDDBT8KTAJWQPJRDBP
  • wellKnownAgentWorkflow (.well-known/agent) | wrun_01KP52A4ECAC6TZE7JQX9CRH07
  • should work with react rendering in step
  • promiseAllWorkflow | wrun_01KP52930MERMWKMYP2XFTVNT5
  • promiseRaceWorkflow | wrun_01KP5298YTXHGVA8SDQ9TRCCK5
  • promiseAnyWorkflow | wrun_01KP529B85G29AB3SW9BGQD3RT
  • importedStepOnlyWorkflow | wrun_01KP52AEWRAWD7KYKWY0CHX00S
  • hookWorkflow | wrun_01KP529QE541X8VBE2VE0XXPKH
  • hookWorkflow is not resumable via public webhook endpoint | wrun_01KP52A3W2ACE6T3JH36FRBS3W
  • webhookWorkflow | wrun_01KP52AC5M8VDWF8GFRFF01GG3
  • sleepingWorkflow | wrun_01KP52AJEE571RJYP347ETBS23
  • parallelSleepWorkflow | wrun_01KP52AYD93GRNTEVP4BFTWD20
  • nullByteWorkflow | wrun_01KP52B357672Z7S22V9M7YSAC
  • workflowAndStepMetadataWorkflow | wrun_01KP52B5EM35KQHKEQ2V7GBZ4D
  • fetchWorkflow | wrun_01KP52DVZ3XBN5GYDBKEZ0QZZN
  • promiseRaceStressTestWorkflow | wrun_01KP52DZKN6GXPQKX2PNF3VE0Y
  • 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 retry behavior RetryableError respects custom retryAfter delay
  • error handling retry behavior maxRetries=0 disables retries
  • error handling catchability FatalError can be caught and detected with FatalError.is()
  • error handling not registered WorkflowNotRegisteredError fails the run when workflow does not exist
  • error handling not registered StepNotRegisteredError fails the step but workflow can catch it
  • error handling not registered StepNotRegisteredError fails the run when not caught in workflow
  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_01KP52HS2MW3P1K8V72RK3NYC2
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_01KP52JE839W1MHXM7TD1A320X
  • hookDisposeTestWorkflow - hook token reuse after explicit disposal while workflow still running | wrun_01KP52K5SX5WGS2J85DJ2DNRP9
  • stepFunctionPassingWorkflow - step function references can be passed as arguments (without closure vars) | wrun_01KP52KTMZJ1NCBQT1QFCH7SRB
  • stepFunctionWithClosureWorkflow - step function with closure variables passed as argument | wrun_01KP52M4542SYGCMKCJEBH3YN8
  • closureVariableWorkflow - nested step functions with closure variables | wrun_01KP52MBFC994AV2M0H0666PNJ
  • spawnWorkflowFromStepWorkflow - spawning a child workflow using start() inside a step | wrun_01KP52MDPNDTRANKTFQ4W8E4NB
  • runClassSerializationWorkflow - Run instances serialize across workflow/step boundaries | wrun_01KP52MSPY2HATHNC8C7ZRDE8J
  • health check (queue-based) - workflow and step endpoints respond to health check messages
  • health check (CLI) - workflow health command reports healthy endpoints
  • pathsAliasWorkflow - TypeScript path aliases resolve correctly | wrun_01KP52N94FE2NEHZ608BRT8YGC
  • Calculator.calculate - static workflow method using static step methods from another class | wrun_01KP52NFCX11CSAD8X3EVS4EKB
  • AllInOneService.processNumber - static workflow method using sibling static step methods | wrun_01KP52NPMBSYKD8AXC36V0SXJ0
  • ChainableService.processWithThis - static step methods using this to reference the class | wrun_01KP52NX6YWBTSY8DYP7S3AHZJ
  • thisSerializationWorkflow - step function invoked with .call() and .apply() | wrun_01KP52P39YVAXXX00EDYY07K4V
  • customSerializationWorkflow - custom class serialization with WORKFLOW_SERIALIZE/WORKFLOW_DESERIALIZE | wrun_01KP52PA8YDJMWQP8E288AAD8G
  • instanceMethodStepWorkflow - instance methods with "use step" directive | wrun_01KP52PHFSNG729V6W4YMWPWVJ
  • crossContextSerdeWorkflow - classes defined in step code are deserializable in workflow context | wrun_01KP52PXDT50MXADXXVAJR4QD2
  • stepFunctionAsStartArgWorkflow - step function reference passed as start() argument | wrun_01KP52Q5SXJCD4CT6TGW2ENRN2
  • cancelRun - cancelling a running workflow | wrun_01KP52QD0RMBP2GRJH0W3HDWRD
  • cancelRun via CLI - cancelling a running workflow | wrun_01KP52QQKD7BAFWX6ET1QYAC3K
  • pages router addTenWorkflow via pages router
  • pages router promiseAllWorkflow via pages router
  • pages router sleepingWorkflow via pages router
  • hookWithSleepWorkflow - hook payloads delivered correctly with concurrent sleep | wrun_01KP52R4G627YMB6DYNPXKNTA8
  • sleepInLoopWorkflow - sleep inside loop with steps actually delays each iteration | wrun_01KP52RTVDTSSWTFF98Y6T1X9H
  • sleepWithSequentialStepsWorkflow - sequential steps work with concurrent sleep (control) | wrun_01KP52S6514V5TJ08VRD51941E
  • importMetaUrlWorkflow - import.meta.url is available in step bundles | wrun_01KP52SEZAQQDXA6FHADF3W2QJ
  • metadataFromHelperWorkflow - getWorkflowMetadata/getStepMetadata work from module-level helper (#1577) | wrun_01KP52SH85M5HFBX5Y0WE9DE4V
  • resilient start: addTenWorkflow completes when run_created returns 500 | wrun_01KP52SKG0FZF6ZQQXXKAAJ345
  • getterStepWorkflow - getter functions with "use step" directive | wrun_01KP52SQGKGGFHE4QW2W43033T

Details by Category

✅ ▲ Vercel Production
App Passed Failed Skipped
✅ astro 83 0 7
✅ example 83 0 7
✅ express 83 0 7
✅ fastify 83 0 7
✅ hono 83 0 7
✅ nextjs-turbopack 88 0 2
✅ nextjs-webpack 88 0 2
✅ nitro 83 0 7
✅ nuxt 83 0 7
✅ sveltekit 83 0 7
✅ vite 83 0 7
✅ 💻 Local Development
App Passed Failed Skipped
✅ astro-stable 76 0 14
✅ express-stable 76 0 14
✅ fastify-stable 76 0 14
✅ hono-stable 76 0 14
✅ nextjs-turbopack-canary 63 0 27
✅ nextjs-turbopack-stable 82 0 8
✅ nextjs-webpack-canary 63 0 27
✅ nextjs-webpack-stable 82 0 8
✅ nitro-stable 76 0 14
✅ nuxt-stable 76 0 14
✅ sveltekit-stable 76 0 14
✅ vite-stable 76 0 14
✅ 📦 Local Production
App Passed Failed Skipped
✅ astro-stable 76 0 14
✅ express-stable 76 0 14
✅ fastify-stable 76 0 14
✅ hono-stable 76 0 14
✅ nextjs-turbopack-canary 63 0 27
✅ nextjs-turbopack-stable 82 0 8
✅ nextjs-webpack-canary 63 0 27
✅ nextjs-webpack-stable 82 0 8
✅ nitro-stable 76 0 14
✅ nuxt-stable 76 0 14
✅ sveltekit-stable 76 0 14
✅ vite-stable 76 0 14
✅ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro-stable 76 0 14
✅ express-stable 76 0 14
✅ fastify-stable 76 0 14
✅ hono-stable 76 0 14
✅ nextjs-turbopack-canary 63 0 27
✅ nextjs-turbopack-stable 82 0 8
✅ nextjs-webpack-canary 63 0 27
✅ nextjs-webpack-stable 82 0 8
✅ nitro-stable 76 0 14
✅ nuxt-stable 76 0 14
✅ sveltekit-stable 76 0 14
✅ vite-stable 76 0 14
✅ 🪟 Windows
App Passed Failed Skipped
✅ nextjs-turbopack 82 0 8
❌ 🌍 Community Worlds
App Passed Failed Skipped
✅ mongodb-dev 6 0 0
❌ mongodb 56 7 8
✅ redis-dev 6 0 0
❌ redis 56 7 8
✅ turso-dev 6 0 0
❌ turso 3 60 8
✅ 📋 Other
App Passed Failed Skipped
✅ e2e-local-dev-nest-stable 76 0 14
✅ e2e-local-postgres-nest-stable 76 0 14
✅ e2e-local-prod-nest-stable 76 0 14

📋 View full workflow run

@karthikscale3 karthikscale3 merged commit 3eb5034 into main Apr 14, 2026
162 of 169 checks passed
@karthikscale3 karthikscale3 deleted the karthik/fix-decryption-itg2 branch April 14, 2026 16:16
@ghost
Copy link
Copy Markdown

ghost commented Apr 14, 2026

Backported to stable (3eb5034 -> 1c70bfa).

ghost pushed a commit that referenced this pull request Apr 14, 2026
…anel (#1722)

* decryption flow for detail panel data inspector

* decryption flow for detail panel data inspector

* update spinner
@ghost ghost mentioned this pull request Apr 14, 2026
ijjk pushed a commit that referenced this pull request Apr 15, 2026
…anel (#1722)

* decryption flow for detail panel data inspector

* decryption flow for detail panel data inspector

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

Labels

backport-stable Cherry-pick this PR to the stable branch when merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants