Skip to content

fix(docs): hide preview-only nav items in production#1941

Merged
pranaygp merged 1 commit into
mainfrom
pgp/internal-docs-link
May 5, 2026
Merged

fix(docs): hide preview-only nav items in production#1941
pranaygp merged 1 commit into
mainfrom
pgp/internal-docs-link

Conversation

@pranaygp
Copy link
Copy Markdown
Contributor

@pranaygp pranaygp commented May 5, 2026

Summary

  • The geistdocs facelift ([home][docs] migrate to new geistdocs facelift #1666) rewrote docs/components/geistdocs/navbar.tsx and dropped the VERCEL_ENV-based filter that was added in 20b32ce to gate preview: true nav entries. As a result, the Internal link (/docs/internal, defined in docs/geistdocs.tsx) was visible on the production docs deployment.
  • The new MobileMenu also imported nav directly and rendered every entry, so even if desktop had been fixed, mobile would still leak the preview link.
  • Restore the filter in the server-rendered Navbar (VERCEL_ENV === 'preview' || NODE_ENV === 'development') and pass the filtered list down to both DesktopMenu and MobileMenu.

Test plan

  • On the preview deployment for this PR, confirm the Internal link is visible in the desktop nav and the mobile menu.
  • After merge / promotion, confirm the Internal link is hidden on the production docs deployment.
  • Confirm https://workflow-sdk.dev/docs/internal is also excluded from sitemap and robots.txt (already in place; no change here).

🤖 Generated with Claude Code

The geistdocs facelift (#1666) dropped the VERCEL_ENV-based filter on
nav items, so the "Internal" entry (preview: true) was visible on the
production docs deployment. Restore the filter in the server-rendered
Navbar and pass the filtered list to MobileMenu so both desktop and
mobile honor it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 5, 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 May 5, 2026 11:35am
example-nextjs-workflow-webpack Ready Ready Preview, Comment May 5, 2026 11:35am
example-workflow Ready Ready Preview, Comment May 5, 2026 11:35am
workbench-astro-workflow Ready Ready Preview, Comment May 5, 2026 11:35am
workbench-express-workflow Ready Ready Preview, Comment May 5, 2026 11:35am
workbench-fastify-workflow Ready Ready Preview, Comment May 5, 2026 11:35am
workbench-hono-workflow Ready Ready Preview, Comment May 5, 2026 11:35am
workbench-nitro-workflow Ready Ready Preview, Comment May 5, 2026 11:35am
workbench-nuxt-workflow Ready Ready Preview, Comment May 5, 2026 11:35am
workbench-sveltekit-workflow Ready Ready Preview, Comment May 5, 2026 11:35am
workbench-tanstack-start-workflow Ready Ready Preview, Comment May 5, 2026 11:35am
workbench-vite-workflow Ready Ready Preview, Comment May 5, 2026 11:35am
workflow-docs Ready Ready Preview, Comment, Open in v0 May 5, 2026 11:35am
workflow-swc-playground Ready Ready Preview, Comment May 5, 2026 11:35am
workflow-tarballs Ready Ready Preview, Comment May 5, 2026 11:35am
workflow-web Ready Ready Preview, Comment May 5, 2026 11:35am

Copilot AI review requested due to automatic review settings May 5, 2026 11:31
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 5, 2026

⚠️ No Changeset found

Latest commit: eb61ea7

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

🧪 E2E Test Results

All tests passed

Summary

Passed Failed Skipped Total
✅ ▲ Vercel Production 1200 0 219 1419
✅ 💻 Local Development 1587 0 219 1806
✅ 📦 Local Production 1587 0 219 1806
✅ 🐘 Local Postgres 1587 0 219 1806
✅ 🪟 Windows 129 0 0 129
✅ 📋 Other 727 0 176 903
Total 6817 0 1052 7869

Details by Category

✅ ▲ Vercel Production
App Passed Failed Skipped
✅ astro 103 0 26
✅ example 103 0 26
✅ express 103 0 26
✅ fastify 103 0 26
✅ hono 103 0 26
✅ nextjs-turbopack 127 0 2
✅ nextjs-webpack 127 0 2
✅ nitro 103 0 26
✅ nuxt 103 0 26
✅ sveltekit 122 0 7
✅ vite 103 0 26
✅ 💻 Local Development
App Passed Failed Skipped
✅ astro-stable 104 0 25
✅ express-stable 104 0 25
✅ fastify-stable 104 0 25
✅ hono-stable 104 0 25
✅ nextjs-turbopack-canary 110 0 19
✅ nextjs-turbopack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 129 0 0
✅ nextjs-webpack-canary 110 0 19
✅ nextjs-webpack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 129 0 0
✅ nitro-stable 104 0 25
✅ nuxt-stable 104 0 25
✅ sveltekit-stable 123 0 6
✅ vite-stable 104 0 25
✅ 📦 Local Production
App Passed Failed Skipped
✅ astro-stable 104 0 25
✅ express-stable 104 0 25
✅ fastify-stable 104 0 25
✅ hono-stable 104 0 25
✅ nextjs-turbopack-canary 110 0 19
✅ nextjs-turbopack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 129 0 0
✅ nextjs-webpack-canary 110 0 19
✅ nextjs-webpack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 129 0 0
✅ nitro-stable 104 0 25
✅ nuxt-stable 104 0 25
✅ sveltekit-stable 123 0 6
✅ vite-stable 104 0 25
✅ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro-stable 104 0 25
✅ express-stable 104 0 25
✅ fastify-stable 104 0 25
✅ hono-stable 104 0 25
✅ nextjs-turbopack-canary 110 0 19
✅ nextjs-turbopack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 129 0 0
✅ nextjs-webpack-canary 110 0 19
✅ nextjs-webpack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 129 0 0
✅ nitro-stable 104 0 25
✅ nuxt-stable 104 0 25
✅ sveltekit-stable 123 0 6
✅ vite-stable 104 0 25
✅ 🪟 Windows
App Passed Failed Skipped
✅ nextjs-turbopack 129 0 0
✅ 📋 Other
App Passed Failed Skipped
✅ e2e-local-dev-nest-stable 104 0 25
✅ e2e-local-dev-tanstack-start- 104 0 25
✅ e2e-local-postgres-nest-stable 104 0 25
✅ e2e-local-postgres-tanstack-start- 104 0 25
✅ e2e-local-prod-nest-stable 104 0 25
✅ e2e-local-prod-tanstack-start- 104 0 25
✅ e2e-vercel-prod-tanstack-start 103 0 26

📋 View full workflow run

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 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 🥇 Express 0.044s (~) 1.017s (+1.2%) 0.972s 10 1.00x
🐘 Postgres Express 0.050s (-14.1% 🟢) 1.012s (~) 0.962s 10 1.12x
🐘 Postgres Nitro 0.050s (-47.2% 🟢) 1.013s (-2.8%) 0.963s 10 1.13x
🌐 Redis Next.js (Turbopack) 0.053s 1.005s 0.952s 10 1.19x
🐘 Postgres Next.js (Turbopack) 0.061s 1.013s 0.952s 10 1.36x
🌐 MongoDB Next.js (Turbopack) 0.067s 1.007s 0.940s 10 1.51x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 0.277s (-32.4% 🟢) 1.914s (-23.7% 🟢) 1.637s 10 1.00x
▲ Vercel Next.js (Turbopack) 0.783s (+211.3% 🔺) 3.266s (+40.0% 🔺) 2.483s 10 2.83x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

workflow with 1 step

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Express 1.069s (-5.0%) 2.006s (~) 0.937s 10 1.00x
🐘 Postgres Express 1.084s (-5.5% 🟢) 2.009s (~) 0.925s 10 1.01x
🐘 Postgres Nitro 1.089s (-4.5%) 2.011s (~) 0.922s 10 1.02x
🌐 Redis Next.js (Turbopack) 1.113s 2.007s 0.894s 10 1.04x
🐘 Postgres Next.js (Turbopack) 1.114s 2.010s 0.895s 10 1.04x
🌐 MongoDB Next.js (Turbopack) 1.164s 2.008s 0.844s 10 1.09x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 1.966s (-49.5% 🟢) 4.342s (-26.5% 🟢) 2.376s 10 1.00x
▲ Vercel Next.js (Turbopack) 2.911s (+43.0% 🔺) 4.861s (+26.9% 🔺) 1.951s 10 1.48x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

workflow with 10 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Express 10.410s (-4.7%) 11.023s (~) 0.613s 3 1.00x
🐘 Postgres Express 10.427s (-4.9%) 11.016s (~) 0.589s 3 1.00x
🐘 Postgres Nitro 10.466s (-3.7%) 11.019s (~) 0.553s 3 1.01x
🌐 Redis Next.js (Turbopack) 10.663s 11.024s 0.360s 3 1.02x
🐘 Postgres Next.js (Turbopack) 10.694s 11.012s 0.318s 3 1.03x
🌐 MongoDB Next.js (Turbopack) 10.751s 11.019s 0.267s 3 1.03x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 13.329s (-43.8% 🟢) 15.533s (-38.2% 🟢) 2.204s 2 1.00x
▲ Vercel Next.js (Turbopack) 14.685s (-15.2% 🟢) 17.009s (-12.3% 🟢) 2.324s 2 1.10x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

workflow with 25 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Express 13.428s (-10.3% 🟢) 14.027s (-6.7% 🟢) 0.599s 5 1.00x
🐘 Postgres Nitro 13.476s (-7.7% 🟢) 14.021s (-6.7% 🟢) 0.544s 5 1.00x
🐘 Postgres Express 13.479s (-7.6% 🟢) 14.014s (-6.7% 🟢) 0.535s 5 1.00x
🌐 Redis Next.js (Turbopack) 14.063s 15.029s 0.967s 4 1.05x
🐘 Postgres Next.js (Turbopack) 14.148s 15.019s 0.870s 4 1.05x
🌐 MongoDB Next.js (Turbopack) 14.227s 15.024s 0.797s 4 1.06x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 21.473s (-66.7% 🟢) 23.756s (-64.3% 🟢) 2.283s 3 1.00x
▲ Vercel Next.js (Turbopack) 24.556s (-53.3% 🟢) 26.713s (-51.1% 🟢) 2.157s 3 1.14x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

workflow with 50 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 11.912s (-15.0% 🟢) 12.143s (-16.8% 🟢) 0.231s 8 1.00x
💻 Local Express 11.932s (-28.1% 🟢) 12.148s (-28.7% 🟢) 0.216s 8 1.00x
🐘 Postgres Nitro 12.247s (-12.3% 🟢) 13.016s (-9.0% 🟢) 0.768s 7 1.03x
🌐 Redis Next.js (Turbopack) 12.938s 13.026s 0.087s 7 1.09x
🐘 Postgres Next.js (Turbopack) 13.209s 14.018s 0.809s 7 1.11x
🌐 MongoDB Next.js (Turbopack) 13.291s 14.020s 0.729s 7 1.12x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 35.899s (-91.5% 🟢) 40.054s (-90.6% 🟢) 4.156s 3 1.00x
▲ Vercel Next.js (Turbopack) 36.472s (-90.7% 🟢) 39.315s (-90.1% 🟢) 2.843s 3 1.02x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

Promise.all with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.148s (-9.0% 🟢) 2.007s (~) 0.860s 15 1.00x
🐘 Postgres Nitro 1.165s (-8.6% 🟢) 2.009s (~) 0.844s 15 1.01x
💻 Local Express 1.180s (-20.7% 🟢) 2.006s (~) 0.826s 15 1.03x
🐘 Postgres Next.js (Turbopack) 1.218s 2.007s 0.788s 15 1.06x
🌐 Redis Next.js (Turbopack) 1.248s 2.006s 0.758s 15 1.09x
🌐 MongoDB Next.js (Turbopack) 2.045s 3.008s 0.963s 10 1.78x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.607s (-7.5% 🟢) 5.184s (+19.9% 🔺) 2.577s 6 1.00x
▲ Vercel Next.js (Turbopack) 5.352s (+57.5% 🔺) 7.555s (+53.2% 🔺) 2.203s 5 2.05x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

Promise.all with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.220s (-48.3% 🟢) 2.007s (-33.3% 🟢) 0.787s 15 1.00x
🐘 Postgres Nitro 1.240s (-47.3% 🟢) 2.007s (-33.3% 🟢) 0.768s 15 1.02x
🐘 Postgres Next.js (Turbopack) 1.382s 2.007s 0.625s 15 1.13x
💻 Local Express 1.720s (-41.7% 🟢) 2.006s (-41.9% 🟢) 0.285s 15 1.41x
🌐 Redis Next.js (Turbopack) 2.367s 3.008s 0.641s 10 1.94x
🌐 MongoDB Next.js (Turbopack) 3.556s 4.009s 0.453s 8 2.91x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 3.850s (-5.0%) 5.603s (-5.4% 🟢) 1.752s 6 1.00x
▲ Vercel Next.js (Turbopack) 5.830s (-17.9% 🟢) 8.149s (-8.5% 🟢) 2.319s 4 1.51x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

Promise.all with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.385s (-60.3% 🟢) 2.007s (-49.9% 🟢) 0.623s 15 1.00x
🐘 Postgres Nitro 1.395s (-59.9% 🟢) 2.009s (-49.9% 🟢) 0.614s 15 1.01x
🐘 Postgres Next.js (Turbopack) 1.662s 2.007s 0.345s 15 1.20x
🌐 Redis Next.js (Turbopack) 3.607s 4.010s 0.403s 8 2.61x
💻 Local Express 4.951s (-40.6% 🟢) 5.512s (-38.9% 🟢) 0.561s 6 3.58x
🌐 MongoDB Next.js (Turbopack) 6.286s 7.012s 0.726s 5 4.54x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 5.293s (+50.1% 🔺) 7.447s (+34.6% 🔺) 2.154s 5 1.00x
▲ Vercel Next.js (Turbopack) 8.046s (-9.8% 🟢) 9.858s (-10.1% 🟢) 1.812s 4 1.52x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

Promise.race with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.162s (-7.5% 🟢) 2.009s (~) 0.846s 15 1.00x
🐘 Postgres Nitro 1.166s (-7.2% 🟢) 2.009s (~) 0.843s 15 1.00x
🐘 Postgres Next.js (Turbopack) 1.229s 2.009s 0.780s 15 1.06x
🌐 Redis Next.js (Turbopack) 1.232s 2.006s 0.774s 15 1.06x
💻 Local Express 1.419s (-25.1% 🟢) 2.006s (-15.1% 🟢) 0.587s 15 1.22x
🌐 MongoDB Next.js (Turbopack) 2.042s 2.918s 0.876s 11 1.76x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 3.205s (+30.3% 🔺) 6.265s (+50.3% 🔺) 3.060s 5 1.00x
▲ Vercel Next.js (Turbopack) 4.674s (+59.5% 🔺) 6.770s (+45.8% 🔺) 2.095s 5 1.46x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

Promise.race with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.230s (-47.5% 🟢) 2.009s (-33.3% 🟢) 0.779s 15 1.00x
🐘 Postgres Nitro 1.255s (-46.4% 🟢) 2.009s (-33.3% 🟢) 0.754s 15 1.02x
🐘 Postgres Next.js (Turbopack) 1.373s 2.008s 0.635s 15 1.12x
💻 Local Express 2.078s (-33.7% 🟢) 2.508s (-33.3% 🟢) 0.430s 12 1.69x
🌐 Redis Next.js (Turbopack) 2.361s 3.008s 0.647s 10 1.92x
🌐 MongoDB Next.js (Turbopack) 3.571s 4.009s 0.438s 8 2.90x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 3.722s (+15.1% 🔺) 5.474s (+7.8% 🔺) 1.752s 6 1.00x
▲ Vercel Next.js (Turbopack) 6.030s (+91.9% 🔺) 9.358s (+107.0% 🔺) 3.328s 4 1.62x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

Promise.race with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.374s (-60.7% 🟢) 2.009s (-49.9% 🟢) 0.635s 15 1.00x
🐘 Postgres Nitro 1.410s (-59.5% 🟢) 2.008s (-49.9% 🟢) 0.598s 15 1.03x
🐘 Postgres Next.js (Turbopack) 1.665s 2.007s 0.342s 15 1.21x
🌐 Redis Next.js (Turbopack) 3.634s 4.010s 0.376s 8 2.65x
💻 Local Express 5.454s (-38.0% 🟢) 6.215s (-33.0% 🟢) 0.761s 5 3.97x
🌐 MongoDB Next.js (Turbopack) 6.283s 7.014s 0.731s 5 4.57x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 6.622s (+30.0% 🔺) 8.574s (+25.8% 🔺) 1.952s 4 1.00x
▲ Vercel Next.js (Turbopack) 6.717s (-0.6%) 8.472s (-0.8%) 1.755s 4 1.01x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

workflow with 10 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.423s (-49.5% 🟢) 1.006s (-1.6%) 0.583s 60 1.00x
🐘 Postgres Nitro 0.482s (-41.3% 🟢) 1.024s (+1.7%) 0.542s 59 1.14x
💻 Local Express 0.506s (-48.6% 🟢) 1.005s (-6.6% 🟢) 0.499s 60 1.19x
🌐 Redis Next.js (Turbopack) 0.638s 1.004s 0.366s 60 1.51x
🐘 Postgres Next.js (Turbopack) 0.683s 1.007s 0.324s 60 1.61x
🌐 MongoDB Next.js (Turbopack) 0.747s 1.006s 0.259s 60 1.76x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 5.028s (-77.2% 🟢) 6.987s (-70.9% 🟢) 1.959s 9 1.00x
▲ Vercel Next.js (Turbopack) 8.377s (-42.2% 🟢) 10.391s (-35.4% 🟢) 2.014s 6 1.67x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

workflow with 25 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.074s (-45.6% 🟢) 1.705s (-24.5% 🟢) 0.631s 53 1.00x
🐘 Postgres Nitro 1.143s (-40.7% 🟢) 2.008s (-4.4%) 0.865s 45 1.06x
💻 Local Express 1.217s (-59.6% 🟢) 2.006s (-44.1% 🟢) 0.789s 45 1.13x
🌐 Redis Next.js (Turbopack) 1.538s 2.006s 0.469s 45 1.43x
🐘 Postgres Next.js (Turbopack) 1.590s 2.007s 0.417s 45 1.48x
🌐 MongoDB Next.js (Turbopack) 1.907s 2.030s 0.124s 45 1.77x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 14.420s (-63.5% 🟢) 16.733s (-59.5% 🟢) 2.313s 6 1.00x
▲ Vercel Next.js (Turbopack) 15.850s (-68.2% 🟢) 18.352s (-64.5% 🟢) 2.502s 5 1.10x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

workflow with 50 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 2.080s (-47.9% 🟢) 2.603s (-40.4% 🟢) 0.523s 47 1.00x
🐘 Postgres Nitro 2.187s (-46.7% 🟢) 3.033s (-34.1% 🟢) 0.846s 40 1.05x
💻 Local Express 2.693s (-70.8% 🟢) 3.008s (-70.0% 🟢) 0.315s 40 1.29x
🌐 Redis Next.js (Turbopack) 3.002s 3.396s 0.394s 36 1.44x
🐘 Postgres Next.js (Turbopack) 3.173s 4.009s 0.836s 30 1.53x
🌐 MongoDB Next.js (Turbopack) 4.319s 5.013s 0.694s 24 2.08x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 39.268s (-59.5% 🟢) 41.471s (-57.9% 🟢) 2.203s 3 1.00x
▲ Vercel Next.js (Turbopack) 49.036s (-54.2% 🟢) 51.380s (-52.8% 🟢) 2.343s 3 1.25x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

workflow with 10 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.186s (-34.0% 🟢) 1.006s (~) 0.819s 60 1.00x
🐘 Postgres Nitro 0.205s (-27.6% 🟢) 1.006s (~) 0.801s 60 1.10x
🐘 Postgres Next.js (Turbopack) 0.241s 1.006s 0.765s 60 1.29x
🌐 Redis Next.js (Turbopack) 0.251s 1.004s 0.753s 60 1.35x
💻 Local Express 0.469s (-16.3% 🟢) 1.004s (~) 0.535s 60 2.52x
🌐 MongoDB Next.js (Turbopack) 1.040s 1.856s 0.816s 33 5.58x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.096s (+26.2% 🔺) 4.026s (+20.1% 🔺) 1.930s 15 1.00x
▲ Vercel Next.js (Turbopack) 4.263s (+110.8% 🔺) 6.143s (+61.9% 🔺) 1.880s 10 2.03x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

workflow with 25 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.316s (-38.1% 🟢) 1.006s (~) 0.691s 90 1.00x
🐘 Postgres Nitro 0.344s (-30.6% 🟢) 1.007s (~) 0.662s 90 1.09x
🌐 Redis Next.js (Turbopack) 0.414s 1.004s 0.590s 90 1.31x
🐘 Postgres Next.js (Turbopack) 0.477s 1.006s 0.529s 90 1.51x
💻 Local Express 2.213s (-12.0% 🟢) 2.884s (-4.2%) 0.671s 32 7.01x
🌐 MongoDB Next.js (Turbopack) 2.604s 3.007s 0.403s 30 8.25x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 8.346s (+136.1% 🔺) 10.572s (+103.6% 🔺) 2.226s 9 1.00x
▲ Vercel Nitro 8.683s (+169.2% 🔺) 11.868s (+146.1% 🔺) 3.185s 8 1.04x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Next.js (Turbopack) | Nitro

workflow with 50 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.658s (-19.7% 🟢) 1.006s (-1.1%) 0.348s 120 1.00x
🐘 Postgres Nitro 0.724s (-8.4% 🟢) 1.015s (+0.7%) 0.291s 119 1.10x
🌐 Redis Next.js (Turbopack) 0.762s 1.004s 0.242s 120 1.16x
🐘 Postgres Next.js (Turbopack) 0.989s 1.665s 0.676s 73 1.50x
🌐 MongoDB Next.js (Turbopack) 5.386s 6.012s 0.626s 20 8.19x
💻 Local Express 9.769s (-12.7% 🟢) 10.275s (-13.9% 🟢) 0.506s 12 14.85x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
💻 Local Nitro ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 25.200s (+226.3% 🔺) 27.354s (+191.0% 🔺) 2.155s 5 1.00x
▲ Vercel Next.js (Turbopack) 35.727s (+245.9% 🔺) 37.866s (+208.2% 🔺) 2.139s 4 1.42x
▲ Vercel Express ⚠️ missing - - - -

🔍 Observability: Nitro | 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
🐘 Postgres 🥇 Express 1.134s (+452.7% 🔺) 2.001s (+100.4% 🔺) 0.001s (-12.5% 🟢) 2.011s (+98.9% 🔺) 0.878s 10 1.00x
💻 Local Express 1.143s (+473.8% 🔺) 2.005s (+99.6% 🔺) 0.011s (-10.7% 🟢) 2.018s (+98.2% 🔺) 0.876s 10 1.01x
🐘 Postgres Nitro 1.147s (+459.4% 🔺) 1.995s (+99.6% 🔺) 0.001s (-13.3% 🟢) 2.010s (+98.7% 🔺) 0.863s 10 1.01x
🐘 Postgres Next.js (Turbopack) 1.199s 2.001s 0.001s 2.010s 0.811s 10 1.06x
🌐 MongoDB Next.js (Turbopack) ⚠️ missing - - - - -
🌐 Redis Next.js (Turbopack) ⚠️ missing - - - - -
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
💻 Local Nitro ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.154s (-43.8% 🟢) 4.004s (-24.1% 🟢) 1.717s (+131.4% 🔺) 6.156s (-5.0% 🟢) 4.003s 10 1.00x
▲ Vercel Next.js (Turbopack) 5.946s (-13.2% 🟢) 5.715s (-33.9% 🟢) 0.560s (-11.3% 🟢) 8.355s (-14.6% 🟢) 2.409s 10 2.76x
▲ Vercel Express ⚠️ missing - - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

stream pipeline with 5 transform steps (1MB)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Express 1.508s (+99.2% 🔺) 2.011s (+95.5% 🔺) 0.009s (-7.9% 🟢) 2.022s (+94.4% 🔺) 0.514s 30 1.00x
🐘 Postgres Express 1.530s (+142.8% 🔺) 2.004s (+99.1% 🔺) 0.004s (+1.8%) 2.026s (+98.0% 🔺) 0.496s 30 1.01x
🐘 Postgres Nitro 1.602s (+156.6% 🔺) 2.001s (+98.8% 🔺) 0.004s (-5.7% 🟢) 2.026s (+98.1% 🔺) 0.424s 30 1.06x
🐘 Postgres Next.js (Turbopack) 1.674s 2.009s 0.004s 2.025s 0.351s 30 1.11x
🌐 MongoDB Next.js (Turbopack) ⚠️ missing - - - - -
🌐 Redis Next.js (Turbopack) ⚠️ missing - - - - -
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
💻 Local Nitro ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 5.925s (-79.9% 🟢) 8.848s (-71.3% 🟢) 0.204s (+82.0% 🔺) 9.685s (-69.5% 🟢) 3.760s 7 1.00x
▲ Vercel Next.js (Turbopack) 15.954s (-5.7% 🟢) 17.468s (-4.2%) 0.276s (+30.5% 🔺) 18.407s (-2.8%) 2.453s 4 2.69x
▲ Vercel Express ⚠️ missing - - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

10 parallel streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.671s (-30.2% 🟢) 1.033s (-19.2% 🟢) 0.000s (-19.3% 🟢) 1.056s (-19.2% 🟢) 0.385s 57 1.00x
🐘 Postgres Nitro 0.716s (-26.1% 🟢) 1.029s (-17.6% 🟢) 0.000s (-15.8% 🟢) 1.064s (-15.4% 🟢) 0.348s 57 1.07x
🐘 Postgres Next.js (Turbopack) 0.803s 1.053s 0.000s 1.060s 0.257s 57 1.20x
💻 Local Express 1.342s (+9.5% 🔺) 2.015s (~) 0.000s (-50.0% 🟢) 2.017s (~) 0.676s 30 2.00x
🌐 MongoDB Next.js (Turbopack) ⚠️ missing - - - - -
🌐 Redis Next.js (Turbopack) ⚠️ missing - - - - -
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
💻 Local Nitro ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 3.684s (+20.8% 🔺) 5.919s (+34.7% 🔺) 0.001s (+1460.0% 🔺) 6.435s (+33.8% 🔺) 2.751s 10 1.00x
▲ Vercel Next.js (Turbopack) 5.645s (-44.6% 🟢) 7.309s (-36.5% 🟢) 0.000s (+Infinity% 🔺) 8.691s (-27.9% 🟢) 3.046s 7 1.53x
▲ Vercel Express ⚠️ missing - - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

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.346s (-24.0% 🟢) 2.066s (-5.1% 🟢) 0.000s (+Infinity% 🔺) 2.092s (-4.9%) 0.746s 29 1.00x
🐘 Postgres Nitro 1.441s (-19.5% 🟢) 2.106s (-1.7%) 0.000s (-3.4%) 2.127s (-2.2%) 0.685s 29 1.07x
🐘 Postgres Next.js (Turbopack) 1.746s 2.261s 0.000s 2.269s 0.523s 27 1.30x
💻 Local Express 3.071s (-11.4% 🟢) 3.781s (-6.3% 🟢) 0.001s (-29.7% 🟢) 3.784s (-6.3% 🟢) 0.712s 16 2.28x
🌐 MongoDB Next.js (Turbopack) ⚠️ missing - - - - -
🌐 Redis Next.js (Turbopack) ⚠️ missing - - - - -
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
💻 Local Nitro ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 7.568s (+84.9% 🔺) 8.583s (+59.7% 🔺) 0.000s (+57.1% 🔺) 9.519s (+64.3% 🔺) 1.951s 7 1.00x
▲ Vercel Next.js (Turbopack) 10.565s (+88.1% 🔺) 11.942s (+71.0% 🔺) 0.000s (-100.0% 🟢) 13.304s (+76.4% 🔺) 2.738s 5 1.40x
▲ Vercel Express ⚠️ missing - - - - -

🔍 Observability: Nitro | Next.js (Turbopack)

Summary

Fastest Framework by World

Winner determined by most benchmark wins

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

Winner determined by most benchmark wins

Framework 🥇 Fastest World Wins
Express 🐘 Postgres 16/21
Next.js (Turbopack) 🐘 Postgres 11/21
Nitro 🐘 Postgres 21/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: failure
  • Postgres: success
  • Vercel: failure

Check the workflow run for details.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR restores preview gating for docs navigation after the geistdocs navbar rewrite in #1666 dropped the existing filter. It keeps preview-only entries such as /docs/internal visible in preview/dev while preventing them from appearing in production, across both desktop and mobile navigation.

Changes:

  • Reintroduces preview/dev-only filtering for nav items in the server-rendered Navbar.
  • Passes the filtered nav list to both DesktopMenu and MobileMenu.
  • Updates MobileMenu to render injected nav items instead of importing the full unfiltered nav config directly.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
docs/components/geistdocs/navbar.tsx Restores env-based filtering and shares the filtered nav list with both menu variants.
docs/components/geistdocs/mobile-menu.tsx Accepts filtered nav items as props so mobile no longer bypasses the production gate.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@pranaygp pranaygp merged commit 6c9c32e into main May 5, 2026
187 of 192 checks passed
@pranaygp pranaygp deleted the pgp/internal-docs-link branch May 5, 2026 12:09
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

No backport to stable for 6c9c32e (AI decision).

This change only modifies files under docs/components/geistdocs/, which is part of the docs app (not docs/content/) and is not maintained on the stable branch. Per the criteria, changes confined to non-maintained docs app directories should not be backported.

To override, add the backport-stable label to this PR.

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.

3 participants