Skip to content

prerender-v0.98.0 — @harperfast/prerender

Choose a tag to compare

@harper-joseph harper-joseph released this 01 Oct 20:54
· 47 commits to main since this release
289083e

@harperfast/prerender 0.98.0

Serve-time checks: a cached page is checked against the origin when a bot asks for it (#232). Everything here is off by default; changeProbe.serveCheck ships in dry run.

  • changeProbe.serveCheck: a page served from cache that has not been checked or rendered since the last anchor (or, for the sample of URLs, within maxAge) is served exactly as before and checked in the background. The check compares the rule endpoint's mapped fields with the facts of the page that was just served, or, on a documentCheck route, the origin's own document head. A disagreement expires and re-files the page like a detected change. The same disagreement again, on a page rendered after it, with the origin unchanged, is held rather than re-rendered. Dry run counts serve_check would-check and asks nothing.
  • PageCheck (new table, verification database, replicated): every decided check, so a URL is asked once per window cluster-wide. The nightly pass skips a URL only when a check since the pass began observed exactly its baseline.
  • Origin budget: checks share the node's ratePerSecond with the pass, which leaves them what they use (at most serveCheck.share). Origin pushback pauses them node-wide.
  • util/documentFacts: reads the renderer's page facts off HTML bytes (head only, exact or null), held to Chrome parity by tests.
  • Raw cache: ingress.routes[].rawFacts stores page facts with a raw document (new nullable RawPage.facts), and a raw hit is checked from them. render.raw.ignoreNoStore stores despite the origin's no-store.
  • pageCheck.fields[].pathPattern: a mapped field compares only on URLs whose path matches; elsewhere it makes no claim.
  • Metric: prerender_ops serve_check (outcome by source).

Schema: the new PageCheck table and a nullable RawPage.facts column, both additive. Deploy console 0.23.0 for the Serve-time checks card.