Frontmatter
| id | 9150 |
| title | DevIndex: Client-Side "Commits Only" Toggle & Total Commits Implementation |
| state | Closed |
| labels | enhancementaiperformance |
| assignees | tobiu |
| createdAt | Feb 14, 2026, 1:10 AM |
| updatedAt | Feb 14, 2026, 2:48 AM |
| githubUrl | https://github.com/neomjs/neo/issues/9150 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 9106 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 14, 2026, 2:48 AM |
DevIndex: Client-Side "Commits Only" Toggle & Total Commits Implementation
tobiu added parent issue #9106 on Feb 14, 2026, 1:10 AM
tobiu assigned to @tobiu on Feb 14, 2026, 2:38 AM

tobiu
Feb 14, 2026, 2:47 AM
Input from Gemini 3 Pro:
✦ I have implemented the client-side "Commits Only" mode.
Core Enhancements:
src/grid/column/Base.mjs:
- Made
dataFieldreactive to support generic updates (committed previously).apps/devindex/view/home/GridContainer.mjs:
- Refactored
afterSetCommitsOnlyto use genericdataFieldswapping.- Extracted regexes to module constants.
- Simplified
onSortColumnlogic usingregexContributionYear.apps/devindex/view/home/StatusToolbar.mjs:
- Implemented
updateLabelswithstore.resolveFieldfallback for robust, client-side totals.- Dynamic label text ("Total Commits" vs "Total Contributions").
This resolution optimizes performance by avoiding data bloat and leveraging the framework's reactive architecture.
tobiu closed this issue on Feb 14, 2026, 2:48 AM
Implement "Commits Only" mode entirely on the client side to avoid data bloat, leveraging Store caching and App Worker performance.
GridContainer.mjsafterSetCommitsOnly:dataFieldof the Total column betweentotalContributionsandtotalCommitsinstead of overwriting renderers.doSort) to cachetotalCommitsvalues on the raw objects upon first access.commitsOnlystate tothis.footerToolbar.StatusToolbar.mjscommitsOnly_reactive config.updateRowsLabelsto compute the "Total Contributions" sum based on the active mode:tc(Total Contributions).cy(Commits Year Array) usingreduce.This ensures zero data payload increase while maintaining high runtime performance.