From bb7074d793b1c9fecabe6a2f3229350711b6e79a Mon Sep 17 00:00:00 2001 From: yangdx Date: Wed, 19 Mar 2025 21:36:30 +0800 Subject: [PATCH] Fix: disabel document fecting in backup - Replace useTabVisibility with useSettingsStore - Remove unused initialLoadRef - Simplify document fetching logic --- .../src/features/DocumentManager.tsx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lightrag_webui/src/features/DocumentManager.tsx b/lightrag_webui/src/features/DocumentManager.tsx index cfe3c894..9f09678d 100644 --- a/lightrag_webui/src/features/DocumentManager.tsx +++ b/lightrag_webui/src/features/DocumentManager.tsx @@ -1,6 +1,6 @@ -import { useState, useEffect, useCallback, useRef } from 'react' +import { useState, useEffect, useCallback } from 'react' import { useTranslation } from 'react-i18next' -import { useTabVisibility } from '@/contexts/useTabVisibility' +import { useSettingsStore } from '@/stores/settings' import Button from '@/components/ui/Button' import { Table, @@ -27,9 +27,7 @@ export default function DocumentManager() { const { t } = useTranslation() const health = useBackendState.use.health() const [docs, setDocs] = useState(null) - const { isTabVisible } = useTabVisibility() - const isDocumentsTabVisible = isTabVisible('documents') - const initialLoadRef = useRef(false) + const currentTab = useSettingsStore.use.currentTab() const fetchDocuments = useCallback(async () => { try { @@ -53,13 +51,12 @@ export default function DocumentManager() { } }, [setDocs, t]) - // Only fetch documents when the tab becomes visible for the first time + // Fetch documents when the tab becomes visible useEffect(() => { - if (isDocumentsTabVisible && !initialLoadRef.current) { + if (currentTab === 'documents') { fetchDocuments() - initialLoadRef.current = true } - }, [isDocumentsTabVisible, fetchDocuments]) + }, [currentTab, fetchDocuments]) const scanDocuments = useCallback(async () => { try { @@ -70,9 +67,9 @@ export default function DocumentManager() { } }, [t]) - // Only set up polling when the tab is visible and health is good + // Set up polling when the documents tab is active and health is good useEffect(() => { - if (!isDocumentsTabVisible || !health) { + if (currentTab !== 'documents' || !health) { return } @@ -85,7 +82,7 @@ export default function DocumentManager() { }, 5000) return () => clearInterval(interval) - }, [health, fetchDocuments, t, isDocumentsTabVisible]) + }, [health, fetchDocuments, t, currentTab]) return (