Commit graph

203 commits

Author SHA1 Message Date
feder-cr
aa7277a1ef docs(readme): self-host the LinkedIn badge SVG too (removes the last shields.io dependency) 2026-07-19 14:47:47 +02:00
feder-cr
5026a98dec docs(readme): self-host badges as repo SVGs (no more shields.io)
The version/stars/downloads badges routed through shields.io and GitHub's
image proxy, which rate-limits and intermittently rendered them as broken
images. These are now static SVGs committed under docs/badges/ and referenced
by relative path, so they render like any repo asset and cannot break.
2026-07-19 14:32:09 +02:00
feder-cr
cafbbca82f docs(readme): replace flaky dynamic badge with a static Firefox version badge
The github v/release badge (no releases on this repo) and the github stars
badge (shields.io shares a rate-limited GitHub API call, so it intermittently
rendered as a broken image) are replaced by a static Firefox 150.0.1 badge that
never calls an API and cannot break.
2026-07-19 14:15:15 +02:00
feder-cr
e09cc07f69 fix(deps): pin playwright to 1.55.x, bump 0.3.1
Playwright 1.61 adds an isMobile field to the Browser.setDefaultViewport
Juggler command that the FF150 binary does not accept, which breaks the
session (#48). Narrow the range from >=1.40,<1.61 to the CI-tested 1.55.x
(scripts/playwright_pin.txt), so a fresh install always gets a compatible client.
2026-07-13 23:09:26 +02:00
feder-cr
a1b75d93e9 tests: drop font-sampling tests
Follows the invisible_core removal of the dead per-profile font-sampling:
delete the derive_font_prefs/derive_font_whitelist tests, the 'fonts' pin
tests, and the profile font_whitelist assertions. Suite green (444 passed).
2026-07-06 21:36:26 +02:00
feder-cr
47a1044733 style: ASCII-only comment in the font-env test (drop em-dashes) 2026-07-06 04:19:37 +02:00
feder-cr
3f5a26a9e8 test: adapt integration tests to the self-contained font binary
The binary is now bundle-only and self-contained for fonts, so the config
pipeline emits no font prefs. Drop the two font keys from REQUIRED_KEYS and
rewrite IT7 to assert the pipeline emits NO font.* / font.name-list.* prefs
(it previously asserted the removed fontlist propagation). Matches the
invisible_core change that stopped emitting the font block.
2026-07-06 04:11:46 +02:00
feder-cr
a0a0cc2369 scripts: ci_font_gate.py - assert the Windows font persona on every OS
Companion to ci_drive_gate.py, run by release.yml's gate job on each leg's
native runner. Launches the built binary headless, enumerates the visible font
families with the width probe web detectors use, and asserts: the detected set
equals the canonical Windows family set (identical on every OS), no known host
family (macOS Helvetica Neue/Menlo, Linux DejaVu/Ubuntu, ...) is visible, and
the CSS generics resolve to Windows fonts (serif=Times New Roman, mono=Consolas,
system-ui=Segoe UI). This is how the macOS build gets font-validated - there is
no local Mac. No proxy, no secrets.
2026-07-06 03:50:56 +02:00
feder-cr
029b678964 fonts: stop injecting STEALTHFOX_FONTLIST/SYSTEMUI env (binary self-contained)
The patched binary is always bundle-only and needs no external font config, so
the wrapper no longer injects any font env in _build_env (sync + async). No
external font customization channel remains. Test updated.
2026-07-06 03:09:35 +02:00
feder-cr
d3462cca47 test(download): point release-URL mocks at firefox_antidetect_patch
The firefox-14 relocation moved the binary release assets to
firefox_antidetect_patch, but test_download and test_constants still mocked
and asserted the old invisible_playwright release URLs, so they failed
against the current invisible-core. Derive the ensure_binary mock URLs from
RELEASE_URL_TEMPLATE so they track core automatically, and update the two
literal-URL guards to the new repo. Parser and non-api-url tests unchanged.
471 unit tests green.
2026-07-05 17:22:01 +02:00
feder-cr
17bab0cca4 ci: move the binary-release workflows to firefox_antidetect_patch
The release/verify-assets/verify-cloak/republish workflows now live on the
source repo (feder-cr/firefox_antidetect_patch), so the built binaries are
published there — the natural home next to the source they are built from,
and reachable the same way by every consumer of invisible-core.

The wrapper keeps its own test workflows (tests/e2e/webrtc-e2e/
firefox-launch-matrix) and the scripts the source-side release jobs check
out from here (ci_drive_gate.py, gen_release_notes.py, playwright_pin.txt,
tests/test_cloak.py).
2026-07-04 20:00:27 +02:00
feder-cr
3c018f7bbf docs: source repo renamed invisible_firefox -> firefox_antidetect_patch (release notes + CI refs) 2026-07-04 20:00:27 +02:00
feder-cr
310bb215df Allow the invisible-core git dependency to install
Hatchling refuses a direct-reference dependency (invisible-core @ git+...)
unless allow-direct-references is opted in, so a clean pip install from git
failed at metadata generation. Enable it so the wrapper installs.
2026-07-03 21:15:20 +02:00
feder-cr
76e41e2789 Split pure-config into invisible-core; keep back-compat shims
The seed->fingerprint->prefs logic, binary download, and proxy/geo config
now live in a standalone invisible-core package (zero Playwright), so a
profile manager can reuse it without pulling Playwright in. The wrapper
depends on invisible-core and replaces the moved modules with full-alias
shims: existing imports (public API, submodules, private names) and
isinstance checks keep working unchanged. tests/test_backcompat.py locks
that contract (6 guards). Bumps to 0.3.0.
2026-07-03 19:57:49 +02:00
feder-cr
d434ee4059 docs: bigger logo in banner 2026-07-03 05:13:30 +02:00
feder-cr
bb6305b439 docs: center the banner 2026-07-03 05:07:35 +02:00
feder-cr
6a48fb6022 docs: more gap in banner (logo further right) 2026-07-03 05:02:36 +02:00
feder-cr
c9853961d3 docs: title+logo banner lockup (light/dark, responsive image) 2026-07-03 04:56:00 +02:00
feder-cr
b93fc25a3f docs: title/logo lockup via table (vertically centered) 2026-07-03 04:30:31 +02:00
feder-cr
993ec95eb2 docs: badges on top, then title-left + logo-right, centered intro below 2026-07-03 04:22:05 +02:00
feder-cr
8695a6a4e0 docs: restore lockup layout with large title (logo right of title) 2026-07-03 04:21:04 +02:00
feder-cr
1f087fd6d3 docs: centered hero (fixes tablet title wrap, borderless h3 title) 2026-07-03 03:11:33 +02:00
feder-cr
036076a3dd docs: HTML title (test borderless) 2026-07-03 03:06:50 +02:00
feder-cr
17d67e067c docs: center tagline as a subtitle, clear float 2026-07-03 03:02:54 +02:00
feder-cr
faec39c6ab docs: move badges above the title 2026-07-03 01:51:23 +02:00
feder-cr
4458fa585c docs: left-aligned title with logo floated right (lockup style) 2026-07-03 01:36:49 +02:00
feder-cr
163ac7f787 docs: move LinkedIn badge from header to author footer 2026-07-03 01:30:11 +02:00
feder-cr
3d36af5ef6 docs: use HTML badges so they render centered + update logo 2026-07-03 01:20:46 +02:00
feder-cr
a59d008a43 docs: add project logo to README 2026-07-03 01:15:03 +02:00
feder-cr
233f4b088f ci: skip the heavy e2e on docs-only pushes (paths-ignore) 2026-07-02 00:17:03 +02:00
feder-cr
e1de4c3d96 docs: re-add stars badge in the reliable plain format (Skyvern-style) 2026-07-01 16:25:42 +02:00
feder-cr
daf84f78cd docs: drop GitHub stars badge (redundant + flaky; big repos don't use one) 2026-07-01 16:21:08 +02:00
feder-cr
bf302701c6 docs: fix stars badge (drop flaky social/.svg format) 2026-07-01 16:17:11 +02:00
feder-cr
dd59c41bb5 docs: title + full subtitle 2026-07-01 04:01:46 +02:00
feder-cr
24ad6e4233 docs: shorten title 2026-06-30 20:27:22 +02:00
feder-cr
7914f3d006 docs: single-line title 2026-06-30 20:25:40 +02:00
feder-cr
050ec1aa61 docs: subtitle uses 'passes' 2026-06-30 20:24:42 +02:00
feder-cr
07a812c1f2 docs: short title + concise subtitle 2026-06-30 20:24:23 +02:00
feder-cr
1c942713aa docs: trim title 2026-06-30 19:45:35 +02:00
feder-cr
acc5c27d5b docs: make the title a one-line description 2026-06-30 19:45:08 +02:00
feder-cr
4cbe475473 docs: short title + concise description subtitle 2026-06-30 19:44:02 +02:00
feder-cr
1b22e1bb4a docs: put badges above the title 2026-06-30 19:36:59 +02:00
feder-cr
9ad2b1eee6 docs: drop Firefox version badge, merge LinkedIn into the badge row 2026-06-30 19:35:54 +02:00
feder-cr
dbffc52570 docs: shorten hero to a single line 2026-06-30 19:33:38 +02:00
feder-cr
81849a32d2 docs: refine hero tagline 2026-06-30 19:32:51 +02:00
feder-cr
e4c31427e3 docs: tighten hero tagline 2026-06-30 19:29:34 +02:00
feder-cr
f26df624c4 docs: trim hero tagline 2026-06-30 19:28:36 +02:00
feder-cr
4f882b550f docs: hero opens with the project name 2026-06-30 19:27:33 +02:00
feder-cr
74ad6d0fce docs: hero tagline reflects both pillars (real browser + human behavior) 2026-06-30 19:11:45 +02:00
feder-cr
cfa33e8756 docs: rewrite How it works around the two-question model (real browser + human behavior) 2026-06-30 19:07:26 +02:00