detached 973e682

2026-10-20

973e682Merge 6ad86d639f8695132aa03137abafc9c8b6bc378d into cc7ba64ee52412f41c3ce5207bac7e47b9f01f30 merge ermite
6ad86d6docs(diff): name every cause of an unavailable file in the API GPG Verified3/4brice
079d98brefactor(web): share the fragment layout rule and document the API omission reasons GPG Verifiedbrice
4ee449bdocs(diff): say that files over the one-file cap take no line comment GPG Verifiedbrice
17fbcbbfix(diff): cap one-file loads at 50,000 changed lines and harden the web splice GPG Verifiedbrice
e235ca3fix(web): keep collapsed files closed in loaded windows and ignore held keys GPG Verifiedbrice
6d4e2aafeat(web): collapse generated and large diff files with on-demand load GPG Verifiedbrice
c3d0391test(diff): comment on a generated file and collapse it in commit windows GPG Verifiedbrice
c6f1c49feat(diff): share one window policy for MR, commit and comment reads GPG Verifiedbrice
7e5b392fix(diff): omit a file over the byte budget of earlier files as budget GPG Verifiedbrice
4fa237bfeat(diff): tell why a diff file has no hunks GPG Verifiedbrice
ed5f8c4build(deps): use ermite-api v0.11.0 for the file omission reason GPG Verifiedbrice
3419606Merge branch 'feat/diff-large-files-count' into feat/diff-large-files merge GPG Verifiedbrice
7e3f6bbtest(diff): drop the duplicate changed-line limit test GPG Verifiedbrice
4569eaffix(diff): count only changed lines against the diff line limits GPG Verifiedbrice
616a902feat(domain): classify generated and vendored files by path GPG Verifiedbrice
cc7ba64Merge branch 'fix/list-cursor-corners' into main (!12) merge SSH Verifiedtag v0.28.14/4ermite
6494d11refactor(kvstore): list job contexts keys in their own helper GPG Verified8/8brice
74b956dfix(web): round the list cursor frame at the card corners GPG Verified4/4brice
e908c5bfix(kvstore): store CI job contexts under their own key GPG Verified3/4brice

2026-10-19

fca9155fix(app): reconcile pull refs before force-push GC tests GPG Verifiedtag v0.28.08/8brice
4d9eaacfix(usecase): drop the unused repository read before the merge lock GPG Verified7/8brice
05fc636refactor: reuse the domain settings predicates and tighten the moved rules after review GPG Verified3/4brice
558568cfix(web,rpc): handle an API or web server built without merge requests or OIDC keys GPG Verifiedbrice
5344be5merge: hexmove/workflow into chore/hexcheck-v0.4.0 merge GPG Verifiedbrice
9f9eee5merge: hexmove/history into chore/hexcheck-v0.4.0 merge GPG Verifiedbrice
c902d2fmerge: hexmove/policies into chore/hexcheck-v0.4.0 merge GPG Verifiedbrice
6b4272dmerge: hexmove/budgets into chore/hexcheck-v0.4.0 merge GPG Verifiedbrice
fe7ab7dmerge: hexmove/revision into chore/hexcheck-v0.4.0 merge GPG Verifiedbrice
a1ec1afrefactor(domain): own the workflow-change rule for job tokens in WorkflowChangeOf GPG Verifiedbrice
6080cberefactor(usecase): own branch comparison, push summaries and unread commits in MergeRequests GPG Verifiedbrice
c0f84a6refactor(usecase): own repo defaults, disabled workflows, OIDC rotation and issue visibility rules GPG Verifiedbrice
0424a8arefactor(domain): own commit-object and diff read budgets GPG Verifiedbrice
ac21956chore(hexcheck): bump to v0.4.0 and drop unused ignore directives GPG Verifiedbrice
e188800refactor(domain): own the revision resolution order in Revision.Candidates GPG Verifiedbrice
4534992feat(web): group the checks of a merge request by run when a commit has several GPG Verified7/8brice
70c00adtest: use Store.Mutate for the merge-mode upgrade test and skip id-only events in the inbox stream test GPG Verified8/8brice
bda2a5efix(mr): wait for the async source deletion before pruning in the squash test; simplify the retry pop condition GPG Verifiedbrice
1475ed7build(deps): require ermite-api v0.10.0 GPG Verifiedbrice
fb5ff06test(mr): cover stale retry timers, branch disappearance and CAS conflict; drop unused clock GPG Verifiedbrice
c22da12fix(mr): keep replacement retries from stale timers and log reconcile failures GPG Verifiedbrice
1036507refactor(mr): reconcile mergeability once per repository GPG Verifiedbrice
0019f14refactor(mr): retry failed mergeability work per repository only GPG Verifiedbrice
99b00c3fix(mr): count retry attempts only for the keys that wait in the scheduler GPG Verifiedbrice
33a90cdfix(mr): arm one retry timer per earliest retry in the mergeability scheduler GPG Verifiedbrice
41023defix(mr): bound mergeability retries with one scheduler and retry failed publishes GPG Verifiedbrice
0e2e418feat(cli): report the mergeability feature GPG Verifiedbrice
bfa2dcdfix(rpc): report checking mergeability on open merge requests GPG Verifiedbrice
5ad3fbefix(events): deliver mergeability events on owner topics GPG Verifiedbrice
f09b4fbfix(mr): bound conflict paths with exact-sized copies 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 2

Tags 45

↑↓ moveenter openesc close