AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
feat(frontend/copilot): add chat search modal behind CHAT_SEARCH flag (#13139)
### Why / What / How **Why:** Users with many chat sessions need a fast way to find a past conversation without scrolling the sidebar. **What:** Adds a chat search modal that lets users search across their chat sessions by title, opened from the sidebar / mobile drawer or via the `Cmd/Ctrl+K` shortcut. Behind the `CHAT_SEARCH` feature flag (default off). **How:** Client-side filtering for now — the modal receives the already-fetched session list and filters/ranks it locally via `useChatSearch` + helpers. Selecting a result routes to that session and closes the modal. A backend-powered search endpoint will be wired up in a follow-up PR (so content-level search and pagination can be supported); this PR ships the UX shell behind a flag so it can be merged independently. > Note: this feature uses **client-side filtering only**. The backend search integration will land in a follow-up PR. ### Changes 🏗️ - New `ChatSearchModal/` component: `ChatSearchModal.tsx`, `ChatSearchResults.tsx`, `useChatSearch.ts`, `helpers.ts` - `CHAT_SEARCH` feature flag added to `use-get-flag.ts` (default `false`) - `isSearchOpen` / `setSearchOpen` state added to `useCopilotUIStore` (reset on logout) - `ChatSidebar`: search button + `Cmd/Ctrl+K` keyboard shortcut to toggle modal - `MobileDrawer`: surfaces the search entry point on mobile - Tests: store, ChatSidebar, MobileDrawer, ChatSearchModal helpers ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [ ] I have tested my changes according to the test plan: - [ ] Enable `CHAT_SEARCH` flag and confirm search button appears in ChatSidebar (desktop) - [ ] Press `Cmd+K` (mac) / `Ctrl+K` (win/linux) and confirm the modal opens / closes - [ ] Type a query and confirm results filter client-side by session title - [ ] Select a result and confirm it routes to that session and closes the modal - [ ] Open MobileDrawer and confirm search entry point is accessible on mobile - [ ] Disable the flag and confirm the search button + shortcut are inert - [ ] Log out and confirm `isSearchOpen` resets SECRT-2362
A
Abhimanyu Yadav committed
29bc11acc084cd6bc93acab757781363ec1c6f4d
Parent: 61d4f2b
Committed by GitHub <noreply@github.com>
on 5/18/2026, 8:53:37 AM