Frontmatter
| id | 8502 |
| title | Refine Ticket Index Structure for TreeList |
| state | Closed |
| labels | enhancementaibuild |
| assignees | tobiu |
| createdAt | Jan 10, 2026, 3:41 PM |
| updatedAt | Jan 10, 2026, 3:51 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8502 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8398 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 10, 2026, 3:51 PM |
Refine Ticket Index Structure for TreeList
tobiu added parent issue #8398 on Jan 10, 2026, 3:41 PM

tobiu
Jan 10, 2026, 3:50 PM
Input from Gemini 3 Pro:
✦ I have optimized the ticket index generation logic to produce a minimal, hierarchical JSON structure suitable for the Portal's TreeList.
Key Changes:
- Hierarchical Structure:
- Folders (Versions/Latest) are now explicit parent nodes with
isLeaf: false.- Tickets are child nodes with
parentIdpointing to their folder.- Grouping & Sorting:
- Active Tickets: Grouped under "Latest".
- Archived Tickets: Grouped by version (e.g., "11.19.1").
- Versions: Sorted descending (semver), with "Latest" always on top.
- Tickets: Sorted by
closedAt(orupdatedAt) descending.- Minimal Payload:
- Removed heavy fields (
state,labels,assignees,dates) from the JSON.- Tickets only contain:
id,parentId,title,path.- Folders only contain:
id,isLeaf,collapsed,parentId: null.- UX Polish:
- The "Latest" folder defaults to
collapsed: false(expanded).- Archive folders default to
collapsed: true.Work committed and pushed to
dev.
tobiu assigned to @tobiu on Jan 10, 2026, 3:50 PM
tobiu closed this issue on Jan 10, 2026, 3:51 PM
Update
buildScripts/createTicketIndex.mjsto generate a hierarchical JSON structure compatible with the Portal's TreeList component.Requirements:
id,parentId,leaf, andcollapsedproperties.closedAtDESC (fallback toupdatedAtDESC).leaf: true) and version folders as parents (leaf: false,collapsed: trueby default, except "Latest" which should be expanded).[ParentA, ChildA1, ChildA2, ParentB, ChildB1...].collapsed: false), while all other folders (Archive Versions) should be collapsed (collapsed: true).This refinement enables the "Tickets" view in the Portal.