| Time |
Nick |
Message |
| 00:09 |
|
calcul0n__ joined #minetest-dev |
| 00:22 |
|
Zughy[m] joined #minetest-dev |
| 00:22 |
|
Icedream joined #minetest-dev |
| 00:25 |
|
LoneWolfHT joined #minetest-dev |
| 00:26 |
|
Newbyte joined #minetest-dev |
| 00:44 |
|
Taoki joined #minetest-dev |
| 01:12 |
|
numzero joined #minetest-dev |
| 01:12 |
|
jonadab joined #minetest-dev |
| 01:12 |
|
jomat joined #minetest-dev |
| 01:31 |
|
fluxflux_ joined #minetest-dev |
| 01:36 |
|
flux__ joined #minetest-dev |
| 01:36 |
|
Newbyte joined #minetest-dev |
| 01:40 |
|
freshreplicant[m joined #minetest-dev |
| 01:42 |
|
kb1000 joined #minetest-dev |
| 01:43 |
|
Zughy[m] joined #minetest-dev |
| 01:43 |
|
LoneWolfHT joined #minetest-dev |
| 01:44 |
|
anon5[m] joined #minetest-dev |
| 01:44 |
|
_Zaizen_[m] joined #minetest-dev |
| 01:45 |
|
giov4[m] joined #minetest-dev |
| 01:45 |
|
zughy[m]1 joined #minetest-dev |
| 01:59 |
|
ShadowBot joined #minetest-dev |
| 02:33 |
|
Zughy[m] joined #minetest-dev |
| 02:33 |
|
giov4[m] joined #minetest-dev |
| 02:34 |
|
Newbyte joined #minetest-dev |
| 02:35 |
|
_Zaizen_[m] joined #minetest-dev |
| 02:35 |
|
freshreplicant[m joined #minetest-dev |
| 02:35 |
|
anon5[m] joined #minetest-dev |
| 02:35 |
|
zughy[m]1 joined #minetest-dev |
| 02:35 |
|
LoneWolfHT joined #minetest-dev |
| 03:06 |
|
kb1000 joined #minetest-dev |
| 03:27 |
|
absurb joined #minetest-dev |
| 03:29 |
|
absurb_ joined #minetest-dev |
| 03:31 |
|
Krock_ joined #minetest-dev |
| 03:31 |
|
Sokomine_ joined #minetest-dev |
| 03:39 |
|
absurb2 joined #minetest-dev |
| 03:43 |
|
Icedream joined #minetest-dev |
| 03:43 |
|
MTDiscord joined #minetest-dev |
| 03:44 |
|
_Zaizen_[m] joined #minetest-dev |
| 03:44 |
|
anon5[m] joined #minetest-dev |
| 03:44 |
|
olliy joined #minetest-dev |
| 03:47 |
|
Newbyte joined #minetest-dev |
| 05:00 |
|
MTDiscord joined #minetest-dev |
| 05:00 |
|
jonadab joined #minetest-dev |
| 05:43 |
|
ShadowNinja joined #minetest-dev |
| 05:44 |
|
systwi joined #minetest-dev |
| 06:57 |
|
search_social joined #minetest-dev |
| 07:11 |
|
MTDiscord joined #minetest-dev |
| 07:15 |
|
nerzhul joined #minetest-dev |
| 07:17 |
|
JTE joined #minetest-dev |
| 08:00 |
|
ShadowNinja joined #minetest-dev |
| 08:33 |
|
appguru joined #minetest-dev |
| 08:51 |
|
ShadowBot joined #minetest-dev |
| 09:17 |
|
Icedream joined #minetest-dev |
| 09:23 |
|
Icedream joined #minetest-dev |
| 09:51 |
|
proller joined #minetest-dev |
| 10:47 |
sfan5 |
man all that character conversion shit is a mess |
| 10:48 |
sfan5 |
where even is the difference between narrow_to_wide and utf8_to_wide? |
| 10:48 |
|
calcul0n__ joined #minetest-dev |
| 10:50 |
rubenwardy |
oof |
| 10:51 |
rubenwardy |
imo it should be "utf8_to_utf16" to be precise |
| 10:51 |
rubenwardy |
assuming wide is utf16 |
| 10:51 |
sfan5 |
wchar_t is 4 bytes on linux |
| 10:52 |
rubenwardy |
what why |
| 10:53 |
rubenwardy |
you need to be able to predict the encodings of strings, having them be different on different platforms is a PITA |
| 10:53 |
rubenwardy |
*having the same type be different |
| 10:53 |
sfan5 |
now that you mention that I see the issue |
| 10:53 |
sfan5 |
our network code assumes wchar_t is 2 bytes |
| 10:57 |
sfan5 |
the only reason I can think of for narrow_to_wide/wide_to_narrow is interfacing with the filesystem on windows, but I don't see it used for that |
| 11:00 |
sfan5 |
one way I see out of this mess is to turn utf-32 into utf-16 + surrogates when writing to network |
| 11:00 |
celeron55 |
windows uses utf16 and linux uses utf32, right? |
| 11:01 |
celeron55 |
and irrlicht uses wchar for some of its UI stuff, right? |
| 11:01 |
sfan5 |
but I don't know if an old server wouldn't mangle those anyway |
| 11:01 |
sfan5 |
yes, yes and no idea |
| 11:02 |
sfan5 |
>//! Returns caption of this element. |
| 11:02 |
sfan5 |
>virtual const wchar_t* getText() const |
| 11:02 |
sfan5 |
looks like a yes |
| 11:02 |
celeron55 |
i recall the only reason i had to deal with anything other than 8-bit character sets was that irrlicht required themm |
| 11:02 |
celeron55 |
-m |
| 11:03 |
celeron55 |
of course when dealing with filesystems it would be important to retain the exact original bytes instead of trying to translate them to utf-8 or any other charset, because filenames aren't necessary valid in any charset |
| 11:03 |
celeron55 |
necessarily* |
| 11:04 |
celeron55 |
but many serious programs fail at that, trying to convert them to utf-8 |
| 11:10 |
rubenwardy |
Yeah, we should use utf-8 everywhere and then convert to another format for specific APIs |
| 11:10 |
rubenwardy |
or for manip |
| 11:11 |
MTDiscord |
<Flamore> ASCII |
| 11:13 |
rubenwardy |
no |
| 11:16 |
MTDiscord |
<Flamore> :( |
| 11:22 |
celeron55 |
yeah, always store as utf-8 |
| 11:23 |
celeron55 |
also, network serialization should always be utf- |
| 11:23 |
celeron55 |
utf-8* |
| 11:23 |
celeron55 |
the only exception is file names and paths, which should be stored raw and only converted for displaying |
| 11:25 |
rubenwardy |
does the network use wide / utf-16 currently? |
| 11:26 |
sfan5 |
yes, for chat messages and a few other things |
| 11:27 |
celeron55 |
those are only because i didn't know better at the time |
| 11:28 |
rubenwardy |
it shouldn't be too hard to add compat based on protocol versions for that |
| 11:28 |
sfan5 |
...and because nobody looked into this pre-5.0 when we had all chance to change the protocol |
| 11:28 |
rubenwardy |
yeah :'( |
| 11:28 |
rubenwardy |
> the only exception is file names and paths, which should be stored raw and only converted for displaying |
| 11:28 |
rubenwardy |
What about paths stored in config files? |
| 11:29 |
sfan5 |
really someone should have looked at every serialized packet at the time and looked which changes should be done |
| 11:29 |
rubenwardy |
I think the same rule should apply - store in utf8, convert for APIs. Where store means in common classes, rather than platform-specific local variables |
| 11:29 |
sfan5 |
(another thing that's been annoying me is serializing ten or more u8's when a flag field would be enough) |
| 11:29 |
rubenwardy |
> really someone should have looked at every serialized packet at the time and looked which changes should be done |
| 11:29 |
rubenwardy |
Yeah, this was a really massive oversight. 5.0 was poorly planned |
| 11:31 |
rubenwardy |
I don't think we should ever break network compat again, but instead remove backwards compat after a few releases and raise minimum version. Obviously, this doesn't help for things that are very hard to fix and keep compat |
| 11:35 |
rubenwardy |
Something that's been annoying me is the fact that player attachments positions don't take BS into account - they're 10x larger than expected |
| 11:50 |
|
Fixer joined #minetest-dev |
| 12:15 |
sfan5 |
technically wide_to_narrow can be useful to support system locales that aren't utf-8, but I don't think that worked before either |
| 12:16 |
sfan5 |
so nobody will miss it if that disappears |
| 12:29 |
sfan5 |
oh and wide strings do make sense when you know you're working on unicode string, stuff like isspace() won't work on utf-8 |
| 12:33 |
|
calcul0n_ joined #minetest-dev |
| 12:34 |
MTDiscord |
<exe_virus> Wait, never break network compat again? That's not going to fly |
| 12:34 |
MTDiscord |
<exe_virus> Oh, you mean just have a sliding window of support |
| 12:34 |
MTDiscord |
<exe_virus> That makes more sense |
| 12:36 |
MTDiscord |
<exe_virus> So if we change how a block is sent, we might have three functions in play max, and select the right one based on reported client version |
| 12:37 |
MTDiscord |
<exe_virus> For new stuff, like a "play midi" packet, we would just not send it to clients that don't know what to do with it |
| 12:37 |
sfan5 |
a sliding window of support is what we had before |
| 12:37 |
sfan5 |
with the exception that 5.0 was a planned protocol break |
| 12:38 |
MTDiscord |
<exe_virus> Gotcha, I've only been around since 4.17 and only learned about the engine after 5.0 |
| 12:39 |
MTDiscord |
<exe_virus> We still have a lot of work ahead, haha |
| 12:46 |
|
Beton joined #minetest-dev |
| 13:01 |
|
Ritchie joined #minetest-dev |
| 13:01 |
|
Thomas-S_ joined #minetest-dev |
| 13:01 |
|
freshreplicant[m joined #minetest-dev |
| 13:03 |
|
T4im joined #minetest-dev |
| 13:03 |
|
BakerPrime_ joined #minetest-dev |
| 13:32 |
|
systwi_ joined #minetest-dev |
| 13:32 |
|
LoneWolfHT joined #minetest-dev |
| 13:34 |
|
Zughy[m] joined #minetest-dev |
| 13:37 |
|
_Zaizen_[m] joined #minetest-dev |
| 13:42 |
|
freshreplicant[m joined #minetest-dev |
| 14:16 |
|
Zughy[m]1 joined #minetest-dev |
| 14:27 |
|
olliy joined #minetest-dev |
| 14:43 |
|
proller joined #minetest-dev |
| 14:59 |
|
anon5[m] joined #minetest-dev |
| 14:59 |
|
zughy[m] joined #minetest-dev |
| 14:59 |
|
LoneWolfHT joined #minetest-dev |
| 14:59 |
|
kb1000 joined #minetest-dev |
| 14:59 |
|
freshreplicant[m joined #minetest-dev |
| 14:59 |
|
Newbyte joined #minetest-dev |
| 14:59 |
|
_Zaizen_[m] joined #minetest-dev |
| 14:59 |
|
giov4[m] joined #minetest-dev |
| 15:03 |
sfan5 |
just wasted half an hour because Server::handleCommand_ChatMessage does its own serialization instead of using the function provided by NetworkPacket |
| 15:03 |
sfan5 |
wtf |
| 15:11 |
sfan5 |
#10879 |
| 15:11 |
ShadowBot |
https://github.com/minetest/minetest/issues/10879 -- [NO SQUASH] Fix narrow/wide and UTF-16 mess by sfan5 |
| 15:40 |
|
olliy joined #minetest-dev |
| 15:53 |
|
BakerPrime_ joined #minetest-dev |
| 16:22 |
sfan5 |
merging #10859, #10819, #10799, #10661 in 10m |
| 16:22 |
ShadowBot |
https://github.com/minetest/minetest/issues/10859 -- Handle changes caused by CMake minimum version bump by sfan5 |
| 16:22 |
ShadowBot |
https://github.com/minetest/minetest/issues/10819 -- [DONT SQUASH] Rework use_texture_alpha by sfan5 |
| 16:22 |
ShadowBot |
https://github.com/minetest/minetest/issues/10799 -- Clarify key_value_swap's edge case by Grissess |
| 16:22 |
ShadowBot |
https://github.com/minetest/minetest/issues/10661 -- [MANUAL SQUASH] Settings: Proper priority hierarchy by SmallJoker |
| 16:24 |
Krock_ |
oh boi |
| 16:29 |
rubenwardy |
very nice |
| 16:45 |
|
numzero joined #minetest-dev |
| 16:46 |
sfan5 |
zsh: segmentation fault (core dumped) ./bin/minetest |
| 16:46 |
sfan5 |
now this isn't a good sign |
| 16:47 |
sfan5 |
0x00005555556e5547 in PlayerDatabaseFiles::serialize(RemotePlayer*, std::ostream&) () |
| 16:47 |
sfan5 |
^ Krock |
| 16:47 |
Krock |
checking |
| 16:52 |
Krock |
reproduced when exiting the world |
| 16:54 |
sfan5 |
happening after ~10s in-game here |
| 16:55 |
Krock |
on quit, PlayerSAO is NULL |
| 16:55 |
|
Lunatrius joined #minetest-dev |
| 16:55 |
Krock |
same after a few seconds in-game. interesting. |
| 17:00 |
Krock |
okay, it's a typo |
| 17:00 |
Krock |
-serialize(ss, player); |
| 17:00 |
Krock |
+ serialize(&testplayer, ss); |
| 17:03 |
Krock |
tested, works. will push https://krock-works.uk.to/u/patches/0001-PlayerDatabaseFiles-Fix-segfault-while-saving-a-play.patch in 10 minutes |
| 17:13 |
Krock |
pushing |
| 17:13 |
Krock |
9a177f009 |
| 17:15 |
|
flux__ joined #minetest-dev |
| 17:21 |
|
flux__ joined #minetest-dev |
| 17:56 |
sfan5 |
thanks |
| 17:56 |
|
sofar joined #minetest-dev |
| 19:31 |
sfan5 |
#10881 |
| 19:31 |
ShadowBot |
https://github.com/minetest/minetest/issues/10881 -- Set UTF-8 codepage in Windows manifest by sfan5 |
| 19:31 |
sfan5 |
thoughts? |
| 19:37 |
MTDiscord |
<Jonathon> is it possible that https://github.com/minetest/minetest/pull/10731 could be merged before the feature freeze starting tomorrow? |
| 19:39 |
Krock |
can't test that but it looks good |
| 19:40 |
sfan5 |
I tested it |
| 19:41 |
sfan5 |
@Jonathon I'll add it to the milestone, if we have consensus we can make an exception for it |
| 19:41 |
MTDiscord |
<Jonathon> thank you |
| 19:43 |
MTDiscord |
<Jonathon> also, one more (mtg this time) https://github.com/minetest/minetest_game/pull/2808 since addressed the old concerns, and probably will useful for servers |
| 19:47 |
rubenwardy |
nice find re: #10881 |
| 19:48 |
ShadowBot |
https://github.com/minetest/minetest/issues/10881 -- Set UTF-8 codepage in Windows manifest by sfan5 |
| 19:59 |
|
systwi joined #minetest-dev |
| 20:20 |
|
olliy_ joined #minetest-dev |
| 20:42 |
|
systwi_ joined #minetest-dev |
| 21:24 |
|
flux__ joined #minetest-dev |
| 21:29 |
|
flux__ joined #minetest-dev |
| 21:36 |
|
flux__ joined #minetest-dev |
| 21:36 |
sfan5 |
merging #10881 in 5m |
| 21:38 |
ShadowBot |
https://github.com/minetest/minetest/issues/10881 -- Set UTF-8 codepage in Windows manifest by sfan5 |
| 21:57 |
|
flux__ joined #minetest-dev |
| 23:45 |
|
Taoki joined #minetest-dev |