Commit graph

88 commits

Author SHA1 Message Date
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)
2022-03-01 14:06:37 +11:00
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
2022-02-28 10:46:45 +11:00
Morgan Pretty
faa8918cd4 Replaced the remaining non-file legacy methods with their non-legacy equivalents
Updated the OpenGroup polling to run on a non-main thread
Updated the TSGroupModel to store moderatorIds as well as the adminIds (new endpoint is only going to give diffs)
Updated the BatchRequest to support json, base64 encoded strings and raw bytes for it's body
Replaced the 'lastMessageServerID' methods with 'OpenGroupSequenceNumber' methods (since we have swapped the property over)
Added an alert when banning fails (previously it would fail silently)
Fixed a bug where sent blinded messages were appearing as incoming messages
Fixed a bug where the OpenGroup infoUpdates wasn't getting decoded correctly
Fixed an issue where the ConversationVC wouldn't become the first responder again after the ban alerts disappeared
Fixed an issue where I'd incorrectly used the message 'seqNo' in place of the message server id
Fixed an issue where open group messages were setting their `sentTimestamp` to seconds instead of milliseconds for incoming messages
2022-02-24 10:39:22 +11:00
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
2022-02-23 17:12:57 +11:00
Morgan Pretty
6f1a8fcdc5 Fixed a bug where the most recent message couldn't be interacted with due to message request UI changes 2022-02-22 11:42:11 +11:00
Morgan Pretty
dfbee2a520 Removed the single message restriction from message requests (still text only) 2022-02-21 10:10:32 +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
3639a21bc8 Fixed bugs raised by QA
Added some missing localised strings
Prevented 'Read' and 'Typing' indicators from functioning on Message Requests
Prevented link previews on the first message of a message request
Added a confirmation alert when trying to clear all message requests
Added a confirmation alert when trying to delete a message request
Added an empty state to the MessageRequestsViewController
Updated the back behaviour of the ConversationVC to behave more nicely with approving/declining message requests
Updated the OWSBlockingManager to also update the stored contacts 'isBlocked' flag to match
2022-02-17 16:29:14 +11:00
Morgan Pretty
999d4a1082 Merge branch 'dev' into feature/message-requests
# Conflicts:
#	Session/Conversations/ConversationVC+Interaction.swift
2022-02-17 11:52:23 +11:00
Morgan Pretty
63e6cdd9ec Renamed OpenGroupAPIV2 to OpenGroupAPI
Added the inbox endpoints
2022-02-15 16:30:11 +11:00
Morgan Pretty
eb927c36a9 Started cleaning up some of the SOGS and Onion Requests structure
Cleaned up the OnionRequestAPI so we don't need the LegacyOnionRequestAPI
Added requests for the user endpoints
Added deprecated flags to the legacy endpoints and functions
Added some logic to start handling the new poll (batch) response
Started adding unit tests for the OpenGroupAPI functions
2022-02-15 13:55:59 +11:00
Morgan Pretty
051f03f4b4 PR comments and a few missed use cases
Disabled the attachments and voice message buttons for the first message
Disabled the Disappearing Messages flag for the until the conversation is approved
Fixed a bug where the recipient of a message request could incorrectly get the 'pending approval' state
Refactored some standard auto layout code to use the custom extension code
2022-02-14 17:49:08 +11:00
Morgan Pretty
1b820c48c6 Added support for Microsoft Word, Excel & Powerpoint previews 2022-02-14 10:02:33 +11:00
Morgan Pretty
161a90ad28 Updated the code to show the document interaction controller for text files as well 2022-02-14 09:54:17 +11:00
Morgan Pretty
bdf2b825ad Updated the code to disable input for unapproved conversations after sending the first message 2022-02-11 11:26:04 +11:00
Morgan Pretty
ad9282a7b9 Removed 'publicKey' from the MessageRequestResponse and updated logic to use 'message.sender' isntead 2022-02-11 10:47:27 +11:00
Morgan Pretty
185b2d2a97 Merge branch 'dev' into feature/pdf-preview
# Conflicts:
#	Session/Conversations/ConversationVC+Interaction.swift
2022-02-04 11:51:51 +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
bee36423da Fixed a couple of issue with sharing large attachments
Added back localized attachment error messages
Fixed an issue where sending an attachment could fail and the screen would be dismissed before the user had a chance to read the error
2022-02-01 14:55:03 +11:00
Morgan Pretty
b85c113da6 Added code to preview PDF attachments 2022-01-28 16:24:18 +11:00
Ryan Zhao
5803eae134 clean 2021-12-14 15:12:48 +11:00
Ryan Zhao
bbccbe42c1 copy / paste images directly 2021-12-13 15:51:42 +11:00
ryanzhao
13b7b1edb6 Keep screen on when recording voice message 2021-11-16 10:36:31 +11:00
ryanzhao
3a38f44d1f fix deleting message in open groups 2021-10-22 11:59:57 +11:00
ryanzhao
bf2725183d automatically add space after mention 2021-09-14 15:20:48 +10:00
ryanzhao
a7e9606833 add copy link option when clicking a link 2021-08-31 10:28:45 +10:00
Niels Andriesse
45042a1acf Fix typos 2021-08-10 11:17:04 +10:00
ryanzhao
eee9ceff39 fix crash for older messages 2021-08-09 16:57:32 +10:00
ryanzhao
31cf0b7b20 don't send unsend requests for open groups 2021-08-09 16:13:36 +10:00
ryanzhao
76a96c31bf add flag to disable unsend request for now 2021-08-09 13:51:09 +10:00
ryanzhao
5f2890a1fc Merge branch 'dev' of https://github.com/oxen-io/session-ios into unsend-message 2021-08-09 11:21:29 +10:00
Mark Feaver
f0fb4529c8 Disabled tableview scroll when swiping to reply in a conversation 2021-08-08 17:57:48 +10:00
Ryan Zhao
b714565480 smooth the hide and show of the input accessory view 2021-08-05 16:55:49 +10:00
Ryan Zhao
4904d2cdcf localisation 2021-08-05 16:15:11 +10:00
Ryan Zhao
90bd775fd5 show delete options for only outgoing messages 2021-08-05 16:05:52 +10:00
Ryan Zhao
8c897dcc3d use action sheet to show options for deleting a message 2021-08-05 15:59:23 +10:00
Ryan Zhao
da1fe9b287 clean 2021-08-05 14:55:33 +10:00
Ryan Zhao
e1b99be6f2 disable interactions with deleted message in conversation screen 2021-08-05 13:36:56 +10:00
Ryan Zhao
885e9296d1 Merge branch 'dev' of https://github.com/oxen-io/session-ios into unsend-message 2021-08-03 10:26:30 +10:00
Niels Andriesse
593ab49952 Increase voice message recording limit to 3 minutes 2021-08-03 09:12:01 +10:00
Ryan Zhao
4d65c6c340 minor refactor 2021-08-02 11:32:46 +10:00
Ryan Zhao
5a26331abc delete locally for multi device 2021-08-02 11:19:08 +10:00
Ryan Zhao
6aa865e7b7 delete locally and send unsend request 2021-07-30 16:51:43 +10:00
Ryan Zhao
bb49d7236f ui for 2 types of deletion 2021-07-30 15:26:58 +10:00
ryanzhao
25b9b06044 fix unread count not disappear after scrolling to bottom 2021-07-27 14:45:23 +10:00
Niels Andriesse
44288c45e9 Fix auto scroll to bottom bug 2021-07-22 11:10:30 +10:00
ryanzhao
40d2832a30 Merge branch 'dev' of https://github.com/oxen-io/session-ios into conversation-scroll-issues 2021-07-20 10:17:30 +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
ryanzhao
221eabc496 fix scroll to button not always works 2021-07-16 13:27:27 +10:00