🔍 refactor: Search & Message Retrieval (#6903)

* refactor: conversation search fetch

* refactor: Message and Convo fetch with paramters and search

* refactor: update search states and cleanup old store states

* refactor: re-enable search API; fix: search conversation

* fix: message's convo fetch

* fix: redirect when searching

* chore: use logger instead of console

* fix: search message loading

* feat: small optimizations

* feat(Message): remove cache for search path

* fix: handle delete of all archivedConversation and sharedLinks

* chore: cleanup

* fix: search messages

* style: update ConvoOptions styles

* refactor(SearchButtons): streamline conversation fetching and remove unused state

* fix: ensure messages are invalidated after fetching conversation data

* fix: add iconURL to conversation query selection

---------

Co-authored-by: Danny Avila <danny@librechat.ai>
This commit is contained in:
Marco Beretta 2025-04-17 03:07:43 +02:00 committed by GitHub
parent 851938e7a6
commit 88f4ad7c47
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 489 additions and 576 deletions

View file

@ -216,8 +216,8 @@ export default function DataTable<TData, TValue>({
const isSmallScreen = useMediaQuery('(max-width: 768px)');
const tableContainerRef = useRef<HTMLDivElement>(null);
const search = useRecoilValue(store.search);
const [isDeleting, setIsDeleting] = useState(false);
const isSearchEnabled = useRecoilValue(store.isSearchEnabled);
const [rowSelection, setRowSelection] = useState<Record<string, boolean>>({});
const [sorting, setSorting] = useState<SortingState>(defaultSort);
const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);
@ -331,7 +331,6 @@ export default function DataTable<TData, TValue>({
const itemsToDelete = table.getFilteredSelectedRowModel().rows.map((r) => r.original);
await onDelete(itemsToDelete);
setRowSelection({});
// await fetchNextPage?.({ pageParam: lastPage?.nextCursor });
} finally {
setIsDeleting(false);
}
@ -375,7 +374,7 @@ export default function DataTable<TData, TValue>({
localize={localize}
/>
)}
{filterColumn !== undefined && table.getColumn(filterColumn) && isSearchEnabled && (
{filterColumn !== undefined && table.getColumn(filterColumn) && search.enabled && (
<div className="relative flex-1">
<AnimatedSearchInput
value={searchTerm}