--fingerprint dropped deviceScaleFactor, so the identity contradicted itself - #26
Merged
Conversation
… itself `playwright_context_kwargs` mapped the user agent, the locale, the timezone and the screen onto the browser context and ignored `deviceScaleFactor`, which the fingerprint API returns beside them. Measured 2026-09-11 against the live API and a live browser: a fingerprint stating `deviceScaleFactor: 1.25` produced a browser reporting `window.devicePixelRatio === 1`. That is the mismatch this flag exists to prevent, on an axis any fingerprinter reads for free and for nothing: the paid identity said one thing and the browser said another, on every run, silently. Same shape as the three defects the family notes already record for this file -- a key the API returns that nothing applies -- and found the same way, by comparing a live browser against the fingerprint instead of by reading the code. Playwright takes it as its own context option, so the fix is to pass it. Verified in a live browser with this repo's own client: 1.25 requested, 1.25 reported, with the user agent, timezone and locale still matching. The check is pinned in the offline suite so it stays fixed. Found while auditing a new sibling repo against the family notes. All five repos in this family had it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
playwright_context_kwargsmapped the user agent, the locale, the timezone andthe screen onto the browser context and ignored
deviceScaleFactor, whichthe fingerprint API returns beside them.
Measured 2026-09-11 against the live API and a live browser:
nl-NLEurope/AmsterdamThat is the mismatch this flag exists to prevent, on an axis any
fingerprinter reads for free and for nothing: the paid identity said one
thing and the browser said another, on every run, silently.
Same shape as the three defects the family notes already record for this
file — a key the API returns that nothing applies — and found the same way:
by comparing a live browser against the fingerprint instead of by reading
the code.
Playwright takes it as its own context option, so the fix is to pass it.
Verified in a live browser with this repo's own client: 1.25 requested,
1.25 reported, with the user agent, timezone and locale still matching. The
check is pinned in the offline suite so it stays fixed.
Found while auditing a new sibling repo (
catawiki-scraper) against thefamily notes. All five repos in this family had it; this is the same
patch in each.
🤖 Generated with Claude Code