Skip to content

fix: Exclude waiting_approval cards from active running state display#775

Merged
gsxdsm merged 1 commit intoAutoMaker-Org:v0.15.0rcfrom
gsxdsm:refactor/auto-mode-service-gsxdsm
Feb 16, 2026
Merged

fix: Exclude waiting_approval cards from active running state display#775
gsxdsm merged 1 commit intoAutoMaker-Org:v0.15.0rcfrom
gsxdsm:refactor/auto-mode-service-gsxdsm

Conversation

@gsxdsm
Copy link
Collaborator

@gsxdsm gsxdsm commented Feb 16, 2026

Cards waiting for approval displayed as still running

Summary by CodeRabbit

  • Bug Fixes
    • Refined active-running status detection across board and list views. Tasks awaiting approval no longer display active-running visual indicators, including animated borders and styling effects. This change improves visual clarity of task status throughout the board and provides clearer distinction between actively running and pending-approval states.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @gsxdsm, 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 addresses a visual discrepancy in the UI where cards awaiting approval were mistakenly presented with the styling and behavior of actively running tasks. By introducing a refined state variable, isActivelyRunning, the system now correctly differentiates between truly active tasks and those paused for approval, leading to a more accurate and intuitive user experience on the board and list views.

Highlights

  • Bug Fix: Incorrect 'Actively Running' State: Resolved an issue where cards with a 'waiting_approval' status were incorrectly displayed as 'actively running' in the UI.
  • New Derived State for Active Running: Introduced a new derived state variable, isActivelyRunning, which now accurately determines if a card is truly active by excluding those in 'waiting_approval' status.
  • UI Component Updates: Updated both the KanbanCard and ListRow components to utilize the new isActivelyRunning variable for conditional styling, rendering, and prop passing, ensuring correct visual representation.

🧠 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.

Changelog
  • apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx
    • Introduced a new isActivelyRunning variable to correctly determine if a card is actively running, excluding 'waiting_approval' status.
    • Replaced direct usage of isCurrentAutoTask with isActivelyRunning in various conditional rendering and styling logic, including hover effects, border rendering, and Card component styling.
    • Updated CardHeaderSection and CardActions components to receive the new isActivelyRunning prop instead of isCurrentAutoTask.
  • apps/ui/src/components/views/board-view/components/list-view/list-row.tsx
    • Defined a new isActivelyRunning variable to filter out 'waiting_approval' cards from the active running state.
    • Modified the RowActions component to use isActivelyRunning for its isCurrentAutoTask prop.
    • Updated the conditional rendering for the animated-border-wrapper-row to use isActivelyRunning.
Activity
  • No specific activity (comments, reviews, etc.) was provided in the context for this pull request.
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
Contributor

coderabbitai bot commented Feb 16, 2026

📝 Walkthrough

Walkthrough

The PR introduces an isActivelyRunning derived flag that refines task state detection by combining isCurrentAutoTask with a check that feature.status is not 'waiting_approval'. This flag replaces isCurrentAutoTask in UI rendering decisions across kanban card and list row components.

Changes

Cohort / File(s) Summary
Active State Refinement
apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx
Introduces isActivelyRunning derived flag and replaces all isCurrentAutoTask checks with isActivelyRunning in hover/transform classes, border styling, content rendering, and component props passed to CardHeaderSection and CardActions.
List Row State Update
apps/ui/src/components/views/board-view/components/list-view/list-row.tsx
Introduces isActivelyRunning derived flag and replaces isCurrentAutoTask in the RowActions prop and animated border conditional wrapping.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested labels

Enhancement, Testers-Requested

Poem

🐰 A flag is born, so refined and clear,
Waiting_approval shall not appear,
Running tasks shine with active delight,
Two components dance, both left and right,
State refined with a whisker's might! ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Merge Conflict Detection ⚠️ Warning ❌ Merge conflicts detected (2 files):

⚔️ apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx (content)
⚔️ apps/ui/src/components/views/board-view/components/list-view/list-row.tsx (content)

These conflicts must be resolved before merging into v0.15.0rc.
Resolve conflicts locally and push changes to this branch.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and accurately describes the main change: excluding 'waiting_approval' cards from the active running state display, which aligns with the primary objective and file-level changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
⚔️ Resolve merge conflicts (beta)
  • Auto-commit resolved conflicts to branch refactor/auto-mode-service-gsxdsm
  • Post resolved changes as copyable diffs in a comment

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 correctly addresses the issue of cards with waiting_approval status being displayed as actively running. The introduction of the isActivelyRunning variable in both KanbanCard and ListRow components effectively encapsulates the new logic and fixes the UI inconsistency.

My main feedback, detailed in the comments, relates to maintainability. The new isActivelyRunning variable is passed to child components through props that are still named isCurrentAutoTask. This is potentially confusing as the prop's meaning has changed. Renaming these props in the child components would improve clarity.

Additionally, I noticed that AgentInfoPanel in kanban-card.tsx and IndicatorBadges in list-row.tsx are still receiving the original isCurrentAutoTask prop. This might be intentional, but it could lead to other subtle UI inconsistencies (e.g., error badges being hidden on waiting_approval cards). It would be beneficial to verify if these components should also be updated to use isActivelyRunning.

);
// A card in waiting_approval should not display as "actively running" even if
// it's still in the runningAutoTasks list. The waiting_approval UI takes precedence.
const isActivelyRunning = !!isCurrentAutoTask && feature.status !== 'waiting_approval';
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This new variable correctly encapsulates the logic for when a card should be displayed as 'actively running'. However, this variable is then passed to child components like CardHeaderSection and CardActions via a prop that is still named isCurrentAutoTask. This can be misleading for future maintenance, as the prop's meaning has changed.

For better code clarity, I recommend renaming the isCurrentAutoTask prop to isActivelyRunning within the CardHeaderSection and CardActions components. Since those files are not part of this pull request, this could be addressed in a follow-up task.

}: ListRowProps) {
// A card in waiting_approval should not display as "actively running" even if
// it's still in the runningAutoTasks list. The waiting_approval UI takes precedence.
const isActivelyRunning = isCurrentAutoTask && feature.status !== 'waiting_approval';
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This new variable correctly defines the active running state for list rows. However, it's then passed to the RowActions component via a prop named isCurrentAutoTask, which could be misleading for future developers.

To improve code clarity and maintainability, it would be best to rename the prop in the RowActions component to isActivelyRunning. This would make the component's API more explicit about its behavior.

Copy link
Contributor

@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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
apps/ui/src/components/views/board-view/components/list-view/list-row.tsx (1)

244-244: ⚠️ Potential issue | 🟡 Minor

Same hasError concern as in kanban-card.tsx.

This line still uses isCurrentAutoTask to suppress error styling. A waiting_approval card that has an error and is still in the running tasks list will have its error hidden. If the kanban-card version is updated to use isActivelyRunning, this should be updated to match.

Suggested change
-  const hasError = feature.error && !isCurrentAutoTask;
+  const hasError = feature.error && !isActivelyRunning;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/ui/src/components/views/board-view/components/list-view/list-row.tsx` at
line 244, The hasError computation is suppressing error styling using
isCurrentAutoTask which hides errors for waiting_approval cards; update the
logic to match the kanban-card change by using isActivelyRunning instead of
isCurrentAutoTask (i.e., compute hasError from feature.error &&
!isActivelyRunning) so running tasks still show error state; locate the hasError
declaration in list-row.tsx and replace the isCurrentAutoTask reference with
isActivelyRunning, ensuring any imports or upstream variable names are adjusted
to match existing usage.
apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx (1)

183-183: ⚠️ Potential issue | 🟡 Minor

hasError should use isActivelyRunning for consistency with error styling on waiting_approval cards

The current logic suppresses error styling for waiting_approval cards that remain in the running list, since hasError gates on !isCurrentAutoTask while isActivelyRunning explicitly excludes waiting_approval status. Since CardHeaderSection and CardActions already use isActivelyRunning to handle the running state indicator, hasError should do the same to ensure error styling displays consistently:

Suggested change
-  const hasError = feature.error && !isCurrentAutoTask;
+  const hasError = feature.error && !isActivelyRunning;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx`
at line 183, The hasError computation currently uses feature.error &&
!isCurrentAutoTask which prevents error styling for cards like waiting_approval
that are treated as running; change it to use isActivelyRunning (i.e.,
feature.error && !isActivelyRunning) so error styling is consistent with the
running-state logic used by CardHeaderSection and CardActions; update the
hasError definition to reference isActivelyRunning instead of isCurrentAutoTask.
🤖 Fix all issues with AI agents
Verify each finding against the current code and only fix it if needed.


In
`@apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx`:
- Around line 248-257: The prop name isCurrentAutoTask is semantically
mismatched because KanbanCard passes isActivelyRunning into it; rename the prop
to isActivelyRunning across the component boundary: update CardHeaderSection and
CardActions to accept a prop named isActivelyRunning (instead of
isCurrentAutoTask), update their prop types/prop interfaces, and update all
usages in KanbanCard (and the other occurrence where CardActions is rendered) to
pass isActivelyRunning, ensuring tests/types compile and any internal references
to isCurrentAutoTask are replaced with isActivelyRunning.
- Line 183: The hasError computation currently uses feature.error &&
!isCurrentAutoTask which prevents error styling for cards like waiting_approval
that are treated as running; change it to use isActivelyRunning (i.e.,
feature.error && !isActivelyRunning) so error styling is consistent with the
running-state logic used by CardHeaderSection and CardActions; update the
hasError definition to reference isActivelyRunning instead of isCurrentAutoTask.

In `@apps/ui/src/components/views/board-view/components/list-view/list-row.tsx`:
- Line 244: The hasError computation is suppressing error styling using
isCurrentAutoTask which hides errors for waiting_approval cards; update the
logic to match the kanban-card change by using isActivelyRunning instead of
isCurrentAutoTask (i.e., compute hasError from feature.error &&
!isActivelyRunning) so running tasks still show error state; locate the hasError
declaration in list-row.tsx and replace the isCurrentAutoTask reference with
isActivelyRunning, ensuring any imports or upstream variable names are adjusted
to match existing usage.
🧹 Nitpick comments (1)
🤖 Fix all nitpicks with AI agents
Verify each finding against the current code and only fix it if needed.


In
`@apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx`:
- Around line 248-257: The prop name isCurrentAutoTask is semantically
mismatched because KanbanCard passes isActivelyRunning into it; rename the prop
to isActivelyRunning across the component boundary: update CardHeaderSection and
CardActions to accept a prop named isActivelyRunning (instead of
isCurrentAutoTask), update their prop types/prop interfaces, and update all
usages in KanbanCard (and the other occurrence where CardActions is rendered) to
pass isActivelyRunning, ensuring tests/types compile and any internal references
to isCurrentAutoTask are replaced with isActivelyRunning.
apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx (1)

248-257: Passing isActivelyRunning as isCurrentAutoTask — semantic mismatch in prop name.

CardHeaderSection and CardActions receive isActivelyRunning through a prop still named isCurrentAutoTask. This works correctly for this fix, but the prop name no longer reflects what's being passed — it now means "actively running" rather than "is the current auto task." Consider renaming the prop in child components to isActivelyRunning (or similar) in a follow-up to avoid future confusion.

Also applies to: 273-275

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx`
around lines 248 - 257, The prop name isCurrentAutoTask is semantically
mismatched because KanbanCard passes isActivelyRunning into it; rename the prop
to isActivelyRunning across the component boundary: update CardHeaderSection and
CardActions to accept a prop named isActivelyRunning (instead of
isCurrentAutoTask), update their prop types/prop interfaces, and update all
usages in KanbanCard (and the other occurrence where CardActions is rendered) to
pass isActivelyRunning, ensuring tests/types compile and any internal references
to isCurrentAutoTask are replaced with isActivelyRunning.

@gsxdsm gsxdsm merged commit 2805c0e into AutoMaker-Org:v0.15.0rc Feb 16, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant