Repository navigation
fix(app-space): expand GROUP path items + use per-path description - #2860
Merged
Merged
Conversation
getAppSpaceProgress / getEventProgress emitted one output item per CompletionPathItems row and hard-coded each path's description to the mission's. Two visible bugs on the App-Space event page: 1. A path whose item is a GROUP rendered "0 tutorials" — the GROUP row was emitted verbatim as type:'GROUP', which the frontend island (filters type==='TUTORIAL') dropped. Now expand GROUP items into their child tutorials via GroupPathItems (mirrors build-catalog.js), batching the child TaskRecord lookups so progress still renders. 2. Every path card showed the same mission description. Now use the path's own CompletionPaths.description (fallback to mission). Shared paths-building extracted to buildPathItems/expandGroupTutorials/ groupChildLegacyIds in path-item-task-resolver.js so both twin handlers stay in sync. Adds regression tests (GROUP expansion + per-path description) to test/app-space-fk-resolution.test.js.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Two rendering bugs on the App-Space event page (e.g.
/app-space/?eventId=10000015), reported against the "SAP TechEd Berlin 2026 Test" event:GROUPpath item (its tutorials live in the group), but the card shows 0 tutorials.Root cause
Both live in
getAppSpaceProgress(and its twingetEventProgress) insrv/developer-service.js:CompletionPathItemsrow, passingtype: i.taskTypethrough verbatim. AGROUProw became a singletype:'GROUP'card, which the frontend island (AppSpace.vue, countstype === 'TUTORIAL') filters out → 0 tutorials. The group's child tutorials live inGroupPathItemsand were never read. (build-catalog.jsalready expands nested groups — this ports that behavior.)description: mission.descriptionwas hard-coded for every path, ignoring theCompletionPaths.descriptioncolumn that was already fetched.Fix
expandGroupTutorials()insrv/lib/path-item-task-resolver.jsbatch-readsGroupPathItems(ordered byitemOrder) → child tutorials;buildPathItems()flattens each GROUP into oneTUTORIALoutput item per child. ChildTaskRecordlookups are batched viagroupChildLegacyIds()so progress/status still render. No frontend change needed — children arrive asTUTORIALitems.description: p.description || mission.description || ''.Tests
test/app-space-fk-resolution.test.js: (a) GROUP path item expands into its ordered child tutorials with no leftoverGROUPcard; (b) each path shows its own description, distinct from the mission text. Both verified to fail against the old code and pass with the fix.npm testCAP backend suite green (developer-service 25/25, app-space 4/4). Pre-existing fresh-worktree artifact failures (*.bundle.mjs,@mediapipe/tasks-vision) are unrelated to this change.🤖 Generated with Claude Code