uazo / cromite

Cromite a Bromite fork with ad blocking and privacy enhancements; take back your browser!
https://www.cromite.org/
GNU General Public License v3.0
3.4k stars 74 forks source link

Texts are very blurry in many websites ( Youtube Notification Pannel ) #240

Closed tz-shuhag closed 7 months ago

tz-shuhag commented 1 year ago

Preliminary checklist

Is your feature request related to privacy?

No

Is there a patch available for this feature somewhere?

Texts are very sharp and clear when I open the notification tray of yourtube in Chrome. So yeah its available in chrome and other chromium based browsers ( brave, edge, opera, ungoogled chromium )

Describe the solution you would like

For now just turn off Viewport Size Protection from settings>privacy>site settings>Viewport Size Protection. In future this might get fixed with some updates.

uazo commented 1 year ago

Youtube Notification panel.

What is "Youtube Notification panel" ?

tz-shuhag commented 1 year ago

Well it got fixed when I disabled Viewport Size Protection

tz-shuhag commented 1 year ago

Youtube Notification panel.

What is "Youtube Notification panel" ?

notification slide in youtube.com

uazo commented 1 year ago

notification slide in youtube.com

there should be no notifications, can you take a screen shot please?

tz-shuhag commented 1 year ago

image

tz-shuhag commented 1 year ago

Texts in this panel was unclear and blurry before I turned off Viewport Size Protection from privacy>site settings>Viewport Size Protection

uazo commented 1 year ago

@abznidre thanks!

@PF4Public found a way to reproduce it!

uazo commented 1 year ago

@abznidre did you install chrome or brave?

uazo commented 1 year ago

@abznidre another thing, could you please show me WHERE that notification appears? i.e. could you please take a screen shot of the whole screen? of course blur anything you like. I'm telling you this because it never appears to me and I don't know what to look for in the source code

PF4Public commented 1 year ago

I'm telling you this because it never appears to me and I don't know what to look for in the source code

It is a little bell icon in the upper right corner of the page, near your account info. You need to be logged in, have any of your subscribed channels publish a video recently in order for notification to appear.

@PF4Public found a way to reproduce it!

Hope you can fix it at last!

tz-shuhag commented 1 year ago

@abznidre did you install chrome or brave?

No I am still using chromite

tz-shuhag commented 1 year ago

I'm telling you this because it never appears to me and I don't know what to look for in the source code

It is a little bell icon in the upper right corner of the page, near your account info. You need to be logged in, have any of your subscribed channels publish a video recently in order for notification to appear.

@PF4Public found a way to reproduce it!

Hope you can fix it at last!

yes its that little bell icon

PF4Public commented 1 year ago

@uazo I found another related case of blurriness: network graph on GitHub image

Observe that canvas has dimensions 691x480, but it is calculated as 690.990x479.995

uazo commented 1 year ago

No luck, I cannot reproduce it.

leduyquang753 commented 1 year ago

Another place this happens is in the popup chat panels on Facebook, which creates borders around elements when a gradient chat theme is used.

(The message contents are not sensitive.)

explorer – 21h19 31 17-09-2023

uazo commented 1 year ago

can you tell me the resolutions of your screens?

leduyquang753 commented 1 year ago

can you tell me the resolutions of your screens?

1920 . 1080.

PF4Public commented 1 year ago

@leduyquang753 What is the dpi of your screen?

leduyquang753 commented 1 year ago

@leduyquang753 What is the dpi of your screen?

142 DPI.

PF4Public commented 1 year ago

@uazo I still think that it might be related to hidpi screens, do you have one for a test?

uazo commented 1 year ago

do you have one for a test?

142 DPI is same as me (see https://dpi.lv)

kwerty2897 commented 1 year ago

Under search category buttons in YouTube and login page on mail.ru site

YouTube

![Screenshot 2023-09-21 233834](https://github.com/uazo/cromite/assets/102196327/efcc3370-2d65-4326-aa41-ccc22bf5e85c)

mail.ru

![image](https://github.com/uazo/cromite/assets/102196327/5a39ef9f-c718-4587-8c0a-30dfd9aff7ec)

uazo commented 10 months ago

I cannot reproduce any except this https://github.com/uazo/cromite/issues/240#issuecomment-1709306234 which by the way is also detected by creepjs: image I also realised that Disable get*ClientRects() fingerprint deception flag (chrome://flags/#fingerprinting-client-rects-noise) must remain deactivated by default, whereas it is now active by default. I will let you know.

uazo commented 9 months ago

some updates. first of all, I studied my patch, which I no longer remembered :)

then, the problems of text blurring is unfortunately insurmountable.

what the patch does is change the internal zoom of the dom elements, because the zoom factor is the value used to recalculate ALL the blink co-ordinates, and here the fact that the user is protected from fingerprinting scripts on the coordinates, which are ultimately based on screen geometry (at least in android). I'm trying to find out if there are any zoom factors that minimise blur, but so far I haven't found any. if someone wants to try, this is what needs to be changed https://github.com/uazo/cromite/blob/master/build/patches/Viewport-Protection-flag.patch#L582 the assumption is that there is a formula to derive that factor to minimise the blur effect, but I did not find it.

in relation to https://github.com/uazo/cromite/issues/240#issuecomment-1709306234 this is exactly how it works, i.e. 100px is no longer 100px but a little more or less. can be exploited to recognise cromite, but not the user, and in any case, it would not be so different from bromite (and ungoogled chromium) where the coordinates were 'dirtied' at random. The only thing I would like to fix is to make it more difficult to tie the user/browser to the ip, but that's another story.

in relation to https://github.com/uazo/cromite/issues/240#issuecomment-1857505851 what creepjs detects is the difference between the co-ordinates of a known rectangle (i.e. 0-0x100px-100px rotated by 45 degrees) and those exposed by the browser, but it is more a mechanism for detecting a lie rather than obtaining any information for fingerpriting the device, probably serves to detect whether the user is using a 'normal' browser, more related to anti-fraud systems

uazo commented 9 months ago

@PF4Public I found this by chance:

https://www.reddit.com/r/Cromite/comments/190hge2/blurry_fonts_in_cromite_on_certain_sites_sharp_on/

do not install anything, but could you try adding via devtools this css?

* {
  text-shadow: transparent 0px 0px 0px, rgba(0,0,0,0.1) 0px 0px 0px !important;
}

can you also change the 0.1 to some value? I would like to understand what happens with that css and I have no way to reproduce the blur

thanks!

PF4Public commented 9 months ago

do not install anything, but could you try adding via devtools this css?

I've added that to html element, no difference. Changing 0.1 to 999999999 makes no difference. Also by toggling this style on/off I cannot see any effect.

uazo commented 9 months ago

too bad. thanks for checking.

PF4Public commented 9 months ago

Maybe I should give that extension a try?

uazo commented 9 months ago

haha, you want my authorisation? only if on stamped paper :)

Maybe I should give that extension a try?

As you wish: I simply did not want to ask you to trust something that I do not know and that has no open code.

PF4Public commented 9 months ago

Why did you consider text-shadow should make a difference in the first place? Have you tried installing that extension, is it what it does? Maybe there is something else to check?

haha, you want my authorisation? only if on stamped paper :)

And only if it's notarized! :D

I simply did not want to ask you

That's kind of you! There are plenty of technical means of handling unknown/untrusted software.

uazo commented 9 months ago

Have you tried installing that extension, is it what it does?

no, I remind you that I don't have that problem (maybe I'm on the computer too much and don't realise it :) I opened the extension code and saw that it does just that.

Maybe there is something else to check?

not so far, I can't think of anything else.

uazo commented 9 months ago

Why did you consider text-shadow should make a difference in the first place?

Sorry, I forgot this. simply because that user said he solved it that way

PF4Public commented 9 months ago

Quote from extension description:

The windows browsers render the fonts based on the normal sub-pixel rendering without implementing Font smoothing

Perhaps this workaround works only on Windows? I tested on Linux.

uazo commented 9 months ago

Perhaps this workaround works only on Windows? I tested on Linux.

@tz-shuhag can you try?

Universalizer commented 9 months ago

* { text-shadow: transparent 0px 0px 0px, rgba(0,0,0,0.1) 0px 0px 0px !important; }

RGBA = Red, Green, Blue, A = Apha (Transparency in percentage, here min. 0 to max. 1), change from 0.1 to 1

For Reference :- https://www.sololearn.com/en/Discuss/1727107/what-is-a-in-rgba/

tz-shuhag commented 9 months ago

Perhaps this workaround works only on Windows? I tested on Linux.

@tz-shuhag can you try?

Sorry to say no as I am also using linux at this moment. In windows I was easily able to overcome this problem by turning off Viewport Size Protection from settings>privacy>site settings>Viewport Size Protection.

I would recommend you to just keep viewport size protection off by default and not go on that much on this issue.

Android version of chromite is fantastic man. It's my default android go to browser.

lastly do you @uazo have any plan to build something like chrome os or fyde os. I am quite interested in Chromite OS 😀.

uazo commented 9 months ago

thank you @tz-shuhag I didn't think you were referring to linux.

I would recommend you to just keep viewport size protection off by default and not go on that much on this issue.

no, but thanks.

I am quite interested in Cromite OS

too many things to do first, maybe in a few years.

uazo commented 8 months ago

I finally found a way to reproduce the problem!

image

PF4Public commented 8 months ago

I finally found a way to reproduce the problem!

So, have you found a solution, is it fixable?

uazo commented 8 months ago

let's say I found a way to reproduce and investigate the problem. claim to be able to solve it, not yet.

uazo commented 7 months ago

for that specific situation the problem is opacity. values such as 0.999 lead to that effect:

image

@PF4Public can you verify it?

PF4Public commented 7 months ago

@PF4Public can you verify it?

I can confirm that disabling opacity makes text go sharper. This does not fix the issue with canvas though as it is independent of opacity.

uazo commented 7 months ago

thanks for the check.

This does not fix https://github.com/uazo/cromite/issues/240#issuecomment-1709306234 though as it is independent of opacity.

It is not possible to solve this problem, it is inherent in the way the patch works.

PF4Public commented 7 months ago

It is not possible to solve this problem, it is inherent in the way the patch works.

I understand

BTW, could 8998e3d be used for fingerprinting?

uazo commented 7 months ago

BTW, could 8998e3d be used for fingerprinting?

theoretically no, I checked. the value appears to the dom and javascript anyway as 0.99x but internally considered as 1.