Time Nick Message 04:44 technomancy I've added `assert(false)` to an existing test and run `bin/luanti --run-unittests` but everything still passes. what am I doing wrong? 04:51 technomancy https://p.hagelb.org/luanti-test-pass.html <- there are a lot of errors in the output, but the test I edited to fail ("test_require" in misc.lua) is never mentioned either as a success or failure. 08:09 sfan5 the tests don't use assert 11:18 MinetestBot 02[git] 04script@mt -> 03luanti-org/luanti: Re-generate minetest.conf.example 137045deb https://github.com/luanti-org/luanti/commit/7045deb6a884d8d1ad75a019ca95810b00ad8927 (152026-08-19T09:15:50Z) 11:19 sfan5 technomancy: actually, the solution is that --run-unittests does not run the test you edit at all 11:19 sfan5 the ones in games/devtest/mods/unittest/ are separate 14:50 technomancy https://github.com/luanti-org/luanti/pull/16036 huh, so how do you run the require tests in this branch? 15:04 Krock technomancy: to run the tests in games/devtest/mods/ you need to start up Luanti (may as well be with software rendering) in a world to execute the chatcommand 15:12 technomancy cool. what's the command? 15:12 technomancy is there a way to start it headless? 15:14 Sheriff_U3 technomancy: my guess would be /test_require would be the command 15:18 MTDiscord technomancy: i think it was /unittests but i usually have set devtest_unittests_autostart = true so i can just run something like ninja -C build/debug -j6 && ./bin/luanti --worldname unittests --go 2>&1 | grep FAIL -C 10 15:19 MTDiscord you can run server-only unittests headless by adding --server to the luanti invocation, but then you need to insert some code to request a shutdown once it's done, otherwise it'll just keep going. 15:19 MTDiscord or you just Ctrl+C it yourself after you see that the tests have run. 15:20 technomancy cool, thanks 15:21 technomancy why are the require tests in the devtest mod and not the main set? 15:23 MTDiscord because they're inherently tied to a mod. there would be ways to move them to the C++ unit tests but it wouldn't be too pretty. 15:28 technomancy oh, so the "main suite" doesn't support tests written in lua? 15:29 MTDiscord yes, at least not directly 17:00 sfan5 cheapie: i'm curious if you agree with the criticism in this article https://dmitry.gr/?r=06.%20Thoughts&proj=12.%20RV 18:02 viwooh Are there any forks of the engine without LLM assistance? 18:02 crazylad why 18:02 viwooh WDYM why? 18:02 Krock why 18:03 technomancy doesn't the policy already ban using LLM for any significant patches? 18:04 viwooh It still allows assistance beyond writing code 18:04 Sheriff_U3 viwooh: It's difficult to say because not all AI usage is obvious. Luanti though doesn't have any AI slop in the engine. 18:05 viwooh https://codeberg.org/ethical-foss/open-slopware#game-engines 18:05 Sheriff_U3 AI generated assets aren't allowed. 18:05 Sheriff_U3 oh your from those people... 18:05 viwooh What people? 18:05 technomancy viwooh: did you read the policy? 18:05 crazylad the whiny AI people 18:06 technomancy open slopware has a ton of false positives 18:06 crazylad they made an entire repo on codeberg to do nothing but whine lol 18:06 technomancy they put halloy on the list for one single commit even after they banned LLM contributions 18:06 Sheriff_U3 the people who ban anyone that disagrees with them, and who flood other projects issues 18:07 viwooh technomancy: I read the policy, and stuff like debugging with an LLM is allowed there 18:07 Sheriff_U3 A bunch of random people with no connection to Luanti flooded an issue on Luanti a few months back to voice their opinion on AI usage in the engine. 18:08 technomancy viwooh: how would you create a fork that removes the fact that someone used an LLM to debug? 18:08 technomancy that doesn't make any sense 18:08 viwooh Maybe remove the commits or something? 18:08 Sheriff_U3 When I went over to their pr on Luanti to help clear some things up I received a ban for unknown reasons. 18:08 crazylad lmao 18:08 technomancy viwooh: that doesn't make sense; the commit doesn't contain the result of the LLM usage 18:08 Sheriff_U3 lol 18:09 technomancy a contribution policy literally cannot cover things that aren't contributions 18:09 Krock viwooh: would you frame the steam engine as a "device of Satan"? AI has become a tool, like hammers. If you use it to slam on your own fingers or break glass, that's your problem. The review process in Luanti is very clear where it states that you have to know what you're doing. 18:10 viwooh I assume it still significantly contributes to climate change whenever used 18:10 technomancy sure? 18:10 crazylad what 18:10 technomancy lots of people do bad shit 18:10 technomancy you can't solve that with a contribution policy 18:11 technomancy I would love it if racists could be prevented from using luanti, but no amount of policy can change the fact that racists can use luanti. 18:11 MTDiscord viwooh: rest assured that people will "contribute to climate change" whether you use their software or not. 18:12 viwooh I don't think people on their own have as much environmental impact as LLMs 18:13 Sheriff_U3 If you want to prevent climate change then GET OFF YOUR DEVICE do you realize how much the manufacturing process of your device contributed to "climate change". 18:13 MTDiscord Don't buy a new car 18:13 MTDiscord In fact don't even buy a bicycle, or shoes 18:14 MTDiscord Even the cup you used to drink out of this morning probably needed to be shipped to your local area 18:14 technomancy I'm all for firebombing LLM data centers and shit but luanti's ban is a lot better than most projects. 18:14 technomancy openslopware needs to chill, and I say that as someone who will never touch one of those fucking slop machines in my life 18:15 Sheriff_U3 🫢 18:15 viwooh I still believe LLMs negatively impacted the climate even more than any of the day-to-day things listed 18:15 MTDiscord You've never researched the 3m manufacturing plants have you 18:16 viwooh No 18:16 MTDiscord If LLMs are giving you this panic, never look into that 18:16 crazylad lol 18:16 viwooh I'm confused now 18:16 MTDiscord I am a cognitohazard 18:18 viwooh Who to trust if I want technology to prosper without killing the planet? 18:18 MTDiscord Probably just freebsd at this point 18:19 Sheriff_U3 viwooh: an alternative might be multicaft or some other pre 5.14 fork of Luanti, but they may have AI assisted contributions themselves. 18:19 technomancy love2d has a good policy 18:21 technomancy viwooh: https://noai.starlightnet.work/list.html this is a much better list than openslopware 18:22 MinetestBot 02[git] 04sfan5 -> 03luanti-org/luanti: Add GL error check to array texture upload code 1371569b8 https://github.com/luanti-org/luanti/commit/71569b83124f583db1a757e08ce858c577ff78a7 (152026-08-19T18:20:10Z) 18:23 viwooh technomancy: Luanti still isn't listed there among the good projects... or anywhere at all 18:24 MTDiscord Well get it up there anywhere on that list 18:24 viwooh Uh... how? There aren't any contacts of some sort 18:25 MTDiscord nothing in the page source code? 18:25 viwooh IG not 18:25 crazylad https://giphy.com/gifs/oh-no-anyway-7k2LoEykY5i1hfeWQB 18:26 MTDiscord i don't think luanti belongs on that list? we aren't really "anti-ai", we just restrict its usage to what we deem best for the project. 18:26 MTDiscord I want to see luanti on any list so we get more people to make cool mods 18:27 MTDiscord FBI most wanted list luanti #38 "oh oh oh we made it! pr!!!" 18:27 ShadowBot https://github.com/luanti-org/luanti/issues/38 -- Add compilation dependencies for Fedora in README by vivien 18:27 MTDiscord oops 18:27 technomancy the policy says it can't be used for "significant contributions" 18:27 user333_ <+MTDiscord> I want to see luanti on any list so we get more people to make cool mods | mods made with AI of cou- 18:27 Sheriff_U3 viwooh: You should also note that there various security bugs that have been fixed in recent releases (5.15.1) 18:27 MTDiscord Just say every commit this project has ever had has been vibe coded so it ends up at the top 18:29 crazylad lol 18:29 viwooh So is Luanti's policy already good enough? 18:29 technomancy no one would believe it because luanti is actually good; you'd have to make it crash all the time to make it realistic 18:30 technomancy viwooh: I mean, if you think it's not, then you should explain why. you haven't really done a good job at that so far? 18:30 Sheriff_U3 viwooh: Yes, Luanti has only had one AI slop pr so far. 18:30 MTDiscord No one would believe luanti is good it's got no video on the home page 18:32 bgstack15 luatic, that's the problem. The openslop people appear to add a project to the list, if you're not 105% anti-AI. 18:32 MTDiscord I say we engineer an ai slop psyop to get the anti-ai people to believe that luanti has been ai vibe coded since 2010 using cursor brought back through a time machine 18:32 MTDiscord Then when they look for the slop... oh who am I kidding they're not gonna look at the code 18:33 crazylad XD 18:33 bgstack15 I guess I don't have a lot of exposure to AI (hah, less sunblock needed I guess), so the slopware problem hasn't affected me. What irks me is the copyright expungement engine stuff. [GPL in] -> [something not GPL-compatible is what is pooped out] 18:33 technomancy bgstack15: I think they were talking about the starlight list, not openslopware 18:33 technomancy openslopware sucks 18:33 MTDiscord open-slopware is basically like linux-libre imo 18:34 viwooh technomancy: open-slopware links merged issues where LLM assistance was disclosed, so if the policy's purpose is to disallow any use of LLMs, then it doesn't do a good job 18:34 technomancy bgstack15: jealous. I have to deal with so much slop at work it's making me lose my mind. 18:34 technomancy one guy's literally asked me to review a patch he said was "vibecoded nonsense"; I'm like ... why do you want review if you already know it sucks? wtf am I supposed to do with this 18:35 Sheriff_U3 open-slopware is in my opinion just bunch of people trying to witch hunt FOSS projects into anti-ai. 18:35 bgstack15 You should have thrown it into an AI slop receiver, and told it to say, "no" in a 30-page email reply to the guy. 18:35 rubenwardy I think we should require contributors to not eat meat 18:35 bgstack15 Sheriff_U3: yes, I agree with that assessment. 18:35 bgstack15 rubenwardy: I promise not to eat meat while coding for Luanti. 18:36 MTDiscord I also agree to save the meat for after programming so I shall probably end up starving 18:37 Sheriff_U3 I don't think I could give up eating beef, chicken, fish... 18:38 viwooh So, are there any forks with a better policy (that's also acted on, ofc) or not? 18:38 rubenwardy I should submit a PR to open slop to replace one of the links with https://github.com/luanti-org/luanti/blob/master/doc/developing/ai_policy.md 18:38 MTDiscord I am awaiting to hear of your ban from openslop 18:39 crazylad yea lol 18:39 technomancy viwooh: you haven't answered the question of what a better policy would even be 18:39 technomancy viwooh: if you have an objection to the current policy you should say what it is 18:39 rubenwardy Saw one project on openslop where they linked to some random person's comment on an issue tracker as evidence of the maintainers being bad. The person had like 2 commits in the repo, wasn't officially associated lol 18:40 MTDiscord viwooh: i'm not really aware of any "serious" luanti forks except for "commercial" ones like multicraft or extensively AI-assisted ones like goanna. if you want to use luanti, there's only really one place where it's developed, and that's here, so compromises have to be made. 18:40 viwooh technomancy: That doesn't allow any LLM-assisted contributions 18:40 MTDiscord Are there any microsoft open source projects on openslop? 18:40 technomancy viwooh: so your problem specifically is that insignificant contributions are allowed? 18:40 technomancy jordan4ibanez: microsoft loooooooves slop 18:41 viwooh technomancy: IG so 18:41 user333_ microslop 18:41 technomancy viwooh: I don't think anyone would bother creating a fork over contributinos that are by definition insignificant 18:41 technomancy what's the point? 18:41 MTDiscord Yes exactly. And if that is missing a specific company's projects then you might know who's running that to create some controversy etc 18:41 technomancy save your effort for things that are significant 18:42 bgstack15 Don't you mean "Microsoft <3 slop" 18:42 MTDiscord viwooh: if you think so strongly about this you may consider making a slop free fork, they have instructions here: https://codeberg.org/ethical-foss/open-slopware/src/branch/main/HOW_TO_SLOP_FREE_FORK.md 18:42 MTDiscord making a slop free fork of luanti also includes reverting some security fixes found with AI iirc. I'm sure that's fine 18:42 viwooh Oh, I didn't know they had that 18:42 MTDiscord Run free with your unsloppiness 18:43 Sheriff_U3 viwooh: This is the only good Luanti project, are there forks yes... But they all are worse then Luanti, they are either out of date, not FOSS, or have plenty of AI contributions. 18:44 technomancy viwooh: there *are* projects that need to be forked to remove slop! if you're interested in this, you should find one of those and help out there. 18:44 technomancy this is not one of them 18:44 viwooh Why? 18:45 technomancy why which part? 18:45 MTDiscord "No AI or LLM usage is allowed in this repo for contributions in Issues, Pull Requests, or Discussions. This includes bug finding, optimizations, security passes." okay this is just absolutely bonkers 18:45 viwooh The latter message 18:46 technomancy viwooh: I think it's pretty self-evident why it's more important to fix a project that has committed significant slop vs a project where it's only insignificant; I'm not sure how I can explain that more clearly than I already have 18:46 MTDiscord You're also going to have to use a much older compiler or language version due to the base language having ai code 18:46 technomancy well, lua is fortunately safe 18:46 technomancy but 18:47 technomancy we already are using a much older version of lua anyway >_< 18:47 MTDiscord a wise man once told me "if your code runs like shit, you're not using luajit" 18:47 technomancy luatic: you can tell it's wise because it rhymes 18:48 MTDiscord indeed 18:48 MTDiscord seriously though, i think we better follow what luajit is cooking than what the PUC team is up to 18:49 MTDiscord Puc started it but mike finished the job 18:49 technomancy I do miss working metatable iterators when using luajit; that sucks 18:49 technomancy also the closeable variables are really nice 18:49 Sheriff_U3 Is luanti using lua5.1 or luajit? 18:49 MTDiscord imo lua's design has been going somewhat downhill with 5.3+ 18:49 MTDiscord closeables are nice but defer would be the better design 18:49 crazylad Sheriff_U3: iirc, yes - luajit is based on lua5.1 18:49 MTDiscord integers are done poorly, they should not be implicit WITH WRAPAROUND ARITHMETIC 18:50 technomancy I'm so used to targeting the intersection of 5.1/5.2/5.3/5.4 that I honestly just forget the new stuff since I can't use it anyway 18:50 technomancy luckily it is mostly easy to ignore 18:50 Krock viwooh: > I assume it still significantly contributes to climate change whenever used 18:51 Krock how exactly is reverting AI contributions going to magically solve that? 18:51 MTDiscord but in the end it doesn't really matter how we feel about the language because we MUST support luajit, performance of demanding games is simply unacceptable on PUC 18:51 Krock I do not understand how you've reached to this topic after asking about contributions in Luanti 18:51 technomancy PUC 5.1; everyone can agree that suuuuuucks 18:51 technomancy nerfed coroutines =( 18:51 Sheriff_U3 Krock: wild goose chases... 18:52 viwooh Krock: Well, maybe not revert old ones, but prevent new ones 18:52 technomancy did anything happen re generational GC on luajit? 18:52 technomancy I remember reading about a very experimental branch years ago 18:53 Krock viwooh: if the current way proves to be more efficient, would it be a wise decision to reject everything? Don't get me wrong - I do not use AI for development but have found it insightful on new ideas. And that's what the policy exactly defines. It's clear what should be done and what not. 18:54 technomancy that's honestly one of the nicer things about the new PUC is the GC is a lot better 18:54 Krock s/new ideas/ideas other people already had/ 18:55 MTDiscord I'm sure the GC is quite nice while we wait for the loop to finish as luajit is now 100 server ticks ahead 18:55 viwooh technomancy: I was just told the Starlight Network list includes polyproto, which is not free of LLM... something 18:55 technomancy jordan4ibanez: luajit does pretty poorly on FP type algorithms which produce a lot of garbage 18:56 MTDiscord technomancy: well then don't do that ;) 18:56 MTDiscord jokes aside yes the situation is suboptimal 18:56 MTDiscord I have something that produces excessive amounts of garbage and the jit seems to be keeping up just fine 18:57 MTDiscord closure creation still was NYI last i checked for example 18:57 viwooh Krock: Everything as in what? If everything is made or assisted with "AI," then yes, it's preferable to reject everything 18:57 MTDiscord which is a bit sad because it heavily skews writing efficient code towards avoiding abstractions and a more metatable-heavy style 18:58 MTDiscord viwooh: because? 18:58 technomancy yeah, there's always tension there between maintainability/readability vs performance 18:58 Krock viwooh: should've made myself clearer, sorry. By "everything" I meant "every partially AI-assisted contribution" 18:59 MTDiscord viwooh you might have an issue with this irc platform itself https://github.com/Libera-Chat/libera-chat.github.io/blob/main/policies.md#llms 18:59 viwooh luatic: https://en.wikipedia.org/wiki/Environmental_impact_of_AI 18:59 MTDiscord So if what you said is correct, I would recommend to disconnect from this irc network as it's doing the same thing but a bit more accelerated in busy channels such as this 19:00 Krock the greater the boom right now, the cheaper the RAM gets once the debts cannot be paid back 19:02 technomancy yeah but the form factor's wrong 19:02 technomancy they're going to have to invent a new kind of laptop that can slot in ram that's scavenged from abandoned data centers 19:02 technomancy finally the cyberpunk future I was promised 19:02 MTDiscord You actually only need an adapter for that but it's probably just low profile which will fit in your pc's slots just fine 19:03 MTDiscord viwooh: did you look at the graphic that says "energy consumption per typical ChatGPT query (0.3 watt-hours) is small compared to the average U.S. household consumption per minute (almost 20 watt-hours)"? 19:04 Krock 20 Wh per minute gives 1.2 kW, which is about a kettle or 1.5 microwaves. 19:04 MTDiscord My microwave is 1200 watts 19:05 Krock hopefully it does not use the 1.2 kW on slower heating 19:05 MTDiscord Certified American® Macrowave Technology 19:05 MTDiscord I dunno, I have to put things in there for 5 seconds or else they instantly explode 19:05 sfan5 what about the energy spent on AI training however? 19:05 viwooh luatic: Yes, but I remember there's more to the article that made me still not use LLMs 19:06 MTDiscord Well I am not sure how to tell you this, but you're probably training a few right now lol 19:06 MTDiscord honestly many of these arguments seem dishonest to me. if you want to indirectly "sanction" "unreasonable" energy consumption, look at that. but i don't see anyone getting upset on the absurd amounts of CI hours that go into various projects, or all the other things in life that take lots of energy. 19:06 MTDiscord sfan5: i think it's safe to assume that the energy spent on training will be bounded by the energy spent on operation in the long run 19:07 MTDiscord this is necessary for profitability and VC money only gets you so far 19:07 sfan5 long run sure 19:07 sfan5 but AI mega-companies have been burning VC money on training 24/7 for years now 19:08 Krock what does VC stand for? Did I miss a line? 19:08 MTDiscord Venture Capital 19:08 Krock VanessaE Creative? 19:08 sfan5 !server VC 19:08 MinetestBot sfan5: No results 19:08 sfan5 🤷 19:08 Krock it's fascinating that you can build an industry on hope and beliefs but it is what it is.... 19:08 MTDiscord Basically one day either the economy will completely shut down or they'll run out of vcm and implode and no more free chatbot or severely limited chatbot 19:10 sfan5 https://www.wheresyoured.at/anthropics-profitability-swindle/ good read btw 19:11 MTDiscord well gotta milk the free tokens while it still lasts ;) 19:11 MTDiscord QUICK USE AI MORE! 19:11 Krock going further into offtopic - https://akinator.com/ is about the best AI in classic terms. 19:11 MTDiscord Oh man I loved that game 19:12 technomancy I asked Eliza if she could review this PR and she just said "Is it because of your mother that you say the transform adapter needs to be updated to stop calling the deprecated API?" 19:13 technomancy which, I mean, she's not wrong 19:14 MTDiscord We'll have to update the policy to blame any deprecated api calls on sfan5's mom 19:15 MTDiscord Also someone getting grossed out at the thought of ai being used for a single line of code lead me to combining those words into that sentence, what an interesting day 19:18 viwooh luatic: I was told that the graphic made by an "AI" company "shoves" the organization's energy bills onto regular people 19:21 MTDiscord I wonder if that company is embezzling money through the energy company contract 19:22 MTDiscord viwooh: is there any criticism of the claimed numbers? there are also plenty of sources that are not "AI" companies (and this isn't even one of the big AI companies, it's a nonprofit that researches AI: https://epoch.ai/about) 19:23 MTDiscord also i don't see the problem with "shoving the organization's energy bills onto regular people". that's how the math for SaaS works? the consumption fairly directly corresponds to usage. 19:24 technomancy local energy bills where I live are being driven up pretty significantly by data center construction 19:26 technomancy no one here wants this awful shit but we pay for it anyway; that's democracy babey! 19:26 rubenwardy also see RAM prices 19:31 MTDiscord My ram is now worth $1400 when I paid 150 bucks for it 19:32 MTDiscord So I say keep that price going up, maybe I can retire with a single ram stick 20:13 MTDiscord should probably cancel CI when a new commit is pushed to the same PR just saying 20:14 MTDiscord but I do think other heavy industry does need to be sanctioned more, it's called a carbon tax and actually it's very good for the economy not to get too neoliberal in here 20:17 MTDiscord for too long agriculture especially but also transport have systematically distorted markets in favour of heavy emitters that don't pay for the externalities of their economic activity 20:27 MTDiscord freeminer if for nothing else than how long it has existed 20:28 MTDiscord for a climate point of view perhaps a policy that would more than offset the LLM usage 20:38 MTDiscord no actually do own a bicycle, gram for gram, kilometer for kilometer on an average diet a bicycle is the most efficient mode of transportation that exists . Only walk if you hate the planet /j. If you live somewhere were energy is generated on a low or no carbon grid that shifts towards mass public transportation transit rail and electric bus service followed by electrical bicycle. https://www.nature.com/articles/s43247-024-01924-4 21:46 sfan5 voxelibre is indeed broken with the newest engine version 21:47 sfan5 did someone tell them 21:47 sfan5 ? 21:47 MTDiscord what breaks 21:47 sfan5 2026-08-19 23:46:33: ERROR[Main]: ...netest/games/mineclone2/mods/HUD/vl_hudbars/builtins.lua:157: attempt to index global 'mcl_gamemode' (a nil value) 21:47 Sheriff_U3 with what version? 5.17-rc1 or latest master? 21:51 sfan5 luanti with custom changes, but close to master; VoxeLibre is v0.92.1 21:52 sfan5 i can't find an issue on their tracker 21:53 Sheriff_U3 Running a test on Luanti 5.17-rc1 with latest from ContentDB 21:53 Sheriff_U3 Can confirm that bug. 21:56 Sheriff_U3 sfan5: you opening a bug report? I can if your not. 21:56 sfan5 feel free to 21:56 Sheriff_U3 :thumbsup: 21:56 sfan5 I don't have an account on their git forge 21:57 Sheriff_U3 I just made one lol 21:58 technomancy you can sign in with your github account apparently 21:59 Sheriff_U3 That's what I did. 21:59 MTDiscord oh yeah I had that crash the other day while testing something just off master 21:59 technomancy lol their "sign in with mastodon" is actually mastodon.social 21:59 technomancy so close to getting it right! 21:59 MTDiscord as in it's not federated? 22:00 technomancy yeah 22:00 Sheriff_U3 Voxelibre works with Luanti v5.16.1 so it new to v5.17 22:00 technomancy kind of missing the entire point of mastodon 22:00 MTDiscord can you do federated login with it? 22:00 technomancy red.023: yeah, it's really easy 22:00 technomancy I did it in about 100 lines of python and I've never written python before in my life 22:01 technomancy https://dev.fennel-lang.org does federated login (but also supports github as a fallback; hoping some day we can get rid of that) 22:01 MTDiscord mod load order bug? 22:01 MTDiscord I see they define mcl_gamemode, but it's only in one file 22:01 MTDiscord and then only in one mod 22:02 Sheriff_U3 what mod? 22:03 MTDiscord PLAYER but it's used in HUD and ITEMS 22:04 MTDiscord oh 22:04 MTDiscord those are modpacks not mods 22:04 Sheriff_U3 yeah... 22:07 MTDiscord vl_hudbars - > mcl_util -> mcl_init doesn't depend on mcl_gamemode which is what implements the needed global 22:08 MTDiscord @luatic do you think you would be able to make lack of explicit dependencies an error in the new require when logging is set high enough? 22:10 MTDiscord i think it already is 22:10 MTDiscord independent of logging, it just errors 22:10 MTDiscord I thought it only checked for whatever the mod was loaded 22:10 Sheriff_U3 issue to voxelibre is submitted 22:10 MTDiscord which it could load by chance in the right order 22:10 MTDiscord red-001: true, that's why we in principle have the randomize load order setting 22:11 sfan5 it doesn't appear like VL has CI 22:11 MTDiscord i could also check for an explicit dependency, but then i'd need the engine to expose an API for that.. probably doable in ~20 loc or something though 22:11 sfan5 they could then randomize the load order in CI 22:11 sfan5 (minetest game does this, for example) 22:11 MTDiscord a developer log if deprecated logging is enabled would be nice 22:13 MTDiscord exposing the graph to Lua might be useful in general 22:13 technomancy so is it accurate to say that some tests which belong as part of "core luanti" get put in devtest instead because core luanti tests don't currently support tests being written in lua? 22:14 MTDiscord yes with a minor asterisk 22:15 MTDiscord Is there much of an advantage to doing otherwise? 22:15 MTDiscord it would be doable to set up a lua env in the C++ tests and run lua there, it would just be an awkward way to do it 22:15 MTDiscord also worth pointing out that for pure lua tests like vector we have busted 22:15 MTDiscord it seems might as well test in the actual environment 22:15 technomancy do devtest's tests run in CI? 22:15 MTDiscord yes 22:15 MTDiscord and not fall victim to unittest propaganda 22:15 technomancy what's the command for doing that from the CLI? 22:16 technomancy the way CI does it 22:16 MTDiscord I would check the build scripts 22:16 MTDiscord and github workflow 22:16 sfan5 some tests are better suited for pure lua, some are better suited for C++, and some are better suited for a full server environment with a real (albeit headless) client 22:16 technomancy red.023: but I'm allergic to yaml ._. 22:16 sfan5 technomancy: ./util/test_multiplayer.sh 22:16 technomancy jk, I'll take a look 22:16 technomancy sfan5: thanks 22:16 MTDiscord when you have the setting i mentioned earlier set, you just start a server, with an additional mod that eventually shuts down the server (iirc?) 22:16 MTDiscord have am LLM read it, yaml is not human writable or readable after all 22:17 Sheriff_U3 I like reading yaml though... 22:18 technomancy in my own projects I just plop json in the yaml CI config files; so much more readable 22:18 technomancy the best feature of yaml is that every yaml parser must accept json, so you never actually have to use yaml 22:18 technomancy completely batshit design decision but I appreciate it nonetheless 22:18 MTDiscord I feel like unit testing once vibecoders found out about it 2 years ago has resulted in an unprecedented amount of tests that test absolutely nothing in vibe coded software 22:19 MTDiscord a lot of very well tested IServerMock interfaces were generated for a while 22:19 technomancy red.023: at work our vibecoded tests are split across scores of jobs and the total compute time is frequently over 24 hours 22:19 technomancy then again sometimes the total is negative, so I think also someone vibecoded the github actions feature that sums up the total amount of time taken 22:19 MTDiscord amazing you must not have regression then anymore right 22:19 technomancy as you know, adding up numbers is a notoriously difficult job for computers to do 22:20 MTDiscord we invented a field of mathematics called numerical analysis mostly anticipating it would be a problem and it turned out it was a problem 22:21 technomancy my guess? probably they forgot to say "no mistakes" on that part 22:21 MTDiscord but zero regressions right? 22:22 technomancy lol 22:23 MTDiscord technomancy you don't have regressions anymore right? all those ClientFactoryMockFactoryMock methods mean you don't have regressions surely 22:23 technomancy three times just in the past two months we had someone commit code which made it look like failing tests were passing or just skipped important chunks of the test suite entirely 22:23 Sheriff_U3 You know I've got a brilliant idea for a mod: A mod that exploits every possible security vulnerability (that has been patched in latest version) to convince people to upgrade to a newer Luanti version. 22:24 technomancy Sheriff_U3: why stop there; use the vulnerability to perform the upgrade for them 22:24 MTDiscord I mean 22:25 MTDiscord yeah it's possible but don't make fun of the sandbox like that 22:25 MTDiscord call it couldihavebeenpwned 22:25 Sheriff_U3 technamancy: I was thinking about just opening their web browser to a web page that talks about the security vulnerability. 22:25 MTDiscord just because mod security has been broken since it has been invented up until a few months ago 22:25 technomancy oh shit sounds spicy 22:25 MTDiscord and somehow like fusion that seems to be true no matter when you say it 22:25 technomancy is there a tl;dr I could read up on? 22:26 technomancy wait, let me guess 22:26 technomancy it has to do with accepting bytecode in loadstring? 22:26 MTDiscord no 22:26 MTDiscord no that was years ago 22:26 technomancy damn 22:26 Sheriff_U3 I wonder if we could convince ContentDB to accept it as a joke mod... 22:26 technomancy (that's like 90% of sandbox escapes I've read about) 22:26 MTDiscord no I think loadstring was never broken 22:27 technomancy oh right; sandboxed loadstring already blocks bytecode 22:27 technomancy I forgot I already checked that =) 22:27 MTDiscord you know that joke about having a door made out of multiple layers of hardened composites of metal and plastics and what have you? 22:27 MTDiscord and someone brags you could never force it open 22:27 MTDiscord so they just walk in through an open window? 22:28 technomancy nice 22:28 technomancy seriously tho is there a write-up? 22:28 technomancy or is it still embargoed 22:28 MTDiscord GHSA this has happened multiple times in the past 22:28 MTDiscord red-0001: true, seems bytecode was prohibited since the beginning of modse 22:29 MTDiscord c 22:29 technomancy https://github.com/luanti-org/luanti/security/advisories/GHSA-g596-mf82-w8c3 ah found it 22:29 MTDiscord let's see August 2022, trivial mod security bypass https://github.com/luanti-org/luanti/security/advisories/GHSA-663q-pcjw-27cc 22:30 MTDiscord August 2024 another trivial bypass https://github.com/luanti-org/luanti/security/advisories/GHSA-6f85-mqxh-76qp 22:30 sfan5 requiring a mod be listed on trusted_mods is not trivial at all 22:30 MTDiscord (that one was new I think actually so there's that) 22:31 technomancy oh no, getfenv is just gone now? =( 22:31 sfan5 getfenv is not gone either 22:32 MTDiscord https://github.com/luanti-org/luanti/security/advisories/GHSA-44f7-f48m-vxcw the same type also requires a trusted mod on the list same bug class in a sense I suppose? 22:32 technomancy oh, whew 22:32 technomancy must have misread the patch 22:32 MTDiscord but that one was old I think, I feel like it might have been mentioned when mod security was being developed 22:32 technomancy first-class environments are maybe lua's best feature 22:33 MTDiscord are you thinking of a better/worse version of lua like 5.2 22:33 technomancy eh I mean 22:33 technomancy the old version and the new version are both light years ahead of basically every other language out there 22:34 MTDiscord I suppose environments are literally first class in the VM not sure I would call it a great feature 22:34 technomancy I don't have strong feelings on setfenv vs _ENV tbh 22:34 MTDiscord they are completely different systems 22:35 technomancy idk they are different means of achieving the same thing the way I see it 22:35 MTDiscord _ENV is probably conceptually easier? _ENV is just an upvalue that you index when you can't find a real up value 22:35 technomancy without that feature you can't do ocaps, so you're hamstrung when it comes to security 22:35 MTDiscord the code for it is nice 22:35 technomancy https://justinpombrio.net/2021/12/26/preventing-log4j-with-capabilities.html 22:39 technomancy my secret plan is to implement ocaps for luanti 22:39 technomancy because I love ocaps too much and I get sad when I have to code without them 22:40 MTDiscord that's amazing if you are so interested in security maybe a peer review on #17466 then 22:40 ShadowBot https://github.com/luanti-org/luanti/issues/17466 -- [no-sq] Merge and harden the two CSM sandboxes by red-001 22:40 MTDiscord the no-sq is aspirational 22:42 technomancy I will take a look tonight! 22:42 MTDiscord you don't actually have to 22:42 technomancy it actually does sound pretty interesting 22:42 technomancy oh wait 22:42 technomancy this is C++ code 22:42 technomancy I can't read this; sorry =( 22:52 * SwissalpS conjures a forgiveness card. (14 left.) 22:52 MTDiscord Oh no, you're supposed to be neutral. If you're running out of forgiveness cards we're in trouble 23:00 SwissalpS (it's not like I'm the only one who has some ;p)