divergentFields property
Fields where the user's change and the server's version disagree.
Only the fields the change touches: a record accumulates values the write never asserted, and listing those would bury the real disagreement.
Implementation
List<String> get divergentFields {
final change = local;
if (change == null) return const [];
final current = server;
if (current == null) return change.keys.toList();
return change.entries
.where((e) => '${current[e.key]}' != '${e.value}')
.map((e) => e.key)
.toList();
}