Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TZP: isPoint* returns a type error (when checked) #696

Closed
Thorin-Oakenpants opened this issue Apr 1, 2024 · 19 comments
Closed

TZP: isPoint* returns a type error (when checked) #696

Thorin-Oakenpants opened this issue Apr 1, 2024 · 19 comments
Assignees
Labels

Comments

@Thorin-Oakenpants
Copy link

see

undefined

@Thorin-Oakenpants Thorin-Oakenpants changed the title TZP: isPoint* returns a type error TZP: isPoint* returns a type error (when checked) Apr 1, 2024
@kkapsner
Copy link
Owner

kkapsner commented Apr 5, 2024

I'm not able to reproduce your problem. What are your settings? Which Version of FF and CB are you using?

@Thorin-Oakenpants
Copy link
Author

Oh, it's been doing it for years (I assumed you knew and it was some limitation) and in any setting where I have isPoint* protected

lemme set up a new FF124 profile and install CB and leave at defaults .. brb

@Thorin-Oakenpants
Copy link
Author

OK, visually all the settings look identical, I even had nightly and FF124 side by side looking at the settings for CB in each one

Anyway - nightly has had CB in for about a year (new machine) and I've played a few times with all sorts of canvas settings. But in my old machine I also saw this. This is the "bad" one. The good one is a brand new profile and a brand new CB install (except I turned on some UI stuff and disabled everything except default canvas)

The diffs appear to be bad

	"protectedAPIFeatures": {
		"length @ history": false,
		"mozGetAsFile @ canvas": true,
		"toBlob @ canvas": true,
		"convertToBlob @ canvas": true,
		"toDataURL @ canvas": true,
		"getImageData @ canvas": true,
		"isPointInPath @ canvas": true,
		"isPointInStroke @ canvas": true,
		"getContext @ canvas": true,
		"strokeText @ canvas": true,
		"fillText @ canvas": true
	},

vs good

	"protectedAPIFeatures": {
		"length @ history": false
	},

and yes the good one is protecting the values.

brb.. I have an idea. I think all you need to do is toggle the options

@Thorin-Oakenpants
Copy link
Author

I think all you need to do is toggle the options

nope. Anyway, I imported bad into good and I get the issue.

Here are the two files

@kkapsner
Copy link
Owner

kkapsner commented Apr 5, 2024

It's the persistent rng.

@kkapsner kkapsner self-assigned this Apr 5, 2024
@kkapsner kkapsner added the bug label Apr 5, 2024
@kkapsner kkapsner added this to the Version 1.10.1 milestone Apr 5, 2024
@Thorin-Oakenpants
Copy link
Author

Thorin-Oakenpants commented Apr 6, 2024

hmm .. where is that settings .. AFAICT I have "manually" reset things to default regards canvas - and the settings UI are identical (maybe I am blind)

OK, I'm blind. Man I think you should label non-persistent as the default

@kkapsner
Copy link
Owner

kkapsner commented Apr 6, 2024

What do you exactly mean by "label"?

Something like this?
image

@kkapsner
Copy link
Owner

kkapsner commented Apr 6, 2024

Check the latest version at https://canvasblocker.kkapsner.de/versions/

@spodermenpls
Copy link
Contributor

@kkapsner Maybe a good occasion to finally hyphenate "non-persistent" and "nicht-persistent".

@Thorin-Oakenpants
Copy link
Author

Something like this

yup

@kkapsner
Copy link
Owner

kkapsner commented Apr 7, 2024

@kkapsner Maybe a good occasion to finally hyphenate "non-persistent" and "nicht-persistent".

does it really need to be hyphenated? Both my German and English Grammar regarding this are quite vague. What is the rule?
What is the difference to "Canvas API"?

yup

I do not quite like the extra noise in the text... especially when I do it for all drop downs:
image

@spodermenpls
Copy link
Contributor

spodermenpls commented Apr 7, 2024

@kkapsner I am not a licensed English or German language surgeon, but I am very certain that one can use "nonpersistent" or "non-persistent" in English, but not "non persistent", without an hyphen. In German one might be able to use "nicht persistent", but I figure "nicht-persistent" looks more professional (and more harmonious to the English locale's "non-persistent").
"Canvas API" consists of two nouns, which form an "open compound word" without a hyphen, "non-persistent" however is a prefix and an adjective, whose compound does get written as one word or hyphenated (if you want to read more about it: https://www.scribbr.com/language-rules/hyphens/#prefixes-suffixes)

Regarding the other change, how about "(default)"/"(Standard)" only gets displayed in the dropdowns when the default setting is not selected? 😅

@Thorin-Oakenpants
Copy link
Author

I do not quite like the extra noise in the text... especially when I do it for all drop downs

you do you :) 🧀

just wasn't paying attention, it's not like I test CB often - and when I do I totally change everything to see what happens. I should just use the reset feature in future - I kinda think I set that persistent rng a while ago not thinking it was to do with the generator but rather that a same canvas result is persistent (per session + eTLD etc = as per TZP's notations) - in other words I am overworked and under-drinking 🍺 and should have known it was cached anyway

@kkapsner
Copy link
Owner

kkapsner commented Apr 7, 2024

@Thorin-Oakenpants : I like the idea of being able to tell which settings were changed and which not. I just do not like the execution. I think it will involve the idea of @spodermenpls in the end.

@spodermenpls: I will talk to an English teacher tomorrow and act after that.

@kkapsner
Copy link
Owner

kkapsner commented Apr 7, 2024

I think I quite like this approach:
image

Having a way to search for all changed settings with the :changed tag and then have the default value be marked as such in the drop down.
But not having the marking when the default is selected:
image

kkapsner added a commit that referenced this issue Apr 7, 2024
kkapsner added a commit that referenced this issue Apr 7, 2024
@kkapsner
Copy link
Owner

kkapsner commented Apr 7, 2024

The current beta version is my candidate for 1.10.1 - please test it.

@spodermenpls
Copy link
Contributor

spodermenpls commented Apr 8, 2024

@kkapsner I have to correct myself. First of all "non-persistent" consists of a prefix and an adjective, got myself loopy there yesterday morning. 😅 I read further up on it, in German, "nicht-persistent" would be in fact wrong (I probably read it written that way too many times in the past), only "nichtpersistent" and "nicht persistent" being right. In English "non-persistent" is correct ("non persistent" being indeed wrong), but more so in a British English style, with American English one is usually refraining from using hyphens. My final proposal therefore is connecting the words in our locales, "nichtpersistent" and "nonpersistent".

Regarding the "default"/"Standard" thing, I think this solution is quite slick.

@Thorin-Oakenpants
Copy link
Author

hyphenation of a prefix in english is pretty simple

  • if it qualifies more than one word then you hyphenate, otherwise it is optional
  • except latin phrases

e.g

  • non-profit making (always)
  • e.g. non-smoker, nonviolent, non-persistent, nonpersistent (optional)
  • non sequitur (never, it's latin)

you're doing just fine :) have some 🧀

kkapsner added a commit that referenced this issue Apr 9, 2024
kkapsner added a commit that referenced this issue Apr 9, 2024
@Thorin-Oakenpants
Copy link
Author

Thorin-Oakenpants commented Apr 10, 2024

while you're on a tidying up bender

info

nits

  • more info section
    • why <canvas> but everything else is without < >
    • http://www.browserleaks.com/canvas should be be https (it redirects anyway)
    • could do with some formatting (same as different modes)
  • modes list
    • looks like a giant paragraph - IDK if you can, but it needs some breaking up, like bullet points or some line spacing, but I guess your formatting options are limited or you would have done it

here's what chameleon did (to be fair, none of these lines wrap: edit, by that I mean they don't need to whereas some of yours are longer, but I still think it's an improvement)

chameleon

using - be better at least for the more info section

canvas:
- https://www.browserleaks.com/canvas
audio:
- https://audiofingerprint.openwpm.com/ (very poorly written = slow)
- https://webtransparency.cs.princeton.edu/webcensus/#audio-fp
DOMRect:
- http://jcarlosnorte.com/security/2016/03/06/advanced-tor-browser-fingerprinting.html
- https://browserleaks.com/rects

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants