Remove separate retry button and merge functionality into scan button

This commit is contained in:
yangdx 2025-10-25 04:12:44 +08:00
parent 81e3496aa4
commit 9ed19695bb
6 changed files with 5 additions and 62 deletions

View file

@ -21,7 +21,6 @@ import PaginationControls from '@/components/ui/PaginationControls'
import { import {
scanNewDocuments, scanNewDocuments,
reprocessFailedDocuments,
getDocumentsPaginated, getDocumentsPaginated,
DocsStatusesResponse, DocsStatusesResponse,
DocStatus, DocStatus,
@ -868,42 +867,6 @@ export default function DocumentManager() {
} }
}, [t, startPollingInterval, currentTab, health, statusCounts]) }, [t, startPollingInterval, currentTab, health, statusCounts])
const retryFailedDocuments = useCallback(async () => {
try {
// Check if component is still mounted before starting the request
if (!isMountedRef.current) return;
const { status, message, track_id: _track_id } = await reprocessFailedDocuments(); // eslint-disable-line @typescript-eslint/no-unused-vars
// Check again if component is still mounted after the request completes
if (!isMountedRef.current) return;
// Note: _track_id is available for future use (e.g., progress tracking)
toast.message(message || status);
// Reset health check timer with 1 second delay to avoid race condition
useBackendState.getState().resetHealthCheckTimerDelayed(1000);
// Start fast refresh with 2-second interval immediately after retry
startPollingInterval(2000);
// Set recovery timer to restore normal polling interval after 15 seconds
setTimeout(() => {
if (isMountedRef.current && currentTab === 'documents' && health) {
// Restore intelligent polling interval based on document status
const hasActiveDocuments = hasActiveDocumentsStatus(statusCounts);
const normalInterval = hasActiveDocuments ? 5000 : 30000;
startPollingInterval(normalInterval);
}
}, 15000); // Restore after 15 seconds
} catch (err) {
// Only show error if component is still mounted
if (isMountedRef.current) {
toast.error(errorMessage(err));
}
}
}, [startPollingInterval, currentTab, health, statusCounts])
// Handle page size change - update state and save to store // Handle page size change - update state and save to store
const handlePageSizeChange = useCallback((newPageSize: number) => { const handlePageSizeChange = useCallback((newPageSize: number) => {
if (newPageSize === pagination.page_size) return; if (newPageSize === pagination.page_size) return;
@ -1166,16 +1129,6 @@ export default function DocumentManager() {
> >
<RefreshCwIcon /> {t('documentPanel.documentManager.scanButton')} <RefreshCwIcon /> {t('documentPanel.documentManager.scanButton')}
</Button> </Button>
<Button
variant="outline"
onClick={retryFailedDocuments}
side="bottom"
tooltip={t('documentPanel.documentManager.retryFailedTooltip')}
size="sm"
disabled={pipelineBusy}
>
<RotateCcwIcon /> {t('documentPanel.documentManager.retryFailedButton')}
</Button>
<Button <Button
variant="outline" variant="outline"
onClick={() => setShowPipelineStatus(true)} onClick={() => setShowPipelineStatus(true)}

View file

@ -114,10 +114,8 @@
}, },
"documentManager": { "documentManager": {
"title": "إدارة المستندات", "title": "إدارة المستندات",
"scanButton": "مسح ضوئي", "scanButton": "مسح/إعادة محاولة",
"scanTooltip": "مسح ومعالجة المستندات في مجلد الإدخال، وإعادة معالجة جميع المستندات الفاشلة أيضًا", "scanTooltip": "مسح ومعالجة المستندات في مجلد الإدخال، وإعادة معالجة جميع المستندات الفاشلة أيضًا",
"retryFailedButton": "إعادة المحاولة",
"retryFailedTooltip": "إعادة معالجة جميع المستندات الفاشلة",
"refreshTooltip": "إعادة تعيين قائمة المستندات", "refreshTooltip": "إعادة تعيين قائمة المستندات",
"pipelineStatusButton": "خط المعالجة", "pipelineStatusButton": "خط المعالجة",
"pipelineStatusTooltip": "عرض حالة خط معالجة المستندات", "pipelineStatusTooltip": "عرض حالة خط معالجة المستندات",

View file

@ -114,10 +114,8 @@
}, },
"documentManager": { "documentManager": {
"title": "Document Management", "title": "Document Management",
"scanButton": "Scan", "scanButton": "Scan/Retry",
"scanTooltip": "Scan and process documents in input folder, and also reprocess all failed documents", "scanTooltip": "Scan and process documents in input folder, and also reprocess all failed documents",
"retryFailedButton": "Retry",
"retryFailedTooltip": "Retry processing all failed documents",
"refreshTooltip": "Reset document list", "refreshTooltip": "Reset document list",
"pipelineStatusButton": "Pipeline", "pipelineStatusButton": "Pipeline",
"pipelineStatusTooltip": "View document processing pipeline status", "pipelineStatusTooltip": "View document processing pipeline status",

View file

@ -114,10 +114,8 @@
}, },
"documentManager": { "documentManager": {
"title": "Gestion des documents", "title": "Gestion des documents",
"scanButton": "Scanner", "scanButton": "Scanner/Retraiter",
"scanTooltip": "Scanner et traiter les documents dans le dossier d'entrée, et retraiter également tous les documents échoués", "scanTooltip": "Scanner et traiter les documents dans le dossier d'entrée, et retraiter également tous les documents échoués",
"retryFailedButton": "Réessayer",
"retryFailedTooltip": "Réessayer le traitement de tous les documents échoués",
"refreshTooltip": "Réinitialiser la liste des documents", "refreshTooltip": "Réinitialiser la liste des documents",
"pipelineStatusButton": "Pipeline", "pipelineStatusButton": "Pipeline",
"pipelineStatusTooltip": "Voir l'état du pipeline de traitement des documents", "pipelineStatusTooltip": "Voir l'état du pipeline de traitement des documents",

View file

@ -114,10 +114,8 @@
}, },
"documentManager": { "documentManager": {
"title": "文档管理", "title": "文档管理",
"scanButton": "扫描", "scanButton": "扫描/重试",
"scanTooltip": "扫描处理输入目录中的文档,同时重新处理所有失败的文档", "scanTooltip": "扫描处理输入目录中的文档,同时重新处理所有失败的文档",
"retryFailedButton": "重试",
"retryFailedTooltip": "重新处理所有失败的文档",
"refreshTooltip": "复位文档清单", "refreshTooltip": "复位文档清单",
"pipelineStatusButton": "流水线", "pipelineStatusButton": "流水线",
"pipelineStatusTooltip": "查看文档处理流水线状态", "pipelineStatusTooltip": "查看文档处理流水线状态",

View file

@ -114,10 +114,8 @@
}, },
"documentManager": { "documentManager": {
"title": "文件管理", "title": "文件管理",
"scanButton": "掃描", "scanButton": "掃描/重試",
"scanTooltip": "掃描處理輸入目錄中的文件,同時重新處理所有失敗的文件", "scanTooltip": "掃描處理輸入目錄中的文件,同時重新處理所有失敗的文件",
"retryFailedButton": "重試",
"retryFailedTooltip": "重新處理所有失敗的文件",
"refreshTooltip": "重設文件清單", "refreshTooltip": "重設文件清單",
"pipelineStatusButton": "管線狀態", "pipelineStatusButton": "管線狀態",
"pipelineStatusTooltip": "查看文件處理管線狀態", "pipelineStatusTooltip": "查看文件處理管線狀態",