commits
Xrpc is not a good way to implement this as Xrpc clients usually strips
out the response http headers.
The archive should be implemented in raw http endpoint instead like git
https endpoints
Signed-off-by: Seongmin Lee <git@boltless.me>
Close: #231
Signed-off-by: Seongmin Lee <git@boltless.me>
This will allow users to directly request archive from the knot without
using xrpc.
Xrpc doesn't fit here because it strips out the http headers which might
include valuable metadata like download filename or immutable link.
- remove xrpc method `sh.tangled.repo.archive`
- reimplement archive on knot as `/{owner}/{repo}/archive/{ref}`
endpoint
- appview will just proxy the request to knot on `/archive` like it is
doing for git http endpoints
- rename the `git_http.go` file to generalized `proxy_knot.go` filaname
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
pass mentioned DIDs on `NewIssue*` events
Signed-off-by: Seongmin Lee <boltlessengineer@proton.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
add custom styling rule for mention links (no underline unless hover)
Signed-off-by: Seongmin Lee <boltlessengineer@proton.me>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Jens Rømer Hesselbjerg <jh.roemer@gmail.com>
knot/spindle hostname, plc/jetstream endpoints are all configurable with
environment variables now
Signed-off-by: Seongmin Lee <git@boltless.me>
This will allow running guard without passing every single config
options
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
This reverts commit 55b06460d331a29b940dd06c7518d9fd0a911cd2.
override `Client.Transport` to support PDS served in localhost
Signed-off-by: Seongmin Lee <git@boltless.me>
hard-coded labels make hard to setup local sandboxed environment as the
appview won't run until we fill all 5 definitions under TangledDid.
so make them configurable with `TANGLED_LABEL_DEFAULTS` which is a list
of aturis delimitted by , character
we can have any number/kind of default labels but gfi is required for
`/good-first-issue` page
Signed-off-by: Seongmin Lee <git@boltless.me>
although it might not happen, the appview should be able to handle when
there is no single issue with good-first-issue label
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
knotservers do not respond with the compare link when pushing a tag.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
- DrawLucideIcon & DrawDollySilhouette to simplify the svg drawing logic
- DrawDollySilhouette now depends on the html template itself, instead
of a bespoke svg
this changes lets us remove dolly.svg from the fragments.
Signed-off-by: oppiliappan <me@oppi.li>
Removed description edit UI / endpoints and put unified base settings
form in repository settings page.
This form is restricted to `repo:owner` permission same as before.
The internal model of topics is an array but they are stored/edited as
single string where each topics are joined with whitespaces.
Having a dedicated topics table with M:M relationship to the repo seems
a bit overkill considering we will have external search indexer anyway.
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
in sync with Issue.AtUri.
Signed-off-by: oppiliappan <me@oppi.li>
spindles can now give us detailed logs for start and end of steps. the
appview can ingest these logs to indicate live durations for steps. it
is implemented like so:
- the logs handler keeps track of start and end times for each step
- whenever we recieve a start or end time, we update the html to add a
`data-start` or `data-end` attribute
- using some javascript, we print a live updating timer for each step:
* if only `data-start` is present: then use Now - Start and update
each second
* if both `data-start` and `data-end` are present, then use End -
Start
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
old URLs that refer to users with the `@` are redirected to the version
without `@`. the leading motivation for this change is that valid
atproto handles do not contain the prefix. it is purely stylistic.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Evan Jarrett <evan@evanjarrett.com>
Signed-off-by: Evan Jarrett <evan@evanjarrett.com>
Signed-off-by: Evan Jarrett <evan@evanjarrett.com>
Signed-off-by: Evan Jarrett <evan@evanjarrett.com>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Evan Jarrett <evan@evanjarrett.com>
Signed-off-by: Akshay Oppiliappan <me@oppi.li>
Co-authored-by: Evan Jarrett <evan@evanjarrett.com>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Shalabh Agarwal <me@serendipty01.dev>
fixes: https://tangled.org/@tangled.org/core/issues/224
Signed-off-by: oppiliappan <me@oppi.li>
we no longer resolve handles from DIDs at the handlers, we do this
dynamically when rendering the templates. EmailToDidOrHandle did not
follow this pattern.
there were a few negative side effects from this: the `tinyAvatar`
helper requires that the input be a DID; and not a handle. when a handle
is passed, it results in a different default color for users without
profile pictures; resulting in different colors in repo-log versus, say,
the topbar.
Signed-off-by: oppiliappan <me@oppi.li>
Close: #277
Signed-off-by: Seongmin Lee <git@boltless.me>
empty slice/array with 0 length can not be nil, check with length
instead
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: @nekomimi.pet <ana@nekoimimi.pet>
Signed-off-by: @nekomimi.pet <ana@nekoimimi.pet>
Xrpc is not a good way to implement this as Xrpc clients usually strips
out the response http headers.
The archive should be implemented in raw http endpoint instead like git
https endpoints
Signed-off-by: Seongmin Lee <git@boltless.me>
This will allow users to directly request archive from the knot without
using xrpc.
Xrpc doesn't fit here because it strips out the http headers which might
include valuable metadata like download filename or immutable link.
- remove xrpc method `sh.tangled.repo.archive`
- reimplement archive on knot as `/{owner}/{repo}/archive/{ref}`
endpoint
- appview will just proxy the request to knot on `/archive` like it is
doing for git http endpoints
- rename the `git_http.go` file to generalized `proxy_knot.go` filaname
Signed-off-by: Seongmin Lee <git@boltless.me>
hard-coded labels make hard to setup local sandboxed environment as the
appview won't run until we fill all 5 definitions under TangledDid.
so make them configurable with `TANGLED_LABEL_DEFAULTS` which is a list
of aturis delimitted by , character
we can have any number/kind of default labels but gfi is required for
`/good-first-issue` page
Signed-off-by: Seongmin Lee <git@boltless.me>
Removed description edit UI / endpoints and put unified base settings
form in repository settings page.
This form is restricted to `repo:owner` permission same as before.
The internal model of topics is an array but they are stored/edited as
single string where each topics are joined with whitespaces.
Having a dedicated topics table with M:M relationship to the repo seems
a bit overkill considering we will have external search indexer anyway.
Signed-off-by: Seongmin Lee <git@boltless.me>
spindles can now give us detailed logs for start and end of steps. the
appview can ingest these logs to indicate live durations for steps. it
is implemented like so:
- the logs handler keeps track of start and end times for each step
- whenever we recieve a start or end time, we update the html to add a
`data-start` or `data-end` attribute
- using some javascript, we print a live updating timer for each step:
* if only `data-start` is present: then use Now - Start and update
each second
* if both `data-start` and `data-end` are present, then use End -
Start
Signed-off-by: oppiliappan <me@oppi.li>
we no longer resolve handles from DIDs at the handlers, we do this
dynamically when rendering the templates. EmailToDidOrHandle did not
follow this pattern.
there were a few negative side effects from this: the `tinyAvatar`
helper requires that the input be a DID; and not a handle. when a handle
is passed, it results in a different default color for users without
profile pictures; resulting in different colors in repo-log versus, say,
the topbar.
Signed-off-by: oppiliappan <me@oppi.li>