Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

Build out the forge web UI

f09ef39efe44de693748053a7b596ef328fcf06b · Keenan Nemetz · 15d ago · parent 70b70264

Build out the forge web UI

Turn the web surface into a compact, server-rendered forge with HTMX as the
progressive dynamic layer.

- Split templates and assets into embedded files; add a tokenised dark theme,
  Lucide icons, and vendored HTMX.
- Add the repository Overview page and a separate chronological Activity feed
  with type filters and HTMX fragment updates.
- Finish the issue and change workflows: create pages, comments, close/reopen,
  labels and assignees, approval, discussion, line-anchored review comments,
  and HTMX list filters.
- Add syntax-highlighted blobs, contributor/statistics derivation, branch-aware
  code browsing, and a repository Runs list.
- Add a loopback-only development login for local write testing, with explicit
  configuration and listener checks.
- Extend tests for the new pages, fragments, labels, assignees, anchors, and
  development login.

forge/config/config.go +9

@@ -60,6 +60,11 @@ type Config struct {
60 60 // because WebAuthn is bound to that origin. It is also what the CLI uses to
61 61 // print a link to something it just created.
62 62 PublicURL string `toml:"public_url"`
63 // DevLogin is a development-only escape hatch: when set to an account name,
64 // a browser request from loopback is signed in as that account. It is refused
65 // unless http_addr is itself a loopback address, and the instance logs a
66 // warning at startup. Never enable it on a shared instance.
67 DevLogin string `toml:"dev_login"`
63 68
64 69 Path string `toml:"-"`
65 70 }
@@ -188,6 +193,10 @@ ssh_addr = "127.0.0.1:2222"
188 193 # print the page for something it just created. Trailing slash is ignored.
189 194 # public_url = "https://forge.example.com"
190 195
196 # Development only: sign loopback browser requests in as this account. Refused
197 # unless http_addr is a loopback address. Never enable this on a shared instance.
198 # dev_login = "you"
199
191 200 # Let anyone create an account by registering a passkey. New accounts have no
192 201 # repository-specific access; each repository's default role still applies.
193 202 # Off unless you are running an instance that wants public contributions.