When doing reloads of list items (such as when adding test contacts), we loaded different versions of those items and added them to the list.
According to the documentation of
If the sorting criteria of the item is changed, SortedList won't be able to find its duplicate in the list which will result in having a duplicate of the Item in the list.
Int he case of the contact list, new contacts caused reloads of the entire list and new messages caused the contacts to be sorted differently. Thus we ended up with duplicate contacts in the list.
This commit fixes this by replacing the contacts in the list instead of adding them. It applies the same fix to forums and private groups which use the same logic and are thus also affected.
Closes #1210 (closed)