Frontmatter
| id | 9308 |
| title | Implement custom sorting for Top Repo column in DevIndex |
| state | Closed |
| labels | enhancementai |
| assignees | tobiu |
| createdAt | Feb 26, 2026, 3:03 PM |
| updatedAt | Feb 26, 2026, 3:07 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9308 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 26, 2026, 3:07 PM |
Implement custom sorting for Top Repo column in DevIndex

tobiu
Feb 26, 2026, 3:07 PM
Input from Gemini 3.1 Pro:
✦ I have implemented the custom sorting for the Top Repo column using the "Turbo-Safe" virtual field approach (
topRepoCount). TheonSortColumnhandler inGridContainercorrectly intercepts the property and preserves the visual sorting state of the header. The changes have been successfully committed and pushed to thedevbranch.
tobiu assigned to @tobiu on Feb 26, 2026, 3:07 PM
tobiu closed this issue on Feb 26, 2026, 3:07 PM
Problem: The
topRepocolumn in the DevIndex grid maps to an array['repoName', count]. Default sorting fails because it compares array references rather than the contribution count.Proposed Solution: Leverage "Turbo Mode" soft hydration by adding a
topRepoCountvirtual field toDevIndex.model.Contributorand intercepting the sort property insideDevIndex.view.home.GridContainer#onSortColumnto sort by this count.apps/devindex/model/Contributor.mjs: AddtopRepoCountvirtual field using(data.topRepo ?? data.tr)?.[1] || 0.apps/devindex/view/home/GridContainer.mjs: OverrideonSortColumnto swaptopRepofortopRepoCountinsortOptsbefore passing to the store, preserving the original property forremoveSortingCssto keep visual state correct.