Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2023-01-03 00:00:00Z and 2023-01-04 00:00:00Z
Avatar
2ddc9b6 Add bra2 to server stats - def-
Avatar
someone doing automated tests on gentoo guru found this
06:57
idk how much of a problem it is
06:57
but i think its an issue with cmake itself not the ebuild
06:58
Bug 888875 - [guru] games-action/ddnet-16.6 overwrites CFLAGS/CXXFLAGS or adds uncommon ones
06:59
* Tinderbox QA Notice: This package seems to overwrite CFLAGS/CXXFLAGS or add uncommon ones: * The following flags (probably added by the build system) should be stripped out * * 1) -D_FORTIFY_SOURCE=2 * 2) -fstack-protector-all * * Final size of build directory: 175416 KiB (171.3 MiB) * Final size of installed tree: 66044 KiB ( 64.4 MiB)
07:01
@heinrich5991 what do u think?
Avatar
Yes, we do that, for security
08:53
I didn't know it's bad style to add security related flags
08:54
It's a bit like complaining our source code has runtime check for array out of bounds access because they are too expensive
Avatar
I think the gentoo stance is to make all security flags optional if they impact perf
Avatar
they are probable controlled by portage
09:31
probably
09:31
its more that the package forces this and the user cant choose with their portage flags or smth
09:36
this is a QA by a random user btw
09:37
i did run pkgcheck on the ebuild when making it and it didnt throw any warnings
Avatar
chillerdragon BOT 2023-01-03 10:00:03Z
Who does out of bounds check? Ubsan? Where is that active? (@deen)
It's a bit like complaining our source code has runtime check for array out of bounds access because they are too expensive
10:01
Oh wait or do you mean actual handwritten code that checks stuff like if (ClientID > MAX_CLIENTS) return
Avatar

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [X] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addres...
13:39
To disable -D_FORTIFY_SOURCE=2 -fstack-protector-all, see https://bugs.gentoo.org/888875 for report. Default behavior is not changed.

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no phy...
Avatar
Alright, added an option for them @Ryozuki ^
Avatar
Avatar
Ryozuki
this is a QA by a random user btw
not just any random user, its a gentoo dev lol
Avatar
25e01eb Add constants for minimum and maximum tick values - Robyt3 e4b1db1 Fix spelling of NETMSG_AUTH_CHALLENGE constant - Robyt3 706eb0d Remove unnecessary include in protocol, move definitions to cpp file - Robyt3 c2c2129 Fix signed integer overflow on client input message - Robyt3 1f392b8 Merge #6220 - bors[bot]
Avatar
When the demo recording is not stopped properly (e.g. client crashes during recording), the timeline markers and the demo length are not updated. The length is always set to zero when starting the recording, but uninitialized memory is written for the timeline markers, which causes these demos to likely show the maximum number of markers with some markers possibly being outside the ticks that the demo contains. This is fixed by initially setting all timeline marker data to zero when starting ...
Avatar
Imagine passwords for online services that never leave your device, encrypted or otherwise. OPAQUE is a new cryptographic protocol that makes this idea possible, giving you and only you full control of your password.
Avatar
I thought there were such protocols before OPAQUE
Avatar
Kerberos, ms chap?
Avatar
ad
Avatar
Tl;dr whats the alternative ?
Avatar
Computing with traps. Contribute to jbangert/trapcc development by creating an account on GitHub.
15:54
lol
Avatar
Avatar
Jupstar ✪
Tl;dr whats the alternative ?
its zero proof password auth iirc
Avatar
Avatar
Jupstar ✪
Tl;dr whats the alternative ?
you can prove that you have the password without sending it to the server
Avatar
u send a proof u know the password
15:54
so the password is never sent
Avatar
Ok but u still save ur pw in a key manager which u host online in case ur house burns. Does it solve this too
Avatar
dont host it online
15:55
just replicate it 3 times locally
15:55
invent a fire proof usb
15:55
kek
Avatar
Well when you host it online you usually host it completely encrypted
15:56
So your plaintext pw never makes it anywhere of your computer, theoretically
Avatar
Yes. So the blog is about the pw being plain text on the server?
Avatar
In which x86 has too many registers after all. Introduction The fiendish complexity of the x86 instruction set means that even bizarrely r...
Avatar
Avatar
Jupstar ✪
Yes. So the blog is about the pw being plain text on the server?
I didn't read the entire thing yet, but yes, that's the idea
Avatar
Avatar
Jupstar ✪
Yes. So the blog is about the pw being plain text on the server?
yes, basically about preventing that
Avatar
I see thanks for saving me time xd
Avatar
9ea665c Fix undefined demo timeline markers when recording is not stopped - Robyt3 1f5c269 Merge #6222 - bors[bot]
Avatar
Avatar
Jupstar ✪
I see thanks for saving me time xd
so u dont read everything i post
16:00
noted
16:00
feelsbadman
16:01
@Learath2 @Jupstar ✪ https://startafuckingblog.com/
Go on, do it right fucking now - it's the best thing on the web you can do.
16:01
justatest
16:02
its happening
16:03
(removing python 2 from debian)
16:03
ddnet-scripts needs fixing
16:03
it uses python2 xD
Avatar
Rip python2, you won't be missed
Avatar
I tried updating it once
16:04
not sure what problems I encountered
Avatar
Veery big problem with ddnet-scripts is the disk caches we use
16:05
The upgrade needs to be instant and recalculate everything from scratch. Python3 version of diskcache chokes hard on the python2 saved caches
Avatar
@Jupstar ✪ hm, do we really want to have translations for the 50 or so error messages for graphics? 😄
Avatar
Avatar
Learath2
The upgrade needs to be instant and recalculate everything from scratch. Python3 version of diskcache chokes hard on the python2 saved caches
How about we use materialized views for the entire website and cache nothing? I might be motivated to do that
Avatar
what does "materialized views" mean?
Avatar
Now this is a group of words idk. Materialized views?
16:06
Ah sql ones
16:06
Yeah, I had something similar in mind
Avatar
Avatar
heinrich5991
what does "materialized views" mean?
Yes, SQL, a view stores the query to access a table, then you can easily select from it and the more complex query is executed
16:07
A materialized view doesn'T just store the query but also the result, so you can actually get it faster
Avatar
fokkonaut
16:07
fokkonaut you nice server
Avatar
is that always up-to-date? or can you tell it to lag behind to save processing time? (edited)
Avatar
Roolpo on me
16:07
😄
16:07
🙂
Avatar
@HahahoupasGR use DMs
Avatar
It lags behind in the current implementation in all common databases (mysql, postgres)
Avatar
nice
Avatar
oh thats nice
Avatar
There is work in postgres to auto-update it
Avatar
I like that
Avatar
so this is like a on-db cache?
Avatar
sounds like a good use case for a db ^^
Avatar
^ ^
16:08
a
Avatar
stop spamming
Avatar
ur annoying
Avatar
❤️
Avatar
And I'm going to start working on a product that does these materialized views for an existing database: https://materialize.com/ So I might start implementing something, it would be a postgres backend though
Materialize is a streaming SQL database for real-time applications, live dashboards, and streaming data pipelines. It provides the simplicity of SQL queries, but with millisecond-level latency for real-time data.
Avatar
postgres best
Avatar
(auto-updating instantly)
Avatar
as long as what we use is open source
16:09
i dont mmind
Avatar
Avatar
deen
It lags behind in the current implementation in all common databases (mysql, postgres)
I never checked how these work. When does it get updated?
16:09
Manually?
Avatar
Yes, you run a refresh command
Avatar
And does refresh lock?
Avatar
then it drops everything and the DB lags for 10 minutes?
Avatar
https://github.com/sraoss/pg_ivm is the repo for the in-progress work for incremental mat views
IVM (Incremental View Maintenance) implementation as a PostgreSQL extension - GitHub - sraoss/pg_ivm: IVM (Incremental View Maintenance) implementation as a PostgreSQL extension
Avatar
ohh incremental too
Avatar
Avatar
deen
@Jupstar ✪ hm, do we really want to have translations for the 50 or so error messages for graphics? 😄
I dunno. Better than answering the question in question every time
Avatar
Oh and yes that, is refresh incremental currently?
Avatar
Avatar
heinrich5991
then it drops everything and the DB lags for 10 minutes?
REFRESH MATERIALIZED VIEW REFRESH MATERIALIZED VIEW — replace the contents of a materialized view Synopsis REFRESH MATERIALIZED VIEW [ CONCURRENTLY …
Avatar
Avatar
Learath2
Oh and yes that, is refresh incremental currently?
Right now every refresh in mysql/postres is a full recalculation, thus expensive
Avatar
I can imagine that being a pretty hard problem to solve for dbms ppl
Avatar
Yes, that's the hope with Materialize, that it's too complex and better solved in an on-top-solution where your changes are streamed (via Change Data Capture)
16:13
This blog post on the topic is a nice motivation: https://lironshapira.medium.com/data-denormalization-is-broken-7b697352f405
Why it’s impossible to write good application-layer code for everyday business logic
Avatar
medium meh
16:14
it always looks so uggly
Avatar
Avatar
Jupstar ✪
I dunno. Better than answering the question in question every time
But when we get the error message in Russian it will be harder for us to understand 😄 Can the user do anything with Submitting to graphics queue failed. or No vulkan queue family properties found.?
16:17
The ones with an action like Failed during initialization. Try to change gfx_backend to OpenGL or Vulkan from settings_ddnet.cfg in the config directory and try again. seem helpful
Avatar
Mh hard part is just to distinguish between both
16:18
Then I've to extend the error strings by a is translatable string
16:19
Open am issue and tag me then i do it soon: tm:
Avatar
I noticed that there are lots of new strings to translate for 16.7, not sure if we win anything by translating these very specific error messages or just confuse the translators and create additional work for us to translate the errors back into English. But when we get the error message in Russian it will be harder for us to understand 😄 Can the user do anything with "Submitting to graphics queue failed." or "No vulkan queue family properties found."? The ones with an action like "Failed ...
16:21
bd815a0 Swap times should be per player, not per team (fixes #6155) - def- b36726b Merge #6156 - bors[bot]
Avatar
Avatar
Jupstar ✪
Then I've to extend the error strings by a is translatable string
alternatively, include an error code
16:23
rustc does it
16:23
V-0001
16:23
to V-0015
Avatar
did you notice it's just a couple of numbers short of 888888?
16:27
Avatar
true lol
Avatar
Avatar
heinrich5991
alternatively, include an error code
Yeah could do that too^^
Avatar
Avatar
heinrich5991
did you notice it's just a couple of numbers short of 888888?
Let's create some ddnet issue xdd
Avatar
496b911 Add -DSECURITY_COMPILER_FLAGS=OFF option - def- 4e86bf0 Describe some more cmake flags - def- 5016c70 Merge #6221 - bors[bot]
Avatar
You are too late, some issues are not visible because they might have been deleted or are security relevant
Avatar
I've got a sample of a failed map download, anyone interested in debugging this?
Avatar
They are higher already @heinrich5991 https://bugs.gentoo.org/888890
Avatar
Avatar
murpi
I've got a sample of a failed map download, anyone interested in debugging this?
Got full logs? You could put them in an issue
16:50
404 for me
Avatar
Avatar
deen
Got full logs? You could put them in an issue
I just got the map and the temp file, that's it
Avatar
Yes, because the issue is deleted or you don't have permissions to see it
Avatar
Avatar
deen
Yes, because the issue is deleted or you don't have permissions to see it
got it
16:50
thanks xd
Avatar
They might have a policy where a crash report is always marked as possibly security relevant initially, and only unmarked when a dev took a look
Avatar
a
17:13
hey
17:13
hi
Avatar
@heinrich5991 this guy has only been spamming now
17:14
maybe do smth
Avatar
sry it was my littlbe brother
17:15
I'm gonna remove his disc 😄
Avatar
@heinrich5991 Can you ban him, it's ok if not? It's my little brother. He won't let me remove his disc rn. I forgot to uninstall it from his windows partition. I have done so from his linux one. The above messages are the proof you need tbh (to know his my lil bro). (edited)
Avatar
i can start spreading misinformation to troll but the situation is already too funny xd
Avatar
D: I could take his hardrive or his whole pc but banning him should appear to him as it should. He did smth wrong and was punished for it by a 3rd party.
Avatar
ChillerDragon BOT 2023-01-03 18:30:26Z
@Mr.Gh0s7 omg is that roolpo? is that ur lil brota? can you please unbind his chat key or teach him some english bruu none of his sentences make any sense
Avatar
lol sry. Ok will do. Idk if he knows how to binds keys tho
Avatar
68625dd Implement exact matches in search and exclude strings - def- 6d3af74 Merge #6180 - bors[bot]
18:42
I encountered this issue when I tried to dump_log, dump_antibot and status using 1 bind on a populated server. With some testing, I noticed that every single time i hit the bind, I can only receive 174 lines (6 pages) of rcon before it stops, and doesn't finish printing everything. When I hit this bind on a populated server, it causes me to be unable to read/send messages, emotes, but I can still play and interact with the game for about a minute, after that I get timed out. The bind used: b...
wtf 1
Avatar

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-ad...
Avatar
Should we update this list of releases: https://github.com/ddnet/ddnet/blob/6d3af742dd1aec107cffcd2fe49d80eaea973e19/other/ddnet.appdata.xml#L40-L83 ? Or should we just get rid of the list so we don't have to maintain it?
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
not sure, what is it good for?
Avatar
It would show a list of releases with their release dates in package managers that use this type of file
21:21
Not really useful to maintain this separately IMO. We can just link to the downloads page that contains all releases.
👍 1
Avatar
Restructured CSaveTeam a bit, because I also needed access to CGameWorld. I don't store pointer to IGameController in CSaveTeam anymore, because we pass CSaveTeam to the database thread. If it would be accessed there, it could cause a race conditions.

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to in...
Avatar
Closes #6168. Not resetting the team when restarting requires too much effort for a feature that would only be active with the non-default sv_rejoin_team_0 0 setting. If the restart command is used for testing a map or for tournaments, it would be easy enough as a workaround to create a bind to join a specific team after restarting, so I don't think this is necessary.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in...
Avatar
dd4e2d6 Send updated teams state to clients after resetting round - Robyt3 dfe0ec3 Restart client race demo when round is restarted - Robyt3 2163691 Refactor team state unpacking - Robyt3 4ca0506 Merge #6227 - bors[bot]
Exported 178 message(s)