IRC logs for #openttd on OFTC at 2023-10-03
            
01:01:31 <DorpsGek> [OpenTTD/team] WenSimEHRP opened issue #454: [zh_CN] Translator access request https://github.com/OpenTTD/team/issues/454
01:42:51 *** Wormnest has quit IRC (Quit: Leaving)
01:46:07 *** gelignite has quit IRC (Quit: Stay safe!)
01:49:51 *** HerzogDeXtEr has quit IRC (Ping timeout: 480 seconds)
02:27:24 *** debdog has joined #openttd
02:30:55 *** godbed has quit IRC (Ping timeout: 480 seconds)
03:02:35 *** Flygon has quit IRC (Read error: Connection reset by peer)
03:03:05 *** Flygon has joined #openttd
03:19:30 *** pm has joined #openttd
03:20:03 *** pm is now known as Guest2001
03:25:51 *** planetmaker has quit IRC (Ping timeout: 480 seconds)
03:38:07 *** keikoz has joined #openttd
03:49:23 <DorpsGek> [OpenTTD/workflows] dependabot[bot] opened pull request #37: Upgrade: Bump urllib3 from 1.26.16 to 1.26.17 in /cdn https://github.com/OpenTTD/workflows/pull/37
05:31:10 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:02:16 *** nielsm has joined #openttd
06:27:04 <peter1138> MCF1stPass::EliminateCycles is a strange thing...
06:41:08 *** nielsm has quit IRC (Ping timeout: 480 seconds)
07:00:36 * andythenorth reading about action 1
07:15:54 <peter1138> Don't do it.
07:17:18 <peter1138> Hmm, so, should I change these other std::fill to std::array::fill or keep it generic...
07:24:37 <andythenorth> peter1138: I'd rather not 😛 But nml spriteset constraint - goes it throw out?
07:32:53 <peter1138> Balls, I tried to simplify something and it all works except previously it was sorted in a specific way and now it's not :(
07:39:42 <peter1138> Ah, I can use the comparer argument of std::map.
07:52:48 *** gelignite has joined #openttd
08:04:32 <andythenorth> I have learnt that I don't know enough about action 1 😛
08:04:51 <andythenorth> I only ever used simple action 1 in nfo
08:05:00 <andythenorth> and nml hides it all away, except when it doesn't
08:05:38 <peter1138> Huh, how is it after 9 already :(
08:06:07 <peter1138> Oh?
08:07:06 <peter1138> Hmm, abusing semantic HTML is still abuse :(
08:07:14 <andythenorth> what did you do
08:07:50 <peter1138> Thinking about using <section> <article> <header> so I don't need to have class="xxx" all over the place...
08:07:53 <peter1138> Bt
08:08:19 <peter1138> But... it's not really a structured document. It's just different parts of the page layout.
08:08:21 *** HerzogDeXtEr has joined #openttd
08:08:28 <andythenorth> I have nothing 😛
08:08:44 <andythenorth> somewhere, early in html, somebody wrote a blog post about 'classes are bad'
08:08:48 <andythenorth> wish they hadn't 😛
08:09:46 <LordAro> ooh, python 3.12
08:10:27 <peter1138> Classes are fine but the cascading part of CSS allows for more than just slapping classes on every element.
08:15:45 <andythenorth> peter1138: yes, but then you get specificity issues, and you have to learn the algebra
08:15:54 <andythenorth> then someone puts !important somewhere and the game ends
08:16:13 <andythenorth> css should have had namespaces, but eh, that ship sailed
08:16:38 <andythenorth> namespaces can actually be faked, but it's a kludge
08:22:28 <peter1138> That works both ways, adding class tags everywhere means you have tons of boiler-plates to change if you want to tweak things, and you can still mess it up with css modification.
08:23:01 <peter1138> Okay, I don't need to std::find an element in a vector if the thing I'm comparing is already a pointer into that vector. D'oh.
08:23:37 <andythenorth> it's probably a YMMV, but most of the classes I write are inside templating loops
08:23:39 <andythenorth> or macros
08:23:48 <andythenorth> and they have long names, so they're find-replaceable
08:25:55 <andythenorth> eh I only really write 2 types of html also:
08:25:55 <andythenorth> * it's part of an application and will get millions of page views, so can be engineered properly
08:25:55 <andythenorth> * or it's a web page and will get hundreds of views, so it doesn't matter that much (hello, inline styles)
08:26:26 <peter1138> Heh
08:27:36 *** nielsm has joined #openttd
08:28:54 <andythenorth> inline styles get me some grief, but they're legit within the spec
08:34:50 <peter1138> I had a phase of trying to eliminate all inline styles. I think I even set the appropriate content security policy to stop it.
08:35:26 <peter1138> (But that was when I worked on PCI-DSS stuff, so anything that could tick auditors boxes was used.)
08:41:13 *** Flygon has quit IRC (Remote host closed the connection)
08:43:30 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11349: Codechange: Simplify usage of GRFFile cargo_map. https://github.com/OpenTTD/OpenTTD/pull/11349#pullrequestreview-1654666915
08:47:38 <LordAro> https://godbolt.org/z/GfEMdGTo4 the different optimisations are interesting
08:54:45 <peter1138> I have no biscuits, only cookies...
08:55:28 <peter1138> LordAro, that's because 0xFF isn't uint8_t.
08:55:44 <peter1138> lea
08:55:46 <peter1138> Er
08:56:13 <peter1138> If you use `uint8_t{0xff}` in the first one, the optimisation is the same.
08:56:43 <peter1138> So yes, std::fill needs care with the fill parameter.
08:56:56 <peter1138> .fill() already knows the type.
08:58:33 <peter1138> Hmm, and apparently I forgot about that when I use `std::fill(..., CT_INVALID)`, as CT_INVALID isn't actually a CargoID (yet).
08:59:24 <peter1138> enum CargoType : uint8_t would be an interim fix :)
09:00:36 <_jgr_> It applies the optimisation anyway if you use -O2 instead of just -O
09:00:56 <peter1138> Hmm, so it does.
09:01:31 <peter1138> And without -O, .fill is much shorter.
09:03:27 <peter1138> Interesting that with -O2 it does +224 first...
09:04:13 <peter1138> clang fills it in reverse.
09:04:57 <LordAro> without -O it's just a function call to the stdlib :p
09:07:06 <peter1138> clang's unoptimized version is shorter than gcc's. Hmm.
09:08:30 <peter1138> Also if you use a value other than 0 or 255, both compilers use a preinitialized data chunk, but clang creates it for each function, gcc reuses it.
09:12:13 <peter1138> If the array size is a certain size it just calls memset.
09:12:54 <peter1138> Seems to be > 256 :)
09:13:12 <peter1138> Ah but depends on the types.
09:13:15 <peter1138> And the value.
09:13:24 <peter1138> I should do some work.
09:54:38 <peter1138> Elevenses!
09:55:03 <pickpacket> Lunch!
10:16:22 *** virtualrandomnumber has joined #openttd
10:16:33 *** virtualrandomnumber has quit IRC ()
10:48:12 <andythenorth> Eye test!
10:53:28 <merni> talltyler: Why not review 11344 and 11342 so that it will go down even further :p
10:55:34 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #11342: Fix #10763, Fix #11168: Display variant groups that consist only of unavailable sub-groups https://github.com/OpenTTD/OpenTTD/pull/11342#pullrequestreview-1654921840
10:55:53 <peter1138> 11342 is basically fine, it just need 11344 before merge :)
10:56:11 <peter1138> LOL
10:56:14 <peter1138> 11343
10:56:15 <peter1138> Silly me.
10:57:17 <DorpsGek> [OpenTTD/OpenTTD] PeterN approved pull request #11344: Fix #11261: Set number of items correctly when choosing available airport class https://github.com/OpenTTD/OpenTTD/pull/11344#pullrequestreview-1654924617
10:58:07 <peter1138> Sadly I don't think I can remove a miss-linked PR :(
10:58:48 <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #11344: Fix #11261: Set number of items correctly when choosing available airport class https://github.com/OpenTTD/OpenTTD/pull/11344
10:58:51 <DorpsGek> [OpenTTD/OpenTTD] glx22 closed issue #11261: [Bug]: Airport menu selectability after closing window on a class with no available airports https://github.com/OpenTTD/OpenTTD/issues/11261
11:02:22 <_pruple> 👍
11:08:34 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #11343: Fix: Check for engine variant loops during NewGRF initialization. https://github.com/OpenTTD/OpenTTD/pull/11343#pullrequestreview-1654941733
11:14:36 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11343: Fix: Check for engine variant loops during NewGRF initialization. https://github.com/OpenTTD/OpenTTD/pull/11343
11:14:40 <peter1138> Thanks :D
11:15:49 <peter1138> merni, you can update your bit now :D
11:16:21 <merni> All right
11:27:52 *** Eddi|zuHause has quit IRC (Read error: Connection reset by peer)
11:28:32 *** Eddi|zuHause has joined #openttd
11:34:24 *** Eddi|zuHause has quit IRC (Remote host closed the connection)
11:35:01 *** Eddi|zuHause has joined #openttd
11:52:36 <DorpsGek> [OpenTTD/OpenTTD] merni-ns updated pull request #11342: Fix #10763, Fix #11168: Display variant groups that consist only of unavailable sub-groups https://github.com/OpenTTD/OpenTTD/pull/11342
11:52:43 <merni> Done!
12:06:05 <DorpsGek> [OpenTTD/OpenTTD] PeterN approved pull request #11342: Fix #10763, Fix #11168: Display variant groups that consist only of unavailable sub-groups https://github.com/OpenTTD/OpenTTD/pull/11342#pullrequestreview-1655036573
12:43:19 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #11342: Fix #10763, Fix #11168: Display variant groups that consist only of unavailable sub-groups https://github.com/OpenTTD/OpenTTD/pull/11342
12:43:22 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed issue #10763: [Bug]: Wrong list of vehicles to replace with vehicles groups https://github.com/OpenTTD/OpenTTD/issues/10763
12:43:25 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed issue #11168: [Bug]: Vehicle group not shown if it consist of unavailable subgroups with available vehicles https://github.com/OpenTTD/OpenTTD/issues/11168
13:19:20 <DorpsGek> [OpenTTD/team] liimee opened issue #455: [id_ID] Translator access request https://github.com/OpenTTD/team/issues/455
13:28:26 *** ahyangyi has quit IRC (Quit: User went offline on Discord a while ago)
13:46:30 *** nielsm has quit IRC (Ping timeout: 480 seconds)
13:53:48 <DorpsGek> [OpenTTD/team] glx22 commented on issue #454: [zh_CN] Translator access request https://github.com/OpenTTD/team/issues/454
13:54:23 <DorpsGek> [OpenTTD/team] glx22 commented on issue #455: [id_ID] Translator access request https://github.com/OpenTTD/team/issues/455
14:26:21 <peter1138> https://www.reddit.com/r/openttd/comments/16yqj45/another_question_how_to_stop_losing_money/
14:28:47 <peter1138> Hmm, how would you sort NewGRF stations other than by name?
14:45:56 <frosch123> classes or individual station types?
14:46:29 <frosch123> classes then to have prefixes, so alphabetic
14:46:55 <frosch123> station types are more a visual thing, so i don't tihnk there is a meaningful order, other than grf-defined
14:47:37 <frosch123> usually plain ground tiles are listed first, followed by random buildings
15:03:59 <peter1138> Individual types.
15:04:15 <peter1138> Problem with grf-defined is the only way to define that is by ID.
15:05:06 <peter1138> Maybe just add a sort parameter.
15:08:53 <frosch123> yes, some kind of "sort key" property, then sort by ("sort key", "id"), so if all "sort key"s are the same, id is used
15:09:12 <frosch123> no idea why stations brought it up, but the same would make sense for objects
15:09:18 <frosch123> no idea how track types do it
15:09:35 <frosch123> but i assume noone likes the vehicle method :p
15:10:12 <frosch123> oh, also industries: YETI prefixed industries with numbers and letters to sort them
15:10:32 <frosch123> though not sure whether anyone else would use that
15:12:06 <peter1138> Track types just have a separate number.
15:12:43 <peter1138> Along with a default value that is based on a bit-shift and is largely pointless -- if you're going to sort, you could just as well set the order for every time.
15:13:32 <peter1138> Industries are just sorted by name. Cargos are mostly sorted by name.
15:27:25 <DorpsGek> [OpenTTD/nml] glx22 opened pull request #308: Codechange: Reduce register usage for BinOp https://github.com/OpenTTD/nml/pull/308
15:32:10 <andythenorth> frosch123: I have never found a single thing to dislike about the vehicle method ;P
15:33:24 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1158788905559146538/image.png?ex=651d85c4&is=651c3444&hm=e2dab3c04336ec766c069d37ab23491f346565338b81dce3c2494342376f0afe&
15:33:24 <andythenorth> the object sorting...I circumvented caring about it because FIRS objects are in classes per industry
15:34:16 <andythenorth> after that the order is controlled by ID, but I can set order per industry because I reserve 100 IDs per industry type
15:35:03 <andythenorth> changing order "breaks" savegames, but it's hardly catastrophic if one shed changes to another similar shed
15:35:44 <andythenorth> should we have more ways to filter stations? Probably terrible scope creep eh? 😛
15:36:12 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1158789607387844698/image.png?ex=651d866b&is=651c34eb&hm=4392412681507c2fd033e8e7215fc6a7219edd8e0eaaf1ed67a77e62e686da78&
15:36:12 <andythenorth> I've classed them by ground type
15:36:29 <andythenorth> but what if you wanted 'all tiles with cargo' or 'all sheds' or 'all tiles with flowers'?
15:37:40 <peter1138> Ah, vehicles work in... a way.
15:38:47 *** D-HUND has joined #openttd
15:42:07 *** ahyangyi has joined #openttd
15:42:07 <ahyangyi> What's the vehicle method? The groups?
15:46:06 <andythenorth> it's a simple property
15:46:23 <andythenorth> https://newgrf-specs.tt-wiki.net/wiki/Action0/Vehicles/Trains#Sort_vehicle_list_.281A.29
15:46:28 <andythenorth> actually one of my favourite properties
15:46:55 <andythenorth> "it's not a property"
15:48:58 <ahyangyi> Nice
15:50:32 <andythenorth> wonder if we can replace "but Andy's MBP" with "frosch suggested BGT"
15:53:14 <frosch123> i don't follow the memes, what is "MBP"?
15:53:43 <_glx_> macbook pro
15:54:17 <andythenorth> we're moving our infra to it
15:54:20 <frosch123> i regret asking
15:54:21 <peter1138> Context... https://news.ycombinator.com/item?id=36706453
15:55:15 <alfagamma7> The old meme
15:55:39 <andythenorth> ButMemeTypes
15:55:54 <peter1138> That's pretty new.
15:56:05 <peter1138> Older ones involve DHCP servers.
15:56:17 <alfagamma7> Anything older than a week is old I think? Maybe???
15:56:37 <peter1138> Not here.
15:56:53 <alfagamma7> Ah
15:59:48 <andythenorth> "XML for grf" was the dominant meme when I joined
16:00:01 <andythenorth> I think they all have to have a TLA in it seems
16:09:08 *** keikoz has joined #openttd
16:10:46 <peter1138> Wait, is it top, right, bottom left?
16:11:10 <peter1138> Yes.
16:13:36 <peter1138> Okay my scss compiler is doing something wrong with variables.
16:16:16 <peter1138> Using var(--...) instead of $... works. Joy.
16:16:34 <peter1138> Oh well, I can guess I pass on the variables to CSS instead of handling them in scss :D
16:19:15 <FLHerne> frosch123: the MBP thing has been going on since https://news.ycombinator.com/item?id=36706453
16:19:41 <frosch123> yes, peter linked that above
16:20:14 <FLHerne> hm, I don't see it but there's a gap from 1653 to 1700
16:20:50 <frosch123> 1654 🙂
16:34:45 <LordAro> truebrain: "mounts - (deprecated: Replaced by mount in 1.0.1" well that's an hour of my life i won't get back
16:35:41 <truebrain> Lol. Well, only an hour 😛
16:35:48 <truebrain> What software was that?
16:37:06 *** garlic_bread42 has quit IRC (Quit: User went offline on Discord a while ago)
16:39:53 <FLHerne> well that was good timing
16:44:46 <LordAro> truebrain: nomad
16:45:15 <truebrain> Lol .. well .. such is life 😛
16:45:17 <LordAro> although i can't find any evidence it's actually been removed...
16:47:30 <LordAro> ...and i'm still getting `Invalid label: No argument or block type is named "mount".` ;_;
16:49:22 <truebrain> What does mount do? Don't you need volume_mount?
16:50:53 <LordAro> no, this is something that needs a tmpfs mount
16:50:54 <LordAro> apparently
16:51:19 <LordAro> and i've just realised that this is all because i'm in podman rather than docker
16:51:27 <LordAro> podman does things differently
16:51:45 <truebrain> Haha, lol
16:58:06 *** Wolf01 has joined #openttd
17:05:34 <andythenorth> hmm the XMl-for-grf meme doesn't work any more
17:06:45 <truebrain> it never worked
17:16:47 <peter1138> Well.
17:17:21 <peter1138> 1 hour. That's like 3600 seconds. DHCP can tell you that.
17:18:11 <andythenorth> my grf templater is XHTML-compliant, and XHTML is XML conformant
17:18:16 <andythenorth> so all my grfs are in XML 😛
17:19:56 *** Wormnest has joined #openttd
17:32:56 * andythenorth reading HEQS nfo to see how action 1 works
17:32:58 <peter1138> Chasing some awkward margin/padding/font-size stuff... and it turned out to be the dreaded line-height.
17:33:02 <andythenorth> nfo: a simpler time
17:33:12 <andythenorth> line-height can get in the see
17:33:18 <andythenorth> sea / see /s
17:34:07 <andythenorth> nfo is really easy it, it has all the // comments 😛 https://github.com/andythenorth/heqs/blob/main/sprites/nfo/foundry_transporters/grindelwald_foundry_transporter.pnfo
17:34:53 <frosch123> how many spritesets does iron-horse have?
17:35:29 <frosch123> if grfs have less than 64k spritesets, NML could put everything into a single action1, which you can reference anywhere in the grf
17:36:17 <frosch123> that was the plan for NML 10 years ago. but i am unsure whether it keeps up with today's grf size
17:45:50 *** squirejames has quit IRC (Quit: User went offline on Discord a while ago)
17:47:41 <andythenorth> there's something in stations that doesn't work with that
17:47:46 <andythenorth> can't remember what
17:48:25 <andythenorth> /me tries to count Iron Horse
17:48:29 <andythenorth> `nmlc info: Concurrent spritesets: 1/255 ("generated/iron-horse.nml", line 257)`
17:49:08 <andythenorth> ok Iron Horse has 15058 spritesets
17:50:09 <peter1138> So nmlc doesn't use extended action 1, which allows more than 255?
17:50:47 <frosch123> most importantly it allows replacing a subset of them, instead of all at once
17:51:11 <frosch123> so essentially it becomes a 64k concurrent spritesets
17:52:01 <frosch123> hmm, oh, so it is actually not necessary to put everything into a single action1, i forgot that 🙂
17:52:33 *** D-HUND has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
17:53:33 <andythenorth> right I think the only problem with a single spriteset for stations was that it precludes use of custom_spritesets
17:53:43 <andythenorth> but that wasn't essential, the station spec is...flexible 😛
17:53:55 <peter1138> Hmm, you can't use bit 15 of the real sprite group though (that marks a callbak result), so 32767?
17:54:14 <andythenorth> but yes, action 1 has some 'multiple action 1 spritesets' thing that I don't fully understand
17:55:23 <peter1138> Let me guess, you've never used multiple consecutive id action 0 either?
17:55:59 <andythenorth> as in, multiple action 0 declarations with the same ID?
17:56:13 <andythenorth> FIRS does that
17:56:47 <andythenorth> nml hides away action 1 completely, and I never needed to learn it for nfo grfs
17:59:43 <_glx_> But nml doesn't track action1 IDs, and a given action1 is still limited to same size spritsets
18:03:13 <andythenorth> yes
18:03:18 <andythenorth> this is how this came up 🙂
18:03:57 <andythenorth> I wondered if I could patch nml, but I'm impaired by total ignorance about action 1 🙂
18:04:42 <andythenorth> also action 1 are unique per feature type?
18:04:57 <andythenorth> so trying to avoid duplicate realsprites across stations / road stops / objects won't work anyway?
18:05:30 <frosch123> action features are mostly propaganda
18:05:40 <frosch123> they want you to believe they matter
18:07:19 <andythenorth> so option (A) do something about nml (B) generate one spriteset for the whole grf and index into it as needed
18:16:29 *** Tirili has joined #openttd
18:19:46 *** blathijs has quit IRC (Quit: brb)
18:20:06 *** blathijs has joined #openttd
18:20:06 *** ChanServ sets mode: +o blathijs
18:39:48 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/7145b7060aa00c3dbd60e05c51d7c275f016f825
18:39:49 <DorpsGek> - Update: Translations from eints (by translators)
19:20:02 *** Flygon has joined #openttd
19:25:39 <LordAro> truebrain: https://github.com/hashicorp/nomad-driver-podman/issues/290 for your enjoyment
19:26:08 <truebrain> Nice 😄
19:35:59 <truebrain> Lol, so it parses it fully as path; fantastic 😄
19:36:47 *** gelignite has quit IRC (Quit: Stay safe!)
19:38:11 <frosch123> why do you pass it as array [], and the inspect returns it as a dict {}?
19:38:35 <frosch123> never used that stuff, but looks weird 🙂
19:43:16 <LordAro> one is passing the arg in for creating, the other is parsing the output to inspect
19:43:48 <LordAro> in the original issue there is "I reckon time will show if anything more sophisticated will ever be needed."
19:54:05 <andythenorth> "one giant spriteset for the whole grf" kind of throws away the point of spritesets?
19:55:15 <frosch123> just for the record: i did not suggest 1 spriteset :p
19:56:25 <frosch123> or at least i did not meant that
19:56:44 <_glx_> I think the ideal way is nml tracking spriteset count, and create extended action1s
19:57:06 <frosch123> yes
19:57:26 <andythenorth> 1 giant spriteset is my suggestion, it might be bad
19:57:36 <andythenorth> I can do it in the compile, and write an index resolver
19:57:47 <andythenorth> so I basically write AndySpriteset locally
19:57:50 <frosch123> thought since "spriteset" are defined separately in the nml source, nmlc could just ignore them not being same size, and generate multiple action1
19:59:05 <_glx_> currently nmlc tries to put as much spriteset as possible into one action1
19:59:26 <_glx_> as long as they have the same size
20:04:25 <andythenorth> `${andy_spriteset("sprite_label"}` 😛
20:11:24 <andythenorth> maybe not
20:22:47 <DorpsGek> [OpenTTD/bananas-frontend-web] GarlicBread42 commented on issue #227: Bananas re-starting file-upload when uploading an update https://github.com/OpenTTD/bananas-frontend-web/issues/227
20:32:26 <frosch123> ok, using a larger file i can reproduce it now
20:51:43 <frosch123> with 20MB it still worked
20:54:21 *** garlic_bread42 has joined #openttd
20:54:21 <garlic_bread42> last GETS i've uploaded was smth like 240MB, this worked flawless.
20:55:46 <frosch123> oh, that CORS stuff was just noise. the error is actually 413 request entity too large
20:56:10 <frosch123> i tried uploading 313MB, which fails
21:01:42 <garlic_bread42> is this something fixable?
21:02:25 <frosch123> there is probably some limit configured somewhere, just need to find where
21:03:30 <garlic_bread42> allright, thank you so far :)
21:04:51 <DorpsGek> [OpenTTD/bananas-frontend-web] frosch123 commented on issue #227: Bananas re-starting file-upload when uploading an update https://github.com/OpenTTD/bananas-frontend-web/issues/227
21:06:43 <truebrain> Wasn't the whole point of tusd that we didn't had that issue? 😄
21:07:06 <frosch123> tusd itself has a max-size parameter, which we do not set, and which defaults to zero
21:07:20 <truebrain> Phew 😛
21:09:31 <frosch123> in the container it is stored in /new-package/tus, which does not seem to be a tmpfs
21:10:08 <truebrain> It has like 30GB in production there; so that shouldn't be an issue
21:10:10 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:10:28 <truebrain> The whole container instance is basically a tmpfs
21:10:38 <truebrain> (Not really, but good enough)
21:12:14 <truebrain> Most likely nginx, but the point of tusd is that it does chop the upload in smaller pieces
21:12:33 <truebrain> Guess that functionality got lost along the way .. we did test that once upon a day 😄
21:13:16 <frosch123> yeah, it does not do that, it's a single PATCH request
21:13:29 <frosch123> hmm, maybe that's the max-size setting
21:14:04 <truebrain> Weirdly, docs suggest the default is 1m
21:18:26 <frosch123> ok, looks like we need to set "chunkSize" on the client side
21:18:38 <frosch123> it defaults to "infinity", so it attemps a single PATCH
21:19:00 <truebrain> weird that it used to work 😛
21:19:11 <truebrain> I always imagined it ran into a 413, and started to chunk from there
21:21:08 <truebrain> I also expected an error in the nginx logs about it; but nothing I can see 😦
21:22:55 <truebrain> ah, Cloudflare limits it to 100MB 🙂
21:23:28 <frosch123> truebrain: did you test with uploads > 100MB?
21:23:39 <truebrain> when we created the system, yes
21:23:43 <frosch123> i don't think there has been an abase/zbase release since new-banannas
21:23:52 <truebrain> I used abase to test it a lot, back in the days 🙂
21:24:13 <truebrain> but it is not unlikely, that all our infra allows for big chunky uploads, even in a single PATCH
21:24:19 <truebrain> just now with Cloudflare in between, it gets denied 😛
21:25:25 <truebrain> yeah, it is not the origin (Cloudflare lingo for: our server), but it is the edge (Cloudflare lingo for: its us)
21:25:32 <truebrain> okay; so yeah, we need to set a chunkSize 😄
21:25:47 <frosch123> https://github.com/tus/tus-js-client/blob/main/docs/api.md#chunksize
21:25:53 <frosch123> lot's of "don't use this"
21:26:02 <frosch123> what is your gut feeling, what chunksize to use?
21:26:09 <frosch123> 10MB, 50MB ?
21:26:28 <truebrain> no more than 100MB; so 90, or 50. Both are fine. The smaller, the worse
21:26:45 <truebrain> I can imagine the big fat warning is because of TCP windowing
21:26:52 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:27:09 <frosch123> what is the comment syntax in js? :p
21:27:17 <truebrain> `//` or `/* */`
21:27:19 <truebrain> both are fine
21:27:51 <truebrain> seems we used `/* */` in all places
21:27:57 <truebrain> so not "both are fine" 😛
21:28:16 <truebrain> tnx for looking into this frosch123 🙂
21:28:42 <frosch123> "all places"? there is not a single comment in uploader.js
21:28:45 <truebrain> after PR, you can add the "preview" label, and test if it fixes anything on bananas-preview.openttd.org
21:28:52 <truebrain> frosch123: there are more javascript files in that same folder 🙂
21:29:07 <truebrain> it is pretty clear who wrote what javascript file tbh 😛
21:29:35 <truebrain> me: adds 100 comments
21:29:38 <truebrain> frosch: IEUW JAVASCRIPT IEUW
21:29:39 <truebrain> 😛
21:29:40 <truebrain> 😄
21:30:14 <truebrain> owh, lol, the `onError` is causing the cyclic behaviour 😄
21:30:15 <truebrain> that is funny 😛
21:31:03 <truebrain> hmm, no, that is bullshit; it doesn't
21:31:10 <truebrain> curious it keeps trying then ..
21:31:37 <truebrain> what-ever .. you found the issue, I can confirm it is Cloudflare; all that matters here 🙂
21:31:55 <DorpsGek> [OpenTTD/bananas-frontend-web] frosch123 opened pull request #229: Fix #227: we have to limit the upload chunk-size, or cloudflare will block the upload. https://github.com/OpenTTD/bananas-frontend-web/pull/229
21:32:20 <truebrain> can we also set a limit on the tusd side?
21:32:22 <frosch123> i did not write that js, stackoverlow did
21:32:44 <frosch123> there is a max-upload limit on tusd side, not a max-chunk-size
21:32:51 <truebrain> ah; yes
21:32:52 <frosch123> so you can limit it to 30 GB 🙂
21:33:24 <DorpsGek> [OpenTTD/bananas-frontend-web] TrueBrain commented on pull request #229: Fix #227: we have to limit the upload chunk-size, or cloudflare will block the upload. https://github.com/OpenTTD/bananas-frontend-web/pull/229#pullrequestreview-1656167649
21:34:01 <frosch123> you are lucky i did not use my dhcp server to write the constant without *
21:34:25 <truebrain> some jokes just stay relevant 😛
21:34:41 <frosch123> i did not adopt yet to the new MBP meta
21:34:58 <truebrain> but do you acknowledge this is all just the plague?
21:35:05 <truebrain> everything we do; just .. plague
21:35:38 <DorpsGek> [OpenTTD/bananas-frontend-web] frosch123 updated pull request #229: Fix #227: limit the upload chunk-size, or cloudflare will block the upload. https://github.com/OpenTTD/bananas-frontend-web/pull/229
21:35:47 <truebrain> ( https://www.tt-forums.net/viewtopic.php?p=1262002&hilit=plague#p1262002 for that context, in case you also missed that one 😛 )
21:35:56 <DorpsGek> [OpenTTD/bananas-frontend-web] frosch123 commented on pull request #229: Fix #227: limit the upload chunk-size, or cloudflare will block the upload. https://github.com/OpenTTD/bananas-frontend-web/pull/229#pullrequestreview-1656170341
21:36:19 <_glx_> it's known, our goal is to destroy everything
21:36:23 <truebrain> hihi, now you have to wait again for the preview to finish 😛
21:39:07 <truebrain> lol, you just see the inefficiency in the upload now 😄
21:40:14 <truebrain> lolz, you even changed your commit message 😄 Haha
21:40:35 <DorpsGek> [OpenTTD/bananas-frontend-web] TrueBrain approved pull request #229: Fix #227: limit the upload chunk-size, or cloudflare will block the upload. https://github.com/OpenTTD/bananas-frontend-web/pull/229#pullrequestreview-1656175782
21:41:02 <frosch123> since you complaind about the spelling of Cloudflare, and you edted the PR title incorrectly, I had to fix the commit message
21:41:11 <frosch123> just to "top" your title editing :p
21:41:28 <truebrain> incorrectly?! 😄
21:41:43 <frosch123> well, you did not add the capital C
21:41:49 <truebrain> haha
21:41:51 <truebrain> touche
21:41:57 <truebrain> haha 😄
21:42:11 <truebrain> there! 😄
21:42:14 <frosch123> my upload bandwidth is low, did you already upload 100MB?
21:42:41 <truebrain> I even uploaded 300MB .. the only big file I could find was YETI, so yeah ...
21:43:05 <truebrain> 1 gbit/s ftw or something
21:43:26 <frosch123> 52.43 MB per patch
21:44:10 <truebrain> "good enough", I guess 🙂
21:46:05 <frosch123> hmm, there were multiple other changes since last tag
21:47:24 <truebrain> yeah, you don't need tagging anymore
21:47:28 <truebrain> just merge, and it will go to production
21:47:36 <frosch123> oh, ok, that is new
21:47:44 <truebrain> "new", but yes
21:47:50 <truebrain> it came with the new infra
21:48:10 <frosch123> see, you call it "new" as well
21:48:24 <truebrain> well, it is the new new infra
21:48:29 <truebrain> or the new new new infra even
21:48:41 *** seljasen has quit IRC (Quit: User went offline on Discord a while ago)
21:49:08 <DorpsGek> [OpenTTD/bananas-frontend-web] frosch123 merged pull request #229: Fix #227: limit the upload chunk-size, or Cloudflare will block the upload. https://github.com/OpenTTD/bananas-frontend-web/pull/229
21:49:11 <DorpsGek> [OpenTTD/bananas-frontend-web] frosch123 closed issue #227: Bananas re-starting file-upload when uploading an update https://github.com/OpenTTD/bananas-frontend-web/issues/227
21:49:31 <truebrain> but so yeah, PRs can now go to preview (formally known as staging), and merging makes it go to production, for all these services
21:49:40 <truebrain> just means you can earlier test if things break, instead of first merging, then testing
21:50:18 <frosch123> nice
21:50:24 <truebrain> it does mean you deploy more often to production, generally speaking, but that is not a bad thing
21:50:43 <truebrain> mainly, this embrases CI/CD .. if there is an emergency, you don't have to check if there was anything else that might go to production that might hurt you 😛
21:50:58 <truebrain> like this change .. you can be 100% sure this is the only change since the last production deployment 🙂
21:51:31 <frosch123> some day we will have two open PRs :p
21:51:41 <truebrain> only one can have a preview label; so there is that 🙂
21:51:49 <truebrain> it actively removes the preview label from any other 😄
21:52:42 <truebrain> right, early morning tomorrow again ... I hate having a dayjob 😛 Not for the job, but for the early mornings 😄
21:53:06 <frosch123> garlic_bread42: you can try now
21:55:09 <garlic_bread42> thank you both for the effort :) I'm trying right now.
21:58:19 <garlic_bread42> yup, works fine!
21:58:38 <frosch123> yay \o/
21:58:55 <frosch123> i better go to sleep, before something else breaks 🙂
21:59:33 <peter1138> Did someone say Stilton?
22:03:35 *** Venemo has quit IRC (Remote host closed the connection)
22:20:13 *** tokai has joined #openttd
22:20:13 *** ChanServ sets mode: +v tokai
22:22:48 <_pruple> Stilton deez nuts
22:27:01 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
23:21:06 *** Tirili has quit IRC (Remote host closed the connection)
23:41:47 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)