<< 24-12-2023 >>

00:29:16FromDiscord<Phil> ... Can I make a specific variable "thread global" or sth?↵Essentially I set it into some "thread" namespace and can now access it within that thread from wherever?
00:30:05FromDiscord<Phil> I know of the threadVar pragma but I can't claim I actually understand if it implies what I'm looking for or not
00:40:26FromDiscord<Elegantbeef> A top level variable marked `{.threadvar.}` is a global variable that is unique per thread
00:40:58FromDiscord<Phil> Ohhhhhhhhh
00:41:44FromDiscord<Phil> Yeah that did not come through the docs explaining threadVar at all for me.
00:42:13FromDiscord<Phil> I mean, with the benefit of hindsight now it's written there but man did I not grok that
00:42:30FromDiscord<Phil> Thanks for the explainer! That makes things a lot simpler syntactically than I though!
00:42:36FromDiscord<Phil> (edit) "though!" => "thought!"
00:58:33FromDiscord<sOkam! 🫐> In reply to @9ih "I did mean at": if you dont need semantics, only the raw ast, this file has all you are looking for↵https://github.com/heysokam/slate/blob/master/src/slate/nimc.nim
00:58:57FromDiscord<sOkam! 🫐> you could get a later version of the AST, so you get semantics, but I cannot guide you into where that is because I never found it
02:20:17FromDiscord<gogolxdong666> sent a code paste, see https://play.nim-lang.org/#ix=html>
02:23:30FromDiscord<Elegantbeef> `isolated` is a Nim feature that prevents moving refs across threads in an unsafe matter, `web3` is used in a way which disallows that isolation
02:25:08FromDiscord<Elegantbeef> You could try to do `unsafeisolate(web3)` which mayhaps isolate, but likely will result in not desirable outcomes
02:36:19FromDiscord<gogolxdong666> Is there any canonical way to use mulithread
02:38:47FromDiscord<Elegantbeef> Not with sharing references
03:53:15*rockcavera quit (Remote host closed the connection)
04:48:38*azimut joined #nim
06:47:50*rockcavera joined #nim
07:16:01FromDiscord<queebee> Which web frameworks currently work? Jester fails with a segfault
07:56:14FromDiscord<Clonkk> I think Prologue is the most common
07:56:20FromDiscord<Clonkk> There is also https://github.com/HapticX/happyx
08:14:59FromDiscord<Phil> I mean I use prologue and thus recommend it which may have to do with its popularity.↵Happyx looks also pretty good though adn Ethosa (the dev behind it) is being ridiculously productive so I'd imagine that it (in contrast to prologue) is likely to still see some feature growth in the near future
08:52:51*xet7 joined #nim
08:53:58*xet7 quit (Remote host closed the connection)
08:54:29*xet7 joined #nim
08:56:23FromDiscord<pmunch> In reply to @queebee "Which web frameworks currently": There are also multiple ways to solve the segfault in Jester: https://github.com/dom96/jester/issues/325
09:15:38*jmdaemon joined #nim
09:20:46FromDiscord<Phil> sent a long message, see <!doctype html>
10:51:56FromDiscord<sOkam! 🫐> @pmunch what did you mean by `post processing the json output` for implementing javadoc-like doc-comment tags?↵What json output are you referring to?
10:53:01*jmdaemon quit (Ping timeout: 256 seconds)
11:27:31FromDiscord<Phil> Oh god damnit, the problem I was having was that I need a taskPool of at least size 1
11:27:32FromDiscord<Phil> (edit) "1" => "2"
12:34:54FromDiscord<Phil> sent a long message, see <!doctype html>
12:35:17FromDiscord<Phil> (edit)
12:35:51FromDiscord<Phil> (edit)
12:39:37FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=html>
12:39:57FromDiscord<Phil> (edit)
12:54:25FromDiscord<bung8954> can't using tuple unpacking on seq ?
12:59:27FromDiscord<pmunch> In reply to @heysokam "<@392962235737047041> what did you": The output of `nim jsondoc`
13:28:08FromDiscord<alireza0x0> hey guys
13:28:23FromDiscord<alireza0x0> is there any way that i can accept multiple exception types in 1 catch block...?
13:29:31FromDiscord<alireza0x0> something like this https://media.discordapp.net/attachments/371759389889003532/1188473532502515722/image.png?ex=659aa73a&is=6588323a&hm=8dcc638cb3cdf63bc6eee9368a4e6487a3f2b6b3f039500b09eaba73c6aa0be0&
13:29:41FromDiscord<alireza0x0> but the error is ` only a 'ref object' can be raised`
13:29:51FromDiscord<alireza0x0> (edit) "but the ... error" added "compiler"
13:32:18Amun-Raexcept Error1, Error2: …
13:33:40FromDiscord<alireza0x0> yes i jut found it, but now the problem is
13:33:49FromDiscord<alireza0x0> i want to put that error1,error2 in a type
13:33:56FromDiscord<alireza0x0> i want to group them somehow
13:34:15FromDiscord<alireza0x0> sent a code paste, see https://play.nim-lang.org/#ix=html>
13:34:20FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=html>
13:34:57FromDiscord<Phil> The "as" syntax doesn't quite work but you can still get the exception with "getCurrentException"
13:35:26FromDiscord<Phil> For grouping them consistently, typically the way to go would be (imo) inheritance in the exception chain
13:35:35FromDiscord<Phil> (in my opinion at least)
13:35:37FromDiscord<alireza0x0> hmm
13:35:38FromDiscord<sOkam! 🫐> In reply to @pmunch "The output of `nim": what do you do with that json after to generate a website? is there a native tool for it?
13:35:50FromDiscord<Phil> Or converting exceptions by using try-except-rethrow
13:35:53FromDiscord<Phil> reraise
13:36:32FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=html>
13:36:46FromDiscord<alireza0x0> sent a code paste, see https://play.nim-lang.org/#ix=html>
13:36:50FromDiscord<Phil> That way you can convert exceptions into the same error
13:36:53FromDiscord<alireza0x0> is such thing possible...?
13:37:11FromDiscord<Phil> I don't think with when but may be feasible at runtime
13:37:27FromDiscord<alireza0x0> or also `of` operator
13:37:35FromDiscord<alireza0x0> i should try then
13:38:57FromDiscord<Phil> Huh, it has a name field
13:39:45FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=html>
13:40:47FromDiscord<alireza0x0> also `when e is mygorupErrors:` seems to work
13:41:10FromDiscord<alireza0x0> but `of` is not
13:41:28FromDiscord<Phil> Ah, that way also works but CatchableError catches everything.↵Do you want everything or only a specific group of errors?
13:41:52FromDiscord<alireza0x0> ill raise when the type is something else
13:42:34FromDiscord<Phil> I mean, fair, I guess not quite my personal preference since I like to only have code express exactly what I mean 😅
13:43:14FromDiscord<alireza0x0> yea, they way you provided looks much better
13:43:22FromDiscord<alireza0x0> but when is compile time so if it work
13:43:31FromDiscord<alireza0x0> it has a nano seccond better performance .. xd
13:43:59FromDiscord<Phil> Entirely fair, I tend to optimize first for readability according to my personal preference and then performance 😄
13:44:15FromDiscord<pmunch> In reply to @heysokam "what do you do": Currently no native tool (although there is talk about making the default `doc` command actually be a tool which parses the JSON output). But you can have a look at what I do for Ratel here: https://github.com/PMunch/ratel/blob/master/website/gendoc.nim
13:44:35FromDiscord<alireza0x0> (edit) "they" => "the"
13:45:29FromDiscord<Phil> For reference: Giving doc some TLC is on my list, just want to push threadButler out the door first
13:45:58FromDiscord<Phil> ~~Mostly because my threadbutler docs are ruuuuuiiiiined because doc is not at the level I need it at~~
13:47:17FromDiscord<sOkam! 🫐> In reply to @pmunch "Currently no native tool": that is looking very good. ty for sharing it!
13:50:57NimEventerNew thread by ASVI: Nim need restrictions for values in type system, see https://forum.nim-lang.org/t/10800
14:04:33FromDiscord<pmunch> In reply to @heysokam "that is looking very": You're welcome!
14:16:57*junaid_ joined #nim
14:44:07*azimut quit (Ping timeout: 240 seconds)
14:44:07*azimut_ joined #nim
14:46:37FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=html>
14:47:30FromDiscord<Phil> I guess I could add a `tasks` section to the threadServer macro and then I control where runLate is placed in the generated code.
14:50:50*azimut_ quit (Remote host closed the connection)
14:51:14*azimut joined #nim
15:39:35*azimut quit (Remote host closed the connection)
15:39:59*azimut joined #nim
15:41:37FromDiscord<michaelb.eth> In reply to @isofruit "<@570268431522201601> question about status": i’m pretty sure that with taskpools (and malebolgia) the theread that creates the worker pool is included in the count, i.e. it’s also used as one of the workers
15:41:57FromDiscord<Phil> Thaaaaaaaaaaaaat is unfortunate
15:48:02FromDiscord<Phil> I'm starting to really dislike the `raises` pragma
15:48:17FromDiscord<Phil> In some places for safety it checks that `raises: []`
15:48:40FromDiscord<Phil> And then you have some procs like in logging that just raise `Exception` - which means trying to catch that also catches defects
15:53:14FromDiscord<michaelb.eth> could you use nim-chronicles for logging instead? since it’s a Status lib it likely “gets along” with the common practice at Status of putting `{.push raises: [].} ` at the top of most modules.
15:54:35FromDiscord<Phil> I might do so in one of the next refactoring steps
16:04:55FromDiscord<Phil> In reply to @michaelb.eth "could you use nim-chronicles": Btw. I got tasks down now as well and added examples and docs
16:05:31FromDiscord<Phil> I now need to figure out how to go about unit-testing this thing 😅
16:05:40FromDiscord<Phil> Well, at least could do an alpha release beforehand
16:08:25FromDiscord<_goel_> When doing the comparison between two arrays with `==` is that a "same memory adress for both object" check?
16:09:05FromDiscord<_goel_> (edit) "object"" => "objects""
16:09:11*junaid_ quit (Remote host closed the connection)
16:16:01FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=html>
16:16:12FromDiscord<Phil> It would be for ref-arrays though
16:17:09FromDiscord<_goel_> Oh ok, so it just check for the array's values, not the mem.equality, good 👍
16:17:26FromDiscord<Phil> In reply to @_goel_ "Oh ok, so it": Generally, value types are "equality by value" checked
16:17:35FromDiscord<Phil> Arrays and objects are all value types for example
16:17:47FromDiscord<Phil> It is ref types or pointer things that get checked by equality of reference
16:17:57FromDiscord<Phil> aka equality of memory address
16:37:53FromDiscord<odexine> In reply to @isofruit "It is ref types": Unless someone implements == for their custom reference type as a value comparison
16:38:15FromDiscord<odexine> Since it’s not an established convention IIRC that reference types are compared referentially
16:44:03FromDiscord<michaelb.eth> In reply to @isofruit "Well, at least could": just in time for Christmas! 🎅 🎁
16:46:15FromDiscord<Phil> In reply to @michaelb.eth "just in time for": On that note if you have any good testing stratgies for libs like threadButler I'm all ears 😅
16:47:34FromDiscord<michaelb.eth> I don't off the top of my head, but I'll need to figure out a strategy for the `achan` lib I've started on
16:47:40FromDiscord<michaelb.eth> so will be happy to share
16:49:20FromDiscord<Phil> Looking forward for when you finish that since I can implement support for that in threadbutler with a new flag 😄
16:51:25FromDiscord<michaelb.eth> well, actually, testing `AsyncChannel` should be do-able with just `asynctest` ( https://github.com/codex-storage/asynctest ), but task abstractions built on top of it may require a specialized harness
16:51:33FromDiscord<michaelb.eth> we'll see
16:52:00*junaid_ joined #nim
17:05:40*junaid_ quit (Remote host closed the connection)
19:08:55*azimut quit (Ping timeout: 240 seconds)
19:42:10*Mister_Magister quit (Excess Flood)
19:44:51*Mister_Magister joined #nim
20:45:35FromDiscord<sOkam! 🫐> is there a nimscript way to get the last modified time of a file?↵i know i can `exec "stat thefile"` and parse it, but that is very system-specific↵Could there be any alternative?
20:48:16FromDiscord<Elegantbeef> Nope very few OS operations are piped to nimscript
21:25:06FromDiscord<systemonia> Its also impossible to, say, import C functions that could help you out. Since nimscript does not have an FFI.
21:25:48FromDiscord<Phil> In reply to @michaelb.eth "well, actually, testing `AsyncChannel`": After thinking for roughly 5 minutes about it, I think logging the thread output, joining the thread, then reading in the log-file and analyzing it could be the way to do.
21:26:11FromDiscord<Phil> to do this
21:26:23FromDiscord<Elegantbeef> Not entirely true, just the stock NimVM does not↵(@systemonia)
21:26:24FromDiscord<Phil> Which seems annoying as all hell
21:27:10FromDiscord<Elegantbeef> You can compile the Nim VM with libffi support, it just makes nimscript even more of a security nightmare 😄
21:28:25FromDiscord<sOkam! 🫐> In reply to @pengwyns "Its also impossible to,": I usually just build a binary to do most of that stuff, because nimscript is so lacking, and use it as a script that way
21:29:11FromDiscord<Elegantbeef> Nake or custom build tools are much more usable
21:29:22FromDiscord<systemonia> Yeah. Making a normal nim program and then just running `nim r program.nim` is indistinguishable from a script, except for the compile times.
21:29:26FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=html>
21:29:50FromDiscord<sOkam! 🫐> or better, make the NimVM have support for it instead
21:29:51FromDiscord<Elegantbeef> "PRs welcome"
21:30:05FromDiscord<Elegantbeef> Also that should do `{.error: "Unsupported operation".}` more than likely
21:30:25FromDiscord<sOkam! 🫐> tooling == PRs welcome, nim has terrible tooling since forever because its not a 1person job 😔
21:30:28FromDiscord<Elegantbeef> Silent errors are never found out the easy way
21:30:42FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=html>
21:30:45FromDiscord<sOkam! 🫐> In reply to @Elegantbeef "Also that should do": ah trueee good point
21:30:46FromDiscord<Elegantbeef> I mean any changes or support = PRs welcome
21:30:50FromDiscord<systemonia> It's sorta hard to find out how you're supposed to extend nimscript.
21:31:06FromDiscord<Elegantbeef> Just ask
21:31:16FromDiscord<sOkam! 🫐> In reply to @Elegantbeef "I mean any changes": i know, i understood. but i added the sarcasm because of tooling being in the state that it is
21:31:28FromDiscord<Elegantbeef> https://github.com/nim-lang/Nim/blob/devel/compiler/vmops.nim you can expand this module to add more piped operations
21:31:49FromDiscord<Elegantbeef> https://github.com/nim-lang/Nim/blob/devel/compiler/vmops.nim#L344
21:31:54FromDiscord<Elegantbeef> An example is here
21:32:12FromDiscord<sOkam! 🫐> the unsupported operation in this case is not useful, now that i think about it↵because it would break the script on windows
21:32:26FromDiscord<sOkam! 🫐> and the idea is to just rebuild everytime on windows, until the alternative is implemented
21:32:37FromDiscord<Elegantbeef> Though the issue with `getLastModificationTime` is that it returns a `Time` object which cannot be sent to Nimscript
21:33:02FromDiscord<sOkam! 🫐> In reply to @Elegantbeef "Though the issue with": `return $time` is better than `void`
21:33:05FromDiscord<Elegantbeef> So you'd probably need to make a new procedure inside the `nimscript` module that is `getModTime` which returns time in epoch
21:34:37FromDiscord<Elegantbeef> Oh wait it seems there is a `Time` conversion procedure `vmconv.toTimeLit`
21:35:50FromDiscord<Elegantbeef> Yea lol it was right there below what I linked
21:35:52FromDiscord<Elegantbeef> https://github.com/nim-lang/Nim/blob/devel/compiler/vmops.nim#L349-L351
21:40:21FromDiscord<Phil> sent a long message, see <!doctype html>
21:40:47FromDiscord<sOkam! 🫐> rebuild time went from 2s to 0.250s. #worthit
21:42:32FromDiscord<Elegantbeef> Remove the transparency on your graphs phil
21:45:26FromDiscord<Phil> Those are honestly the oldest sections on the docs and I'm thinking of possibly removing them.↵I mean the drawio one seems somewhat useful still to get an idea across but the flowchart I think might be more confusing than that it helps
21:48:48FromDiscord<Phil> In reply to @Elegantbeef "Remove the transparency on": The second one is actually a mermaid diagram - I don't think I can un-transparent that
21:49:19FromDiscord<Elegantbeef> I don't care if it's a turkey diagram
21:50:33FromDiscord<Elegantbeef> Suggestion `ChannelHub` should have a `destructor` which stores a `proc(hub: ChannelHub)` so that `=destroy` can be implemented which calls `destructor(theHub)`
21:51:28FromDiscord<Elegantbeef> This means you do not need to manually call `=destroy` and since you totally make `=dup` and `=copy` an error you have automatic management
21:52:43FromDiscord<Elegantbeef> Also your code is wrong
21:52:45FromDiscord<Phil> I'll put it on the list for refactorings
21:52:51FromDiscord<Elegantbeef> You need to `=destroy` on all the channels
21:52:51FromDiscord<Phil> wutß
21:52:54FromDiscord<Phil> (edit) "wutß" => "wut?"
21:53:28FromDiscord<Elegantbeef> Right now your channels do not get their destructors called which means any data they hold onto is not properly cleaned up on exit assuming they have data
21:53:43FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=html>
21:53:48FromDiscord<Elegantbeef> Right
21:53:52FromDiscord<Phil> For a ChannelHub that has 2 channels registered
21:53:53FromDiscord<Elegantbeef> But there is no `=destroy`
21:54:29FromDiscord<Elegantbeef> Close might suffice
21:54:33FromDiscord<Elegantbeef> but `=destroy` is proper
21:54:40FromDiscord<Elegantbeef> It's just to cover your but
21:54:43FromDiscord<Elegantbeef> butt\
21:54:59FromDiscord<Elegantbeef> Especially since `Chan` requires you to call `=destroy`
21:55:00FromDiscord<Phil> Check, so basically I need to manually call destroy since the channels should have their own , correct?
21:55:07FromDiscord<Elegantbeef> Correct
21:55:19FromDiscord<Elegantbeef> You are manually managing their memory so you need to also call their destructors
21:55:25FromDiscord<Elegantbeef> Hence why this makes sense to be done inside `=destroy`
21:55:41FromDiscord<Elegantbeef> Right now your `Chan[T]` are not closing
21:55:46FromDiscord<Phil> @michaelb.eth for your eventual AsyncChannel, mind also implementing such hooks 😄 ?
21:56:40FromDiscord<Phil> Check, I'll put it on the TODO list
21:58:13FromDiscord<Phil> That reminds me I likely should write explicitly that refc is not supported
22:02:14FromDiscord<Phil> Thanks for the review so far btw
22:02:49FromDiscord<Phil> For your sanity's sake I'd recommend not looking too deeply into codegen, I have a feeling you might not like my habits for coding macros 😅
22:08:41FromDiscord<sOkam! 🫐> @System64 ~ Flandre Scarlet do you have a sample `nimgl/imgui` project that I can build that is guaranteed to work in current nim version?
22:09:29FromDiscord<sOkam! 🫐> asking because I see this in their repo 🤔 https://media.discordapp.net/attachments/371759389889003532/1188604382644801639/image.png?ex=659b2118&is=6588ac18&hm=8704ed9b35d54d764fdc67fbd5f153ca147af5421a93251111c4afefcfc75561&
22:09:47FromDiscord<sOkam! 🫐> none of them passes CI, so I wonder if they actually build
22:11:17FromDiscord<sOkam! 🫐> or better than that, does someone know how to test the `nim cpp` backend with some simple library/wrapper 🤔
22:15:58FromDiscord<demotomohiro> This uses nimgl/[glfw, opengl] and worked with Nim 2.0
22:16:02FromDiscord<demotomohiro> https://gist.github.com/demotomohiro/6ae8baf1e40fffae3858c2ff01a8d241
22:19:20FromDiscord<sOkam! 🫐> ty @demotomohiro 🤘 https://media.discordapp.net/attachments/371759389889003532/1188606866108973117/image.png?ex=659b2368&is=6588ae68&hm=a04e15965b1ef125659d3d2485750c3370f1a841c684f7232b261c5da114485d&
22:19:38FromDiscord<saint.___.> Whats this
22:19:41FromDiscord<saint.___.> It'sbeautiful
22:34:48FromDiscord<sOkam! 🫐> @demotomohiro tysm! that was really useful↵confy now supports the cpp backend, finally https://media.discordapp.net/attachments/371759389889003532/1188610744988741702/image.png?ex=659b2704&is=6588b204&hm=5190a1ea2f5fc0388b3b5770f058e76c63330b854e506c63edd145e2c8a60347&
22:36:01FromDiscord<sOkam! 🫐> does someone have a similar ultra-simple example for the `nim js` backend? 🤔
22:36:28FromDiscord<sOkam! 🫐> @Phil maybe? do you deal with the js backend much?
22:37:03FromDiscord<Phil> Not at all.↵You want @hotdog6666
23:00:07FromDiscord<hotdog6666> In reply to @heysokam "does someone have a": An example of what?
23:00:09FromDiscord<zectbumo> I don't understand the search results in the nim docs. It seems to exclude importc functions.
23:01:34FromDiscord<zectbumo> (edit) "I don't understand the search results in the nim docs. It seems to exclude importc functions. ... " added "Is this right? so search only finds pure nim?"
23:02:08FromDiscord<sOkam! 🫐> In reply to @hotdog6666 "An example of what?": the most simple nim js backend example possible, without having to worry about setting up a complex buildsystem↵something super minimal
23:03:16FromDiscord<zectbumo> In reply to @heysokam "does someone have a": I did. and I made it in 2 min. I think I can make another.
23:04:12FromDiscord<zectbumo> (edit) "min." => "min while I was in the zone."
23:06:16FromDiscord<hotdog6666> In reply to @heysokam "the most simple nim": Like nimble init and then putting backend:js in config.nims? I read a bit of the conversation above but I’m not sure I understand
23:06:31FromDiscord<sOkam! 🫐> In reply to @zectbumo "I don't understand the": I haven't seen any importc function exposed directly, so maybe that's why?
23:06:58FromDiscord<sOkam! 🫐> In reply to @hotdog6666 "Like nimble init and": sure, but that doesn't use anything js specific
23:15:23FromDiscord<zectbumo> sent a code paste, see https://play.nim-lang.org/#ix=html>
23:17:49FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=html>
23:19:51*def- quit (Quit: -)
23:21:25*def- joined #nim
23:22:00FromDiscord<zectbumo> I wonder how difficult/easy it would be to make a new backend. Let's say I wanted to use Nim and output Arma Reforger Enforce Script↵https://community.bistudio.com/wiki/Arma_Reforger:From_SQF_to_Enforce_Script
23:22:58FromDiscord<sOkam! 🫐> In reply to @zectbumo "I wonder how difficult/easy": not an easy task, but a doable one
23:27:13FromDiscord<sOkam! 🫐> @zectbumo worked well with nimble, ty ✍️ https://media.discordapp.net/attachments/371759389889003532/1188623945818177556/image.png?ex=659b3350&is=6588be50&hm=c93fc72b3ab3155ac366fa8909ef18d6e443e87ba322d003cc6f16b605ff2d2e&
23:27:48FromDiscord<zectbumo> oh. what is bun run?
23:29:44FromDiscord<zectbumo> well that looks cool
23:29:48FromDiscord<sOkam! 🫐> https://bun.sh
23:30:03FromDiscord<sOkam! 🫐> much better than npm by far
23:30:21FromDiscord<zectbumo> I see. the speed up charts are impressive
23:30:35FromDiscord<sOkam! 🫐> more than the charts, is the real-world speed
23:30:41FromDiscord<sOkam! 🫐> its extremely noticeable
23:30:55FromDiscord<sOkam! 🫐> even with dummy scripts it can be noticed, its nuts
23:31:17FromDiscord<zectbumo> for some reason I keep forgetting about node.js. Like I don't consider it a real platform or something. I'm not sure why
23:35:11FromDiscord<sOkam! 🫐> well, the js backend does build with confy... but it definitely needs some cleaning to make it faster 🤷‍♂️ https://media.discordapp.net/attachments/371759389889003532/1188625950968135811/image.png?ex=659b352e&is=6588c02e&hm=88d9540f44222f3852f5dff1efdd55efa9618835354c745c68747ff8a9dffb00&
23:36:17FromDiscord<sOkam! 🫐> I was worried about the zig options getting in the way, but apparently they make no difference↵just that because im downloading zigcc auto, it tries to do that and it takes longer than it should↵but it does work