detached aa7340c

2026-10-19

aa7340cMerge 843ebed5ec107f59b860cc5e66bbcaf8e64a8425 into d8e7d5b03a01f5f16f8d49f12a7e132355b40f06 merge ermite
843ebedbuild(deps): require ermite-api v0.10.0 GPG Verified2/4brice
bd7f951test(mr): cover stale retry timers, branch disappearance and CAS conflict; drop unused clock GPG Verifiedbrice
d234d1ffix(mr): keep replacement retries from stale timers and log reconcile failures GPG Verifiedbrice
3c860bfrefactor(mr): reconcile mergeability once per repository GPG Verifiedbrice
030f98brefactor(mr): retry failed mergeability work per repository only GPG Verifiedbrice
2dd5806fix(mr): count retry attempts only for the keys that wait in the scheduler GPG Verifiedbrice
5ff90d1fix(mr): arm one retry timer per earliest retry in the mergeability scheduler GPG Verifiedbrice
0efd0e8fix(mr): bound mergeability retries with one scheduler and retry failed publishes GPG Verifiedbrice
bc99f06feat(cli): report the mergeability feature GPG Verifiedbrice
2d46430fix(rpc): report checking mergeability on open merge requests GPG Verifiedbrice
4476ae5fix(events): deliver mergeability events on owner topics GPG Verifiedbrice
9fec184fix(mr): bound conflict paths with exact-sized copies GPG Verifiedbrice
880001ffix(mr): retry failed mergeability checks with backoff GPG Verifiedbrice
3ed66a0fix(mr): alternate pending and dirty work in the mergeability queue GPG Verifiedbrice
dd65869fix(mr): refresh live-event goldens and guard shared issue numbers GPG Verifiedbrice
3945367fix(web): enable the merge button after choosing a mode by keyboard GPG Verifiedbrice
72d0556fix(web): keep the merge box inside its popover and the MR URL after a refused merge GPG Verifiedbrice
1790409feat(web,cli): live mergeability in the merge box, merge modes and inline merge errors GPG Verifiedbrice
a39330afix(mr): safe async source deletion, single-run mergeability queue and domain-side merge-tree bounds GPG Verifiedbrice
f44d044feat(mr): per-mode merge checks, signed merge commits and side effects after the response GPG Verifiedbrice
b292b48refactor(kvstore): decode the mergeability record without mutating it GPG Verifiedbrice
0fe1a7cfeat(mr): background mergeability checks, their Watch event and API field GPG Verifiedbrice
985dcc0feat(mr): mergeability types, merge-tree checks, storage record and merge commit mode GPG Verifiedbrice
d8e7d5btest(app): give the concurrent push test one receive-pack slot per push GPG Verified8/8brice
67508cctest(usecase): run the issue moderation subtests in parallel GPG Verified7/8brice
f6f76c8build(deps): ermite-api v0.9.0 GPG Verifiedbrice
7e0e489feat(kvstore): grant mr:review and issue:write to full tokens in the schema 4 upgrade GPG Verifiedbrice
fa37646merge: main with merge request notes into feat/issue-form merge GPG Verifiedbrice
86ac875Merge remote-tracking branch 'origin/main' into feat/mr-notes merge GPG Verified7/8brice
77b3426build(deps): ermite-api v0.8.0 GPG Verifiedbrice
d9a8fffci: skip the CI run for changes to docs, Markdown and PNG files only GPG Verified7/8brice
1b19512fix(web): make home screen icons full-bleed without a drawn border GPG Verified4/4brice
b1b26b4fix(web): render apple touch icon with transparent corners GPG Verifiedbrice
346e37fdocs: correct issue access, limiter and comment docs GPG Verified1/4brice
e53302brefactor(kvstore): keep the hexcheck waiver on issue approval GPG Verifiedbrice
ddab9a2fix(rpc): answer not found to non-owners before parsing moderation requests GPG Verifiedbrice
f8b1e92refactor: drop the unused pending issue state, ListOpen and InboxMergeRequest GPG Verifiedbrice
1486f6drefactor(domain): build approved issues in the domain GPG Verifiedbrice
0284609perf(kvstore): page issues without decoding the whole history GPG Verifiedbrice
17b5f65fix(kvstore): bound the numbering locks GPG Verifiedbrice
b0db7adfix(usecase): refresh the inbox after a rejection GPG Verifiedbrice
03a1ab8Merge branch 'feat/inbox' into feat/issue-form merge GPG Verifiedbrice
0092b37Merge branch 'feat/issues' into feat/inbox merge GPG Verifiedbrice
30f7beafix(rpc): build against the api with merge request notes and reject scope mr:review GPG Verifiedbrice
b5344bffix(usecase): verify the proof of work before any admission check and reserve quota and queue atomically GPG Verifiedbrice
bc78630fix(web): count issue form limits like the server and refresh the challenge after back navigation GPG Verifiedbrice
e687d9cdocs: public issue form and moderation GPG Verifiedbrice
cce8cfafeat(web): public issue form and moderation in the inbox GPG Verifiedbrice
093dc62feat(web): proof of work solver 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