fix: redefine window screen properly#418
Conversation
|
Hello, and thank you for your interest in this project! Good job with debugging this! I'm afraid the proxy tricks are somewhat necessary, though - some fingerprinting tools (e.g. CreepJS) try accessing the object in other-than-regular ways to see if something tried overriding the properties. See the comparison below:
You can find these lists on https://abrahamjuliot.github.io/creepjs/, under lies (right part of the screen, at the very top). |
|
What would be the correct approach to fix it? I am ready to update the PR |
|
You can start by sharing a minimal reproduction, so we both understand what issue this PR is trying to fix. Once we have that (be it a snippet here in GitHub or a new test case in this PR), we can decide what specifically to do. |
|
I have quickly vibecoded a reference check tool (#425), it's reproducible and visible there |



when calling
overrideInstancePrototype, theoverrideGetterWithProxyis been called, which in turn tries to run:This returns
undefinedforand basically crashes when trying to access
getThis results in screen properties been reset to
undefinedwhich is seen on FingreprintJs test:This fix just redefines the
getaccessor without playing with proxies