Skip to content

On-demand prerender (#640): follow-ups after the merge #1060

Open

Description

@ivogt

Follow-ups to the on-demand (ISR-style) prerender feature (#640) that an independent API review placed after the merge. None blocks #640.

Activity

  1. ivogt commented on Oct 6, 2026

    @ivogt
    CollaboratorAuthor

    Status after the pre-release work of 2026-10-06:

    • KV marker router-id scoping: done in fix(prerender): scope tag markers by router id and pin multi-router prerender and warming #1067 (markStale is per router). KV marker TTL: tried and dropped on review (an entry without a ttl never goes stale by itself, so an expired marker would silently drop an invalidation); still open here, to be decided with entry lifecycle.
    • Delete or tombstone through the trigger: being built as prerender.remove() plus a "removed" marker written by a refresh that hits notFound() (branch feat/prerender-remove).
    • New follow-ups from that work: (a) a removal cannot reach the route's document-cache entry without a request context (updateTag() needs one), so a stored document serves until it expires; direction: an implicit per-page tag on documents of on-demand routes that the trigger invalidates through the store it already resolves; (b) intercept variants of a removed page still serve the build-time variant (goes with the intercept-variant item above).
    • A Vercel store: decided as documented recipes (Upstash Redis first, Vercel Blob second), no shipped vendor store for now.
  2. ivogt commented on Oct 7, 2026

    @ivogt
    CollaboratorAuthor

    Status 2026-10-07:

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions