lazy load PDF text extraction

This commit is contained in:
2026-09-06 18:09:58 +03:00
parent 6e78485228
commit 99cfba7a3d
2 changed files with 10 additions and 2 deletions
+6
View File
@@ -1982,3 +1982,9 @@ Doğrulama: HTTP profil testleri 19/19 geçti, üretim derlemesi başarılı.
Kaynak havuzundan gelen null, dizi veya kimliksiz satırlar artık tekilleştirme sırasında tüm havuzu düşürmüyor; geçersiz satır atlanıp geçerli ihale kayıtları işlenmeye devam ediyor.
Doğrulama: 287 test geçti, üretim derlemesi başarılı.
### 2026-09-06 · PDF ayrıştırma code-splitting
İhale dokümanı paneli artık PDF metin ayrıştırıcısını yalnızca kullanıcı PDF okuma/kalem çıkarma istediğinde yüklüyor; ilk uygulama açılışındaki JavaScript yükü azaltıldı. Üretim derlemesindeki büyük üçüncü taraf chunk uyarıları (PDF/ExcelJS) devam ediyor ve sonraki performans çalışmasının girdisi olarak kaydedildi.
Doğrulama: 287 test geçti, üretim derlemesi başarılı.
+4 -2
View File
@@ -6,7 +6,6 @@ import { useApp } from '../context/AppContext';
import { getToken } from '../services/auth';
import { FileText, ExternalLink, Loader2, Sparkles, AlertTriangle, Download, Upload, Trash2, Paperclip, Route } from 'lucide-react';
import { uploadDocument, listTenderDocuments, deleteDocument, reportDocumentReadError } from '../services/account';
import { extractText } from '../services/pdfText';
/**
* İhale dokümanları paneli.
@@ -92,7 +91,10 @@ const TenderDocumentSession = ({ tender }) => {
if (!kalem && ikn && /\.(pdf|txt|md)$/i.test(f.name)) {
try {
let text;
try { ({text} = await extractText(f,{signal:readLifetime.current.signal})); }
try {
const { extractText } = await import('../services/pdfText');
({text} = await extractText(f,{signal:readLifetime.current.signal}));
}
catch (readError) {
assertCurrent();
if(readError.name === 'AbortError')throw readError;