Commit Graph

123 Commits (ed33e1f2e24dfc08e86c859969296799dd9bfcec)

Author SHA1 Message Date
Morgan Pretty ed9f4ea6c6 Fixed a few closed group and job issues
Fixed a few job migration issues
Fixed an issue with the closed group key pair management (wasn't storing keys correctly)
Refactored the OWSSound (now Preferences.Sound)
Added the logic for the AttachmentDownloadJob and enabled jobs to be cascade deleted via interactions
Optimised the HomeViewModel database observation query (fetch specific columns so changes outside those don't trigger updates)
Updated to the latest GRDB (ran into a deadlock which should be fixed in a newer version)
2 years ago
Morgan Pretty 11231599db Further work on migrations and message pipeline refactoring
Refactored the AppDelegate from Objective C to Swift
Updated the HomeVC to use GRDB
Refactored a number of the Job types to be driven via GRDB and the new JobRunner
Fixed a bug where the LinkPreviewView wouldn't render correctly in dark mode
2 years ago
Ryan Zhao ad575f6fb5 fix an issue where incoming call is not showed for non-voip notifications 2 years ago
ryanzhao abafffbfe2 potentially fix a issue that the calls won't get connected 2 years ago
Ryan Zhao b23038087f try to fix a call issue when iOS is on lock screen 2 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)
2 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
2 years ago
Morgan Pretty c3b855646f Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/Views & Modals/JoinOpenGroupModal.swift
#	Session/Open Groups/JoinOpenGroupVC.swift
#	Session/Settings/SettingsVC.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
2 years ago
Ryan Zhao 49d6a64194 Merge branch 'remove-OWSBlockingManager' into voice-calls-2 2 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
2 years ago
Morgan Pretty b1684f6b23 More unit tests, fixed a few issues uncovered by testing
Updated the OpenGroupManager to support injecting the cache for better unit testing
Updated the MessageReceiver to support Dependencies being passed as a parameter for visible message and storage purposes
Added a debugDescription to the OpenGroup for more accurate unit testing
Fixed an issue where the poll function would include the inbox and outbox endpoints even when the server was not blinded
Fixed some test compilation time issues
Fixed a bug where the OpenGroupAPI Room was using 'description' as a parameter name (used by Swift for other purposes)
Fixed a bug where then OpenGroup was incorrectly using the system 'description'  property in one place
Renamed the parseV2OpenGroup to parseOpenGroup for consistency
2 years ago
Morgan Pretty 8ca00ca578 Fixed a number of bugs, resolved some TODOs and tested the outbox APIs
Updated the join open group method to retrieve the capabilities as part of the initial request
Updated the OpenGroupManager to require a transaction to be passed to the various 'handler' methods (allowing for everything to be processed within a single transaction)
Fixed a few issues where we weren't storing the timestamp for open group messages and DMs which could result in duplicate messages
Fixed an issue where we were setting the timestamp value for messages sent to an open group without converting it to be milliseconds to be consistent with other messages
Fixed an issue where the BatchRequestInfo could incorrectly flag it's response as failing to parse even though the type was optional
Fixed a bug where the open group would re-fetch all messages every other time
Fixed a bug where the long press context menu wouldn't appear after failing to delete a message
Fixed a bug where joining an open group would trigger the join behaviour and APIs twice
2 years ago
Ryan Zhao 52407aec03 Merge branch 'ipad-support-1' into voice-calls-2 2 years ago
Morgan Pretty dbead5e3c8 Got the '/inbox' APIs and encryption/decryption/validation working
Added a few types to make the code more readable
Added the inbox request to the polling
Added a couple of properties to the TSContactThread to indicate the originating open group to support SOGS DMs
Added code to store the latest message id for an open group inbox
Added a bunch of documentation from the API docs into the OpenGroupAPI (and associated models)
Updated the OpenGroupAPI to match the latest docs
Fixed the incorrect structure of the SendDirectMessageRequest
Fixed an incorrect inbox endpoint path
Tweaked the batch response handling so it wouldn't fail to parse all responses if a single one failed
Renamed IdPrefix to SessionId.Prefix and cleaned up the type to be more readable & self-documenting
2 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)
2 years ago
ryanzhao 716378ccd3 handle offer message might come in earlier than pre offer message 3 years ago
ryanzhao da14539639 handle busy 3 years ago
ryanzhao 6f78d6dfbe refactoring for CallKit 3 years ago
Niels Andriesse baf9e4e9d4 Add ringing UI 3 years ago
Niels Andriesse 6fdf544368 Implement end call message 3 years ago
Niels Andriesse 525eb40d8d Make signaling happen using Session messages 3 years ago
Ryan Zhao 94c1879263 fix unsend request receive handler 3 years ago
nielsandriesse e72c6d4cbd Mark .noThread error as non-retryable 3 years ago
nielsandriesse c36cf1a36d Hopefully fix closed group handling bug 3 years ago
Niels Andriesse bd04775cbf Implement open group invitations UI 3 years ago
Niels Andriesse 1a12487292 Clean 3 years ago
ryanzhao 1893ccac76 use TSIncomingMessage's serverTimastamp to make more sense 3 years ago
Ryan ZHAO fcc3c27779 fix unread message count bug 3 years ago
Niels Andriesse 08015f570f Create DataExtractionNotificationInfoMessage 3 years ago
Niels Andriesse 82690259b2 Clean protobuf 3 years ago
Niels Andriesse e945a6779f Include profile in configuration sync message 3 years ago
Niels Andriesse 37c652c0d0 Make admins send latest closed group key pair when members are added 3 years ago
nielsandriesse 65f397ccd1 Debug 3 years ago
Niels Andriesse 1fda8e4249 Add encryption key pair request message 3 years ago
Niels Andriesse cf333d5e3d Merge branch 'closed-groups' into multi-device 3 years ago
Niels Andriesse c9c83da3dc Rename ClosedGroupUpdateV2 → ClosedGroupControlMessage 4 years ago
Niels Andriesse 9ea1ccd0c2 Update ClosedGroupUpdate for new message types 4 years ago
Niels Andriesse 74fd3eb812 Partially implement message syncing 4 years ago
nielsandriesse d6314c8d30 Handle configuration messages 4 years ago
nielsandriesse d5e1237b0c Allow admins to leave & fix remaining issues 4 years ago
Niels Andriesse ce86d9a196 Debug 4 years ago
nielsandriesse de384fd4d9 Ensure legacy closed groups still work 4 years ago
Niels Andriesse da503b0df1 Update Session protocol closed groups logic 4 years ago
Niels Andriesse ef1d6392a7 Activate the Session protocol 4 years ago
Niels Andriesse 2a4977d269 Implement Session protocol 4 years ago
nielsandriesse d6c115bc2a Fix module linking issue 4 years ago
nielsandriesse 75b184c0b9 Use new message receiving pipeline in PN extension 4 years ago
Niels Andriesse ef76d73821 Fix typo 4 years ago
Niels Andriesse b621bdc69a Partially fix open groups 4 years ago
nielsandriesse addc859c84 Fix duplicate messages & debug 4 years ago
nielsandriesse 77c1f721b9 Further debug attachment sending 4 years ago
nielsandriesse 5dfd4b1965 Restructure 4 years ago
nielsandriesse 178ab7e3e2 WIP 4 years ago
Niels Andriesse ac1bbb3de1 Handle open group message ID 4 years ago
Niels Andriesse d2e8f2142e WIP 4 years ago
Niels Andriesse d7c71a8c06 Make things compile again 4 years ago
nielsandriesse b218a16b05 Implement attachment downloading 4 years ago
nielsandriesse 961878f74c Parse attachment pointers 4 years ago
Niels Andriesse 9242f971fd Fix timestamp handling 4 years ago
Niels Andriesse 72b4c3edaf WIP 4 years ago
nielsandriesse 58802936c1 Finish message receiving pipeline 4 years ago
nielsandriesse 97545de75e Handle expiration timer updates 4 years ago
nielsandriesse 7e9eb2f138 Make typing indicators work & implement job resuming 4 years ago
Niels Andriesse b030b5999b Make messages show up again 4 years ago
nielsandriesse aba4cda143 WIP 4 years ago
nielsandriesse 82127bfe4d Clean 4 years ago
nielsandriesse 505370f8d6 Implement open group message conversion 4 years ago
nielsandriesse a3382f41d4 Re-organize files 4 years ago
nielsandriesse 41d078d012 Re-implement Signal protocol decryption 4 years ago
nielsandriesse 8f443a38af Re-implement message wrapping 4 years ago
nielsandriesse 28172b4ed2 Create AttachmentUploadJob & AttachmentDownloadJob
Also conform SnodeMessage to NSCoding
4 years ago
nielsandriesse b4545903b1 Fix build 4 years ago
nielsandriesse 4b63588f1a Create MessageSendJob & MessageReceiveJob
Also implement message sending notifications & custom TTL for typing indicators
4 years ago