commits
Spindle will listen to `sh.tangled.git.refUpdate` event from knot
stream and sync its local git repo instead. Spindle's git repo will
sparse-checkout only `/.tangled/workflows` directory.
Spindle now requires git version >=2.49 for `--revision` flag in `git
clone` command.
Signed-off-by: Seongmin Lee <git@boltless.me>
spindle-tap will collect/stream record events from:
- users dynamically added by spindle (spindle members | collaborators of
repos using spindle)
- any users with `sh.tangled.repo.pull` collection
It might be bit inefficient considering it will also stream repo
creation events from PR authors due to second rule, but at least we now
have backfill logic and Sync 1.1 based syncing.
This inefficiency can be fixed later by modifying upstream tap cli or
embedding tap into spindle.
```
+--------- all tangled users --------+
| |
| +-- users known to spindle-tap --+ |
| | (PR author / manually added) | |
| | | |
| | +----------------------------+ | |
| | | users known to spindle | | |
| | | (members / collaborators) | | |
| | +----------------------------+ | |
| +--------------------------------+ |
+------------------------------------+
```
Close: <https://tangled.org/tangled.org/core/issues/341>
Signed-off-by: Seongmin Lee <git@boltless.me>
This new db migration won't migrate existing records in repos table.
Instead, it will simply rename the legacy table to `repos_old` and
create a new one with same name.
repo backfill will be done with tap
Signed-off-by: Seongmin Lee <git@boltless.me>
create new one if it's missing
Signed-off-by: Seongmin Lee <git@boltless.me>
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 becase repos table is empty yet.
Signed-off-by: Seongmin Lee <git@boltless.me>
- use repo AT-URI as identifier
- 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 object C"
where `A,B,C,D` are `sub,dom,obj,act`.
Many parts 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>
- did-method-plc
- bluesky-jetstream
- bluesky-relay
- tap
Signed-off-by: Seongmin Lee <git@boltless.me>
this will fix nix devshell failing on darwin machine
The fix was introduced on: <https://github.com/NixOS/nix/pull/14778>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Thomas Karpiniec <tkarpiniec@icloud.com>
Signed-off-by: Evan Jarrett <evan@evanjarrett.com>
Signed-off-by: Thomas Karpiniec <tkarpiniec@icloud.com>
This reverts commit ada8bf645f471d0aff466d4b91beb1d07dc9f4dd.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
this will fix build error on darwin machines
Signed-off-by: Seongmin Lee <git@boltless.me>
fixes https://tangled.org/tangled.org/core/issues/339 .
Signed-off-by: helpimnotdrowning <helpimnotdrowning@gmail.com>
presently only renders in markdown and description contexts, we could
potentially apply this to commit message contexts too.
fixes https://tangled.org/tangled.org/core/issues/334 .
Signed-off-by: oppiliappan <me@oppi.li>
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: Thomas Karpiniec <tkarpiniec@icloud.com>
Signed-off-by: oppiliappan <me@oppi.li>
the merged_notifier no longer waits for the notifiers to complete. it is
now fire-and-forget.
Signed-off-by: oppiliappan <me@oppi.li>
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: 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>
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>
Spindle will listen to `sh.tangled.git.refUpdate` event from knot
stream and sync its local git repo instead. Spindle's git repo will
sparse-checkout only `/.tangled/workflows` directory.
Spindle now requires git version >=2.49 for `--revision` flag in `git
clone` command.
Signed-off-by: Seongmin Lee <git@boltless.me>
spindle-tap will collect/stream record events from:
- users dynamically added by spindle (spindle members | collaborators of
repos using spindle)
- any users with `sh.tangled.repo.pull` collection
It might be bit inefficient considering it will also stream repo
creation events from PR authors due to second rule, but at least we now
have backfill logic and Sync 1.1 based syncing.
This inefficiency can be fixed later by modifying upstream tap cli or
embedding tap into spindle.
```
+--------- all tangled users --------+
| |
| +-- users known to spindle-tap --+ |
| | (PR author / manually added) | |
| | | |
| | +----------------------------+ | |
| | | users known to spindle | | |
| | | (members / collaborators) | | |
| | +----------------------------+ | |
| +--------------------------------+ |
+------------------------------------+
```
Close: <https://tangled.org/tangled.org/core/issues/341>
Signed-off-by: Seongmin Lee <git@boltless.me>
- use repo AT-URI as identifier
- 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 object C"
where `A,B,C,D` are `sub,dom,obj,act`.
Many parts 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>
this will fix nix devshell failing on darwin machine
The fix was introduced on: <https://github.com/NixOS/nix/pull/14778>
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>