commits
Obviously file naming of appview/web/handler/*.go files are directly
against to go convention. Though I think flattening all handler files
can significantly reduce the effort involved in file naming and
structuring. We are already grouping core services by domains, and doing
same for web handers is just over-complicating.
```
- appview/web/routes.go : define all web page routes
- appview/web/middleware.go : define middlewares related to web routes
- appview/web/handler/*.go : http handlers, named as path pattern
- appview/service/* : services
```
Each handlers are pure by receiving all required dependencies as
parameters. Typically we should not pass base dependencies like `db`,
but that's how it works for now.
Now we can test:
- http handlers with mocked services/renderer
- internal service logic without http handlers
Signed-off-by: Seongmin Lee <git@boltless.me>
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>
Signed-off-by: Will Andrews <did:plc:dadhhalkfcq3gucaq25hjqon>
older knots return a full modestring for each file. use some primitive
parsing to extract a filemode in these scenarios.
Signed-off-by: oppiliappan <me@oppi.li>
both spellings are supported.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: ayla <ayla-git.barcode041@silomails.com>
helps forcing consistent indent sizes. especially html files
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>
Signed-off-by: oppiliappan <me@oppi.li>
encapsulates all the structure necessary to translate the knot's blob
response into a renderable component on the appview. this makes it
extensible for other types in the future too (CSV, Jupyter etc.)
Signed-off-by: oppiliappan <me@oppi.li>
we can now differentiate between regular directories and submodules in
filetree walkers. this fixes things like broken commit info and language
detection in submodules.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
the blob response will additionally include submodule information if the
file is a git-submodule file.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
- allow repo website to be empty when editing base settings
- fix spindle hostname in nix vim
- fix default PLC url in spindles
Signed-off-by: oppiliappan <me@oppi.li>
this unecessary div causes an error where the div is duplicated when
multiple htmx requests are made.
the diff might tell a lot, but all I'm doing here is just merging
`div.relative` and `div#actions-%d` with some indent changes.
also, I removed the `w-fit` style to give pull comments full width like
issue comments have.
Signed-off-by: Seongmin Lee <git@boltless.me>
the appview rewrites urls of the form:
host.com/did-plc-foo/repo => host.com/did:plc:foo/repo
host.com/@handle.com/repo => host.com/handle.com/repo
however, the rewriter did not preserve query parameters or fragments:
host.com/@handle.com/repo?foo=bar => host.com/handle.com/repo?
this resulted in url rewrites being broken for git clones, which usees
the "service" query parameter:
../repo/info/refs?service=git-upload-pack => ../repo/info/refs?
the new url rewriter simply takes the existing url and replaces the path
component, thus preserving all other bits of the url.
Signed-off-by: oppiliappan <me@oppi.li>
instead of rewriting, simply accept .git suffixes in the ResolveRepo
middleware.
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>
Secrets alone can be loaded from the environmentFile.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
- use grid to reduce the HTML elements
- move open/closed buttons to left
- move new button to bottom on small screen
Signed-off-by: Seongmin Lee <git@boltless.me>
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: 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>
Obviously file naming of appview/web/handler/*.go files are directly
against to go convention. Though I think flattening all handler files
can significantly reduce the effort involved in file naming and
structuring. We are already grouping core services by domains, and doing
same for web handers is just over-complicating.
```
- appview/web/routes.go : define all web page routes
- appview/web/middleware.go : define middlewares related to web routes
- appview/web/handler/*.go : http handlers, named as path pattern
- appview/service/* : services
```
Each handlers are pure by receiving all required dependencies as
parameters. Typically we should not pass base dependencies like `db`,
but that's how it works for now.
Now we can test:
- http handlers with mocked services/renderer
- internal service logic without http handlers
Signed-off-by: Seongmin Lee <git@boltless.me>
this unecessary div causes an error where the div is duplicated when
multiple htmx requests are made.
the diff might tell a lot, but all I'm doing here is just merging
`div.relative` and `div#actions-%d` with some indent changes.
also, I removed the `w-fit` style to give pull comments full width like
issue comments have.
Signed-off-by: Seongmin Lee <git@boltless.me>
the appview rewrites urls of the form:
host.com/did-plc-foo/repo => host.com/did:plc:foo/repo
host.com/@handle.com/repo => host.com/handle.com/repo
however, the rewriter did not preserve query parameters or fragments:
host.com/@handle.com/repo?foo=bar => host.com/handle.com/repo?
this resulted in url rewrites being broken for git clones, which usees
the "service" query parameter:
../repo/info/refs?service=git-upload-pack => ../repo/info/refs?
the new url rewriter simply takes the existing url and replaces the path
component, thus preserving all other bits of the url.
Signed-off-by: oppiliappan <me@oppi.li>
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>