Yeniden Tasarlanan GitHub Sync, Sertleştirilmiş Workflow Engine ve Self-Serve Hesap Kontrolü
GitHub Sync Yeniden Tasarlandı `IMPROVED`
Repo bağlamak artık dosya düzenini tahmin etmek değil. Wizard repo'nu okuyup her şeyi önceden dolduruyor — Cloudflare-style bir öneri kartı neyi algıladığımızı sen onaylamadan gösteriyor.
Dosya Yapısı + Key Format Otomatik Algılama `NEW`
Dört Dosya Yapısı — Artık Astro Dahil `NEW`
Algılama, okuma ve simetrik yazma yolu uçtan uca bağlandı; v2 CDN manifest namespace breakdown dahil.
Daha Akıcı Bağlama & Re-sync `IMPROVED`
- Locale + namespace düzenini repo ağacından algılıyor
- Dosya içeriğini okuyup `flat` ile `nested` ayrımını yapıyor
- Öneri kartı algılanan dilleri bayrak ve dil adlarıyla gösteriyor (kaynak dile sabitli)
- Edit modal'ı hem File Structure hem Key Format alanını açıyor; kayıt mevcut yapıyı koruyor
- Single file — `locales/en.json`
- Locale folders — `locales/en/common.json`
- Namespace folders — `faq/en.json` *(yeni — Astro content collections)*
- Locale-suffixed — `faq.en.json`
- Entegrasyon ayarlarında "Sync now" butonu — tamamlanana kadar polling, bitince editörü tazeliyor
- Zaten bağlı/orphan repo yeniden bağlanınca 409 yerine reconcile ediliyor
- "You're all set" markalı, bağlam-bilinçli ekran; GitHub Sync akışı gereksiz framework/SDK adımlarını atlayıp otomatik ilerliyor
Çeviri Workflow Engine — Production-Hardened `IMPROVED`
- Eşzamanlı hedef-dil çevirisi — diller paralel çevriliyor
- Key-keyed LLM sözleşmesi + dual-limit chunking + retry — büyük batch'ler context taşırmıyor/satır düşürmüyor
- Batch workflow'lar için GPT-4.1 Mini — daha hızlı, daha ucuz
- Toplu çeviriler tek tek öneri yerine workflow'a yönlendiriliyor
- Cancel uçtan uca — client abort sunucuda run'ı iptal ediyor
- `translateBatch` düzeltildi — async-generator tool'larda sessizce no-op çalışıyordu; artık çalışıyor ve ölü provider'da sesli hata veriyor
Kendi DeepL'ini Getir `NEW`
DeepL artık paylaşımlı hesap yerine senin API anahtarınla çalışıyor. Enable modal'ı tek bir key alanı — yapıştır ve başla. Her proje kendi DeepL kotasıyla çeviriyor.
Read-After-Write Tutarlılığı `IMPROVED`
AI agent, editör veya CMS üzerinden yapılan düzenlemeler artık anında yansıyor.
- Editör, sync, publish durumu ve CMS aktivasyonu fresh okunuyor
- Billing read-after-write açığını köprülüyor — Checkout sonrası ödenen plan anında yansıyor
- Güvenlik: yetkilendirme state'i (auth, üyelik) her zaman uncached okunuyor
- Namespace ve hedef-dil ID'leri `INSERT … RETURNING` ile çözülüyor
Self-Serve Hesap Silme `NEW`
- E-posta onaylı silme — özel onay sayfası + kapanış e-postası (OAuth kullanıcıları dahil)
- Onay-bekliyor durumunda Resend butonu + sıkılaştırılmış silme modal'ı
- Silmede kullanıcı foreign key'leri null'a çekiliyor, kapanış ilişkili kayıtlarca bloklanmıyor
Content CMS — Daha Güvenli Yayın, Upload & Trash `IMPROVED`
- Save-before-publish ve Save'de dirty-state gating — eski düzenlemeleri yayınlayamazsın
- Silinen entry'ler için Trash, medya upload'ları, daha net dil-bazlı durum
- Çok-değerli relation field'ları — bir entry birçok entry'ye referans verebiliyor
- Veri yokken sahte entry analitiği üretmeyi bıraktı
- Düzeltmeler: date-picker, properties-panel scroll, kırpılan dialog footer, full-page setup wizard
Yayın & CDN, Billing, Partner OAuth `IMPROVED`
- Yapı-bilinçli path çözümü — `namespace-folders` CDN dosyaları boş üretilmiyor
- GitHub'a batch publish repo dosya şeklini koruyor (nested nested kalıyor)
- CDN publish yalnız CDN-only projelere gate'li — GitHub repo'ları aynalanmıyor
- Stripe price ID'leri aktif hesaba taşındı, abonelik durumu Checkout dönüşünde refetch ediliyor
- Partner OAuth: tam content CRUD, content API key mint, per-model read self-heal
Güvenilirlik & Polish `IMPROVED`
- Stuck-splash cold-load düzeltmesi — redirect-in-`beforeLoad` crash kök-neden + boot watchdog
- Yeniden tasarlanan error / not-found / org-empty ekranları
- AI drawer için Notion-style içerik skeleton'ı
- API key silme hardening (bozuk metadata + owner-scoped)
- Standalone dil seçeneği olarak Çince (`zh`)
- Production artık hata yanıtlarında stack trace sızdırmıyor