Skip to content

Conversation

@stefandevo
Copy link
Collaborator

@stefandevo stefandevo commented Jan 22, 2026

Summary

Expands the card drag-to-create-dependency feature to work between any non-completed features, not just backlog features.

  • Make all non-completed cards droppable for dependency linking
  • Update drag-drop hook to allow links between any status (except completed)
  • Add status badges to the dependency link dialog for better context

Closes #612

Changes

File Change
kanban-card.tsx Made all non-completed cards droppable (was: only backlog)
use-board-drag-drop.ts Allow dependencies between any non-completed features
dependency-link-dialog.tsx Added status badges showing each feature's current status

Test Plan

  • Drag a backlog feature onto an in-progress feature - should open dependency dialog
  • Drag a waiting_approval feature onto a verified feature - should open dependency dialog
  • Verify completed features cannot be dragged or be drop targets
  • Confirm status badges appear in the dependency link dialog
image

Summary by CodeRabbit

  • New Features
    • Allow creating dependency links between any non-completed features (e.g., in-progress), while preventing links to completed features.
    • Show status badges for both dragged and target features in the dependency link dialog for clearer state visibility during linking.

✏️ Tip: You can customize this high-level summary in your review settings.

claude and others added 2 commits January 21, 2026 01:01
…tures

Previously, the card drag-to-create-dependency feature only worked between
backlog features. This expands the functionality to allow creating dependency
links between features in any status (except completed).

Changes:
- Make all non-completed cards droppable for dependency linking
- Update drag-drop hook to allow links between any status
- Add status badges to the dependency link dialog for better context
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @stefandevo, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the flexibility of dependency management within the board view. By allowing users to create dependencies between any non-completed features, it streamlines workflow and provides a more intuitive experience for managing interconnected tasks. The addition of status badges in the dependency linking dialog further improves clarity and user understanding during the process.

Highlights

  • Expanded Dependency Linking: The drag-to-create dependency feature now allows linking between any non-completed features, removing the previous restriction to only backlog features.
  • Updated Drag-Drop Logic: The underlying drag-drop hook has been modified to prevent dependency creation only for completed features, aligning with the expanded linking capabilities.
  • Enhanced Dependency Dialog: The dependency link dialog now displays status badges for both the dragged and target features, providing clearer context to the user during the linking process.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link

coderabbitai bot commented Jan 22, 2026

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

📝 Walkthrough

Walkthrough

This PR expands droppable targets to all non-completed features (not just backlog), prevents linking if either feature is completed, and adds StatusBadge displays to the dependency-link dialog for dragged and target features.

Changes

Cohort / File(s) Summary
Kanban card droppable logic
apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx
Droppable condition changed from status === 'backlog' to status !== 'completed', allowing drops onto in-progress/non-completed cards.
Dependency dialog UI
apps/ui/src/components/views/board-view/dialogs/dependency-link-dialog.tsx
Added StatusBadge and FeatureStatusWithPipeline rendering next to dragged and target feature headers.
Drag-drop validation hook
apps/ui/src/components/views/board-view/hooks/use-board-drag-drop.ts
Validation updated to forbid creating links if either feature is completed (previously required both to be backlog); error text updated accordingly.

Sequence Diagram

sequenceDiagram
    participant User
    participant Card as Kanban Card
    participant Hook as Drag-Drop Hook
    participant Dialog as Dependency Dialog

    User->>Card: Drag feature card
    Card->>Hook: Request drop validation for target
    Hook->>Hook: Check statuses (forbid if either completed)
    Hook-->>Card: Allow or deny drop
    Card->>Dialog: Open dependency link dialog (on allowed drop)
    Dialog->>Dialog: Render StatusBadge for dragged & target features
    User->>Dialog: Confirm create dependency
    Dialog->>Hook: Create dependency link
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

Suggested labels

Enhancement, Testers-Requested

Poem

🐰 I hopped through cards both bright and grey,
I nudged non-completed ones to play,
Badges gleam beside each name,
Links form swift — yet none the same,
A tiny rabbit cheers the new display!

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: expanding drag-to-create dependencies to work between any non-completed features, which is the primary objective of the PR.
Linked Issues check ✅ Passed The PR fully implements the acceptance criteria from #612: it exposes drag-to-create dependency affordance when dropping cards, supports multiple feature statuses beyond backlog, and adds status indicators.
Out of Scope Changes check ✅ Passed All changes are directly related to issue #612's objective of enabling drag-to-create dependencies between features; no unrelated or extraneous modifications were introduced.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request enhances the feature dependency creation by allowing links between any non-completed features, improving user flexibility. The changes include modifications to kanban-card.tsx, use-board-drag-drop.ts, and dependency-link-dialog.tsx to implement this functionality and provide better context through status badges. I have identified one critical issue regarding potential logical errors in the dependency linking logic.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@apps/ui/src/components/views/board-view/dialogs/dependency-link-dialog.tsx`:
- Around line 15-16: The file imports StatusBadge via a relative path; change
this to import StatusBadge from the shared package export instead (e.g., from
the appropriate `@automaker/`* package) and, if StatusBadge is not already
exported from that package, add a re-export in the package's public API (barrel)
so StatusBadge is available for import; update the import statement in
dependency-link-dialog.tsx to use the shared-package import and ensure any
build/type exports (index.ts) include StatusBadge so the repo rule is satisfied.

@stefandevo stefandevo added the Testers-Requested Request for others to test an enhancement or bug fix/etc. label Jan 22, 2026
@stefandevo stefandevo merged commit afb6e14 into AutoMaker-Org:v0.14.0rc Jan 23, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Testers-Requested Request for others to test an enhancement or bug fix/etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants