Commit graph

76 commits

Author SHA1 Message Date
Morgan Pretty
d298bcdb4e Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Utilities/ContactUtilities.swift
#	SessionUtilitiesKit/General/Array+Utilities.swift
2022-03-08 10:41:05 +11:00
Ryan Zhao
e243fb8817 fix unread message request count issues 2022-03-02 11:31:33 +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
167d68870a show conversation settings button after approving message requests 2022-03-02 10:50:15 +11:00
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)
2022-03-01 17:25:53 +11:00
Morgan Pretty
110c7bb01a Addressed PR comments
Moved the 'backBarButtonItem' into the BaseVC (and removed it for being duplicated in various view controllers)
Removed a redundant line of code
2022-03-01 10:25:54 +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
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
582ff0997a Fixed a couple of crashes and added some mock data generation logic
Possibly fixed a crash due to a database deadlock
Fixed a crash when the first message requests gets added if there are no other threads
Added code to generate a bunch of random thread data (Needs some testing to ensure no data leaves the device)
2022-02-22 15:51:17 +11:00
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
2022-02-21 14:48:53 +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
8cc9caa0fd Renamed the OpenGroupPollerV2 and OpenGroupManagerV2 2022-02-15 16:44:10 +11:00
Morgan Pretty
63e6cdd9ec Renamed OpenGroupAPIV2 to OpenGroupAPI
Added the inbox endpoints
2022-02-15 16:30:11 +11:00
Morgan Pretty
6009c30805 Removed a resolved todo and fixed some variable naming 2022-02-11 17:17:09 +11:00
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'
2022-02-11 16:48:16 +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
Ryan Zhao
20a3b6ee26 move path button into setttings 2022-01-25 15:56:23 +11:00
Ryan Zhao
2a229bd663 minor fix 2022-01-25 15:25:48 +11:00
Ryan Zhao
68ec1654e8 rebuild global search UI 2022-01-25 15:04:11 +11:00
Ryan Zhao
e718cee611 WIP: rebuild global search UI 2022-01-25 09:46:22 +11:00
Ryan Zhao
8be5768ad2 snippet for group members 2022-01-20 15:33:31 +11:00
Ryan Zhao
037d70b185 handle seed view reminder and search bar 2022-01-20 12:13:25 +11:00
ryanzhao
10abbb0552 search result view UI 2022-01-17 16:56:51 +11:00
ryanzhao
fed1218538 WIP: global search UI 2022-01-14 16:41:36 +11:00
ryanzhao
9ec749285f minor clean 2022-01-13 11:45:05 +11:00
Ryan Zhao
7e5573c96f fix cell updating and pin icon color 2021-11-30 13:52:31 +11:00
Ryan Zhao
1cc2f17469 pin conversations 2021-11-17 15:51:53 +11:00
ryanzhao
17b15f2cd9 fix threading issue 2021-09-14 13:33:27 +10:00
nielsandriesse
a9f81a17f9 Fix code style & unnecessary changes 2021-06-03 11:39:52 +10:00
coo1k
e328ab9bfd Support for App Links 2021-06-01 00:39:11 -07:00
Niels Andriesse
3fda8daec9 Merge branch 'dev' into cleanup 2021-05-20 16:25:59 +10:00
Niels Andriesse
1e246389be Clean 2021-05-20 14:29:28 +10:00
nielsandriesse
1d028e5f6c Add file server instability modal 2021-05-20 11:02:24 +10:00
nielsandriesse
340b9fcdf0 Update build number 2021-05-20 11:02:08 +10:00
Ryan ZHAO
9cbc2921e3 fix move-insert conflict 2021-05-20 11:01:56 +10:00
Niels Andriesse
26b0a1f08a Possibly fix crash 2021-05-17 09:51:14 +10:00
nielsandriesse
17688a66e6 Make closed group polling variable rate 2021-05-12 10:33:29 +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
371222098b Fix snode pool updating bug 2021-05-03 09:08:50 +10:00
Niels Andriesse
e9df213bfe Put feature flags in one place 2021-04-27 08:53:18 +10:00
nielsandriesse
330e4ce8ad Fix unnecessary V2 open group requests 2021-04-07 13:18:24 +10:00
Niels Andriesse
a7dd7e1bf0 Hook up suggestion grid 2021-03-26 13:28:40 +11:00
nielsandriesse
c6f4443eed Update more logic for V2 open groups 2021-03-24 14:36:26 +11:00
Niels Andriesse
54fc54e7b9 Minor refactoring 2021-03-05 09:18:45 +11:00