Commit Graph

332 Commits (77ceac54e03e5e7dae4b6e034b516594e08edf1a)

Author SHA1 Message Date
Ryan Zhao 52407aec03 Merge branch 'ipad-support-1' into voice-calls-2 2 years ago
Morgan Pretty cb288ca09c Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session/Conversations/ConversationVC+Interaction.swift
#	SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift
2 years ago
Ryan Zhao daf0705d42 Merge branch 'dev' into preformance-improvement 2 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)
2 years ago
Ryan Zhao 1609812e5b remove useless expiration flag in data message 2 years ago
Morgan Pretty a26ee12f8d Further work on Id Blinding
Renamed the setter for the SOGS 'Server' object for consistency
Updated the Curve25519Kit repo to use an Oxen fork
Updated the MockDataGenerator to accomodate the latest changes
Updated the ConversationVC to better support getting replaced when the conversion from blinded to unblinded happens while on that screen
Added a cache for the mapping between blinded ids and standard ids (gets cached whenever a valid match is found)
Added a migration to remove the old 'authToken, 'lastMessageServerId' and 'lastDeletionServerId' collections (redundant in SOGS V4)
2 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
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 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
2 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
2 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
2 years ago
Ryan Zhao 63e0a5285c minor refactor to prevent dead lock 2 years ago
Morgan Pretty 4f3900771e More work on getting SOGS V4 integrated
Updated the MessageSendJob to support V4 messages (V2 messages will be upgraded to V4 if they get re-encoded)
Renamed the Message+Destination from 'openGroup' & 'openGroupV2' to 'legacyOpenGroup' and 'openGroup'
Started plugging in more of the V4 APIs
Renamed a number of the V2 APIs to start with 'legacy'
2 years ago
Morgan Pretty ad9282a7b9 Removed 'publicKey' from the MessageRequestResponse and updated logic to use 'message.sender' isntead 2 years ago
Morgan Pretty 394b0646a3 Updated the code to support additional session id prefixes 2 years ago
Ryan Zhao 2d9f962a97 Merge branch 'dev' of https://github.com/oxen-io/session-ios into voice-calls-2 2 years ago
Morgan Pretty cd61fb8df0 Merge branch 'dev' into feature/message-requests
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SignalUtilitiesKit/Utilities/UIColor+Extensions.swift
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
Ryan Zhao 5ce7aa49ee mark messages with undownloaded attachments as read as well 2 years ago
Ryan Zhao cfcd52c5bb minor refactoring to prevent crash after making a call 3 years ago
Ryan Zhao 4b38f8b3b6 improve call message showing contact name 3 years ago
Ryan Zhao 8226e2aa7b update missed call unread status 3 years ago
Ryan Zhao a75ecb30db minor fix 3 years ago
Ryan Zhao 8cab6d1013 show short session id for callee/caller name 3 years ago
Ryan Zhao c820212115 extend call message ttl to 14 days 3 years ago
Ryan Zhao 6703d8c7f4 add timestamp to call message UI 3 years ago
Ryan Zhao 35f75490a4 clean 3 years ago
Ryan Zhao 9e6c81d28b improve call message UI 3 years ago
Ryan Zhao 0c2027d7c8 fix call message self send valid 3 years ago
Ryan Zhao 81dd4557a5 sync answer and end call message 3 years ago
ryanzhao ff79c58f44 update call message after a call ended 3 years ago
ryanzhao 219440f444 update call protobuf 3 years ago
ryanzhao 3b545ca618 Merge branch 'dev' of https://github.com/oxen-io/session-ios into voice-calls-2 3 years ago
ryanzhao 49688c0a2d potentially fix a crash when setting nickname from null 3 years ago
ryanzhao 23fb69ba6f add incoming/outgoing call message bubble 3 years ago
ryanzhao daee269a7a Merge branch 'dev' into voice-calls-2 3 years ago
ryanzhao dcd3997a78 fix an issue where untrusted contact's media message will never be marked as read 3 years ago
ryanzhao 6e07c56e7d Merge branch 'master' of https://github.com/oxen-io/session-ios into voice-calls-2 3 years ago
ryanzhao d319840c04 clean unused server timestamp 3 years ago
ryanzhao da335a8401 clean 3 years ago
ryanzhao 132ff0416f set server timestamp as open group message's sent timestamp 3 years ago
Niels Andriesse 3584a0e357 Fix call message TTL 3 years ago
Niels Andriesse b3ead76221 Debug 3 years ago
Niels Andriesse 6fdf544368 Implement end call message 3 years ago
Niels Andriesse 3206ce380e Rename WebRTCWrapper → WebRTCSession 3 years ago
Niels Andriesse b3af41e2fc Debug 3 years ago
Niels Andriesse 1ad42547b2 Batch send ICE candidates 3 years ago
Niels Andriesse 525eb40d8d Make signaling happen using Session messages 3 years ago
Niels Andriesse 030c869d06 Add WebRTC dependency & implement CallMessage 3 years ago
ryanzhao 0ed748074b remove deleted message for linked devices 3 years ago
Ryan Zhao eaab6ee22d deleted message UI in conversation screen 3 years ago
ryanzhao 8d53a775d2 Revert "delete real message and sync message together"
This reverts commit cc17a952e0.
3 years ago
ryanzhao cc17a952e0 delete real message and sync message together 3 years ago
Ryan Zhao 050a2ec534 store server hash value for visible messages 3 years ago
Ryan Zhao c68350f3d8 store hash value for outgoing messages 3 years ago
Ryan Zhao e2a0578770 cancel local notifications for unsend requests 3 years ago
Ryan Zhao b827b9e1ba make it work for multi device 3 years ago
Ryan Zhao dff99cf0fc add unsend request proto 3 years ago
Ryan Zhao 423feae426 add notify reply and clean 3 years ago
Niels Andriesse 44288c45e9 Fix auto scroll to bottom bug 3 years ago
ryanzhao 69dea75486 potentially fix the conversation stuck at unread 3 years ago
Niels Andriesse 356dc0cc4f Clean up indentation 3 years ago
Brice-W 2f0fe36905 add expiration timer to configuration message 3 years ago
Brice-W a840d61f4e delete obsolete code 3 years ago
Niels Andriesse 7bb7edd3c0 Further cleanup 3 years ago
Niels Andriesse b090227a2d Fix potential crash & apply code convention 3 years ago
Brice-W 1f9cd92bce set expiration timer for new group members 3 years ago
Niels Andriesse 3fda8daec9 Merge branch 'dev' into cleanup 3 years ago
Niels Andriesse 61dd768e5c Minor refactoring 3 years ago
Ryan ZHAO d7a7abc11e start expiration timer after attachments downloaded 3 years ago
Niels Andriesse e4d1925436 Show confirmation dialog 3 years ago
Niels Andriesse f3fef34259 Implement proto conversion 3 years ago
Niels Andriesse e2715d1ee9 Implement sending logic 3 years ago
Niels Andriesse bd04775cbf Implement open group invitations UI 3 years ago
nielsandriesse ed047ac512 More cleanup 3 years ago
nielsandriesse 06f795169b Merge branch 'dev' into cleanup 3 years ago
nielsandriesse a098ba7125 Remove unused code 3 years ago
nielsandriesse 05d688a6d3 Add missing enum case 3 years ago
nielsandriesse 955e3abdad Clean up group update handling 3 years ago
nielsandriesse 49f3b9f7db Rename contactIdentifier → contactSessionID 3 years ago
Niels Andriesse d742fc1548 Delete V1 OGS & file server 3 years ago
nielsandriesse accd838017 Merge branch 'dev' into snode-list-updating 3 years ago
Niels Andriesse 709c0f1463 Add documentation 3 years ago
Ryan ZHAO d897952ce0 use sent timestamp instead of received timestamp for sorting and UI 3 years ago
Ryan ZHAO d360353c17 fix open group message sort id 3 years ago
Ryan ZHAO 7a593862c9 minor fix 3 years ago
Ryan ZHAO 72807c52b7 fix open group message timestamp 3 years ago
Niels Andriesse 1a12487292 Clean 3 years ago
nielsandriesse a76c43973f Increase TTL & remove PoW 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
nielsandriesse 09b4b7d388 Update MessageSender for V2 open groups 3 years ago
Niels Andriesse 08015f570f Create DataExtractionNotificationInfoMessage 3 years ago
Niels Andriesse b1cd34c9b4 Create DataExtractionNotification 3 years ago
Niels Andriesse 82690259b2 Clean protobuf 3 years ago
Niels Andriesse dd0baf0d97 Unify contacts APIs 3 years ago
Niels Andriesse 73bbaf9ce7 Potentially fix attachment issue 3 years ago
nielsandriesse 2d6bf235d7 Sync expiration timer updates 3 years ago
nielsandriesse f488453140 Update configuration message for contacts 3 years ago
Niels Andriesse 1b9aa9aea2 Keep things backwards compatible 3 years ago
Niels Andriesse e945a6779f Include profile in configuration sync message 3 years ago
nielsandriesse 1924e01edc Merge branch 'multi-device' into ui 3 years ago
nielsandriesse dd56da7619 Merge branch 'closed-groups' into multi-device 3 years ago
nielsandriesse ece564988e Allow self-sending of closed group control messages 3 years ago
Niels Andriesse 90e53e5cef Redesign conversation screen part 1 3 years ago
Niels Andriesse 1fda8e4249 Add encryption key pair request message 3 years ago
Niels Andriesse 82cbf2ab41 Clean 3 years ago
Niels Andriesse 7acb6c9ac3 Merge branch 'dev' into multi-device 3 years ago
Niels Andriesse 4e590da262 Fix incorrect timer update copy in closed groups 3 years ago
Niels Andriesse afd7a5a3dc Fix open group message syncing 4 years ago
Niels Andriesse 585fabca03 Debug 4 years ago
Niels Andriesse 6b7b158000 Debug 4 years ago
Niels Andriesse cf333d5e3d Merge branch 'closed-groups' into multi-device 4 years ago
Niels Andriesse b7160cbb11 Clean 4 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 eeef067f57 Implement message syncing 4 years ago
Niels Andriesse 74fd3eb812 Partially implement message syncing 4 years ago
nielsandriesse 9eefc21eb9 Periodically send configuration messages 4 years ago
nielsandriesse 8ae5db3141 Update protos & create ConfigurationMessage 4 years ago
Niels Andriesse a6e44ca0f0 Clean 4 years ago
Niels Andriesse d5228abea9 Update notification extension for V2 closed group updates 4 years ago
nielsandriesse d5e1237b0c Allow admins to leave & fix remaining issues 4 years ago
Niels Andriesse 0d01480cd0 Debug 4 years ago
Niels Andriesse ee1d4b1bd5 Debug & make UI clearer 4 years ago
Niels Andriesse da503b0df1 Update Session protocol closed groups logic 4 years ago
Niels Andriesse 71758b0c00 Remove the Signal protocol 4 years ago
Niels Andriesse 9b3f71172b Implement contact storage 4 years ago
nielsandriesse d3f0ed81f7 Fix another compatibility issue 4 years ago
nielsandriesse bc4be99070 Fix Android compatibility issue 4 years ago
nielsandriesse f0f0a627ec Fix Android compatibility issue 4 years ago
nielsandriesse f504965dfa Set group context
Android needs this
4 years ago
Niels Andriesse efe8f1c8bb Clean 4 years ago
Niels Andriesse 3f5bc18f6b Fix remaining TODOs 4 years ago
nielsandriesse d6c115bc2a Fix module linking issue 4 years ago
nielsandriesse c8dfa377bd Fix link preview migration issue 4 years ago
Niels Andriesse b621bdc69a Partially fix open groups 4 years ago
nielsandriesse d39e155e1c Make link previews work again 4 years ago
nielsandriesse 20faa8e914 Debug 4 years ago
nielsandriesse addc859c84 Fix duplicate messages & debug 4 years ago
nielsandriesse e3304a40f9 Fix attachment quoting 4 years ago
nielsandriesse 4dda59b446 Debug attachment receiving 4 years ago
nielsandriesse 77c1f721b9 Further debug attachment sending 4 years ago
Niels Andriesse a88ce33ee0 WIP 4 years ago
Niels Andriesse 3eae001202 Fix disappearing messages 4 years ago
Niels Andriesse 341782f255 Fix profile handling 4 years ago
Niels Andriesse c4e0b45b33 Send expiration timer updates again 4 years ago
Niels Andriesse 4942da1d23 Send read receipts again 4 years ago
Niels Andriesse ac6baec6f2 Make things compile again 4 years ago
nielsandriesse 1037ce5113 WIP 4 years ago
nielsandriesse 5dfd4b1965 Restructure 4 years ago
nielsandriesse 4317b17e7e Fill in some gaps 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
nielsandriesse 9f4d72f2f5 Make quotes work again
Also organize files
4 years ago
Niels Andriesse 2e85d5fb41 Fix message sending status bar 4 years ago
Niels Andriesse 72b4c3edaf WIP 4 years ago
nielsandriesse 58802936c1 Finish message receiving pipeline 4 years ago
Niels Andriesse b030b5999b Make messages show up again 4 years ago
nielsandriesse 15c6784f0f 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 4c69388c6c Match Signal coding keys 4 years ago
nielsandriesse 4b63588f1a Create MessageSendJob & MessageReceiveJob
Also implement message sending notifications & custom TTL for typing indicators
4 years ago
nielsandriesse 52ed49d61e Validate messages after receiving 4 years ago
nielsandriesse 001b85353e Validate messages before sending 4 years ago
nielsandriesse 063214dea3 Implement VisibleMessage.toProto() 4 years ago
nielsandriesse c3f2c44657 Implement VisibleMessage.fromProto(_:) 4 years ago
nielsandriesse a782f36aa4 Clean 4 years ago
nielsandriesse 18755e8e64 Implement profile 4 years ago
nielsandriesse 39a1a4b3ab Implement link preview 4 years ago
nielsandriesse 9dc942772c Implement quote 4 years ago
nielsandriesse d735568e94 Partially implement sending pipeline 4 years ago
nielsandriesse fac757e4fc Implement closed group update 4 years ago
nielsandriesse 3fe57b7765 Implement read receipt 4 years ago
nielsandriesse e8892a1f0f Implement session request 4 years ago
nielsandriesse d407467279 Implement expiration timer update 4 years ago
nielsandriesse 1644f078fe Implement typing indicator serialization 4 years ago
nielsandriesse 48f166b893 Implement typing indicator proto conversion 4 years ago
nielsandriesse fbc41a857a Stub sending & receiving pipelines 4 years ago