detached 973e682

2026-10-18

2bf61aefeat(web): browse files as a directory tree with keyboard navigation (#58) SSH Unverifiedbrice
e95eebdfeat(web): the home page lists repositories as cards (#56) SSH Unverifiedbrice
8e01339fix(web): rail nits: no idle scroll bar on files, merge rule as a note, latest tag in About, wider commit subjects (#55) SSH Unverifiedbrice

2026-10-17

032b9effeat(web): show the lines a diff hides (e / E) (#54) SSH Unverifiedtag v0.20.0brice
7ecd377fix(web): the merge request rail scrolls on its own, and its list of files folds (#53) SSH Unverifiedbrice
55a688efeat(web): h/l move between the content and the side panel (#49) SSH Unverifiedtag v0.19.0brice
126ed2bci: run the end-to-end tests of internal/app on main only (#52) SSH Unverifiedbrice
3c3845efeat(web): merge request layout, merge bar and lazy-loaded files (#51) SSH Unverifiedbrice
e08f000feat(ci): cache the refs of github.com actions across jobs (#50) SSH Unverifiedtag v0.18.1brice
590f27cMerge pull request 'fix(web): keep the step icon its own size in the job rail' (#48) from fix/steps-icon into main merge SSH Unverifiedbnema
30eee80fix(web): keep the step icon its own size in the job rail GPG Verifiedbrice
0cea275feat(web): live MR checks, draft merge requests, sticky review rail (#47) SSH Unverifiedtag v0.18.0brice
ab8e178feat(web): UI polish, auto sign-in from the link, installable app (#46) SSH Unverifiedtag v0.17.0brice

2026-10-16

924eacaserver-computed runner online state and running version (#40) SSH Unverifiedtag v0.16.0brice
81486c6feat(ci): artifacts v4 storage and API (#39) SSH Unverifiedbrice
0d0b8b2fix(ci): free the group of a replaced run whose record lost it (#45) SSH Unverifiedbrice
cc3aa02feat(ci): OIDC ID tokens for CI jobs (#43) SSH Unverifiedbrice
e4fb10dfeat(ci): create/delete triggers, concurrency queue, schedule timezone (#42) SSH Unverifiedbrice
df1fe87feat(ci): pull_request_target (#41) SSH Unverifiedbrice
626ef13fix(ci): trust pull_request runs only for heads pushed by a trusted principal (#38) SSH Unverifiedbrice
3237aa5fix(ci): annotation titles up to 4096 runes (#37) SSH Unverifiedbrice

2026-10-15

4d48ed2docs(ci): artifacts are not supported (#36) SSH Unverifiedbrice
8bf7449build(deps): pin ermite-api v0.3.0 (#35) SSH Unverifiedbrice
8a6cfecfeat(ci): workflow_dispatch, schedule and workflow_run triggers (#34) SSH Unverifiedtag v0.15.0brice
815fb98feat(ci): pull_request runs from merge requests (#32) SSH Unverifiedtag v0.14.0brice
c11af01feat(ci): reusable workflows (#33) SSH Unverifiedbrice
dc42452feat(ci): workflow and job concurrency groups (#31) SSH Unverifiedtag v0.13.0brice

2026-10-14

7328df5fix(ci): judge the pushed commits in the workflow push guard (#30) SSH Unverifiedtag v0.12.1brice
dccd128feat(ci): job token permissions and workflow push guard (#29) SSH Unverifiedtag v0.12.0brice
0633e44feat(ci): secrets, variables, environments and run trust (#28) SSH Unverifiedtag v0.11.0brice
e4c85c7fix(gitremote): kill git's helpers on timeout and retry a ls-remote that timed out (#27) SSH Unverifiedtag v0.10.1brice
ce48ee3build(deps): ermite-api and ermite-actions v0.2.0 (#26) SSH Unverifiedtag v0.10.0brice
0947903feat(web): recent actions on the summary and visible status marks (#25) SSH Unverifiedbrice

2026-10-13

dd8597aMerge pull request 'feat(ci): store and show annotations, step summaries and step outcomes' (#23) from feat/ci2-results into main merge SSH Unverifiedtag v0.9.0bnema
3bc6931fix(ci): bound the summaries a page reads and stop reading the run on live job updates GPG Verifiedbrice
19fda0cfeat(ci): store and show annotations and job summaries GPG Verifiedbrice
52acaf4Merge pull request 'feat(ci): job token, owner git URLs, GitHub REST subset and action resolution' (#22) from feat/ci2-execution into main merge SSH Unverifiedbnema
1dfc7dctest(passkeys): end the options before a passkey id that may start with a dash GPG Verifiedbrice
71757c4feat(ci): raise the archive limits and test the REST handler GPG Verifiedbrice
89ff433fix(ci): never answer a repository of the server from github.com GPG Verifiedbrice
d024c7ffix(ci): resolve the actions of a merge with the rights of the merger GPG Verifiedbrice
3d22057fix(ci): resolve actions of other repositories on behalf of the pusher, bind archive tokens to a commit GPG Verifiedbrice
2b9c4c6docs: describe the job repository token, the owner's git URL and the REST subset GPG Verifiedbrice
5b66afcfeat(ci): serve the owner's git URLs and the REST subset the actions call GPG Verifiedbrice
8d1000afeat(ci): issue job repository tokens and resolve actions GPG Verifiedbrice
bfdf4d9feat(ci): plan steps with uses, job containers, services and step timeouts GPG Verifiedbrice
cd77819build(deps): bump ermite-api to the CI-2 protocol GPG Verifiedbrice
b8e893fMerge pull request 'build(deps): bump ermite-actions to the Json.NET fromJSON messages' (#21) from chore/bump-ermite-actions into main merge SSH Unverifiedtag v0.8.1bnema
d08683cbuild(deps): bump ermite-actions to the Json.NET fromJSON messages GPG Verifiedbrice
6ef9232Merge pull request 'fix(ci): server-side GitHub Actions parity for tags, run names, invalid runs and needs chains' (#20) from fix/ci-server-parity into main merge SSH Unverifiedbnema

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