Preserve subscriptions on request failure and isolate account state
This commit is contained in:
@@ -780,3 +780,10 @@ Taslak türü seçicisine erişilebilir ad eklendi. Üretim derlemesi geçti. Ö
|
||||
- GET 503 → görünür hata → yeniden yükle → iki okunmamış kayıt; POST 503 → hata ve okunmamış durumların korunması; hatayı kaldır → açık okundu işlemi → sayfayı yeniden yükle → iki kalıcı okunmuş kayıt ve yinelenmeme doğrulandı.
|
||||
- Kanıt: `qa-notification-acknowledgement.json`, 6 kontrol doğru. Test altyapısına yalnız localhost hata kontrol sayfası ve sentetik kayıt eklendi; üretim kodu bu adımda değişmedi, önceki 173 test/build sonucu yeniden çalıştırılmadı.
|
||||
- Bu kabul gerçek bildirim API/deposunu kullanır; dış e-posta, Telegram veya işletim sistemi push teslimi testi değildir. Planın diğer kabul maddeleri açık.
|
||||
|
||||
### Bildirim abonelikleri hata ve hesap izolasyonu — 6 Eylül 2026
|
||||
- Listeleme hatası boş abonelik listesine dönüştürülüyordu; DELETE yanıtında success kontrol edilmeden liste boşaltılıyordu. Ekran ortak süre sınırlı hesap isteğine geçirildi, yanıt liste şeması doğrulanıyor. Hatalar mevcut listeyi/formu koruyarak görünür; yeniden yükleme düğmesi var.
|
||||
- Form hesap+oturum anahtarıyla ayrıldı, kapanan formun geç yanıtları atılır. Kayıt/silme/yenilemede eşzamanlı işlem kilidi var. Site taraması da süre ve hesap kontrollerine bağlandı; geçersiz sonuç render edilmez. Silme düğmesine abonelik özetiyle erişilebilir ad verildi.
|
||||
- Sunucu filtre tipleri/listeleri ve DELETE kimliği doğrulanıyor; desteklenmeyen metot 405. notify.sqlite yapılandırılmış kullanıcı volume'una bağlı ve 0600 izinli; eski özel dizinli kurulum için taşıma gereksinimi runbook'ta.
|
||||
- 174 test ve üretim derlemesi geçti. Yeni depo testi geçersiz kriterin kayıt oluşturmamasını, hesap izolasyonunu ve sahip silmesini doğruluyor. Bu yeni formun tarayıcı hata/kayıt/sil kabulü ve gerçek e-posta teslimi henüz yapılmadı.
|
||||
- Mevcut abonelik kimliği (aynı şehir/sektör/alım türü/anahtar) yeniden kayıtta konu listesini güncelliyor; farklı konu kümelerini bağımsız abonelikler olarak tutma davranışı ayrıca ele alınmalı. D09 tamamlanmış sayılmaz.
|
||||
|
||||
@@ -61,3 +61,5 @@ Kalıcı genel analiz ve teklif işleri için süreç kesintisi davranışı:
|
||||
- `node --test tests/ai-job-crash.test.mjs`: iki gerçek alt süreç SIGKILL testi; yeni süreçte kaynak/sonuç ve SQLite bütünlüğü kontrol edilir. Lease süresi testte saat parametresiyle ilerletilir. Gerçek AI sağlayıcısı ve üretim platformunun volume yeniden bağlama davranışı bu testin kapsamı dışındadır.
|
||||
|
||||
Bildirim ve takip taraması deposu artık `IHALEIST_USER_DATA_DIR/takip.sqlite` içindedir; değişken yoksa mevcut `server/data/takip.sqlite` yolu korunur. Özel kullanıcı veri diziniyle çalışan eski kurulum yükseltilirken eski sabit yoldaki takip.sqlite ayrıca envantere alınmalıdır. Tüm yazıcılar durdurularak SQLite tutarlı yedeği doğrulanmalı ve hedefte mevcut bir takip.sqlite üzerine yazmadan yeni dizine aktarılmalıdır. Bu yerel değişiklik üretim verisini taşımadı. Tam volume yedeği bu dosyayı kapsar; yalnız `backup-user-data.mjs` kullanmak bildirimleri yedeklemez.
|
||||
|
||||
E-posta aboneliği deposu `notify.sqlite` da `IHALEIST_USER_DATA_DIR` ayarını izler; değişken yoksa eski `server/data` yolu kullanılır. Özel dizinli eski kurulumlarda yükseltmeden önce sabit yoldaki notify.sqlite tutarlı biçimde yedeklenip yeni hedefe taşınmalıdır; mevcut hedef üzerine yazılmaz. Yerel değişiklik üretim deposunu taşımadı. Bu dosya yalnız kullanıcı/belge yedeğinin kapsamına girmez, tam volume envanterinde ayrıca bulunmalıdır.
|
||||
|
||||
Reference in New Issue
Block a user