Skip to content

Conversation

@Shironex
Copy link
Collaborator

@Shironex Shironex commented Jan 24, 2026

Summary

  • Fixed Kanban board not immediately reflecting features moving to custom pipeline columns

Problem

When a pipeline step starts, the feature status changes to the pipeline column status. Previously, only the single feature query was invalidated, but the Kanban board uses the all features query for column grouping.

This caused the UI to not immediately reflect features moving to custom pipeline columns - updates would only appear after the first pipeline step completed.

Root Cause

In use-query-invalidation.ts, the pipeline_step_started event was only invalidating the single feature query (queryKeys.features.single), but the Kanban board relies on the all features query (queryKeys.features.all) to determine column grouping.

Solution

Added pipeline_step_started to the event handler that also invalidates queryKeys.features.all(), ensuring the Kanban board immediately reflects when a feature moves to a custom pipeline column.

Test plan

  • Create a custom pipeline with 2-3 columns
  • Start a task
  • Verify the task moves to the correct custom pipeline column immediately after finishing "In Progress" column work (not delayed until after the first step completes)

Closes #668

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Refactor
    • Optimized query invalidation logic for pipeline events to improve data refresh efficiency and consistency across the application.

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

When a pipeline step starts, the feature status changes to the pipeline
column status. Previously, only the single feature query was invalidated,
but the Kanban board uses the all features query for column grouping.

This caused the UI to not immediately reflect features moving to custom
pipeline columns - updates would only appear after the first pipeline
step completed.

Fixes #668

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @Shironex, 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 resolves a critical UI synchronization bug affecting the Kanban board. Previously, when a feature transitioned into a custom pipeline column, the board's display would not update instantly due to an oversight in query invalidation. The changes ensure that the Kanban board now accurately and immediately reflects these status changes, providing a more responsive and reliable user experience.

Highlights

  • Kanban Board Update Fix: Resolved an issue where the Kanban board UI did not immediately update when features moved to custom pipeline columns.
  • Query Invalidation Enhancement: Modified the useAutoModeQueryInvalidation hook to invalidate all feature queries (queryKeys.features.all()) upon a pipeline_step_started event, ensuring immediate UI reflection.
  • Optimized Single Feature Invalidation: Removed pipeline_step_started from the single feature query invalidation logic, as the broader invalidation now covers it efficiently.

🧠 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 24, 2026

Warning

Rate limit exceeded

@Shironex has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 9 minutes and 57 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

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 change modifies the query invalidation logic in the UI hooks to ensure the pipeline_step_started event invalidates the features cache, allowing the UI to display updated custom pipeline column positions correctly when pipeline steps begin execution.

Changes

Cohort / File(s) Change Summary
Query Invalidation Logic
apps/ui/src/hooks/use-query-invalidation.ts
Added pipeline_step_started event to the auto_mode feature invalidation trigger to invalidate features.all() queries. Adjusted per-feature invalidation block to exclude this event with explanatory comments clarifying the rationale.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested labels

Testers-Requested

Poem

A hop and a skip through the cache so bright,
When pipelines step, we invalidate right,
No more delays in the UI's display,
Cards dance to their columns without delay! 🐰✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main fix - addressing the UI not updating correctly for custom pipeline columns, which matches the core change in use-query-invalidation.ts.
Linked Issues check ✅ Passed The changes successfully address issue #668 by adding pipeline_step_started to the features.all() invalidation trigger, ensuring the Kanban board updates immediately when pipeline steps change.
Out of Scope Changes check ✅ Passed All changes are directly scoped to fixing the query invalidation issue described in #668; no unrelated modifications are present.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

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


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 fixes a UI bug on the Kanban board where features didn't update their column immediately. The fix correctly invalidates the features.all query on the pipeline_step_started event, ensuring the board refreshes. The related redundant invalidation for features.single is also cleanly removed. The changes are correct and well-commented. I've added a couple of suggestions to improve code readability and maintainability by refactoring the long if conditions.

@Shironex Shironex self-assigned this Jan 24, 2026
@Shironex Shironex added Bug Something isn't working Ready-To-Merge A feature or bug has been improved/fixed and a final review is requested before merging. scope: ui UI/UX changes, layout, visual or interaction behavior. labels Jan 24, 2026
@Shironex Shironex merged commit 0f00180 into v0.14.0rc Jan 24, 2026
6 checks passed
@Shironex Shironex deleted the feature/bug-fix-custom-pipelines-columns-ui-not-updating-00c1 branch January 24, 2026 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bug Something isn't working Ready-To-Merge A feature or bug has been improved/fixed and a final review is requested before merging. scope: ui UI/UX changes, layout, visual or interaction behavior.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants