The dashboard queries in internal/store/dashboard.go (DashboardMRs, DashboardIssues, ReviewQueue's involved and requested halves, AssignedIssues) order by x.updated_at DESC alone. Timestamps are milliseconds; rows in distinct milliseconds come back newest first, rows in the same millisecond come back in index order (rowid ascending, oldest first). gitbay dashboard output therefore depends on write timing. TestDashboardPlainPinned sets distinct updated_at on its fixture to stay stable.
Fix: break ties with x.id DESC. The 0035 issues_recent / merge_requests_recent indexes carry rowid ascending after updated_at, so they need rebuilding as (updated_at DESC, id DESC) to keep the index walk (#137).
Keyset-cursor lists (issue, mr, build, feed, notifications, admin users/repos, explore, query run) key on unique columns and are not affected.
closed by cmc in commit 540541e119: store: break dashboard updated_at ties by id
2026-10-02 16:08 UTC