v0.28.0 fca9155

2026-10-19

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
3f9aa10feat(web): untrusted markdown for external issues GPG Verifiedbrice
99db356feat(usecase): allow public issues GPG Verifiedbrice
a26798bfeat(usecase): anonymous issue submission with adaptive proof of work GPG Verifiedbrice
ee8d39cfeat(rpc): serve pending issue moderation and wire it in the forge GPG Verifiedbrice
51f0135feat(usecase): add issue moderation, the form subkeys and the owner-only issue.submitted event GPG Verifiedbrice
2576c64fix(clientlimit): keep the submission limits free of the domain import GPG Verifiedbrice
8d2ab49feat(clientlimit): add the sliding window submission limiter GPG Verifiedbrice
6a3e65dfeat(kvstore): store pending issues, bans and the issue form key GPG Verifiedbrice
dca1fe7feat(ports): add the pending issue, key, ban, submission limiter and moderation ports GPG Verifiedbrice
784ea9ffeat(domain): add pending issues, the issue submitted event and the form limits GPG Verifiedbrice
babd8c2build(deps): use the local ermite-api issue form branch GPG Verifiedbrice
d66b108test(events): owner topic access matrix, token end, bearer refusal, stale index GPG Verifiedbrice
063865bfix(events): deliver repo.updated and repo.deleted to owner watchers and refresh the inbox GPG Verifiedbrice
bc6524cfeat(web): owner inbox page and home button GPG Verifiedbrice
ab38ed2feat(events): owner topic across repositories GPG Verifiedbrice
974935dfeat(usecase): owner inbox overview across repositories GPG Verifiedbrice
e17a0e5feat(kvstore): list open merge requests and issues across repositories GPG Verifiedbrice
68460c1fix(kvstore): serialize numbering per repository so concurrent creates never exhaust retries GPG Verifiedbrice
b2212f2test(app): merge the declaration with the assignment in the issue e2e test (staticcheck S1021) GPG Verifiedbrice
2794dd4fix(kvstore): guard the repository key when updating an issue so a repo delete leaves no open-issue index keys GPG Verifiedbrice
02692c4fix(events): stop streaming issue events and views once issues are off or the repo is not visible GPG Verifiedbrice
4f0da00fix(app): keep token preset cli working on servers without issues; return issue show write errors; correct issue help limits GPG Verifiedbrice
a4f8ebdfix(usecase): report a conflict when every issue comment save conflicts instead of publishing IssueCommented GPG Verifiedbrice
c064166fix(web): split-only note links and disjoint heading ids of split note copies GPG Verified1/4brice
e3b6724merge(web): issue pages into feat/issues merge GPG Verifiedbrice
68db1e6feat(web): annotate the issue tab and transition for hexcheck GPG Verifiedbrice
06682affix(mr): deleted verdict notes, split-layout note links and verdict labels GPG Verifiedbrice
3872b20test(mr): stronger note retry and range tests GPG Verifiedbrice
fd07554docs: document issues GPG Verifiedbrice
582cf61feat(cli): add ermite issue commands and repo edit --issues GPG Verifiedbrice
931429bfeat(web): add the issue pages, tab, redirects and live notices GPG Verifiedbrice
31c9416docs(mr): notes, threads, ranges and verdicts 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