#3320·vinext

App Router metadata: keep blocking and streaming rendering structures aligned

Author: ask-bonk[bot]Created Sep 18, 2026Updated Sep 18, 2026
Labelsnextjs-tracking

Upstream: https://github.com/vercel/next.js/commit/7d42c9dcdd11b01716eb5a8eb473f493ea5b23c6

Summary

Render selected metadata through the same hidden Suspense boundary in streaming and blocking modes. For requests requiring blocking metadata, suspend the response before consuming it until that same metadata resolution completes.

Expected behavior

Configured HTML-limited bots receive dynamically resolved metadata in the initial document head while the body can continue streaming afterwards. The blocking path must hydrate without console errors. PPR shells must remain bypassed for requests that require blocking metadata, because their head has already closed.

Upstream coverage

  • test/e2e/app-dir/metadata-streaming-cache-components/metadata-streaming-cache-components-custom-bots.test.ts