detached 1fb2421

2026-10-20

de918e2docs(diff): say that files over the one-file cap take no line comment GPG Verifiedbrice
4af5505fix(diff): cap one-file loads at 50,000 changed lines and harden the web splice GPG Verifiedbrice
eb480cbfix(web): keep collapsed files closed in loaded windows and ignore held keys GPG Verifiedbrice
81bd47ffeat(web): collapse generated and large diff files with on-demand load GPG Verifiedbrice
1b58f08test(diff): comment on a generated file and collapse it in commit windows GPG Verifiedbrice
2a79463feat(diff): share one window policy for MR, commit and comment reads GPG Verifiedbrice
b1b81dffix(diff): omit a file over the byte budget of earlier files as budget GPG Verifiedbrice
0e23da4feat(diff): tell why a diff file has no hunks GPG Verifiedbrice
7fe3b18build(deps): use ermite-api v0.11.0 for the file omission reason GPG Verifiedbrice
e9b7a51test(diff): drop the duplicate changed-line limit test GPG Verifiedbrice
03ad5a8fix(diff): count only changed lines against the diff line limits GPG Verifiedbrice
1e5691efeat(domain): classify generated and vendored files by path GPG Verifiedbrice
fe19220test(web): run the MR push subtests in parallel GPG Verified8/8brice
a01252afix(web): keep the open MR footer panel through an in-place refresh GPG Verified3/4brice
6b81fd4fix(web): show MR footer panels without scripts and style the tabs as buttons GPG Verified2/4brice
f525ac6feat(web): turn the MR footer into toggle tabs on a darker background GPG Verifiedbrice
89e7d82fix(web): stop the checks label observer from looping with hx-live GPG Verified3/4brice
a034b8cfix(web): treat a chosen merge mode as a draft that blocks the refresh GPG Verified3/4brice
18da841fix(web): handle the live stream reader cancellation at its source GPG Verifiedbrice
e688ec5fix(web): keep MR form drafts and the live stream across refreshes GPG Verifiedbrice
cff892bfix(web): keep the MR refresh anchored, draft safe and lean GPG Verifiedbrice
e97c08efeat(web): refresh the MR view in place when its source branch moves GPG Verifiedbrice
b46e8c1fix(web): resolve MR view review findings GPG Verified4/4brice
52bc7c7style(web): fit the MR footer to the mobile layout GPG Verified4/4brice
97c558fMerge branch 'feat/mr-view-ux-mobile' into feat/mr-view-ux merge GPG Verifiedbrice
966bf44Merge branch 'feat/mr-view-ux-panels' into feat/mr-view-ux merge GPG Verifiedbrice
d92c6dcfeat(web): make the MR view edge to edge and touch friendly on mobile GPG Verifiedbrice
42e48d0feat(web): move MR commits and checks into a tabbed card footer 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

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