Commit Graph

162 Commits (28553b218bd7173456bf87b6b8d5df641affc66a)

Author SHA1 Message Date
Morgan Pretty 4380f1975c Further work on the DB refactoring
Added the rest of the interaction structure to the database (testing some migration logic now - still needs to be finalised)
Updated the YDBToGRDB migrations to wrap their inserts in autorelease pools (helps memory slightly, unfortunately it's caching the YDB data which uses the most memory but we have opted for speed over RAM at the moment)
Updated the MockDataGenerator so it should now "chunk" the code generation (crazy large figures were previously resulting in excessive memory usage)
3 years ago
Morgan Pretty cf66edb723 Further work on SessionMessagingKit migrations
Added migrations for contacts and started working through thread migration (have contact and closed group threads migrating)
Deprecated usage of ECKeyPair in the migrations (want to be able to remove Curve25519Kit in the future)
3 years ago
Morgan Pretty a1b4554cdb Migrated the SessionSnodeKit from YapDatabase to GRDB
Changed the min OS version to iOS 13.0 (support for 'Identifiable')
Removed the alternate approaches to fetching the userKeyPair and userPublicKeyHexString (no consistently routed through the caching method)
Migrated the 'OWSIdentityManager' logic to use the new 'Identity' type
Added the 'Setting' table and got the pattern working fairly nicely (unfortunately there isn't a good way to avoid key collision without proper enums)
Updated the SessionSnodeKit to migration it's data from YDB to GRDB
Updated the SessionSnodeKit to use GRDB throughout it's logic
3 years ago
Morgan Pretty 7165b9e4f6 Merge branch 'dev' into feature/remove-OWSBlockingManager
# Conflicts:
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Meta/AppDelegate.swift
#	SessionMessagingKit/Messages/Control Messages/ConfigurationMessage+Convenience.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift
3 years ago
Morgan Pretty 3663e63bc7 Swapped the Config message 'filter' to a 'compactMap' because apparently that doesn't crash 3 years ago
Morgan Pretty 212c5e87aa Re-added the transaction requirement when generating the current config message 3 years ago
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
3 years ago
Morgan Pretty 7aa1221987 Tweaks to the ConfigurationMessage generation logic
Removed force unwraps
Updated the closed group storage methods to take a transaction parameter
3 years ago
Morgan Pretty 78c0d000be Removed the OWSBlockingManager replacing it with the config sync
Fixed an issue where the "block" button would appear in the NoteToSelf swipe menu
Removed the OWSBlockingManager and supporting files
Removed a number of unused classes and methods
Refactored the BlockListUIUtils to Swift
3 years ago
Morgan Pretty d4c0acb2a7 Updated the configuration message to sync the blocked state correctly 3 years ago
Ryan Zhao 30e1f34782 fix configuration message may include contacts that shouldn't be visible 3 years ago
Ryan Zhao b632f6a925 avoid conflicts with call beta in TSInfoMessageType 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 1609812e5b remove useless expiration flag in data message 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 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 ad9282a7b9 Removed 'publicKey' from the MessageRequestResponse and updated logic to use 'message.sender' isntead 3 years ago
Morgan Pretty cd61fb8df0 Merge branch 'dev' into feature/message-requests
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SignalUtilitiesKit/Utilities/UIColor+Extensions.swift
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 5ce7aa49ee mark messages with undownloaded attachments as read as well 3 years ago
ryanzhao 49688c0a2d potentially fix a crash when setting nickname from null 4 years ago
ryanzhao dcd3997a78 fix an issue where untrusted contact's media message will never be marked as read 4 years ago
ryanzhao d319840c04 clean unused server timestamp 4 years ago
ryanzhao da335a8401 clean 4 years ago
ryanzhao 132ff0416f set server timestamp as open group message's sent timestamp 4 years ago
ryanzhao 0ed748074b remove deleted message for linked devices 4 years ago
Ryan Zhao eaab6ee22d deleted message UI in conversation screen 4 years ago
ryanzhao 8d53a775d2 Revert "delete real message and sync message together"
This reverts commit cc17a952e0.
4 years ago
ryanzhao cc17a952e0 delete real message and sync message together 4 years ago
Ryan Zhao 050a2ec534 store server hash value for visible messages 4 years ago
Ryan Zhao c68350f3d8 store hash value for outgoing messages 4 years ago
Ryan Zhao e2a0578770 cancel local notifications for unsend requests 4 years ago
Ryan Zhao b827b9e1ba make it work for multi device 4 years ago
Ryan Zhao dff99cf0fc add unsend request proto 4 years ago
Ryan Zhao 423feae426 add notify reply and clean 4 years ago
Niels Andriesse 44288c45e9 Fix auto scroll to bottom bug 4 years ago
ryanzhao 69dea75486 potentially fix the conversation stuck at unread 4 years ago
Niels Andriesse 356dc0cc4f Clean up indentation 4 years ago
Brice-W 2f0fe36905 add expiration timer to configuration message 4 years ago
Brice-W a840d61f4e delete obsolete code 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
Niels Andriesse 3fda8daec9 Merge branch 'dev' into cleanup 4 years ago
Niels Andriesse 61dd768e5c Minor refactoring 4 years ago
Ryan ZHAO d7a7abc11e start expiration timer after attachments downloaded 4 years ago