>>105669652>with some of the syntax simplifieder, I mean, indentation removed. Not syntax. sorry, I just woke up. Let's check it out.
What the code does is run a bunch of browser checks and then write the result into window.isIncognito. This check is run when the MOBILE POST FORM is pulled up, and the isIncognito value is evaluated on post form submit event. So getting around it is trivial, just write a tampermonkey script that listens to whenever you unfocus any field in the post form (ie. from moving to textarea and click submit, the textarea loses focus), and set window.isIncognito to false.
The checkIncognito part seems to only focus on detecting mobiles as well.
navigator.maxTouchPoints will always return 0 on desktops for example.
navigator.vendor returning undefined, I don't know what causes that, but on desktops it always shows up as a string or empty text in firefox. Also, it's deprecated, so when browsers remove it, the entire code will break on the second line.
let eh = eval.toString().length;
this part is funny, because eval.tostring() turns into
'function eval() { [native code] }' in chrome (33 length), but
"function eval() {
[native code]
}" in firefox (37 length), and presumably, safari.
Based on this the code runs three different paths.
Firefox is simple. It checks if document.body.style.MozAppearance exists to identify Firefox, then checks if navigator.serviceWorker exists or not. Service workers apparently don't work in Firefox in private mode. This would correctly identify Firefox Incognito mode, however since it only runs on phones, or when you load the site with the mobile theme (ie. low resolution then ctrl+F5), it never triggered for me, hence why I could post at
>>105667385 from firefox incognito.