prerender-v0.98.0 — @harperfast/prerender
·
47 commits
to main
since this release
@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 thesampleof URLs, withinmaxAge) 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 adocumentCheckroute, 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, isheldrather than re-rendered. Dry run countsserve_checkwould-checkand asks nothing.PageCheck(new table,verificationdatabase, 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
ratePerSecondwith the pass, which leaves them what they use (at mostserveCheck.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[].rawFactsstores page facts with a raw document (new nullableRawPage.facts), and a raw hit is checked from them.render.raw.ignoreNoStorestores despite the origin'sno-store. pageCheck.fields[].pathPattern: a mapped field compares only on URLs whose path matches; elsewhere it makes no claim.- Metric:
prerender_opsserve_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.