feat(ui): action keys, confirm dialog and bulk merge with the merge contract #31
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/9-actions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The action keys for #9:
mmerge,aapprove,xclose,ccomment (in$EDITOR),oopen in browser,Ropen the run's page,rrefresh,spaceto mark PRs andescto clear marks, plus bulk merge. Merges follow the safety rules from the plan review and the PM's decisions in #13.Changes
mre-checks each target first. The confirm dialog records each PR's head commit, and a PR that changed after you confirmed is refused instead of merged.escstops new merges from starting, and merges already running finish and report.mretries just those. The re-check finds any that were actually merged and unmarks them.forge.ErrRefused: the Forgejo adapter maps 405 and 409 refusals (other than "head out of date") to it, keeping the server's message.copens$EDITOR, and empty content cancels.oandRuse the platform opener.cmd: the "only merge when green" setting is passed in from the selected host's config. Demo mode leaves it off, so actions can be tried safely on fake data.Screens (
lazyforge --demo, 80×24)Test plan
make checkexit 0: format, lint (0 issues),go test -race, govulncheck, build, install test.Rulings
forge.ErrRefusedexists, and everymre-checks its targets first.cfollows what the forge allows, so it's visible with read access, because Forgejo lets readers comment. A scope note is on the ticket.Closes #9
🤖 Generated with Claude Code