Commit graph

59 commits

Author SHA1 Message Date
Morgan Pretty 3663e63bc7 Swapped the Config message 'filter' to a 'compactMap' because apparently that doesn't crash 2022-03-24 16:27:56 +11:00
Morgan Pretty 212c5e87aa Re-added the transaction requirement when generating the current config message 2022-03-24 15:34:46 +11:00
Morgan Pretty 29c53223e0 More tweaks to fix crash
Wrapped the force sync calls within their own Storage.write blocks to ensure they have the latest data and aren't accessing a transaction completed in a different thread
Reverted a number of the unneeded changes
2022-03-24 15:25:47 +11:00
Morgan Pretty 7aa1221987 Tweaks to the ConfigurationMessage generation logic
Removed force unwraps
Updated the closed group storage methods to take a transaction parameter
2022-03-24 14:13:35 +11:00
Morgan Pretty d4c0acb2a7 Updated the configuration message to sync the blocked state correctly 2022-03-17 14:17:33 +11:00
Ryan Zhao 30e1f34782 fix configuration message may include contacts that shouldn't be visible 2022-03-10 17:22:39 +11:00
Morgan Pretty af543b980b Made a couple of changes to how the ConfigurationMessage is generated and handled
Stopped configuration messages from automatically creating threads for sync'ed contacts (now they will only be created if there are messages)
Updated the ConfigurationMessage to stop truncating the list of contacts but filter the full set (also update the logic to include previously approved contacts)
2022-03-07 10:22:46 +11:00
Morgan Pretty 4c89c165d8 Fixed a few bugs uncovered by QA
Fixed a bug where the ConfigurationMessage was getting generated before the contact state was persisted to the database in the message request flow causing odd behaviours (now generating the ConfigurationMessage within the same transaction)
Fixed a bug where sending a message to an existing message request thread once the message requests item has been hidden would show the message requests notification and trigger the section to re-appear on the home screen
Fixed a bug where blocked contacts weren't getting excluded from the contacts list in the configuration message
2022-02-23 17:12:57 +11:00
Morgan Pretty 47314bd639 Added a notification to indicate the user has a new message request
Fixed a bug where the notification count could be increased for message requests
Fixed a bug where an approved contact could be 'unapproved' due to an order of execution issue when generating the config sync message
Fixed a check to avoid registering for push notifications when on the simulator (old check didn't cater for M1 Macs)
Moved the 'hasHiddenMessageRequests' into the group user defaults so it can be accessed within the notification extension
Added code to handle an edge case where an old client could incorrectly un-approve a contact via a legacy configuration message
2022-02-21 14:48:53 +11:00
Morgan Pretty ad9282a7b9 Removed 'publicKey' from the MessageRequestResponse and updated logic to use 'message.sender' isntead 2022-02-11 10:47:27 +11:00
Morgan Pretty 9db5083cc5 Built out the Message Request functionality
Added the MessageRequestsViewController
Added a 'Message Requests' button to the settings screen
Added accept/reject buttons for message requests to the ConversationVC
Added the ability to hide the message request item on the HomeVC (re-appears if you get a new message request)
Added code to handle an edge-case where the message request approval state wouldn't be returned to the sender due to the recipient running an old version of the app
Prevented contacts which aren't associated with an approved thread from appearing when creating a closed group
Disabled notifications for threads which aren't approved
Updated the app notification count to exclude unapproved messages
Updated the app to ignore closed group creation messages if the group has no admins which are approved contacts
Fixed up the keyboard avoidance behaviour in the ConversationVC
Fixed a couple of minor interaction issues which affected some devices
Fixed an issue where the database migrations would run on the 2nd launch when creating a new account (causing odd behaviours)
2022-02-02 16:59:56 +11:00
ryanzhao 49688c0a2d potentially fix a crash when setting nickname from null 2021-10-01 15:06:33 +10:00
Ryan Zhao b827b9e1ba make it work for multi device 2021-08-02 10:32:47 +10:00
Ryan Zhao dff99cf0fc add unsend request proto 2021-07-30 14:21:30 +10:00
Niels Andriesse 356dc0cc4f Clean up indentation 2021-07-07 15:09:09 +10:00
Brice-W 2f0fe36905 add expiration timer to configuration message 2021-06-21 14:21:34 +10:00
Brice-W a840d61f4e delete obsolete code 2021-06-21 14:21:11 +10:00
Niels Andriesse 7bb7edd3c0 Further cleanup 2021-06-11 11:11:16 +10:00
Niels Andriesse b090227a2d Fix potential crash & apply code convention 2021-06-11 11:01:08 +10:00
Brice-W 1f9cd92bce set expiration timer for new group members 2021-06-10 11:51:38 +10:00
Niels Andriesse bd04775cbf Implement open group invitations UI 2021-05-07 13:10:21 +10:00
nielsandriesse a76c43973f Increase TTL & remove PoW 2021-04-14 15:46:40 +10:00
Niels Andriesse b1cd34c9b4 Create DataExtractionNotification 2021-03-02 15:00:22 +11:00
Niels Andriesse 82690259b2 Clean protobuf 2021-03-02 13:12:24 +11:00
nielsandriesse 2d6bf235d7 Sync expiration timer updates 2021-02-24 15:19:50 +11:00
nielsandriesse f488453140 Update configuration message for contacts 2021-02-24 13:49:16 +11:00
Niels Andriesse 1b9aa9aea2 Keep things backwards compatible 2021-02-23 11:08:01 +11:00
Niels Andriesse e945a6779f Include profile in configuration sync message 2021-02-23 09:47:38 +11:00
nielsandriesse 1924e01edc Merge branch 'multi-device' into ui 2021-02-10 11:27:39 +11:00
nielsandriesse dd56da7619 Merge branch 'closed-groups' into multi-device 2021-02-10 10:59:11 +11:00
nielsandriesse ece564988e Allow self-sending of closed group control messages 2021-02-10 10:56:46 +11:00
Niels Andriesse 90e53e5cef Redesign conversation screen part 1 2021-02-09 15:14:18 +11:00
Niels Andriesse 1fda8e4249 Add encryption key pair request message 2021-02-08 13:19:38 +11:00
Niels Andriesse 82cbf2ab41 Clean 2021-01-28 15:56:33 +11:00
Niels Andriesse 585fabca03 Debug 2021-01-25 15:50:30 +11:00
Niels Andriesse 6b7b158000 Debug 2021-01-25 14:46:47 +11:00
Niels Andriesse cf333d5e3d Merge branch 'closed-groups' into multi-device 2021-01-25 13:50:18 +11:00
Niels Andriesse b7160cbb11 Clean 2021-01-22 11:07:22 +11:00
Niels Andriesse c9c83da3dc Rename ClosedGroupUpdateV2 → ClosedGroupControlMessage 2021-01-22 10:28:26 +11:00
Niels Andriesse 9ea1ccd0c2 Update ClosedGroupUpdate for new message types 2021-01-22 10:02:42 +11:00
Niels Andriesse 74fd3eb812 Partially implement message syncing 2021-01-14 10:40:58 +11:00
nielsandriesse 9eefc21eb9 Periodically send configuration messages 2021-01-13 14:08:41 +11:00
nielsandriesse 8ae5db3141 Update protos & create ConfigurationMessage 2021-01-13 11:41:56 +11:00
Niels Andriesse d5228abea9 Update notification extension for V2 closed group updates 2021-01-11 13:36:47 +11:00
nielsandriesse d5e1237b0c Allow admins to leave & fix remaining issues 2021-01-08 14:54:27 +11:00
Niels Andriesse 0d01480cd0 Debug 2021-01-07 16:40:01 +11:00
Niels Andriesse ee1d4b1bd5 Debug & make UI clearer 2021-01-06 10:37:26 +11:00
Niels Andriesse da503b0df1 Update Session protocol closed groups logic 2021-01-05 14:54:37 +11:00
Niels Andriesse 71758b0c00 Remove the Signal protocol 2021-01-04 13:59:21 +11:00
nielsandriesse d3f0ed81f7 Fix another compatibility issue 2020-12-09 16:14:49 +11:00