Commit Graph

157 Commits (74f1d9a6d4b04aac5d78cb18a70c346dc8508b8b)

Author SHA1 Message Date
RyanZhao 74f1d9a6d4
Merge pull request #596 from mpretty-cyro/feature/improve-open-group-deletion-processing
Performance: Improve open group deletion processing
3 years ago
Morgan Pretty 212c5e87aa Re-added the transaction requirement when generating the current config message 3 years ago
Morgan Pretty 1492232224 Made some optimisations to open group deletion handling
Added a new OpenGroupServerIdLookup to make it easier to get a database id via an open group server id
Added a migration to generate the above data
Updated the handleCompactBody method to stop early if there are no messages to delete (would previously enumerate all interactions regardless)
Updated the handleCompactBody to fetch the mapping for the deleted message so we can avoid enumerating all interactions
3 years ago
Ryan Zhao b920dbcc10 check if the incoming message is already in database before persisting 3 years ago
Ryan Zhao e72f0f528d fix notification body for attachments 3 years ago
Morgan Pretty c0e90152ce Fixes for config message handling
Updated the config message handling to try fetch the existing contact first before creating a new one
Updated the OpenGroupManagerV2 to avoid joining an open group if the user already has a thread for it and is polling it
3 years ago
Morgan Pretty 0f78e1af61 Updated the code to only add closed groups for the first config message received 3 years ago
Ryan Zhao 60e8da3bff Merge branch 'dev' into preformance-improvement 3 years ago
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)
3 years ago
Morgan Pretty decb946bf3 Fixed an unrecognised selector crash hidden by the conversion of Objective-C to Swift 3 years ago
Ryan Zhao daf0705d42 Merge branch 'dev' into preformance-improvement 3 years ago
Morgan Pretty 1b3f6c0ca6 Minor tweaks to the message request banner on the HomeVC
Fixed the unread message counting for message requests
Updated the message request banner to indicate the number of message requests with an unread message
Updated the message request banner to automatically disappear if the user has no unread message requests
Renamed a variable for ReadReceipt management to make it a bit more self-documenting (it looked like it would trigger a read receipt to be sent regardless of the setting)
3 years ago
Ryan Zhao f22672ccd7 Merge branch 'dev' of https://github.com/oxen-io/session-ios into preformance-improvement 3 years ago
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
3 years ago
Morgan Pretty 582ff0997a Fixed a couple of crashes and added some mock data generation logic
Possibly fixed a crash due to a database deadlock
Fixed a crash when the first message requests gets added if there are no other threads
Added code to generate a bunch of random thread data (Needs some testing to ensure no data leaves the device)
3 years ago
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
3 years ago
Morgan Pretty 3639a21bc8 Fixed bugs raised by QA
Added some missing localised strings
Prevented 'Read' and 'Typing' indicators from functioning on Message Requests
Prevented link previews on the first message of a message request
Added a confirmation alert when trying to clear all message requests
Added a confirmation alert when trying to delete a message request
Added an empty state to the MessageRequestsViewController
Updated the back behaviour of the ConversationVC to behave more nicely with approving/declining message requests
Updated the OWSBlockingManager to also update the stored contacts 'isBlocked' flag to match
3 years ago
Ryan Zhao cc1b1e8c51 poll for open groups in NSE 3 years ago
Morgan Pretty d490cf7d19 Fixed an issue where only the first sync config message would be processed 3 years ago
Morgan Pretty 56bdee3919 Updated the message request processing to handle both 'didApproveMe' and 'isApproved' contact flags 3 years ago
Morgan Pretty ad9282a7b9 Removed 'publicKey' from the MessageRequestResponse and updated logic to use 'message.sender' isntead 3 years ago
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)
3 years ago
Ryan Zhao 5a5741f47b Group notifications from background polling 3 years ago
ryanzhao dbcc158337 fix unsend bugs 4 years ago
ryanzhao 0b5d6ae4b0 fix disappearing messages for sync messages 4 years ago
ryanzhao 3a84593de9 fix profile key crash & typo 4 years ago
ryanzhao bfc1e96c9d Merge branch 'sync-read' into bug-fixes 4 years ago
ryanzhao d4067eb39d mark previous messages as read if there is a sync message 4 years ago
ryanzhao 50465c04bf fix a crash where the configuration message contacts info may contain invalid profile key 4 years ago
ryanzhao 140676fdaf fix expiration sync messages show display name rather than "You" 4 years ago
ryanzhao f08d0470e5 expire sync messages if needed 4 years ago
Niels Andriesse 45042a1acf Fix typos 4 years ago
ryanzhao 2e8e931551 minor refactor 4 years ago
ryanzhao 940e09c25b handle canceling push notification 4 years ago
Ryan Zhao 7e640fb6ac Don't show deleted message in home screen 4 years ago
Ryan Zhao eaab6ee22d deleted message UI in conversation screen 4 years ago
ryanzhao 00fd764042 delete the message on storage server after receiving an unsend request 4 years ago
Ryan Zhao 80bf62df90 fix nested transaction crash on setting notification identifier 4 years ago
Ryan Zhao 885e9296d1 Merge branch 'dev' of https://github.com/oxen-io/session-ios into unsend-message 4 years ago
Niels Andriesse e8d8377a04 Fix threading bug 4 years ago
Ryan Zhao e2a0578770 cancel local notifications for unsend requests 4 years ago
Ryan Zhao 83252650b1 unsend request handler 4 years ago
Niels Andriesse 6bf25e28f7 Debug 4 years ago
Niels Andriesse ca862096b4 Rename profilePictureEncryptionKey → profileEncryptionKey 4 years ago
Niels Andriesse 519ffa4405 Fully switch to the new contact API
This should improve performance significantly as it avoids many unnecessary sync transactions. It also makes the code more readable.
4 years ago
Niels Andriesse 356dc0cc4f Clean up indentation 4 years ago
Brice-W 2f0fe36905 add expiration timer to configuration message 4 years ago
Niels Andriesse 7bb7edd3c0 Further cleanup 4 years ago
Niels Andriesse b090227a2d Fix potential crash & apply code convention 4 years ago
Brice-W 1f9cd92bce set expiration timer for new group members 4 years ago