Fix sync duplicates and extreme slowness
Behebt Dubletten auf beiden Seiten und sehr langsame Syncs: - Getrennte Hash-Baselines pro Seite (LastOutlookHash/LastStarfaceHash) statt eines gemeinsamen Hashes. Outlook und Starface stellen denselben Kontakt unterschiedlich dar, wodurch der gemeinsame Hash nie passte und bei jedem Lauf praktisch jeder Kontakt neu geschrieben wurde. - Update-Methoden geben den frisch eingelesenen Stand zurueck, damit die Baseline nach dem Schreiben korrekt gesetzt wird (sauberes Konvergieren). - Unvollstaendig geladene Starface-Liste bricht jetzt mit Fehler ab (inkl. Retry) statt still mit Teil-Liste weiterzuarbeiten - das liess Kontakte faelschlich als geloescht erscheinen und erzeugte Dubletten. - Fehlender Starface-Kontakt (anderes Adressbuch) behaelt das Mapping, statt es zu verwerfen und neu anzulegen. - Lockereres Re-Matching: gleicher E-Mail- oder voller Namens-Treffer reicht; umformatierte Telefonnummern blockieren ihn nicht mehr. - Starface-Kontaktdetails werden parallel geladen (8 gleichzeitig). Bestehende Mappings werden beim ersten Sync automatisch migriert. CHANGELOG.md hinzugefuegt. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -45,6 +45,15 @@ namespace StarfaceOutlookSync.Models
|
||||
public string ProfileId { get; set; } = "";
|
||||
public string OutlookEntryId { get; set; } = "";
|
||||
public string StarfaceId { get; set; } = "";
|
||||
|
||||
// Getrennte Baselines pro Seite. Outlook und Starface stellen denselben
|
||||
// Kontakt unterschiedlich dar (Felder, Telefonformat), daher MUSS jede
|
||||
// Seite gegen ihre eigene zuletzt-gesehene Repraesentation verglichen
|
||||
// werden - sonst gilt jeder Kontakt bei jedem Sync als geaendert.
|
||||
public string LastOutlookHash { get; set; } = "";
|
||||
public string LastStarfaceHash { get; set; } = "";
|
||||
|
||||
// Alt-Feld (vor v0.0.0.24). Nur noch fuer Migration bestehender Mappings.
|
||||
public string LastSyncHash { get; set; } = "";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user