lazy load PDF text extraction
This commit is contained in:
@@ -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.
|
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ı.
|
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ı.
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { useApp } from '../context/AppContext';
|
|||||||
import { getToken } from '../services/auth';
|
import { getToken } from '../services/auth';
|
||||||
import { FileText, ExternalLink, Loader2, Sparkles, AlertTriangle, Download, Upload, Trash2, Paperclip, Route } from 'lucide-react';
|
import { FileText, ExternalLink, Loader2, Sparkles, AlertTriangle, Download, Upload, Trash2, Paperclip, Route } from 'lucide-react';
|
||||||
import { uploadDocument, listTenderDocuments, deleteDocument, reportDocumentReadError } from '../services/account';
|
import { uploadDocument, listTenderDocuments, deleteDocument, reportDocumentReadError } from '../services/account';
|
||||||
import { extractText } from '../services/pdfText';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* İhale dokümanları paneli.
|
* İhale dokümanları paneli.
|
||||||
@@ -92,7 +91,10 @@ const TenderDocumentSession = ({ tender }) => {
|
|||||||
if (!kalem && ikn && /\.(pdf|txt|md)$/i.test(f.name)) {
|
if (!kalem && ikn && /\.(pdf|txt|md)$/i.test(f.name)) {
|
||||||
try {
|
try {
|
||||||
let text;
|
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) {
|
catch (readError) {
|
||||||
assertCurrent();
|
assertCurrent();
|
||||||
if(readError.name === 'AbortError')throw readError;
|
if(readError.name === 'AbortError')throw readError;
|
||||||
|
|||||||
Reference in New Issue
Block a user