Use new group metadata for showing lists
What was supposed to be a minimal change turned into a rather large MR. I did my best to keep things in separate commits, so I can still split this into smaller MRs if desired.
While making use of the new group metadata in the contact and forum list, I noticed some other things in need of improvement to get rid of needing to load all messages:
- Refactor
SharingManager
so its events provide message headers that can be used to update list items - Add
GroupId
to conversation items, so the metadata of the respective group can be updated as well when marking the items read - Create a very basic
ConversationManager
so the GroupCount for the various clients can be queried in one go without needing to know all their groups per contact - Fix a nasty bug that caused forum and blog invitation to not update their read state
- Fix some bugs related to displaying the forum list with proper unread count
Some casual measurements with just a few contacts and messages showed a reduction of the contact list load time by one third.