Skip to content

fix(ui): bulk update cache invalidation and model dropdown display#633

Merged
stefandevo merged 1 commit intov0.13.0rcfrom
fix/bulk-update-cache
Jan 20, 2026
Merged

fix(ui): bulk update cache invalidation and model dropdown display#633
stefandevo merged 1 commit intov0.13.0rcfrom
fix/bulk-update-cache

Conversation

@stefandevo
Copy link
Collaborator

@stefandevo stefandevo commented Jan 20, 2026

Summary

  • Fix bulk update in Kanban view to properly invalidate React Query cache, ensuring UI immediately reflects changes
  • Fix custom provider models (GLM, MiniMax, etc.) not displaying correctly in the model dropdown after selection

Changes

React Query Cache Invalidation

  • Changed handleBulkUpdate and bulk verify handler to call loadFeatures() instead of manually updating Zustand store
  • This ensures the React Query cache is invalidated and the UI refetches the updated feature data

Custom Provider Model Display

  • Added fallback lookup in PhaseModelSelector that searches for provider models by model ID even when providerId is not set
  • Updated mass-edit-dialog.tsx to track providerId after selection so the dropdown displays correctly

Test plan

  • Open Kanban board with multiple features
  • Select multiple features and open bulk edit dialog
  • Change the model to a custom provider model (e.g., GLM)
  • Verify the model appears correctly in the dropdown after selection
  • Apply the changes
  • Verify all selected cards immediately show the updated model

Summary by CodeRabbit

  • Bug Fixes
    • Bulk operations now fetch updated data from the server to maintain consistency
    • Fixed model selection in mass edit workflows to support Claude-compatible providers without explicit configuration

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

Fix two related issues with bulk model updates in Kanban view:

1. Bulk update now properly invalidates React Query cache
   - Changed handleBulkUpdate and bulk verify handler to call loadFeatures()
   - This ensures UI immediately reflects bulk changes

2. Custom provider models (GLM, MiniMax, etc.) now display correctly
   - Added fallback lookup in PhaseModelSelector by model ID
   - Updated mass-edit-dialog to track providerId after selection
@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 addresses two key UI issues to improve user experience. Firstly, it ensures that bulk updates in the Kanban board are immediately reflected in the UI by properly invalidating the React Query cache. Secondly, it resolves a display problem where custom AI models from various providers were not showing up correctly in the model selection dropdown after being chosen, making the model selection process more reliable.

Highlights

  • Bulk Update Cache Invalidation: The bulk update functionality in the Kanban view now correctly invalidates the React Query cache by calling loadFeatures() instead of directly manipulating the Zustand store. This ensures that the UI immediately reflects changes after a bulk operation, preventing stale data from being displayed.
  • Custom Provider Model Display Fix: Custom provider models (e.g., GLM, MiniMax) now display correctly in the model dropdown after selection. This was achieved by adding a fallback lookup in PhaseModelSelector to find models by ID even when providerId is not set, and by ensuring providerId is tracked in mass-edit-dialog.tsx.

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

📝 Walkthrough

Walkthrough

Bulk operation handling in board-view is refactored to refetch server data instead of local mutations. MassEditDialog now tracks providerId state. PhaseModelSelector adds fallback logic for Claude-compatible models when providerId is undefined.

Changes

Cohort / File(s) Summary
Bulk operation consistency
apps/ui/src/components/views/board-view.tsx
Replaced local state mutations after bulk operations with loadFeatures() refetch. Updated dependency arrays for bulk handlers to depend on loadFeatures and include currentWorktreeBranch and setWorktreeRefreshKey.
Provider and model selection state
apps/ui/src/components/views/board-view/dialogs/mass-edit-dialog.tsx, apps/ui/src/components/views/settings-view/model-defaults/phase-model-selector.tsx
MassEditDialog introduces internal providerId state that resets on dialog open and updates when PhaseModelSelector changes. PhaseModelSelector adds fallback logic to handle Claude-compatible models by iterating enabled providers when providerId is undefined.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

Enhancement

Poem

🐰 A rabbit hops through provider lands,
With fallback logic, strong and grand,
Models align when IDs are undefined,
Server refetch keeps data refined!
~Whiskers the reviewer 🌰

🚥 Pre-merge checks | ✅ 2 | ❌ 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 (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title accurately summarizes the two main changes in the changeset: cache invalidation for bulk updates and model dropdown display fixes for custom provider models.

✏️ 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

The pull request effectively addresses two key UI issues: ensuring immediate UI updates after bulk operations by invalidating the React Query cache, and correctly displaying custom provider models in dropdowns. The changes are well-implemented, leveraging React Query for data consistency and adding necessary logic to handle provider-specific model display. The code is clean and follows good practices.

@stefandevo stefandevo merged commit 4f584f9 into v0.13.0rc Jan 20, 2026
7 checks passed
@stefandevo stefandevo deleted the fix/bulk-update-cache branch January 20, 2026 22:01
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