Only notify clients actually affected by a conflict
Bisher bekam jeder Arbeitsplatz, der den Konflikt-Kontakt im Adressbuch hat, den Hinweis - auch wenn er den Wert gar nicht selbst gepflegt hat. Jetzt zeigt ein Client eine fremde Konflikt-Notiz nur, wenn er den Kontakt hat UND sein eigener Feldwert vom uebernommenen (Gewinner-)Wert abweicht. Die Pruefung laeuft VOR dem Sync (gegen den eigenen Mapping-Snapshot), bevor der Sync den Stand auf den Gewinner-Wert angleicht. - FieldConflict/ConflictNotice: stabiler FieldKey zusaetzlich zum Anzeige-Label. - ContactMerger: GetValue/ValuesEqual per FieldKey (telefon-normalisiert). - ConflictNotifier.GetPending: Filter "eigener Wert != Gewinner-Wert", bekommt StarfaceId -> eigener Kontaktstand. - MainForm zeigt die Hinweise jetzt vor dem Sync und liefert den eigenen Stand aus den Mapping-Snapshots. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -301,11 +301,12 @@ umgekehrt), wird der zweite Lauf uebersprungen. Atomar per `Interlocked`.
|
||||
**Konflikt-Hinweise:** Wird im bidirektionalen Modus ein echter Feld-Konflikt
|
||||
aufgeloest (dasselbe Feld auf beiden Seiten unterschiedlich geaendert, Outlook
|
||||
gewinnt), legt der Client eine Notiz im Unterordner `conflicts/` des gemeinsamen
|
||||
Verzeichnisses ab - zugeordnet ueber die StarfaceId des Kontakts. Andere
|
||||
Arbeitsplaetze, die denselben Kontakt pflegen, zeigen die Meldung beim naechsten
|
||||
Sync als Tray-Hinweis an (so erfaehrt auch der Arbeitsplatz, dessen Wert
|
||||
ueberschrieben wurde, davon). Gezeigte Notizen merkt sich jeder Client lokal,
|
||||
veraltete Notizen werden nach 7 Tagen entfernt.
|
||||
Verzeichnisses ab - zugeordnet ueber die StarfaceId des Kontakts. Beim naechsten
|
||||
Sync zeigt ein anderer Arbeitsplatz die Meldung als Tray-Hinweis - aber **nur,
|
||||
wenn er den Kontakt selbst hat UND sein eigener Feldwert vom uebernommenen Wert
|
||||
abweicht** (so erfaehrt der ueberschriebene Arbeitsplatz davon, waehrend Clients,
|
||||
die den Wert ohnehin schon haben, nicht benachrichtigt werden). Gezeigte Notizen
|
||||
merkt sich jeder Client lokal, veraltete Notizen werden nach 7 Tagen entfernt.
|
||||
|
||||
> Hinweis: Im Mehrplatz-Betrieb sollte die **bidirektionale** Sync-Richtung
|
||||
> verwendet werden. Die Ein-Richtungs-Modi ("Ersetzen") wuerden die von anderen
|
||||
|
||||
Reference in New Issue
Block a user