commits
This commit includes bare minimum tap client to use tap from spindle.
Signed-off-by: Seongmin Lee <git@boltless.me>
This commit won't work without following spindle rewrite to use tap and
introduce backfill because repos table is empty yet.
Signed-off-by: Seongmin Lee <git@boltless.me>
1. Use repo AT-URI as identifier.
2. Use `dom` field rather than `obj` to filter by repository. So now
it's "user with role A in repo B can do action D to field C" where
`A,B,C,D` are `sub,dom,obj,act`.
3. Manage app-logic rules in embedded csv file which won't be saved in
db and load to memory on start. This makes app's global rbac rule
change easier as we just need to edit the csv file.
Many permission check methods are missing, but should be enough to test
this new RBAC enforcer package in spindle.
Related issue: <https://tangled.org/tangled.org/core/issues/282>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
avoid using `.Knot` and `.Rkey` directly
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
rkey itself isn't unique across the network because multiple different
knots can emit same rkey. We should use full at-uri here instead.
Signed-off-by: Seongmin Lee <git@boltless.me>
This is better set in a global configuration file, and is set in the
default config for the nix module anyway.
Signed-off-by: tjh <x@tjh.dev>
Allows a knotserver-hosted repository to be the target of a `git archive --remote=https://<remote>` command.
Signed-off-by: tjh <x@tjh.dev>
Signed-off-by: Evan Jarrett <evan@evanjarrett.com>
Signed-off-by: tjh <x@tjh.dev>
Signed-off-by: oppiliappan <me@oppi.li>
`init` is a bad name for a file, a method inside the file could be
called `init` perhaps.
this is already the scheme followed by spindle and appview.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
it seems latest nixpkgs broke sqlite-lib builds. the static pkg set does
not provide ranlib or ar anymore.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
move sets into tree
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Just legal CYA since we previously didn't have an explicit line stating
agreement & linking to the terms anywhere.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Evan Jarrett <evan@evanjarrett.com>
includes query and migration helpers
Signed-off-by: oppiliappan <me@oppi.li>
usage of the resolver is now mentionsResolver.
Signed-off-by: oppiliappan <me@oppi.li>
Rendering specific LaTeX expression results infinite loop on renderer,
causing entire appview to crash
Signed-off-by: Seongmin Lee <git@boltless.me>
in smaller views of a commit, such as logs, only the profile pictures of
coauthors are shown, and the lead author's identity is suffixed with a
"+ N" to indicate co-authors.
in larger views of a commit, such as the commit view, the authors and
the committer are explicitly laid out, DIDs are resolved where possible
and shown alongside profile pictures.
Signed-off-by: oppiliappan <me@oppi.li>
given a list of DIDs, this forms a list of profile pictures capped at 5
profile pictures. this component will be used to represent a collection
of users (e.g.: participants, coauthors).
Signed-off-by: oppiliappan <me@oppi.li>
uses a regex to detect & extract a object.Signature from the
Co-authored-by header.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
this is a backwards compatible structure that is capable of
deserializing both go-git Commit structs and the existing
types.NiceDiff.Commit struct.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Jens Rømer Hesselbjerg <jh.roemer@gmail.com>
Co-authored-by: Seongmin Lee <git@boltless.me>
For the "This user does not have X" pages.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
currently all backlinks are parsed with markdown parser.
So only explict urls like below are supported:
- <https://tangled.org/owner.com/repo-name/issues/123>
- [full url](https://tangled.org/owner.com/repo-name/issues/123)
- [absolute path](/owner.com/repo-name/issues/123)
Also `#comment-123` fragment is supported too.
All references in issue/pull/comment records are stored in at-uri
format. we do have a `mentions` field, but it isn't used yet. mentions
are parsed on rendering and aren't stored anywhere for now.
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Storing references parsed from the markdown body in atproto record and
DB. There can be lots of reference types considering the from/to types
so storing both as AT-URIs
Using `sql.Tx` more to combine multiple DB query to single recoverable
operation.
Note: Pulls don't have mentinos/references yet
Signed-off-by: Seongmin Lee <git@boltless.me>
Defined `refResolver` which will parse useful data from markdown body
like @-mentions or issue/pr/comment mentions
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Thomas Karpiniec <tkarpiniec@icloud.com>
Signed-off-by: oppiliappan <me@oppi.li>
detect the host to clone from and use a local clone if possible.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Seongmin Lee <git@boltless.me>
Now `ResolvedRepo` is basically same to `models.Repo` so we can safely
remove it. (not included in this commit to make change reviewable size.)
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
- remove unused parameters
- pass correct parameters
- rename with `*Fragment` suffix
Signed-off-by: Seongmin Lee <git@boltless.me>
`RepoInfo` is mostly designed for rendering, don't use it for service
logic.
Signed-off-by: Seongmin Lee <git@boltless.me>
replace with rbac enforcer instead
Signed-off-by: Seongmin Lee <git@boltless.me>
Ideally we should completely remove it.
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Don't pass resolved user handles from http handlers. The page renderer
is capable of resolving DIDs and we are using redis cache, so the
performance won't matter much either.
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Thomas Karpiniec <tkarpiniec@icloud.com>
Signed-off-by: Thomas Karpiniec <tkarpiniec@icloud.com>
Introduces framework-provided TANGLED_* environment variables
(repo info, ref/SHA, trigger-specific data) that are injected
into workflow steps.
Signed-off-by: Evan Jarrett <evan@evanjarrett.com>
Signed-off-by: 5jiji <git@5jiji.com>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Evan Jarrett <evan@evanjarrett.com>
1. Use repo AT-URI as identifier.
2. Use `dom` field rather than `obj` to filter by repository. So now
it's "user with role A in repo B can do action D to field C" where
`A,B,C,D` are `sub,dom,obj,act`.
3. Manage app-logic rules in embedded csv file which won't be saved in
db and load to memory on start. This makes app's global rbac rule
change easier as we just need to edit the csv file.
Many permission check methods are missing, but should be enough to test
this new RBAC enforcer package in spindle.
Related issue: <https://tangled.org/tangled.org/core/issues/282>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
in smaller views of a commit, such as logs, only the profile pictures of
coauthors are shown, and the lead author's identity is suffixed with a
"+ N" to indicate co-authors.
in larger views of a commit, such as the commit view, the authors and
the committer are explicitly laid out, DIDs are resolved where possible
and shown alongside profile pictures.
Signed-off-by: oppiliappan <me@oppi.li>
currently all backlinks are parsed with markdown parser.
So only explict urls like below are supported:
- <https://tangled.org/owner.com/repo-name/issues/123>
- [full url](https://tangled.org/owner.com/repo-name/issues/123)
- [absolute path](/owner.com/repo-name/issues/123)
Also `#comment-123` fragment is supported too.
All references in issue/pull/comment records are stored in at-uri
format. we do have a `mentions` field, but it isn't used yet. mentions
are parsed on rendering and aren't stored anywhere for now.
Signed-off-by: Seongmin Lee <git@boltless.me>
Storing references parsed from the markdown body in atproto record and
DB. There can be lots of reference types considering the from/to types
so storing both as AT-URIs
Using `sql.Tx` more to combine multiple DB query to single recoverable
operation.
Note: Pulls don't have mentinos/references yet
Signed-off-by: Seongmin Lee <git@boltless.me>