Fix: Chunk error when re-parsing created file #9665 (#9711)

### What problem does this PR solve?

Fix: Chunk error when re-parsing created file

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)

Co-authored-by: Kevin Hu <kevinhu.sh@gmail.com>
This commit is contained in:
chanx
2025-08-26 10:50:30 +08:00
committed by GitHub
parent ca320a8c30
commit e90a959b4d

View File

@ -15,9 +15,9 @@ import { Progress } from '@/components/ui/progress';
import { Separator } from '@/components/ui/separator'; import { Separator } from '@/components/ui/separator';
import { IDocumentInfo } from '@/interfaces/database/document'; import { IDocumentInfo } from '@/interfaces/database/document';
import { CircleX, RefreshCw } from 'lucide-react'; import { CircleX, RefreshCw } from 'lucide-react';
import { useCallback } from 'react'; import { useCallback, useMemo } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { RunningStatus } from './constant'; import { DocumentType, RunningStatus } from './constant';
import { ParsingCard, PopoverContent } from './parsing-card'; import { ParsingCard, PopoverContent } from './parsing-card';
import { UseChangeDocumentParserShowType } from './use-change-document-parser'; import { UseChangeDocumentParserShowType } from './use-change-document-parser';
import { useHandleRunDocumentByIds } from './use-run-document'; import { useHandleRunDocumentByIds } from './use-run-document';
@ -61,6 +61,10 @@ export function ParsingStatusCell({
showSetMetaModal(record); showSetMetaModal(record);
}, [record, showSetMetaModal]); }, [record, showSetMetaModal]);
const showParse = useMemo(() => {
return record.type !== DocumentType.Virtual;
}, [record]);
return ( return (
<section className="flex gap-8 items-center"> <section className="flex gap-8 items-center">
<div className="w-fit flex items-center justify-between"> <div className="w-fit flex items-center justify-between">
@ -80,38 +84,42 @@ export function ParsingStatusCell({
</DropdownMenuContent> </DropdownMenuContent>
</DropdownMenu> </DropdownMenu>
</div> </div>
<ConfirmDeleteDialog {showParse && (
title={t(`knowledgeDetails.redo`, { chunkNum: chunk_num })} <>
hidden={isZeroChunk || isRunning} <ConfirmDeleteDialog
onOk={handleOperationIconClick(true)} title={t(`knowledgeDetails.redo`, { chunkNum: chunk_num })}
onCancel={handleOperationIconClick(false)} hidden={isZeroChunk || isRunning}
> onOk={handleOperationIconClick(true)}
<div onCancel={handleOperationIconClick(false)}
className="cursor-pointer flex items-center gap-3" >
onClick={ <div
isZeroChunk || isRunning className="cursor-pointer flex items-center gap-3"
? handleOperationIconClick(false) onClick={
: () => {} isZeroChunk || isRunning
} ? handleOperationIconClick(false)
> : () => {}
<Separator orientation="vertical" className="h-2.5" /> }
{operationIcon} >
</div> <Separator orientation="vertical" className="h-2.5" />
</ConfirmDeleteDialog> {operationIcon}
{isParserRunning(run) ? (
<HoverCard>
<HoverCardTrigger asChild>
<div className="flex items-center gap-1">
<Progress value={p} className="h-1 flex-1 min-w-10" />
{p}%
</div> </div>
</HoverCardTrigger> </ConfirmDeleteDialog>
<HoverCardContent className="w-[40vw]"> {isParserRunning(run) ? (
<PopoverContent record={record}></PopoverContent> <HoverCard>
</HoverCardContent> <HoverCardTrigger asChild>
</HoverCard> <div className="flex items-center gap-1">
) : ( <Progress value={p} className="h-1 flex-1 min-w-10" />
<ParsingCard record={record}></ParsingCard> {p}%
</div>
</HoverCardTrigger>
<HoverCardContent className="w-[40vw]">
<PopoverContent record={record}></PopoverContent>
</HoverCardContent>
</HoverCard>
) : (
<ParsingCard record={record}></ParsingCard>
)}
</>
)} )}
</section> </section>
); );