feat: show task dependencies in iteration detail view (Issue #180)#189
feat: show task dependencies in iteration detail view (Issue #180)#189
Conversation
Add a Dependencies section to the IterationDetailView that displays: - "Blocked by:" showing tasks that this task depends on - "Blocks:" showing tasks that depend on this task This provides clearer visibility into task relationships when viewing iteration details, matching the information shown in TaskDetailView.
This project uses bun.lock as its lockfile. Adding package-lock.json to gitignore prevents accidental commits when npm is used as a fallback.
Use middle dot (·) separator to show all dependency IDs on one line for a more compact vertical display in the iteration detail view.
- Change 'actionable' icon from ▶ to ○ (green circle for ready tasks) - Change 'active' color from blue to green (running task) - Update documentation to reflect new icon meanings Task status icons now clearly distinguish: - ○ green: ready/actionable (can be picked) - ▶ green: active/running - ⊘ red: blocked by dependencies - ✗ red: error/failed - ✓ green: done - ✓ grey: closed (historical)
Added computation of the 'blocks' field in convertTasksWithDependencyStatus(). This field shows which other tasks depend on each task, which is the inverse of the dependsOn relationship. Now the iteration detail view can correctly display both "Blocked by" (tasks this one depends on) and "Blocks" (tasks that depend on this one).
Beads trackers (beads, beads-bv, beads-rust) already provide the 'blocks' field from their CLI output. The computed version should only be used as a fallback for trackers that don't provide it (like the JSON tracker).
Added tests for: - computeBlocksMap: inverse of dependsOn relationship - applyBlocksToTasks: preferring tracker-provided blocks - Task status icons: verifying correct symbols for each status - Task status colors: verifying green for active/actionable, red for blocked/error These tests mirror the logic added to convertTasksWithDependencyStatus in RunApp.tsx without requiring React component testing.
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
WalkthroughThe pull request adds task dependency visualisation features, including a new Dependencies section in the iteration detail view, computation of inverse dependency relationships, status indicator styling updates with green for active tasks and red for blocked tasks, and comprehensive test coverage for these additions. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #189 +/- ##
=======================================
Coverage 44.83% 44.83%
=======================================
Files 76 76
Lines 22029 22029
=======================================
Hits 9877 9877
Misses 12152 12152
🚀 New features to boost your workflow:
|
…-Iztjo feat: show task dependencies in iteration detail view (Issue subsy#180)
Summary
blocksfield (inverse ofdependsOn) for trackers that don't provide it nativelyChanges
Iteration Detail View
Blocked by: US-001 · US-002Task Status Icons
Dependency Logic
dependsOn: Tasks this task depends on (provided by tracker)blocks: Tasks that depend on this task (computed if not provided)blocksTest plan
computeBlocksMapandapplyBlocksToTaskslogictheme.tshas 100% test coverageCloses #180
Summary by CodeRabbit
New Features
Style
✏️ Tip: You can customize this high-level summary in your review settings.