Skip to content

Add rendering regression check - #160

Merged
shigahi merged 3 commits into
masterfrom
feature/render-check
Sep 25, 2026
Merged

shigahi merged 3 commits into
masterfrom
feature/render-check

Conversation

@shigahi

@shigahi shigahi commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

Closes #149.

  • Test page: Worknot Render Check in the CME workspace. It has an inline database with table (plus a filtered tab), board, gallery, list, calendar and timeline views, a formula property, an uploaded image, a page cover, a PDF, a file attachment, a Mermaid code block, a table of contents with an anchor target, and a subpage.
  • scripts/render-check.mjs (npm run check:render):
    • Generates a worker for that page from src/code.ts (through Vite, so it runs on any supported Node version) and runs it with wrangler dev.
    • Loads the page through it in Chromium and checks: the page renders, all six database views, rows and formula values, images, PDF/file blocks, Mermaid, embeds/bookmarks (skipped when the page has none), anchor links, opening a database item on the same domain, subpage navigation with back/forward, and no failing requests.
    • Every check also runs against notion.site. A failure that also happens there is reported as NOTION and doesn't fail the run, so Notion's own flakiness doesn't raise false alarms.
    • Exit codes: 0 = pass, 1 = regression through Worknot, 2 = the check could not run.
  • Daily workflow: the Notion monitor workflow gets a render-check job on Node 24 (wrangler requires Node.js 22+). It opens or updates a render-regression issue on exit code 1.
  • Baseline: baselines/notion-snapshot.json is refreshed for Notion client 23.13.20260925.1117, released today. Only the version and app bundle name changed, and the render check passes with it.
  • Adds playwright as a dev dependency (npm audit: 0 vulnerabilities).

Verification

  • Local run: all checks pass through the worker. database rows and formula is NOTION: since today's Notion client update, the table, gallery and list views show "No results" on notion.site itself too, and a worker built from the old master (fc1dacb) behaves the same.
  • Negative test: a worker with JS rewriting disabled makes navigation and history FAIL, and the script exits 1.
  • Setup failure (unusable port) exits 2.
  • workflow_dispatch on this branch: run 36169736563. Both jobs succeeded with the same results as locally.
  • Two earlier test runs opened false-alarm issues, both now closed: Rendering regression detected - 2026-09-25 #158 (Node 20 couldn't start wrangler) and Rendering regression detected - 2026-09-25 #159 (the Mermaid check didn't wait for lazy rendering). Both causes are fixed in this PR.

Notes

  • The test page must stay published. X/GitHub embeds can be added under its "Embeds" heading; the embed check currently skips.
  • .nvmrc still pins Node 20, which reached end of life in April 2026 and can no longer run wrangler dev / wrangler deploy (wrangler 4.131 requires Node.js 22+). Worth a separate update.

shigahi and others added 3 commits September 25, 2026 19:35
scripts/render-check.mjs generates a worker for a public Notion test page,
runs it with wrangler dev and checks database views, images, PDF and file
blocks, Mermaid, anchor links, database items and browser history in
Chromium. Each check also runs against notion.site, and only failures
that happen through Worknot alone are reported. The daily monitor
workflow runs it and opens an issue on failure. Refresh the Notion
baseline for client 23.13.20260925.1117, which the check passes.

Closes #149

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
wrangler dev requires Node.js 22+. Exit code 2 now means the check could
not run, which fails the job without opening a regression issue.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@shigahi
shigahi merged commit 5c4c7af into master Sep 25, 2026
7 checks passed
@shigahi
shigahi deleted the feature/render-check branch September 25, 2026 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rendering regression detected - 2026-09-25 Add rendering regression checks for commonly broken Notion features

1 participant