invisible_playwright/scripts
feder-cr baf5522d2b font gate: check the faces actually load, not just that the family enumerates
The gate counted 72 families enumerating and passed while ten collection faces
silently fell back to another family, so a real rendering regression shipped
with the gate green. It now renders a CJK probe per collection face and compares
the metrics against the fallback, with the family list calibrated on a build
known to load them.

Also: test_constants derives the expected archive name from the basename
constant instead of hardcoding the version, since a hardcoded one turns every
upstream bump into a mechanical test edit, which is how a stale expectation gets
corrected without anyone checking the asset exists. And INVPW_TRUE_HEADLESS=1
opts into real headless for long unattended runs on Windows, where the default
cloak path intermittently hangs on launch with a persistent profile. The default
is unchanged and the fingerprint prefs are identical either way.
2026-07-23 19:07:28 +02:00
..
audit_cpt_realism.py feat: initial public release 2026-05-12 22:32:58 -07:00
ci_drive_gate.py Drive gate: set the realistic newtab prefs so a human-cursor click can't lose the about:newtab race 2026-06-16 23:40:29 +02:00
ci_font_gate.py font gate: check the faces actually load, not just that the family enumerates 2026-07-23 19:07:28 +02:00
gen_release_notes.py docs: source repo renamed invisible_firefox -> firefox_antidetect_patch (release notes + CI refs) 2026-07-04 20:00:27 +02:00
playwright_pin.txt ci: pin actions to SHA + single-source the playwright pin (audit B6/B4) 2026-06-09 15:59:18 +02:00
run_e2e.py docs: correct e2e count 138 -> 127 in e2e.yml + run_e2e.py comments 2026-06-09 18:29:58 +02:00