Cancel vault rereading without persisting a false document error

This commit is contained in:
2026-09-06 10:25:17 +03:00
parent 3ad9348c20
commit 2164494c32
4 changed files with 55 additions and 11 deletions
+3 -2
View File
@@ -21,9 +21,10 @@ export const DocumentVault = () => {
const DocumentVaultSession = ({signedIn}) => {
const live = useRef(true);
const readLifetime = useRef(new AbortController());
const session = useRef(sessionGuard(getToken));
const current = () => live.current && session.current();
useEffect(() => { live.current = true; return () => { live.current = false; }; }, []);
useEffect(() => { live.current = true; readLifetime.current = new AbortController(); return () => { live.current = false; readLifetime.current.abort(); }; }, []);
const useOwnedState = (initial) => {
const [value, setValue] = useState(initial);
const setOwned = useCallback((next) => { if (current()) setValue(next); }, []);
@@ -47,7 +48,7 @@ const DocumentVaultSession = ({signedIn}) => {
if (!current()) return;
setBusy(true); setHata(null); setIslemeBilgi(null);
try {
const result = await retryDocumentExtraction(document);
const result = await retryDocumentExtraction(document,{signal:readLifetime.current.signal});
setIslemeBilgi(`${document.ad}: ${result.sayi || 0} kalem çıkarıldı.`);
} catch (error) { setHata(error.message); }
finally {