Commit Graph

84 Commits (8a7db1d48feeb69dabac102e12bb6c5c4c7adb1b)

Author SHA1 Message Date
Morgan Pretty cb288ca09c Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session/Conversations/ConversationVC+Interaction.swift
#	SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift
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
Morgan Pretty 3e97782d18 Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC.swift
#	Session/Meta/Translations/de.lproj/Localizable.strings
#	Session/Meta/Translations/en.lproj/Localizable.strings
#	Session/Meta/Translations/es.lproj/Localizable.strings
#	Session/Meta/Translations/fa.lproj/Localizable.strings
#	Session/Meta/Translations/fi.lproj/Localizable.strings
#	Session/Meta/Translations/fr.lproj/Localizable.strings
#	Session/Meta/Translations/hi.lproj/Localizable.strings
#	Session/Meta/Translations/hr.lproj/Localizable.strings
#	Session/Meta/Translations/id-ID.lproj/Localizable.strings
#	Session/Meta/Translations/it.lproj/Localizable.strings
#	Session/Meta/Translations/ja.lproj/Localizable.strings
#	Session/Meta/Translations/nl.lproj/Localizable.strings
#	Session/Meta/Translations/pl.lproj/Localizable.strings
#	Session/Meta/Translations/pt_BR.lproj/Localizable.strings
#	Session/Meta/Translations/ru.lproj/Localizable.strings
#	Session/Meta/Translations/si.lproj/Localizable.strings
#	Session/Meta/Translations/sk.lproj/Localizable.strings
#	Session/Meta/Translations/sv.lproj/Localizable.strings
#	Session/Meta/Translations/th.lproj/Localizable.strings
#	Session/Meta/Translations/vi-VN.lproj/Localizable.strings
#	Session/Meta/Translations/zh-Hant.lproj/Localizable.strings
#	Session/Meta/Translations/zh_CN.lproj/Localizable.strings
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 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
3 years ago
Morgan Pretty 63e6cdd9ec Renamed OpenGroupAPIV2 to OpenGroupAPI
Added the inbox endpoints
3 years ago
Morgan Pretty c90f346d6a Further SOGS V4 integration work
Added in the v4 onion requests logic
Added in the new pin/unpin APIs
Split up additional legacy methods to try and simplify the refactoring
Added a number of TODOs around usage of legacy request methods
3 years ago
Morgan Pretty 2284375fc0 Started work on updated SOGS support
Split the OpenGroupAPIV2 into separate files
Started working on the new auth and blinded-id approaches (new auth working with un-blinded id suggesting blinded-id code is incorrect)
Updated the SOGS request/response types to use Codable
Updated the SOGS Request type to use enums instead of strings for keys (to reduce likelihood of typos breaking things)
Updated SessionMessagingKit to use Codable and JSONEncoder/JSONDecoder instead of the legacy JSONSerialization
Cleaned up some naming conventions in the SessionMessagingKit (calling a URLRequest body 'parameters' is very confusing...)
Removed the custom TSRequest class (just using standard URLRequest everywhere instead)
Added a number of extension functions to enable some more functional-coding styles
Added extensions to Sodium methods to allow scalar multiplication and the ability to hash providing a salt and a personalisation value (both needed for new SOGS auth)
Fixed an issue where the legacy auth for SOGS could crash due to threading issues (multiple threads accessing the same variable)
Fixed an issue where if you were in two rooms in a single SOGS and deleted one of them, the other room would stop getting updates as the server public key was getting removed
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 4d62ddbd77 Merge branch 'dev' into fix/safari-sharing
# Conflicts:
#	Podfile.lock
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 16f6d49cec add note to self to the default global search screen with empty search text 3 years ago
Ryan Zhao 3a626ed80a fix a deadlock issue 3 years ago
ryanzhao fed1218538 WIP: global search UI 3 years ago
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).
3 years ago
Ryan Zhao 1cc2f17469 pin conversations 3 years ago
ryanzhao 1899a3fe3d fix sharing not work for session 4 years ago
ryanzhao 42d4e07724 add @ symbol when there is mention in unread messages 4 years ago
Niels Andriesse 556e13cc72 Fix crash 4 years ago
Ryan Zhao 38a19ad2d1 don't add badge for messages with no mention 4 years ago
Niels Andriesse 483ed4792f Fix localization & clean 4 years ago
ryanzhao f0d2826403 add thread flag for only notifying mentiongs 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
Brice-W 2f0fe36905 add expiration timer to configuration message 4 years ago
Niels Andriesse 3fda8daec9 Merge branch 'dev' into cleanup 4 years ago
Ryan ZHAO fa13778d70 fix the badge number for muted threads 4 years ago
nielsandriesse 06f795169b Merge branch 'dev' into cleanup 4 years ago
nielsandriesse 49f3b9f7db Rename contactIdentifier → contactSessionID 4 years ago
nielsandriesse 21acdfc835 Clean up thread model 4 years ago
Niels Andriesse d742fc1548 Delete V1 OGS & file server 4 years ago
Niels Andriesse e9df213bfe Put feature flags in one place 4 years ago
Niels Andriesse f7613e09bf Convert remaining file server usages 4 years ago
Niels Andriesse 862b4c0512 Delete unused OWSAttachmentDownloads 4 years ago
Ryan ZHAO d897952ce0 use sent timestamp instead of received timestamp for sorting and UI 4 years ago
Niels Andriesse 44783ddfef Update ConfigurationMessage for V2 open groups 4 years ago
nielsandriesse c6f4443eed Update more logic for V2 open groups 4 years ago
Niels Andriesse 92304fa590 Clean & debug 4 years ago
Niels Andriesse dd0baf0d97 Unify contacts APIs 4 years ago
Niels Andriesse 73bbaf9ce7 Potentially fix attachment issue 4 years ago
Niels Andriesse 8fd0cf79b9 Don't sync blocked contacts 4 years ago
nielsandriesse be466c26fc Only include contacts with a visible thread 4 years ago
nielsandriesse 643bfbdb41 Include contacts in configuration message 4 years ago
nielsandriesse f488453140 Update configuration message for contacts 4 years ago
Niels Andriesse f6ced55003 Debug 4 years ago
Niels Andriesse e945a6779f Include profile in configuration sync message 4 years ago
Niels Andriesse 90e53e5cef Redesign conversation screen part 1 4 years ago
nielsandriesse 9eefc21eb9 Periodically send configuration messages 4 years ago
nielsandriesse 2a46544542 Re-organize files 4 years ago
Niels Andriesse 71758b0c00 Remove the Signal protocol 4 years ago