Commit graph

117 commits

Author SHA1 Message Date
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
2022-04-21 16:42:35 +10:00
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)
2022-04-06 15:43:26 +10:00
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
2022-03-31 12:03:00 +11:00
Ryan Zhao 49d6a64194 Merge branch 'remove-OWSBlockingManager' into voice-calls-2 2022-03-31 11:09:09 +11:00
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
2022-03-24 16:51:34 +11:00
Morgan Pretty b815a9f348 Fixed up a potential threading issue with the sync configuration logic
Moved all the sync configuration calls to be within the existing 'write' blocks instead of waiting until the completion
2022-03-24 15:08:24 +11:00
Morgan Pretty 5bb3bd7bc1 Cleaned up some config sync logic and allowed migrations to trigger them
Updated the migrations so they can specify whether a configuration sync is required
Moved the config sync logic into a MessageSender extension (makes far more sense than AppDelegate)
Fixed a bug where the ShareVC was triggering the 'versionMigrationsDidComplete' twice
Removed a couple of imports for files that had been deleted
2022-03-24 10:03:51 +11:00
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
2022-03-23 09:59:38 +11:00
Ryan Zhao c2ab454499 fix conversation screen title & button arrangement after message request is approved 2022-03-22 10:08:14 +11:00
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
2022-03-16 15:55:56 +11:00
Ryan Zhao 79c1cb08b6 minor UI adjustment 2022-03-04 15:28:16 +11:00
Ryan Zhao 88876138db Merge branch 'ipad-support-1' into voice-calls-2 2022-03-04 15:27:20 +11:00
Ryan Zhao 4edb666580 UI minor adjustment to modals 2022-03-04 15:23:02 +11:00
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
2022-03-03 17:46:35 +11:00
Ryan Zhao e8f996306d show call permission required modal when calls are nor enabled 2022-03-03 13:25:53 +11:00
Ryan Zhao 52407aec03 Merge branch 'ipad-support-1' into voice-calls-2 2022-03-02 14:31:31 +11:00
Morgan Pretty cb288ca09c Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session/Conversations/ConversationVC+Interaction.swift
#	SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift
2022-03-02 11:29:07 +11:00
Ryan Zhao 04d25577f4 Merge branch 'dev' into ipad-support-1 2022-03-01 13:26:41 +11:00
Morgan Pretty e6b941ea8a Fixed a number of tweaks and bugs with message requests
Removed the "Back" text from the back buttons
Removed the inset on the 'Path' settings button so the text remains horizontally centered
Hid the settings button from message request threads
Fixed an issue where the back button would remain visible in a conversation when the search field was visible
Fixed an issue where the tintColor of the conversation search field didn't match the global search field
Fixed an issue where sending an attachment response to a message request wouldn't approve the message request
Updated the size and positioning of the message request 'Clear All' button to match the DM 'Next' button
Updated the message request 'Clear All' button to start visible (so it's visible during the push animation) since that's the most likely state it'll be in
Updated the 'Message Requests' cell to use the pinned background colour
Updated the fallback for contact thread names to be a middle-truncated string (4 characters either side)
2022-02-28 17:23:34 +11:00
Ryan Zhao c0615fe11d Merge branch 'dev' of https://github.com/oxen-io/session-ios into ipad-support-1 2022-02-25 13:43:49 +11:00
Ryan Zhao b32a8cbab2 fix alert vc for iPad 2022-02-24 16:02:24 +11:00
Morgan Pretty ef09d4d5aa Additional encryption work on id blinding
Got the updated blinding logic working (at least when authenticating a request - still need to deal with message signing and verification)
Storing the server capabilities in the database now so we can correctly blind requests based on them
Renamed the remaining 'v2' functions and classes to just be 'OpenGroup' since there isn't a 'V2' anymore
Cleaned up a few TODOs and functions
2022-02-17 18:33:23 +11:00
Morgan Pretty b655882cbd Started resolving TODOs
Added some new properties to the OpenGroupV2
Moved a number of methods and variables from OpenGroupAPI to OpenGroupManager (anything doing actual logic)
Moved the message signing into the OpenGroupAPI (since that's the only place it happens)
Renamed remaining old model classes to start with 'Legacy' to make clean up easier
Updated the OpenGroupAPI poll method to use the same logic as it previously did to determine if it should retrieve recent messages or messages since the last one
2022-02-16 10:31:08 +11:00
Morgan Pretty 8cc9caa0fd Renamed the OpenGroupPollerV2 and OpenGroupManagerV2 2022-02-15 16:44:10 +11:00
Ryan Zhao 2d9f962a97 Merge branch 'dev' of https://github.com/oxen-io/session-ios into voice-calls-2 2022-02-04 14:21:54 +11:00
Morgan Pretty cd61fb8df0 Merge branch 'dev' into feature/message-requests
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SignalUtilitiesKit/Utilities/UIColor+Extensions.swift
2022-02-04 11:49:54 +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
Morgan Pretty 3b07be4eed Fixed a couple of crashes
Fixed an issue where sharing form Safari without adding comments would result in an invalid message getting sent.
Fixed a crash when sharing plain text from safari.
Fixed a crash when localising 'OK' (key and value can't be the same when using the new extension).
2022-01-13 16:37:23 +11:00
Ryan Zhao d2413922c3 minor UI fix 2021-12-14 14:12:24 +11:00
Ryan Zhao 71e6ccd94b add flag for enable/disable call function 2021-12-08 14:08:01 +11:00
Ryan Zhao 0a3d84d5c8 WIP: Call message Ui improvements 2021-11-26 16:57:57 +11:00
Ryan Zhao 8947f47d77 fix conversation title view position 2021-11-18 13:17:18 +11:00
Ryan Zhao 32790a9d99 fix title view position 2021-11-17 17:02:13 +11:00
ryanzhao 336c694b52 refactoring on showing call ip exposure 2021-11-11 12:12:12 +11:00
ryanzhao 1231b9c20a add preview before staring video 2021-10-21 16:28:48 +11:00
Niels Andriesse b54cd3b026 Add call button to conversation screen 2021-08-16 16:24:49 +10:00
Niels Andriesse 7f0b87a2b2 Avoid unnecessary conversation screen updates 2021-08-03 15:36:54 +10:00
Niels Andriesse 483ed4792f Fix localization & clean 2021-07-29 10:14:06 +10:00
ryanzhao 0181b57f1a add only notify mentions subtitle in conversation creen 2021-07-26 16:15:47 +10:00
Niels Andriesse 6d2044f230 Warn users if they're about to send their recovery phrase to someone 2021-07-19 13:15:02 +10:00
Niels Andriesse dfdffc607c Make profile pictures tappable 2021-07-14 15:56:56 +10:00
Niels Andriesse aae11b1c28 Disable PNs for muted closed groups 2021-07-13 16:09:28 +10:00
Niels Andriesse f0b74c31fa Minor refactoring 2021-07-01 16:15:04 +10:00
Niels Andriesse 4a0b1c0ad0 Fix build 2021-05-20 16:28:08 +10:00
Niels Andriesse 3fda8daec9 Merge branch 'dev' into cleanup 2021-05-20 16:25:59 +10:00
Niels Andriesse 4eff61595a Implement open group joining business logic 2021-05-07 15:29:54 +10:00
Niels Andriesse e4d1925436 Show confirmation dialog 2021-05-07 15:18:57 +10:00
Niels Andriesse e3671291c5 Merge branch 'dev' into cleanup 2021-05-07 13:06:48 +10:00
Niels Andriesse ea668f0344 Use newly translated strings 2021-05-07 11:05:16 +10:00
nielsandriesse e1ad33e832 Clean 2021-05-05 14:22:29 +10:00
nielsandriesse 49f3b9f7db Rename contactIdentifier → contactSessionID 2021-05-05 10:00:39 +10:00
nielsandriesse 21acdfc835 Clean up thread model 2021-05-05 09:53:18 +10:00
Niels Andriesse 209882fb3e Correctly handle multiple untrusted attachments 2021-04-08 16:24:54 +10:00
Niels Andriesse aa68e91a4d Fix attachment download resumption 2021-04-08 09:51:52 +10:00
nielsandriesse a360fa7721 Merge branch 'dev' into deferred-attachment-downloads 2021-04-07 14:58:57 +10:00
Niels Andriesse 3bf46a36c7 Fix memory leaks 2021-04-01 14:24:19 +11:00
nielsandriesse 717fe32a73 Fix build 2021-03-24 15:12:58 +11:00
nielsandriesse c6f4443eed Update more logic for V2 open groups 2021-03-24 14:36:26 +11:00
Niels Andriesse 960e500acd Don't auto-download attachments from untrusted contacts 2021-03-05 11:48:31 +11:00
Niels Andriesse b7a66e9f5f Hopefully fix scrolling bug 2021-03-01 15:20:44 +11:00
Niels Andriesse 57eb5f8ef4 Make conversation title tappable 2021-03-01 15:15:37 +11:00
Niels Andriesse cf07fc1b1a Implement nicknames 2021-03-01 13:15:54 +11:00
Niels Andriesse dd0baf0d97 Unify contacts APIs 2021-03-01 09:36:18 +11:00
Niels Andriesse 205ff8a660 Prepare for upcoming contact changes 2021-02-26 15:00:03 +11:00
Niels Andriesse e945a6779f Include profile in configuration sync message 2021-02-23 09:47:38 +11:00
Niels Andriesse 66a00d4167 Clean 2021-02-22 15:10:01 +11:00
Niels Andriesse d30fd2fb07 Clean 2021-02-19 16:02:19 +11:00