nginx düzeltmesi tek başına yetmezdi: servis çalışanı /assets/ dosyalarını
cache-first sakladığı için kullanıcıların tarayıcısındaki octet-stream'li
worker kopyası redeploy sonrasında da kullanılmaya devam ederdi. Sürüm
yükseltilince eski önbellek silinir; ayrıca .js/.mjs dosyaları yalnızca
JavaScript MIME tipiyle ve 200 ile geldiğinde saklanır.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
pdfjs worker'ı Vite tarafından pdf.worker.min-<hash>.mjs olarak üretiliyor.
Debian nginx'in mime.types dosyasında mjs uzantısı olmadığından dosya
application/octet-stream ile geliyor; tarayıcılar modül worker'ını yalnızca
JavaScript MIME tipiyle yüklediği için her PDF yüklemesinde
"Setting up fake worker failed: Failed to fetch dynamically imported module"
hatası çıkıyor, belge analizi tamamlanamıyordu. mjs → application/javascript
eşlemesi eklendi (nginx -t ile doğrulandı).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
İki ayrı neden vardı:
1) window.open sunucu yanıtından SONRA çağrılıyordu; Safari, PWA ve sıkı ayarlı
Chrome bunu açılır-pencere sayıp sessizce engelliyordu — düğme "çalışmıyor"
görünüyordu. Sekme artık tıklamanın hemen içinde boş açılır, adres gelince
yönlendirilir. Engellenirse gerçek bir bağlantı (a href) gösterilir; bağlantı
tıklaması hiçbir tarayıcıda engellenmez.
2) ilan.gov.tr bazı kayıtlarda İKN'yi başta/sonda boşluk ve kesme boşluğu (nbsp)
ile veriyor (" 2026/1622878"). Bu 50 kayıtta panel "EKAP formatında değil"
deyip düğmeyi hiç göstermiyordu. İKN artık alınırken boşluksuz saklanıyor;
panel ve doküman araması da savunma amaçlı temizliyor.
Ayrıca: "EKAP'ta 0 doküman kayıtlı" yanıltıcı metni kaldırıldı (EKAP arama
kaydı sayıyı vermiyor), EKAP'ın önce güvenlik doğrulaması istediği açıklandı.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- server/ted-ceviri.mjs: TED'in kendi Türkçe alanı varsa onu kullanır; yoksa
OpenRouter ile toplu çevirir (deepseek-v4-flash → gemini 3.7 flash → glm),
sonucu server/data/ted.sqlite'ta ilan numarasına göre saklar
- İstek en fazla 12 sn bekler, kalan çeviriler arka planda sürer;
yanıt ceviriBekleniyor bayrağı taşır, ön yüz sessizce yeniden çeker
- Kartta Türkçe başlık + küçük özgün başlık, Türkçe açıklama (3 satır),
ülke kodları Türkçe ad (TUR → Türkiye, AUT → Avusturya…)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Panelde seçilen modeller tıkanınca (limit/429) şartname analizi ve teklif asistanı
boş kalıyordu; analyzeSpec zincire yoksa 'gemini'yi sona ekler. Panel ve kılavuz notu.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>