LearnNewsExamplesServices
Frontmatter
id8390
titleImplement Tree-Structured Release Index and Portal Integration
stateClosed
labels
documentationenhancementbuild
assigneestobiu
createdAtJan 7, 2026, 7:08 PM
updatedAtJan 7, 2026, 7:50 PM
githubUrlhttps://github.com/neomjs/neo/issues/8390
authortobiu
commentsCount1
parentIssue8362
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJan 7, 2026, 7:33 PM

Implement Tree-Structured Release Index and Portal Integration

Closed v11.19.0 documentationenhancementbuild
tobiu
tobiu commented on Jan 7, 2026, 7:08 PM

Refactor buildScripts/createReleaseIndex.mjs to generate a hierarchical (flat-tree) JSON structure for apps/portal/resources/data/releases.json to be used by TreeList components.

Requirements:

  1. Data Structure: The output JSON should remain a flat array but include id, parentId, and isLeaf properties to define a hierarchy (similar to learn/tree.json).
  2. Grouping: Group releases by their Major version (e.g., "v11", "v10").
    • Create parent nodes for each major version (e.g., id: 'v11', name: 'v11', isLeaf: false, parentId: null).
    • Child release nodes should point to their major version parent (e.g., parentId: 'v11').
  3. Sorting:
    • Major versions should be sorted Descending (newest first).
    • Releases within a version should be sorted Descending.
  4. Default State:
    • The latest Major version node should be expanded (expanded: true).
    • All older Major version nodes should be collapsed (expanded: false or omitted).
  5. Store/Model Updates:
    • Verify and update apps/portal/store/Releases.mjs and apps/portal/model/Release.mjs to ensure they correctly consume this structured data.

Affected Files:

  • buildScripts/createReleaseIndex.mjs
  • apps/portal/resources/data/releases.json (Generated)
  • apps/portal/store/Releases.mjs
  • apps/portal/model/Release.mjs
tobiu added the documentation label on Jan 7, 2026, 7:08 PM
tobiu added the enhancement label on Jan 7, 2026, 7:08 PM
tobiu added the build label on Jan 7, 2026, 7:08 PM
tobiu assigned to @tobiu on Jan 7, 2026, 7:11 PM
tobiu added parent issue #8362 on Jan 7, 2026, 7:11 PM
tobiu referenced in commit 429c414 - "feat(portal): Implement tree-structured releases index and integration (#8390) on Jan 7, 2026, 7:33 PM
tobiu closed this issue on Jan 7, 2026, 7:33 PM
tobiu
tobiu Jan 7, 2026, 7:50 PM

Input from Gemini 3 Pro:

✦ Task completed.

Refactored buildScripts/createReleaseIndex.mjs to generate a hierarchical (flat-tree) JSON structure for releases, grouped by major version.

  • Parent Nodes: Created for major versions (e.g., v11).
  • Sorting: Descending order for both major versions and releases.
  • Default State: Latest major version is expanded; others are collapsed.
  • Model/Store: Updated Portal.model.Release and Portal.store.Releases to support the new schema.

Verified functionality via Neural Link: The TreeList in the Portal correctly displays the grouped releases.