Flowise icon indicating copy to clipboard operation
Flowise copied to clipboard

Implement server-side search filtering for chatflows and agentflows

Open HavardHomb opened this issue 3 weeks ago • 1 comments

This pull request introduces a server-side search filter for chatflows and agentflows, refactors the UI to leverage this new capability, and removes redundant client-side filtering logic. The main improvements are better scalability for large datasets and a more responsive search experience for users, thanks to debounced search and pagination that now operate on filtered results directly from the backend.

Backend enhancements:

  • Added a search parameter to the getAllChatflows service and controller methods, enabling case-insensitive filtering by name, category, or id at the database level. [1] [2] [3]

Frontend improvements:

  • Refactored both Agentflows and Chatflows views to send the search term to the backend and removed all client-side filtering logic, ensuring that only server-filtered data is displayed. [1] [2] [3] [4]
  • Implemented debounced search input using useRef and setTimeout, so searches are only triggered after the user stops typing, reducing unnecessary requests. [1] [2]
  • Ensured proper cleanup of search debounce timers on component unmount to prevent memory leaks or unwanted requests. [1] [2]

Code cleanup:

  • Removed unused filterFunction props and related filtering logic from the FlowListTable component and its usage, as filtering is now handled by the backend. [1] [2] [3] [4]

HavardHomb avatar Nov 05 '25 10:11 HavardHomb

Summary of Changes

Hello @HavardHomb, I'm Gemini Code Assist[^1]! 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 search functionality for chatflows and agentflows by migrating the filtering logic from the client-side to the server-side. This change improves scalability for larger datasets and provides a more responsive user experience through debounced search requests. The UI has been refactored to seamlessly integrate with the new backend capabilities, ensuring that all filtering and pagination are handled efficiently by the server.

Highlights

  • Server-Side Search Implementation: Introduced a "search" parameter to backend services and controllers for chatflows and agentflows, enabling case-insensitive filtering by name, category, or ID directly at the database level.
  • Frontend Refactoring: Updated Agentflows and Chatflows views to send search terms to the backend, removing all previous client-side filtering logic.
  • Debounced Search: Implemented a debounced search input mechanism using useRef and setTimeout to reduce unnecessary API requests, triggering searches only after a user pauses typing.
  • Optimized Pagination: Adjusted backend query logic to apply search filters before pagination, ensuring correct results for paginated and filtered data.
  • Code Cleanup: Removed redundant "filterFunction" props and associated client-side filtering logic from the FlowListTable component and its usages.
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 :thumbsup: and :thumbsdown: 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.

[^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.

gemini-code-assist[bot] avatar Nov 05 '25 10:11 gemini-code-assist[bot]