- Shipped
- 15 Kasım 2026 10:00 UTC
- Author
- Kamo
- Commit
- 3b85588
Ayarlar › E-posta › CalDAV/CardDAV dış bağlantıları kaydetti ve "Son bağlantı" mesajını gösterdi hiçbir şey almayan bir senkronizasyon için "synced" (DaemonService'in işleri sayısalları çarptı ve her şeyi IDLE olarak işaretledi; sağlayıcı sınıfları TODO' lardı) onları gerçekten senkronize eder (groupware/sync): - CalDAV/CardDAV: keşif (address → principal → home set → collections, with /.iyi bilinen bir yedek, yapıştırılmış tek takvim adresi işe yarar), CTag/sync-token check, calendar-query ETag listesi (son 366 gün), değişenlerin multiget, PUT/DELETE with If-Match/If-None-Match. iCloud adreslerini önceden belirler. - Google Calendar + İnsanlar, Microsoft Grafik takvimler + bağlantılar /oauth akış depoları; yenilenmiş işaretler (ve döndürülmüş yenileme işaretleri) bir sadece yenilediği blobu tam olarak değiştiren bir yazı yazın. - IcsImportService.upsert aracılığıyla gelen olaylar (seriler, istisnalar, EXDATEs) ve ContactService + ContactDetailStore üzerinden temaslar — davet yok, hayır Hatırlatmalar, ham masa yazıları yok. - Koleksiyon/nesne başına muhasebe (yeni groupware_sync_* tabloları) güncellemeler verir, silme ve iki yönlü: önce çek (dış kopya eşitliği kazanır), sonra Kamo'ü bas entegrasyon iki yönlüdür ve koleksiyon Defterdarlar: Başarısız veya şüpheli bir şekilde boş bir listede hiçbir şey silinmedi hiçbir şey Kamo ithal edilmedi, sadece pencereden çıkan hiçbir şey; bir geçiş Birçok koleksiyonun silinmesini sağlayacak olan bu teklif reddedildi. - Durum dürüst: çalıştırırken SENCELEMEK, İDLE + lastSyncedAt yalnızca tam yüklendikten sonra fetch, ERROR + plain-words errorMessage aksi takdirde; sütun-sütun yazılmıştır so bir üyenin düzenlemesi geçişin ortasında hayatta kalır. Per-collection lastError ve sayılar ayarların yükünü (syncSupported, calendarsSynced, eventsSynced, addressBooksSynced, contactsSynced, collections[]). - Planlama: **************** (DaemonService'ın saati) ve /integrations/{id} (daemon.sync.trigger üzerinden şimdi senkronize et, yerel yedekleme olmadan) NATS); per-integration SingletonTaskRunner lease so pods never double-run. - Test Bağlantısı şimdi kayıt olur ve listeler; üye satırları örgütlerini kaydeder; bir entegrasyonu silmek senkronize edilmiş olanları ayırır (saklar); dış adresler halka açık bir sunucuya https olmalı (kluster/SSRF ulaşılamaz); kimlik bilgileri asla kaydedilmez. - Ölü TODO sağlayıcıları ve kullanılmamış güncellemeleri kaldırıldı.
