refresh tasks on entering page, make failed files persist

This commit is contained in:
Lucas Oliveira 2025-10-03 16:54:40 -03:00
parent 1fdb251a47
commit 946d3edc89
2 changed files with 8 additions and 2 deletions

View file

@ -7,6 +7,7 @@ import { useRouter } from "next/navigation";
import { import {
type ChangeEvent, type ChangeEvent,
useCallback, useCallback,
useEffect,
useRef, useRef,
useState, useState,
} from "react"; } from "react";
@ -51,7 +52,7 @@ function getSourceIcon(connectorType?: string) {
function SearchPage() { function SearchPage() {
const router = useRouter(); const router = useRouter();
const { isMenuOpen, files: taskFiles } = useTask(); const { isMenuOpen, files: taskFiles, refreshTasks } = useTask();
const { selectedFilter, setSelectedFilter, parsedFilterData, isPanelOpen } = const { selectedFilter, setSelectedFilter, parsedFilterData, isPanelOpen } =
useKnowledgeFilter(); useKnowledgeFilter();
const [selectedRows, setSelectedRows] = useState<File[]>([]); const [selectedRows, setSelectedRows] = useState<File[]>([]);
@ -59,6 +60,10 @@ function SearchPage() {
const deleteDocumentMutation = useDeleteDocument(); const deleteDocumentMutation = useDeleteDocument();
useEffect(() => {
refreshTasks();
}, [refreshTasks]);
const { data: searchData = [], isFetching } = useGetSearchQuery( const { data: searchData = [], isFetching } = useGetSearchQuery(
parsedFilterData?.query || "*", parsedFilterData?.query || "*",
parsedFilterData, parsedFilterData,

View file

@ -226,7 +226,7 @@ export function TaskProvider({ children }: { children: React.ReactNode }) {
setTimeout(() => { setTimeout(() => {
refetchSearch(); refetchSearch();
setFiles((prevFiles) => setFiles((prevFiles) =>
prevFiles.filter((file) => file.task_id !== currentTask.task_id && file.status !== "failed"), prevFiles.filter((file) => file.task_id !== currentTask.task_id || file.status === "failed"),
); );
}, 500); }, 500);
} else if ( } else if (
@ -258,6 +258,7 @@ export function TaskProvider({ children }: { children: React.ReactNode }) {
); );
const refreshTasks = useCallback(async () => { const refreshTasks = useCallback(async () => {
setFiles([]);
await refetchTasks(); await refetchTasks();
}, [refetchTasks]); }, [refetchTasks]);