From 176914b3a4520fa3deb885f644dd0fc0b030d1f6 Mon Sep 17 00:00:00 2001 From: Xiaoxia AI Date: Tue, 23 Jun 2026 13:02:06 +0800 Subject: [PATCH] fix(web): avoid asset list failures during large uploads --- apps/web/src/api/assets.ts | 1 + apps/web/src/pages/workspace/ProjectAssets.tsx | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/web/src/api/assets.ts b/apps/web/src/api/assets.ts index d88b03861..f1cb8bb37 100644 --- a/apps/web/src/api/assets.ts +++ b/apps/web/src/api/assets.ts @@ -79,6 +79,7 @@ export const uploadAsset = async ( ): Promise<{ storage_key: string; ingest_job_id: string; url: string }> => { const response = await apiClient.post('/upload', formData, { headers: { 'Content-Type': 'multipart/form-data' }, + timeout: 30 * 60 * 1000, }); return response.data; }; diff --git a/apps/web/src/pages/workspace/ProjectAssets.tsx b/apps/web/src/pages/workspace/ProjectAssets.tsx index f0950f79e..f8125b2fd 100644 --- a/apps/web/src/pages/workspace/ProjectAssets.tsx +++ b/apps/web/src/pages/workspace/ProjectAssets.tsx @@ -147,7 +147,9 @@ const ProjectAssets: React.FC = () => { queryKey: ['assets', libraryId], queryFn: () => getAssets(libraryId), enabled: !!libraryId, - refetchInterval: 3000, + retry: 3, + retryDelay: (attemptIndex) => Math.min(1000 * 2 ** attemptIndex, 5000), + refetchOnWindowFocus: false, }); const ingestJobQuery = useQuery({