fix: persist team changes only after versioned server confirmation

This commit is contained in:
2026-09-06 14:01:28 +03:00
parent 79654d66f7
commit 3d9aa79624
8 changed files with 80 additions and 20 deletions
+7
View File
@@ -978,3 +978,10 @@ Taslak türü seçicisine erişilebilir ad eklendi. Üretim derlemesi geçti. Ö
- İkinci sekme yenilendiğinde yalnız ilk sekmenin kaydı geldi; ikinci ürün güncel profil üzerine yeniden eklendi ve iki ürün birlikte başarıyla kaydedildi. Beş kontrol geçti. Kanıt: /Users/hikmettanriverdi/Documents/ChatGPT/ihale/rapor/qa-profile-concurrent-tabs.json.
- Test sadece firma profili için gerçek iki sekme etkileşimini kapsar. Filtrelerin API çakışma kabulü önceki 222 testte mevcut; filtre UI çakışma/kurtarma senaryosu ayrıca açık. Üretim kodu değişmediğinden suite ve derleme tekrar edilmedi.
- Sekmeler kapatıldı; bu test için açılan QA süreci sonlandırıldı (exit 0), geçici depo cleanup akışı tamamlandı. Canlı site veya gerçek firma hesabı değiştirilmedi.
### Ekip kaydında sunucu onayı ve çakışma koruması — 6 Eylül 2026
- Ekip listesinin iyimser state + effect otomatik kaydı kaldırıldı. Ekleme/çıkarma mevcut ekip içerik sürümüyle sunucuya yazılır; yalnız başarıdan sonra liste ve sürüm güncellenir. Kayıt sürerken işlem kilitlenir; hata ekip formunun yanında gösterilir, ekleme girdileri temizlenmez.
- API ekip listesi, benzersiz kimlik, ad, görev ve isteğe bağlı e-posta alanlarını doğrular; mevcut plan kotası ve sürüm karşılaştırması birlikte uygulanır. Eski sekme yazımı mevcut listeyi ezmez.
- Son ekip üyesini kaldırmayı engelleyen arayüz koşulu kaldırıldı; boş ekip listesi geçerlidir. Düğme ve form alanlarına açık etiketler, kayıt sürüyor durumu ve beklerken devre dışı bırakma eklendi. Bu kayıtlar hesap içi görev/sorumlu listesidir; davet gönderilmedi veya başka kullanıcı hesabı oluşturulmadı.
- 224 otomatik test ve derleme geçti. HTTP testi ekip ekleme, eski sürüm reddi, kota aşımında mevcut kaydın korunması ve son üyeyi silmeyi doğruladı. Geçersiz/yinelenen ekip verisi test edildi.
- Ekip UI hata/kurtarma ve iki sekmeli etkileşim kabulü henüz yapılmadı. Üye silinince geçmiş ihale sorumlu adı tarihsel kayıtta kalır; otomatik yeniden atama yapılmaz. Favoriler ve diğer genel kullanıcı anahtarları için çakışma koruması açık. Canlıya yayın yapılmadı.
+2
View File
@@ -75,3 +75,5 @@ Kuyruktaki ilanın artık kaynakta bulunmaması, teklif zamanının değişmesi,
### Firma profili / kayıtlı filtre sürüm sözleşmesi
`GET /api/me/data` artık `veri` ile aynı okumaya ait `revisions` döndürür. `firma_profil` ve `saved_filters` PUT/POST istekleri `revision` göndermelidir (yeni kayıt için null). Eksik sürüm 428, değişmiş sürüm 409 üretir; otomatik üzerine yazma veya otomatik tekrar yoktur. Frontend ve backend birlikte sürümlenmelidir. Eski açık sekme 428 alırsa kaydedilmemiş girdiler korunup sayfa yenilenmelidir. Veritabanı şeması değişmez; eski sunucuya dönmek bu iki anahtardaki çakışma korumasını kaldırır. Yayın kabulünde iki sekmenin aynı kaydı değiştirmesi ve reddedilen sekmenin girdilerinin korunması sınanmalıdır.
Ekip kaydı (`ekip`) da aynı içerik sürümü sözleşmesine dahil edildi. Yeni ekip arayüzü sunucu onayını bekler. Eski istemciden sürümsüz ekip yazımı 428 ile reddedilir; frontend/backend birlikte güncellenmelidir. Ekip alanlarının geçersiz veya kimliklerinin yinelenmiş olduğu eski kayıtlar önce düzeltilmelidir; sessiz veri temizliği yapılmaz.