cloudflare/vinext

`next/after` API (`waitUntil`) not working in deploy mode

Fermée

#1 365 ouverte le 20 mai 2026

 (1 commentaire) (0 réaction) (0 personne assignée)TypeScript (383 forks)github user discovery
adapter-api-e2ehelp wanted

Métriques du dépôt

Stars
 (8 624 étoiles)
Métriques de merge PR
 (Merge moyen 1j 1h) (462 PRs mergées en 30 j)

Description

This issue was created by an agent analysing CI failures from the Next.js Deploy Suite (vinext main vs Next.js v16.2.6, 2026-05-20).

Problem

The next/after API (which allows running code after the response has been sent, similar to waitUntil) does not appear to function correctly in deploy mode. Tests for next-after-app-deploy fail, suggesting the after callbacks either do not execute or their effects are not observable.

The after() function is used for tasks like logging, analytics, and cache warming that should not delay the response.

Estimated Impact

~6 test failures.

Affected Test Suites

  • test/e2e/app-dir/next-after-app-deploy/index.test.ts (6 failures)

Recommendation

  1. Reproduce first in vinext's own test suite. Add a test that calls after() in a server component or route handler and verifies the callback executes after the response is sent. Confirm it fails in deploy/production mode.

  2. Study the Next.js after implementation. Search .nextjs-ref/packages/next/src/server/ for the after API to understand how it hooks into the response lifecycle.

  3. Map to Cloudflare Workers waitUntil. On Cloudflare Workers, after() should map to ctx.waitUntil() from the execution context. Ensure the execution context is available in the server entry and that after() callbacks are properly registered.

  4. Check dev/prod parity. The after() API may work in dev mode but fail in production if the execution context is not wired through correctly.

Guide contributeur