Use message validation hook in forum sharing client
This patch moves the forum sharing client's update handling from an event handler to a hook to ensure the update is handled even if it arrives just before shutdown.
See merge request !99
Move subscription updates to the client layer
This is part of #112.
I created a separate client for sharing lists of available forums, as that turned out to be cleaner than using the forum client to manage two kinds of group. The same will presumably be true for the blog and group messaging clients when we come to implement them.
The UX for sharing forums is due to change - instead of sharing a list of available forums with no explanation, we'll explicitly invite contacts to join forums. When that happens, the ForumSharingManager will change but the ForumManager should remain pretty much the same.
When hooks for message status changes have been implemented, the ForumSharingManager will use those instead of listening for MessageValidatedEvents.
When client layer transactions have been implemented, the ForumManager, ForumSharingManager and TransportPropertyManager will use them instead of locks to ensure atomicity and isolation.
See merge request !94
Set category and visibility of notifications. #241
Turns out we can't fully control the visibility of notifications on the lock screen - we can mark them as sensitive, and then a couple of global options determine whether they're visible.
See merge request !96
Fix a couple of bugs in settings
1. SettingsFragment wasn't receiving events because it extended BaseFragment rather than BaseEventFragment
2. Removed broken logic for deciding whether to broadcast a SettingsUpdatedEvent
3. Added the namespace to SettingsUpdatedEvent so listeners can decide whether to react
See merge request !97
Run hooks when messages are validated
This patch allows clients to respond to messages reliably. Like the hooks for adding/removing contacts/identities, these hooks may be run more than once - that will be fixed when we have client-layer transactions.
See merge request !95
Indent everything with tabs
Probably the most exciting MR you'll ever read. Bonus points if you spot the NSA backdoor hidden among the whitespace changes.
See merge request !90
Store transport properties received by other means
We may receive transport properties while adding a contact, before the first sync connection is made. Store them in the group shared with the contact, flagged as remote properties in the metadata, but don't share them with the contact. Use a version number of zero so any properties synced from the contact will supersede them.
See merge request !92
Allow different identities to have the same contact. #224
Previous fix was incomplete, the DB still had a unique constraint on the author ID column of the contacts table.
See merge request !91
Avoid potential deadlock in TransportKeyManager. #235
See rambling description on the ticket and in the architecture channel...
Fixes#235.
See merge request !79