issues
Issues, as on GitHub: one list per monorepo, numbered #1, #2, ...
in arrival order with no gaps (one counter, taken in one step), with an
optional project (the repo it is about). Members open, comment, edit,
label, assign, close and reopen any issue; owners manage labels and may
delete anyone's comment. Bodies and comments are Markdown, up to 65,536
characters; titles 1 to 256.
Branches and merges. A branch is linked to an issue three ways: a
closing keyword in its title or description ("Fixes #12"), one in a
commit on the branch (read with the branch's facts), or an explicit
link. Keywords are GitHub's: close, closes, closed, fix, fixes, fixed,
resolve, resolves, resolved, any case, an optional colon, then #12 or
owner/name#12 of this monorepo; one keyword per number; text in
backticks is skipped; a git revert commit never closes. A merge into
main decides, as it lands, the open issues it closes: the branch's links
and the keywords in its merge message and merged commits (MergeResult
closes, also on its merged line). Each closes about a second later,
in its own step, as completed, naming the merge (issue.closed); one a
person closed meanwhile is left as it is. Issues never refuse a merge.
A revert never reopens.
Writes are safe to retry. Create and comment take an
Idempotency-Key header (up to 64 characters, kept for good, per
person): a retry answers the first one (200, Pando-Replayed: true).
Labels, assignees, links, reactions and state are set operations. A
body edit with base_version never overwrites someone else's: a stale
one is 409 edited with current, the issue or comment as it is now.
Live. Every change is one event on the monorepo's stream (topics
issues and issue:<n>); issue.opened, issue.commented,
issue.closed (by a person) and issue.reopened are activity lines.
Open issues assigned to a person show in the home's "Needs you".
- A page of issues, and the open and closed counts for the same filters
- Open an issue
- One issue, with its body, links, participants and reactions
- Edit, label, assign, link, close or reopen an issue
- Comments and events together, oldest first
- Comment on an issue
- One comment, whole (a live event leaves a body over 16 KB out)
- Delete a comment (yours, or anyone's as an owner); it leaves the timeline
- Edit your comment
- React to an issue (once per person and reaction)
- Take your reaction back
- React to a comment
- Take your reaction back
- The monorepo's labels, by name, each with its open issues
- Make a label (owners)
- Delete a label (owners); it leaves every issue, with no timeline items
- Rename, recolour or describe a label (owners); a rename moves it on every issue in one step