From 2a9281c9a5a555b735fffcaaf281c4a8d21618b3 Mon Sep 17 00:00:00 2001 From: ht Date: Sun, 6 Sep 2026 13:38:08 +0300 Subject: [PATCH] Wait for saved filter persistence before reporting success --- docs/quality/qa-saved-filter-lifecycle.json | 16 +++++++++ docs/quality/uygulama-durumu.md | 6 ++++ src/components/LeftSidebar.jsx | 5 +-- src/components/SmartFilterBuilder.jsx | 38 +++++++++++++-------- src/context/AppContext.jsx | 27 +++++++-------- 5 files changed, 61 insertions(+), 31 deletions(-) create mode 100644 docs/quality/qa-saved-filter-lifecycle.json diff --git a/docs/quality/qa-saved-filter-lifecycle.json b/docs/quality/qa-saved-filter-lifecycle.json new file mode 100644 index 0000000..0a9d4db --- /dev/null +++ b/docs/quality/qa-saved-filter-lifecycle.json @@ -0,0 +1,16 @@ +{ + "date": "2026-09-06", + "environment": "localhost:5182 synthetic local account", + "checks": { + "saveAcknowledged": true, + "reloadPreserved": true, + "deleted": true, + "deletePersisted": true + }, + "limits": [ + "Save, reload, delete and reload tested", + "No save failure injection or multiple-device edit test", + "Saved-filter application to search criteria remains to be implemented", + "No notification subscription created" + ] +} diff --git a/docs/quality/uygulama-durumu.md b/docs/quality/uygulama-durumu.md index 58b420c..506f4dd 100644 --- a/docs/quality/uygulama-durumu.md +++ b/docs/quality/uygulama-durumu.md @@ -911,3 +911,9 @@ Taslak türü seçicisine erişilebilir ad eklendi. Üretim derlemesi geçti. Ö - İlan metnindeki ilk 3000 karakter sınırı kaldırıldı. Daha sonraki ürün ifadeleri de ilan metni nedeniyle eşleşebilir. - 206 otomatik test ve derleme geçti. Portföy-only profil, açıklama kaynağı, ilgisiz akaryakıt örneğinin sıfır kalması, ÜTS/kapasitenin puan terimi olmaması, uzun metinde geç eşleşme, çift puan engeli ve portföy kaldırılınca eski puanın temizlenmesi doğrulandı. - Bu testler eşleşme bağlantısını kanıtlar; yüksek skor teknik yeterlilik veya gerçek teklif uygunluğu değildir. Büyük havuz performansı ve gerçek portföy/ilan örneklerinde eşleşme kalitesi ayrıca kabul edilmelidir. + +### Kayıtlı filtrelerde gerçek kayıt sonucu — 6 Eylül 2026 +- Filtre oluşturma/silme daha önce yerel listeyi hemen değiştirip arka plandaki yazmayı beklemiyordu. saved_filters autosave kaldırıldı; ortak kayıt işlemi sunucu yanıtından sonra listeyi günceller. Kilit, hesap/oturum kontrolü, kayıt durumu ve hata gösterimi eklendi. Başarısız kayıtta isim temizlenmez; silme başarısızsa mevcut liste korunur. +- Bildirim aboneliği oluşturmayan işlemdeki anında haber/bot çalıştırma iddiaları kaldırıldı. E-posta aboneliğinin ayrı kurulduğu açıklanır. Boş isim için alert yerine native required kullanılır; form alanları ve silme düğmeleri etiketlendi. +- 206 test ve derleme geçti. Yerel tarayıcıda kaydetme onayı, yenilemede kayıt, silme ve yenilemede silinmiş kalma olmak üzere 4 kontrol geçti (qa-saved-filter-lifecycle.json). Bu tur kayıt hatası enjeksiyonu yapılmadı; çok cihazlı eşzamanlı düzenleme kabulü açık. +- Ayrı eksik: kayıtlı filtre kartını arama ölçütlerine uygulama akışı mevcut değildi ve bu tur eklenmedi; bölge/şehir/sektör/usul ölçütleriyle uygulama sonraki iş olarak açık. Filtre yönetimi henüz tam uçtan uca kabul edilmiş sayılmaz. diff --git a/src/components/LeftSidebar.jsx b/src/components/LeftSidebar.jsx index b25ef13..2734e82 100644 --- a/src/components/LeftSidebar.jsx +++ b/src/components/LeftSidebar.jsx @@ -14,6 +14,7 @@ export const LeftSidebar = ({onOpenProductSearch} = {}) => { setActiveTab, savedFilters, deleteSavedFilter, + savingCount, selectedAlimTuru, setSelectedAlimTuru, selectedSektorler, @@ -138,7 +139,7 @@ export const LeftSidebar = ({onOpenProductSearch} = {}) => { Kayıtlı Filtrelerim - {savedFilters.length} Bot + {savedFilters.length} filtre @@ -161,7 +162,7 @@ export const LeftSidebar = ({onOpenProductSearch} = {}) => {

+ {savingCount > 0 &&

Filtre işlemi kaydediliyor…

} + {saveError &&

{saveError}

} {successMessage && ( -
+
{successMessage}
@@ -94,7 +98,7 @@ export const SmartFilterBuilder = () => {
🤖 {f.name}