jesopo
i havent looked at the bsky code for this but i recommend homoglyph folding to make your life easier
2 6
Samuel
srsly tho interesting stuff, I wonder if I should be running a library like this on my usernames? I could imagine that there's an avenue for error if someone uses a weird character but then when you try and access the subdomain it gets changed https://www.npmjs.com/package/idna-uts46
npm: idna-uts46
A UTS #46 processing algorithm for IDNA2008 strings. Latest version: 1.1.0, last published: 6 years ago. Start using idna-uts46 in your project by running `npm i idna-uts46`. There are 8 other project...
npmjs.com
2
Samuel
yeah I think some reddit mod just typed out some enormous regexes for their automod config
2 6
daniel holmgren 🫠
Yeah also it came to my attention that all these Unicode characters aren’t even allowed in handles cause they’re ascii 😅 So you can probs do something way simpler. Just wanna take into account letter substitutions like l/1 for i, etc
1 12
jesopo
i generally prefer to run a pass over a string to fold characters into what they could look like as letters. like f00 -> foo and then your regex only has to match /foo/ rather than /f[o0][o0]/
1 6