09:45 < bridge> ☕ 09:45 < bridge> Gm 10:32 < bridge> Morning 🍵 12:46 < bridge> `any(license` is always true 12:46 < bridge> the if looks bad anyway, it should be something like `re_match.group("license") in licenses` 13:01 < bridge> ```py 13:01 < bridge> import re 13:01 < bridge> 13:01 < bridge> def abc(string) -> bool: 13:01 < bridge> regex = re.compile(r'^\((?P.{3,8})\)$') 13:02 < bridge> re_match = regex.match(string) 13:02 < bridge> 13:02 < bridge> licenses = ["CC0", "CC BY", "CC BY-SA"] 13:02 < bridge> 13:02 < bridge> if re_match.group('license'): 13:02 < bridge> if not any(license in re_match.group('license') for license in licenses): 13:02 < bridge> return False 13:02 < bridge> return True 13:02 < bridge> 13:02 < bridge> result = abc("(CC SA-BY)") 13:02 < bridge> print(result) 13:02 < bridge> ``` 13:02 < bridge> 13:02 < bridge> Result is False 13:02 < bridge> if I use CC BY-SA 13:02 < bridge> result is True 13:02 < bridge> and if I use CC BY SA 13:02 < bridge> it also returns True 13:13 < bridge> cool 🙂 13:16 < bridge> it's only implemented on the client side, and for third-party servers 13:22 < bridge> black 13:22 < bridge> all inside the training data 13:26 < bridge> we should simply fix our skins 13:28 < bridge> I think you want `re_match.group("license") in licenses` 13:29 < bridge> Yes, that's what im using now. 😄 13:29 < bridge> your check also allows ABCC0DEF 13:35 < bridge> any() seems to turn hyphens into spaces or something 13:35 < bridge> no 13:36 < bridge> `any` is a function that turns a list of booleans into a boolean 13:36 < bridge> I can't think of any other reason why this would be True 13:36 < bridge> because you check whether `CC0`, `CC BY` or `CC BY-SA` appear in your license string 13:36 < bridge> this meands `ABCC0DEF` will also be accepted by the check 13:37 < bridge> Why is CC BY SA True? 13:37 < bridge> Ah 13:37 < bridge> I see, nevermind xD 13:39 < bridge> Adding those licenses into the regex itself would've been an alternative so it doesn't match substrings 13:46 < bridge> do we have a friend only mode or something like that in ddnet right now 13:47 < bridge> like you can only see names / clans in your friend list 13:47 < bridge> apparently people are now changing their names to banned names and doing stream sniping to trigger auto bans chinese streamers 13:47 < bridge> apparently people are now changing their names to banned names and doing stream sniping to trigger auto bans for chinese streamers 13:47 < bridge> :monkaStop: 13:48 < bridge> like in which you can only see names / clans in your friend list 13:48 < bridge> @robyt3 Infinite afk mode 13:57 < bridge> It was fixed weeks ago. But in some countries they still get the broken one 13:58 < bridge> I don't understand how this is related to friendlist. Are the streamers changing the name or what xd 13:58 < bridge> other peoples changing names and joining the same server 13:59 < bridge> cl_nameplate 0 probably can avoid this but maybe a friend only mode can let them still see friend's name and chat 14:00 < bridge> Ah they change name to disallowed words? 14:00 < bridge> Now i get it xd 14:00 < bridge> ye 14:01 < bridge> But i guess we don't directly have this. /Dnd is the cost 14:01 < bridge> Closest 14:01 < bridge> But whisper might still work 14:01 < bridge> apparently major streaming platform here in china are doing OCR occationally just to auto bans 14:01 < bridge> :owo: 14:02 < bridge> dnd still shows names i think? 14:02 < bridge> they'd probably need to turn off both chat and nameplates to be safe which might be quite alone lol. 14:03 < bridge> i might PR on holiday i guess 14:35 < bridge> If a skin ends up in there that isn't correct the results seem to be far more catastrophic than intended 14:36 < bridge> seems like we wouldn't notice it otherwise 14:37 < bridge> it's intended to be somewhat obvious so that instances of it will be reported 14:37 < bridge> We can't even fix it in a reasonable amount of time due to how aggressive cloudflare caches them 14:38 < bridge> we can probably empty cloudflare caches. it'd be nice to add a check to the process of adding skins to the db 14:38 < bridge> It locks all input killing runs, somewhat obvious is probably desirable, killing runs is not. I think it does more harm than good, we can just make sure there is only one way to add a skin and it's checked 14:39 < bridge> might be better to make it dismissable with tab instead of locking input 14:40 < bridge> So or so.would be nice if smbdy with cloudflare access can check 14:44 < bridge> emptying cloudflare caches? 14:47 < bridge> Maybe you could help? 14:47 < bridge> @jupeyy_keks 14:48 < bridge> Yes 14:49 < bridge> I think u also need to change info. Ddnet for that to work. It gets the version number from there 14:50 < bridge> I purged skins.ddnet.tw and skins.ddnet.org 14:50 < bridge> Except you coded that out already. I didn't follow your development 14:50 < bridge> Ok nice 15:30 < bridge> Then something with your download didn't work 15:37 < bridge> Okay, I'll take a look later 16:54 < bridge> is furo on discord the furo on github? 16:55 < bridge> we gained quite an active contributor recently 🙂 16:56 < bridge> @furooooooooooooooooooooooooooooo 16:57 < bridge> there goes my plan not to ping random people 😄 16:59 < bridge> Ah, no worries. Yeah, it's me. 17:03 < bridge> Just investigate I guess 😄 17:03 < bridge> (Don't worry i turned off the ping) 17:30 < bridge> ah nice 🙂 20:19 < bridge> <_voxeldoesart> i keep getting ads for log2base2 20:19 < bridge> <_voxeldoesart> is it any good 20:27 < bridge> you should install an ad blocker ^^ 20:40 < bridge> why did 17.3 break so much 20:41 < bridge> the real question is: 20:41 < bridge> why is everyone allowed to break ddnet except me 20:41 < bridge> incredible 20:41 < bridge> <_voxeldoesart> mobile plus im lazy 20:42 < bridge> <_voxeldoesart> like i **have** newpipe but the subscription transfer is so complex 20:59 < bridge> What broke? 21:00 < bridge> My hack to show a predicted hook attached to a tee without showing the tee, i didnt investigate, idk why yet. 21:00 < bridge> also rainbowname has gotten way more un-nice, lets say it like that 21:01 < bridge> I don't think hook was touched in 17.3 so maybe an accidental breakage 21:02 < bridge> i couldnt spot anything suspicous on the first looks through the affected files 21:02 < bridge> The other one I don't even consider breakage, it's just a change 21:02 < bridge> (most like affected) 21:02 < bridge> I'd just git bisect if I were you 21:02 < bridge> Yea probably 21:03 < bridge> oh, and also the new order in teams makes my spec menu page selector in the wrong order 21:03 < bridge> cuz yellow is now after red and blue (for my flag spectaing) 21:03 < bridge> spectating* 21:03 < bridge> anyways 21:04 < bridge> Though I don't consider it breakage, there is something to be said about whether or not it's the best solution to the problem 21:04 < bridge> Maybe drawing a border around teams would be better 21:05 < bridge> Ik 21:05 < bridge> the hook bug annoys me tho 21:06 < bridge> Hook one sounds like unintentional breakage so if you find it let us know 21:07 < bridge> i mean you could make it another color right 21:07 < bridge> ye 21:07 < bridge> search one for me, please 21:07 < bridge> im color blind 21:07 < bridge> really 21:07 < bridge> ye 21:07 < bridge> how did i never know that lol 21:07 < bridge> maybe you're aswell 21:07 < bridge> nah i see them all fine 21:08 < bridge> then you would've known it 21:09 < bridge> <_voxeldoesart> in a perfect world you can set your own team color 21:09 < bridge> in a perfect world ddnet is an own game, not a mod of teeworlds 21:09 < bridge> possibilities 21:09 < bridge> If this ever becomes a thing we definitely need borders around teams 21:10 < bridge> in a perfect world you actually worked on your server 21:10 < bridge> :troll: 21:10 < bridge> <_voxeldoesart> true 21:10 < bridge> in a perfect world i had time for that 21:11 < bridge> <_voxeldoesart> if i knew anything about low level coding id want to make ddrace 2.0 21:12 < bridge> do it 21:12 < bridge> <_voxeldoesart> ok but where do i start 21:13 < bridge> define ddrace 2.0 21:13 < bridge> what is it 21:14 < bridge> I don't usually consider hacks to be part of backward compatibility promises 21:15 < bridge> I think the better solution is to make them non-hacks 21:16 < bridge> <_voxeldoesart> current ddnet version but built from the ground up and optimized accordingly 21:16 < bridge> urfunny 21:16 < bridge> <_voxeldoesart> you waited 21:16 < bridge> <_voxeldoesart> :justatest: 21:16 < bridge> i mean heinrich 21:16 < bridge> <_voxeldoesart> oh 21:16 < bridge> I'm mostly curious because something else might have been broken, not to necessarily restore the behaviour 21:17 < bridge> yay modding ddnet is so fun 21:18 < bridge> protocol changes every week and breaking things which have been there since forever and also work on 0.7 21:18 < bridge> xd 21:18 < bridge> afk 21:46 < bridge> I want a rust with a stable ABI 21:46 < bridge> so that I can have dynamic libraries 21:50 < bridge> the best part of rust would be destroyed 21:54 < bridge> is the best part "not being able to do shared libraries with rust interfaces"? 21:56 < bridge> the best part is not sharing anything 21:57 < bridge> rust can use shared libraries with C interfaces and can expose them, too, todaz 21:57 < bridge> rust can use shared libraries with C interfaces and can expose them, too, today 21:58 < bridge> yeah, bloat from the 1990 😂 21:59 < bridge> part of why rust is successful, probably 21:59 < bridge> because it can interact with the rest of the world 22:00 < bridge> yes, but imagine we'd have all knowledge from today and hardware from today 22:00 < bridge> 22:00 < bridge> but no software 22:00 < bridge> 22:00 < bridge> what would we do? 22:00 < bridge> I'd think shared libraries are still the way to go 22:00 < bridge> especially for stuff like TLS libraries 22:00 < bridge> true, i was 15 years in future 22:00 < bridge> let me ask again in 15 years 22:01 < bridge> so that they can change without hte underlying program changing