detached 0e6522c

history of internal/ports/ports.go at 0e6522cd358c4a4b499c88d1802da3155efdd1a6

2026-10-18

166837afeat(web): repository topics, activity heartbeat and figures top right on the home rows (#65) SSH Unverifiedtag v0.24.0brice
333c710feat(web): home rows show commits, last 30 days, latest tag and last activity (#62) SSH Unverifiedtag v0.23.0brice

2026-10-17

0cea275feat(web): live MR checks, draft merge requests, sticky review rail (#47) SSH Unverifiedtag v0.18.0brice

2026-10-15

815fb98feat(ci): pull_request runs from merge requests (#32) SSH Unverifiedtag v0.14.0brice

2026-10-13

8d1000afeat(ci): issue job repository tokens and resolve actions GPG Verifiedbrice

2026-10-12

b4c1e2aMerge origin/main into feat/passkeys merge GPG Verifiedbrice
5769af5test(kvstore): accept a conflict from SetRead racing with a repository delete GPG Verifiedbrice
005cbdarefactor(passkeys): one sign-count check, one client key, the name given at begin GPG Verifiedbrice
dbbae13feat(kvstore): store passkeys and declare the passkey ports GPG Verifiedbrice
2bedec2Merge origin/main into fix/review-hardening merge GPG Verifiedbrice
4738f20refactor: split use cases into internal/usecase and the CLI and composition root into internal/app GPG Verifiedbrice
f2f0e1brefactor(ports): declare every cross-layer contract and its types in ports GPG Verifiedbrice

2026-10-11

7559d0ffeat(app): add the ListPaths use case and reader port GPG Verifiedbrice
4ea27bafeat(mr): delete the source branch on merge from the web and the CLI GPG Verifiedbrice
5925475feat(app): tell the reader when a push or the maintenance changed a repository GPG Verifiedbrice

2026-10-10

7f0f2f2refactor(domain): share blob sniffing, commit text, tree order and ref path splitting GPG Verifiedbrice
50c6964fix(kvstore): make merge request writes depend on the repository key so a delete cannot leave stray keys GPG Verifiedbrice
c1f3cc9feat(session): add the owner principal, session store and login use cases GPG Verifiedbrice
b60fb76feat(domain): add merge requests, repository settings and the signing key types GPG Verifiedbrice
15cb272feat(rpc): report truncated trees and last commits, bound GetTree GPG Verifiedbrice
435618afeat(domain): add update/delete events, request-scoped principal and gitcli branch helpers GPG Verifiedbrice
0d9c2a3feat(gitcli): read refs, trees, blobs, history and diffs with a cat-file pool GPG Verifiedbrice
857b2f4feat(app): limit token list and revoke to the caller's reach, add Auth.Revalidate GPG Verifiedbrice
1ab78bbfeat(githttp): serve smart HTTP through git http-backend with Basic auth and a failed-login limiter GPG Verifiedbrice
607c375feat(tokens): add token and scope domain, storage message and kv token store GPG Verifiedbrice
4e14be1refactor: simplify config lookup, git default and create errors; strengthen tests GPG Verifiedbrice
4c5e5e6feat(ports): add repo metadata, git repos and clock ports with mockery mocks GPG Verifiedbrice

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 4

Tags 45

↑↓ moveenter openesc close