Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

#193

Sort the issue list by when it last moved

merged · by keenan 4d ago · merged into main at 6813339b by keenan 4d ago

keenan opened this 4d ago

The issues table now leads with activity instead of creation order, and the columns describe what a reader came to find out.

What changed

  • Assignees look like people. They are profile links with the same userlink treatment as the author, not label chips. Multiple assignees are comma-separated.
  • The last column is Updated. It is the newest commit over the issue’s directory on the metadata branch: an edit of the title, description, labels, state, or assignees, or a comment. The branch deliberately has no updated field, so the index derives it and stores it. A rebuild does one git log over the subtree; an incremental refresh does one over the new range, and also uses the touched paths so an edit reverted inside the range still counts.
  • Creation time and author moved under the title. The metadata line reads [#192](/vole/n/192) opened by keenan 3d ago, matching the issue page’s subtitle.
  • Labels have their own column, with an em dash when there are none.
  • Default order is Updated descending. Open issues still come before closed ones when both are shown; the index’s default order changed too, so the overview’s open-issue sidebar shows what moved as well.

The index schema version is bumped, so the derived rows are dropped and rebuilt from the branch on the next read.

Tests

  • core/git: TouchTimes keeps the newest commit per path and reads only the range it is given.
  • forge/index: Updated follows a comment, an edit, and an edit that was reverted inside the refreshed range; a full rebuild and an incremental refresh agree; the store returns the commented issue first.
  • server: the rendered list carries the new columns, renders the author and assignee as profile links, drops Age and Author, and orders by activity rather than by creation.

gofmt, go vet, and go test -race -count=1 -tags sqlite_fts5 ./... pass.

Discussion (0)

No discussion yet.