Skip to content

test(playwright): cover browser flows with typed harness - #1076

Closed
ThatGuySam wants to merge 2 commits into
masterfrom
codex/test-only-playwright-ts
Closed

test(playwright): cover browser flows with typed harness#1076
ThatGuySam wants to merge 2 commits into
masterfrom
codex/test-only-playwright-ts

Conversation

@ThatGuySam

Copy link
Copy Markdown
Owner

Summary

  • add typed Playwright browser harness helpers
  • add Apple Silicon app-test upload regression coverage
  • migrate the Pagefind browser regression to TypeScript and fix the package script aliases
  • add the follow-up TypeScript rollout plan as a separate docs commit

Verification

  • pnpm run typecheck
  • pnpm run test:browser
  • pnpm run test:browser:pagefind

Notes

  • no runtime application code changed
  • .omx local state was left untracked

Lock the Apple Silicon upload flow behind a real browser regression and migrate the Pagefind browser regression onto a shared typed harness. This keeps the branch non-runtime and repairs the targeted pagefind script alias after moving the browser test to TypeScript.

Constraint: Must avoid runtime code changes on this branch
Rejected: Ship the app-test coverage without fixing script aliases | leaves a broken targeted check in package.json
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Keep browser-only support helpers under test/playwright/support until runtime code is typed separately
Tested: pnpm run typecheck; pnpm run test:browser; pnpm run test:browser:pagefind
Not-tested: pnpm run test:browser:pagefind:live
Record the staged approach for locking the Apple Silicon scan flow with browser coverage before moving deeper into the TypeScript conversion. Keeping this plan separate from the test commit preserves a clean non-runtime history.

Constraint: Plan should not change runtime behavior or blur code-review scope
Rejected: Fold the plan into the browser-test commit | mixes delivery guidance with executable changes
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Revisit the worker-based scanner path only after the legacy app-test route has stable browser coverage
Tested: Document reviewed against current staged test coverage and repo layout
Not-tested: Plan execution beyond the committed browser-test slice
@codesandbox

codesandbox Bot commented Apr 4, 2026

Copy link
Copy Markdown

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

Copy link
Copy Markdown
Owner Author

Closing this draft as superseded; no rebase or merge.

Evidence from the CE-024 archaeology/runtime audit:

  • This PR is still based on c5ec942de048afcefa5ac6598bdd41c8f9f2cd6b; current master is bfe73cb18c0c3edebd3dca964b2c65993ea9ae12 (40 master-only commits versus 2 PR-only commits).
  • master independently landed the equivalent typed Playwright harness and app-upload coverage in 0480c47bbbb654b042b6cb308f5030324499025a, then expanded it with typed worker-scanner coverage in 689fc0d13da30f4a75673fdeb711031da01d5ce3 and later browser-test adaptation in 9f12a7be386c1d3c4a9aaefefb436fb670e0aa80.
  • Five of this PR's eight final paths are byte-identical to current master. The remaining current versions are newer/stronger: both legacy and ?version=2 worker scans are covered, selectors/routes tolerate generated URLs and query strings, and the archive fixture carries the additional file metadata needed by the current scanner.
  • A merge/rebase simulation conflicts in the app test and fixture and would preserve no net-new coverage; resolving it toward this branch would regress current coverage. Relative coverage gained today is therefore zero.

Current-master runtime evidence (Node 24.14.0, pinned pnpm 10.12.1, Astro 6.4.8, Vitest 4.1.0, Playwright Core 1.58.2, temporary Chromium 147.0.7727.0):

  • Pagefind index build succeeded with 6,292 records.
  • Six browser-enabled full-suite invocations completed; 0/6 suites passed.
  • The required three warmed repetitions took 27,899 ms, 27,510 ms, and 23,642 ms (mean 26,350.3 ms; median 27,510 ms). Functional legacy/worker app scans and Pagefind rendering reached their assertions, but all 0/9 measured tests failed the final strict console checks because Vite repeatedly served 504 Outdated Optimize Dep / ERR_EMPTY_RESPONSE. No intermittent pass was observed.
  • Netlify and Cloudflare dev adapters also hit the sandbox's blocked os.networkInterfaces(); measurements used an untracked adapterless config. No tracked target-repository files or refs changed. PR-head runtime was skipped because its relevant helpers are identical to or older than current master.

That repeatable current-harness portability failure deserves follow-up against current master; resurrecting this older branch would not fix it. The named superseder is 0480c47bbbb654b042b6cb308f5030324499025a, with the later worker/test hardening above.

@ThatGuySam ThatGuySam closed this Aug 9, 2026
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.

1 participant