Commit Graph

767 Commits (c415fc9e06ea8121c9fad74cd19bed3250ca3462)

Author SHA1 Message Date
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
3 years ago
Ryan Zhao 66567ba9f5 clean 3 years ago
Ryan Zhao c85e3ef86b clean up unused code 3 years ago
Morgan Pretty 819d5a39e1 Disabled the disappearing message settings for the recipient of a message request as well 3 years ago
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
3 years ago
Ryan Zhao 97bf861809 Merge branch 'dev' of https://github.com/oxen-io/session-ios into preformance-improvement 3 years ago
RyanZhao 164201de4f
Merge pull request #563 from RyanRory/fix-swiping-to-reply
Fix swiping to reply
3 years ago
Ryan Zhao d61f36211d bump up to show 500 global search results for all cases 3 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
3 years ago
ryanzhao d27faf551b reduce unnecessary database read 3 years ago
Morgan Pretty e1cc9cde0e Added labels to the NewConversationButtonSet (part 2) 3 years ago
Morgan Pretty 30cbe77366 Added labels to the NewConversationButtonSet 3 years ago
Morgan Pretty 2d6dad67eb Added back another missing localised string 3 years ago
Morgan Pretty 948cbe2c0b Updated a couple of comments 3 years ago
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)
3 years ago
Morgan Pretty 6f1a8fcdc5 Fixed a bug where the most recent message couldn't be interacted with due to message request UI changes 3 years ago
Ryan Zhao e428333b7b minor update to reduce database read on ui thread 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
Ryan Zhao a86310b0f5 improve global search performance 3 years ago
Morgan Pretty dfbee2a520 Removed the single message restriction from message requests (still text only) 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 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
3 years ago
Ryan Zhao a8fd6d9d18 fix home screen not reloading when coming into foreground 3 years ago
Ryan Zhao cc1b1e8c51 poll for open groups in NSE 3 years ago
Morgan Pretty 999d4a1082 Merge branch 'dev' into feature/message-requests
# Conflicts:
#	Session/Conversations/ConversationVC+Interaction.swift
3 years ago
Morgan Pretty d490cf7d19 Fixed an issue where only the first sync config message would be processed 3 years ago
Ryan Zhao 37edce9a09 remove duplicated PN register/unregister 3 years ago
Ryan Zhao 3c9cfa9d2e Merge branch 'dev' of https://github.com/oxen-io/session-ios into preformance-improvement 3 years ago
Ryan Zhao 529bc58d05 fix swiping to reply for very short messages 3 years ago
RyanZhao d221a5bef9
Merge pull request #558 from mpretty-cyro/feature/pdf-preview
Added code to allow previewing PDF attachments within the app
3 years ago
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
3 years ago
Morgan Pretty 8cc9caa0fd Renamed the OpenGroupPollerV2 and OpenGroupManagerV2 3 years ago
Morgan Pretty 63e6cdd9ec Renamed OpenGroupAPIV2 to OpenGroupAPI
Added the inbox endpoints
3 years ago
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
3 years ago
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
3 years ago
Morgan Pretty 1b820c48c6 Added support for Microsoft Word, Excel & Powerpoint previews 3 years ago
Morgan Pretty 161a90ad28 Updated the code to show the document interaction controller for text files as well 3 years ago
Morgan Pretty 6009c30805 Removed a resolved todo and fixed some variable naming 3 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'
3 years ago
Morgan Pretty 140cc97829 Fixed a couple of bugs with the share extension
Fixed a bug where sharing a text file was resulting in the entire contents being put into the message input field
Fixed a bug where sharing from within the app where the app was in dark mode but the device was in light mode would result in buggy UI
3 years ago
Morgan Pretty bdf2b825ad Updated the code to disable input for unapproved conversations after sending the first message 3 years ago
Morgan Pretty ad9282a7b9 Removed 'publicKey' from the MessageRequestResponse and updated logic to use 'message.sender' isntead 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 185b2d2a97 Merge branch 'dev' into feature/pdf-preview
# Conflicts:
#	Session/Conversations/ConversationVC+Interaction.swift
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
Ryan Zhao e543f86c8b Merge branch 'dev' of https://github.com/oxen-io/session-ios into 1.11.21 3 years ago
Morgan Pretty 16ab4be537 Merge branch 'dev' into feature/pdf-preview 3 years ago
Morgan Pretty 4d62ddbd77 Merge branch 'dev' into fix/safari-sharing
# Conflicts:
#	Podfile.lock
3 years ago
Morgan Pretty 7f479bbca4 Merge branch 'dev' into feature/message-requests 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 ebb7507728 Merge branch 'dev' of https://github.com/oxen-io/session-ios into 1.11.21 3 years ago
Ryan Zhao 166fbff26c improve selected message animation for global search 3 years ago
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
3 years ago
Morgan Pretty b85c113da6 Added code to preview PDF attachments 3 years ago
Ryan Zhao c81e0e517d fix ui issue after making unread message count 4 digits 3 years ago
Ryan Zhao 99022006da Make the unread message count 4 digits instead of 2 3 years ago
Ryan Zhao 2c7dfe6a37 fix conversation screen scrolling to bottom issue 3 years ago
Ryan Zhao 70a562344c minor issue fix 3 years ago
Ryan Zhao 8ed77435d8 update translation 3 years ago
Ryan Zhao d96d7468a4 fix read more button colour 3 years ago
Ryan Zhao 6ae84d3e37 update outgoing message text colour in light mode 3 years ago
Ryan Zhao d642d8a4ed improve image message ratio 3 years ago
Ryan Zhao bcc5da75b6 minor fix on debug mode to prevent crashing 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 124d908686 add author for group messages 3 years ago
Ryan Zhao be1fb789e8 hide recent search results behind the flag 3 years ago
Ryan Zhao e4b0ca9ebc fix `not to self` 3 years ago
Ryan Zhao d329740bd4 add clear for recent search results 3 years ago
Ryan Zhao 85c4b3d745 show recent search result as default for global search screen 3 years ago
Ryan Zhao a2db4a8330 add comments 3 years ago
Ryan Zhao 79fc9459a4 clean 3 years ago
Ryan Zhao 837b2ac157 fix a typo 3 years ago
Ryan Zhao 78af18413f show at most 500 search results 3 years ago
Ryan Zhao d583422c73 add some comments 3 years ago
Ryan Zhao 20a3b6ee26 move path button into setttings 3 years ago
Ryan Zhao 2a229bd663 minor fix 3 years ago
Ryan Zhao 68ec1654e8 rebuild global search UI 3 years ago
Ryan Zhao e718cee611 WIP: rebuild global search UI 3 years ago
Ryan Zhao 3cc6a6b7c4 add comments 3 years ago
Ryan Zhao 0ddb4f355a minor improvements on dismissing the keyboard 3 years ago
Ryan Zhao 42903d835d search for name and nickname 3 years ago
Ryan Zhao 8be5768ad2 snippet for group members 3 years ago
Ryan Zhao 037d70b185 handle seed view reminder and search bar 3 years ago
Ryan Zhao 715c9eff98 clean 3 years ago
Ryan Zhao c1c5678056 implement animation for selected search result message flickering 3 years ago
Ryan Zhao 675dde9b1e improve unhighlighted text colour and contrast 3 years ago
Ryan Zhao af7dd3e82f highlight `Note to Self` 3 years ago
Ryan Zhao 5c112064da UI improvements on contact search results 3 years ago
Ryan Zhao 994a2e9c89 hide cancel button when the keyboard is hidden 3 years ago
Ryan Zhao aeabaea0ca fix no search results shown accidentally 3 years ago
Ryan Zhao 9d9a3f92cb minor UI fix 3 years ago
Ryan Zhao 3a626ed80a fix a deadlock issue 3 years ago
ryanzhao 10abbb0552 search result view UI 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
Morgan Pretty f02f53fc49 Added code to show a HTTP LinkPreview error
Added code to indicate the app won't load LinkPreviews for HTTP urls.
Updated the title & subtitle layout to better handle LinkPreview errors.
Missed an Objective C change in the last commit.
3 years ago
ryanzhao 9ec749285f minor clean 3 years ago
ryanzhao 75fe1e2b00 minor improvements 3 years ago
ryanzhao 0a23065fb1 change home screen title to SESSION 3 years ago
Morgan Pretty 67ad965859 Link Preview error state and UI standardisation
Added a couple of error states for Link Preview loading.
Standardised the UI creation code style.
Removed some debug and redundant code.
3 years ago