Orion arm
From Conrad Hoffmann to ~sircmpwn/sr.ht-dev
On 4/23/25 7:34 PM, Thorben Günther wrote: > Wouldn't it be nicer - and more graph-like - to add a query for a single site > instead of this very specialized query? > Something like either > site(id: Int!) > or > site(domain: String!, protocol: Protocol) > > This would make handling ACLs listing as straightforward as your implementation > and have the further benefit that it would be easier for users to retrieve other > fields for a single site. Totally! :)
From Conrad Hoffmann to ~sircmpwn/sr.ht-dev
Without this, listing ACLs would have required juggling two cursors (sites and ACLs), which is a bit messy. Includes minor fixes to the model to make the query work correctly. --- graph/model/acl.go | 3 +-- graph/schema.graphqls | 5 +++++ graph/schema.resolvers.go | 26 ++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/graph/model/acl.go b/graph/model/acl.go index cb2b8a2..9ceb556 100644 --- a/graph/model/acl.go +++ b/graph/model/acl.go [message trimmed]
From Conrad Hoffmann to ~sircmpwn/sr.ht-discuss
On 4/21/25 12:52 PM, наб wrote: > On the interceptor page I see >> Protected by Anubis from Techaro. >> https://anubis.techaro.log/ >> https://techaro.lol/ > and the former is NXDOMAIN on log. That was a typo, thanks for the heads-up. Fixed. Cheers, Conrad
From Conrad Hoffmann to ~sircmpwn/sr.ht-dev
This commit adds very basic ACLs to pages.sr.ht. It only provides a
baseline of functionality, but is designed to be extendable in the
future. It is sufficient to enable user to allow other users to deploy
their sites.
Current limitations include:
- Only works on custom domains (due to checks in certain places that I
am hesitant to abandon for now)
- Management (obviously) only via GraphQL queries
- There is only one "capability", which is "publish"; in the future,
capabilities like "unpublish", or maybe for subdirectories, could be
added
- While the design allows for a site to have a "default ACL", this is
[message trimmed]
From Conrad Hoffmann to ~sircmpwn/sr.ht-dev
--- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 25e5c2c..67aa15c 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.0 require ( git.sr.ht/~adnano/go-gemini v0.2.3 git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b[message trimmed]
From Conrad Hoffmann to ~sircmpwn/sr.ht-dev
This submodule is essentially a refactored version of what was
previously scm.sr.ht/srht-keys, plus some generic dispatch logic.
The module was moved into core-go (instead of adding to
scm.sr.ht/srht-keys) because SSH dispatching is already also used by
builds.sr.ht, and might potentially be added to other services as well
(e.g. meta.sr.ht 2FA recovery).
Building on this, all -dispatch executables can be made much simpler (by
re-using this code). The vision is basically:
1. Unify -dispatch and -keys (in -dispatch based on this)
2. Minimize code duplication across the various dispatchers
3. Potentially make all dispatchers the same exe at some point
[message trimmed]
From Conrad Hoffmann to ~sircmpwn/tokidoki-devel
Hey! The changes to the Containerfile are great, but I don't think the compose file makes sense. The auth URL is not generic, the storage URL is bit weird (mounting a code dir as data dir), and why that port? I don't see much value in it in terms of "quick starting point". If you think anything was hard to figure out, I'd welcome a patch to the README or the doc/ folder to make it easier for others. Until then, can you send the Containerfile changes as separate patch? Cheers, Conrad
From Conrad Hoffmann to ~sircmpwn/tokidoki-devel
Thanks! to git@git.sr.ht:~sircmpwn/tokidoki 63f78d9..8085f68 master -> master
From Conrad Hoffmann to ~sircmpwn/sr.ht-dev
The FindEntry() function can return a similar "not found" error, depending on the path passed in and circumstances. Currently, this error goes unhandled, causing a nil derefence in the return statement. Add this additional error type to the check to prevent the panic. At least in theory, FindEntry() could also return completely different errors from deep within go-git, so add an explicit panic in case this ever happens, so we at least know what's happening. --- api/graph/model/tree.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/api/graph/model/tree.go b/api/graph/model/tree.go index e6cd3ec..b119211 100644 [message trimmed]
From Conrad Hoffmann to ~sircmpwn/sr.ht-dev
--- builds.sr.ht/graphql.md | 3 +++ git.sr.ht/graphql.md | 3 +++ hg.sr.ht/graphql.md | 3 +++ lists.sr.ht/graphql.md | 3 +++ meta.sr.ht/graphql.md | 3 +++ paste.sr.ht/graphql.md | 3 +++ todo.sr.ht/graphql.md | 3 +++ 7 files changed, 21 insertions(+) diff --git a/builds.sr.ht/graphql.md b/builds.sr.ht/graphql.md index 60f12d8..c805f69 100644 --- a/builds.sr.ht/graphql.md [message trimmed]