kentonv changed the topic of #sandstorm to: Welcome to #sandstorm: home of all things sandstorm.io. Say hi! | Have a question but no one is here? Try asking in the discussion group: https://groups.google.com/group/sandstorm-dev
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
frigginglorious has quit [Read error: Connection reset by peer]
frigginglorious has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
frigginglorious has quit [Ping timeout: 260 seconds]
nwf has quit [*.net *.split]
liam_ has quit [*.net *.split]
keturn has quit [*.net *.split]
keturn has joined #sandstorm
liam_ has joined #sandstorm
nwf has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
larjona has quit [Remote host closed the connection]
larjona has joined #sandstorm
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
nwf has quit [Ping timeout: 256 seconds]
strugee has joined #sandstorm
nwf has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
heliostatic has quit [Remote host closed the connection]
heliostatic has joined #sandstorm
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
<isd> uuugggh I wish we had a type system: https://github.com/sandstorm-io/sandstorm/issues/3319
* isd is debugging
<abliss> Null Pointer Errors happen all the time in typed languages too :) (though you could certainly argue that a proper type system should not allow for Null)
<isd> And I would indeed argue that.
<isd> They don't happen in the typed languages I favor
<isd> and Typescript has a "strict optional" mode
<simpson> They don't happen in E or Monte, despite a lack of types. E is a little hard to read, but this paper on Grace was very nice: https://michael.homer.nz/Publications/DLS2019/pattern-types.pdf
* isd adds to reading list
<isd> simpson: I'm skeptical: it seems like the best you could do in a dynamic language is cause the error to happen sooner (when the null value is passed to something expecting non-null).
<simpson> isd: Building a type-checker is possible; I have a fragment of one for Monte. The main obstacle is that only code that exists locally can be type-checked or otherwise validated; E was designed to extend transparently across multiple computers, and a multi-computer network cannot enforce a single type system like that.
<simpson> Also, like, typos aren't that big of a deal? Maybe that's callous.
<isd> (...as opposed to when attempting to call a method on a null value)
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
<isd> Ok, yeah, if you want to make passing objects between untrusted network peers look the same as passing local objects around, you probably can't do better than a dynamic check at the network boundary.
<isd> Though in this case we're not doing that, so it doesn't really apply to sandstorm here.
<isd> I don't know what to say to "typos aren't that big a deal" that isn't covered by "caused a stack trace in production in front of a user"
<isd> Most bugs are stupid bugs. That still shouldn't have to happen though.
<simpson> Consider: In Monte, exceptions *aren't* shown to users in production. Indeed, exceptions are only revealed to those with a system debugging capability, `unsealException`; without it, exceptions are opaque and give no information to holders.
<JacobWeisz[m]> Also, during setup. Which is an easy time to lose new users.
<simpson> So it's possible to have a language where typos cause errors but where errors don't leak information. (And we did this to fulfill a concept in E.)
<isd> Leaking information isn't really the problem here.
<isd> In fact, the consequences of the bug are "this button doesn't do anything when I click on it."
<isd> (unless you open up the Js console in the browser)
<simpson> Sure, I grok the UX and optics issues. I'm just saying that "types are the solution" is, as usual, not the solution.
<isd> I mean, they would in fact have made this completely impossible.
<simpson> Really? I did not know that types could do that! I figure that it is not possible to type-check the user's chosen browser's integration layer.'
<isd> This isn't a browser issue; we just messed something up and are calling a method on something that's not there.
<simpson> Sure. I'm just trying to show you how the meme is not the panacea.
<isd> I mean, sure, types don't rule out all bugs. But a reasonably designed type system can rule out a lot of bugs.
<isd> And for any system over a certain size (including sandstorm) it's well-worth it.
<simpson> Sure. That's what Capn's for, right?
<simpson> Of course it is possible to *build* type systems. The question is whether a language should *enforce* that all terms are well-typed according to such a system.
<simpson> isd: Anyway, I'll drop the point. After all, it doesn't really matter; it's up to y'all to choose your implementation languages, and to live with whatever infelicities they may have. (And I am no fan of JS/ES.) But these themes come up all the time when, for example, writing Monte code that deserializes Capn buffers.
<isd> Yeah, I should be debugging instead of arguing, and I don't think either of us really has anything new to add to the generic static vs. dynamic types arguments.
<isd> It's all been said before.
<simpson> Barely. I have oodles of memes meant specifically to deconstruct the Haskell-style worship of static types, but for something as simple as types helping to catch bugs, I'd point at the already-linked paper about guards in Grace.
<simpson> (Example meme: "All Turing categories are unityped.")
<isd> Well, I'll read the paper before continuing to argue :P
frigginglorious has joined #sandstorm
frigginglorious has quit [Remote host closed the connection]
frigginglorious has joined #sandstorm
strugee has quit [Remote host closed the connection]
<isd> kentonv: if you can find the time it's probably best to get that into a release asap. Nothing else has changed on master so far since the release.
<isd> Also, I am sorry for breaking things.
<kentonv> so this only affects new setups, not existing servers?
<kentonv> seems like admin-login-providers still works fine
strugee has joined #sandstorm
<isd> It triggers when you click "enable" on one of the options
<isd> I was able to reproduce it on my local dev setup without starting from scratch
<isd> though it most certainly affects new setups.
<kentonv> ah
<kentonv> ok I'll try to do it sometime today.
<isd> thanks. sorry.
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
larjona has quit [Quit: http://quassel-irc.org - Chatee cómodamente donde sea.]
<kentonv> it happens, could have been worse
larjona has joined #sandstorm
<kentonv> I wonder if we can get test coverage for this stuff... kind of tricky since it's configuring the server itself
strugee has joined #sandstorm
<isd> There's a certain iron in introducing bugs while working on integrating a linter...
<isd> I mean, this one is easy enough: Go try to enable email login.
<isd> "fortunately" the email config is separate, so you can just do that.
<kentonv> well, ideally we'd not just test the specific button that broke, but the whole UI flow
<kentonv> so for e-mail login we'd want to set up a fake email server I guess. I think we already do that to test email apps though?
<kentonv> so maybe doable
<kentonv> google/github login seems harder to test
<kentonv> hmm I wonder if they have best practices for automated testing of oauth login
<isd> yeah, trying to test code that works with proprietary SaaS is always a pita.
strugee has quit [Remote host closed the connection]
<kentonv> I guess we'd probably have to mock out the HTTP requests, bleh
<kentonv> which doesn't really help let us know if a google-side change breaks something
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
<kentonv> release pushed
<isd> Great.
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
frigginglorious1 has joined #sandstorm
frigginglorious has quit [Ping timeout: 246 seconds]
frigginglorious1 is now known as frigginglorious
<isd> Opened a PR with the correct import. No rush on that one though.
larjona has quit [Quit: http://quassel-irc.org - Chatee cómodamente donde sea.]
larjona has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
frigginglorious has quit [Read error: Connection reset by peer]
<abliss> is something supposed to clean up the /opt/sandstorm/sandstorm-custom-$DATE dirs that get created each time I "make update"?
<abliss> well, nuts, acme-dns-01-gcp didn't work for me. I got it all set up and configured inside sandstorm, and it thinks it did the challenge, but the DNS record never shows up so the cert isn't issued.
<abliss> (Anyone know the relationship between acme and cert-manager.io ? https://cert-manager.io/docs/configuration/acme/dns01/google/ claims it can pass acme-dns-01 challenges)
<abliss> (it seems kubernetes-specific, which probably means i'll never be able to understand what it's for, let alone get it to work)
<kentonv> abliss, if you update to an official release version, then all the sandstorm-custom-blah directories will be removed.
<kentonv> but if you only ever install custom builds, yeah, nothing cleans them out. It's safe to just delete the old ones.
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
<abliss> good to know, thanks.
frigginglorious has joined #sandstorm
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
<kentonv> abliss, the specific library that we're using, acme.js, isn't all that widely used. And the plugin you found is presumably specifically for acme.js. I suspect cert-manager.io is using something different.
coyotebush has quit [Remote host closed the connection]
strugee has joined #sandstorm
<kentonv> abliss, does your sandstorm.log show any interesting messages from acme.js while trying to issue a cert?
<kentonv> usually acme.js does a "dry run" first, where it tries to set a TXT record for some dummy host to verify that things work, before it actually talks to Let's Encrypt. Did the dry run fail?
<kentonv> the dry run uses a randomly-generated hostname starting with "_greenlock", I think
strugee has quit [Remote host closed the connection]
frigginglorious has quit [Read error: Connection reset by peer]
frigginglorious has joined #sandstorm
<abliss> i think i figured it out.
<abliss> i had Google Domains using the default registrars, but i have to change them to the "google cloud googedomain" registrars
<abliss> i switched it, but it might be 2 days to propagate... and if i messed up the dnssec, i probably just broke everything.
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
<JacobWeisz[m]> coughswitchtocloudflarecough
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
frigginglorious1 has joined #sandstorm
frigginglorious has quit [Ping timeout: 264 seconds]
frigginglorious1 is now known as frigginglorious
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm
strugee has quit [Remote host closed the connection]
strugee has joined #sandstorm