Commit Graph

921 Commits (eb0118ac10c2d226c89af829bbe06263c79f6260)

Author SHA1 Message Date
Morgan Pretty 2851d5e8c7 Minor tweak to the updated URL parsing logic to be extra safe 3 years ago
Morgan Pretty 046269f1df Finished the OpenGroupManager unit tests
Fixed a bug with how the open group URL processing was working (one of the example URLs wasn't getting processed correctly)
3 years ago
Morgan Pretty 93dbc2f63c Added more OpenGroupManager unit tests 3 years ago
Morgan Pretty d4c0acb2a7 Updated the configuration message to sync the blocked state correctly 3 years ago
Morgan Pretty ff480a37d5 Added more unit tests for the OpenGroupManager
Added the ability to mock the identity manager (ie. return a mock key for the users key)
Swapped the Test Nonce16 & Nonce24 classes for Mock ones
Fixed an issue where the ContactUtilities call from the OpenGroupManager wasn't injecting the dependencies
Added unit tests for the handleDirectMessages and isUserModetatorOrAdmin methods
3 years ago
Morgan Pretty 37f4d2ecca Further work on OpenGroupManager tests
Added tests for the OpenGroupManager handleMessages logic
Updated some logic to do an optional unwrap instead of a forced one to prevent the code from crashing when running unit tests
Fixed some tests which were flaky (could fail if other tests ran at the same time on other threads)
Fixed a minor potential bug where a message with no sender data wouldn't get deleted (shouldn't be dependant on the sender value being populated)
3 years ago
Morgan Pretty b1684f6b23 More unit tests, fixed a few issues uncovered by testing
Updated the OpenGroupManager to support injecting the cache for better unit testing
Updated the MessageReceiver to support Dependencies being passed as a parameter for visible message and storage purposes
Added a debugDescription to the OpenGroup for more accurate unit testing
Fixed an issue where the poll function would include the inbox and outbox endpoints even when the server was not blinded
Fixed some test compilation time issues
Fixed a bug where the OpenGroupAPI Room was using 'description' as a parameter name (used by Swift for other purposes)
Fixed a bug where then OpenGroup was incorrectly using the system 'description'  property in one place
Renamed the parseV2OpenGroup to parseOpenGroup for consistency
3 years ago
Morgan Pretty 2e10ccf99d Updated the code to cache the retrieval of the user public key 3 years ago
Morgan Pretty 63469acd3b Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	SessionMessagingKit/Database/Storage+Messaging.swift
#	SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift
3 years ago
Morgan Pretty f9c2655df4 Finalised the OpenGroupAPI and more tests
Fixed an issue where messages where signed incorrectly when blinding wasn't enabled on a SOGS
Fixed an issue where a single invalid message would result in all messages in that request being dropped
Updated the final legacy endpoint (ban and delete all messages)
Moved the OpenGroupManager poller values into the 'Cache' (so they are thread safe)
Started adding unit tests for the OpenGroupManager
Removed some redundant parameters from the 'Request' type
3 years ago
Ryan Zhao 343a3afc0a Merge branch 'message-replication-fix' into voice-calls-2 3 years ago
Ryan Zhao 6f927a5003 minor refactor 3 years ago
Ryan Zhao a1e47419c8 minor refactor 3 years ago
Ryan Zhao b920dbcc10 check if the incoming message is already in database before persisting 3 years ago
Morgan Pretty c415fc9e06 Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session/Open Groups/OpenGroupSuggestionGrid.swift
#	SessionMessagingKit/Open Groups/OpenGroupAPIV2+ObjC.swift
#	SessionMessagingKit/Open Groups/OpenGroupAPIV2.swift
#	SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift
3 years ago
Morgan Pretty 31ecd78737 Refactored the mocking code to use a better convention which also allows for call validation
Added a Nimble predicate for checking a function on a mock was called
Added the various remove methods to the Storage protocol
Updated the Ed25519Type to be an instance-based protocol (needed for mocking)
3 years ago
Ryan Zhao 5f9bc4c55f Merge branch 'unread-metion-fix' into voice-calls-2 3 years ago
Ryan Zhao 48c74d9476 refactor to apply this logic to unread message count 3 years ago
Ryan Zhao 06958babcb fix unread mention indicator showing after the message is deleted 3 years ago
Ryan Zhao a31fb7f957 Merge branch 'dev' into voice-calls-2 3 years ago
Ryan Zhao 30e1f34782 fix configuration message may include contacts that shouldn't be visible 3 years ago
Morgan Pretty 0e15c63e6b Fixed a case where a the share extension wasn't using a transaction version of a method 3 years ago
Morgan Pretty c2e13f02bc Fixed a crash which could occur while processing message request notifications due to not using a DB transaction 3 years ago
Ryan Zhao f489e78deb Merge branch 'dev' into voice-calls-2 3 years ago
RyanZhao 20f99df0be
Merge pull request #577 from RyanRory/bug-fix-1-11-22
Bug fix 1.11.22
3 years ago
Ryan Zhao e72f0f528d fix notification body for attachments 3 years ago
Morgan Pretty 3e380ede4e A couple of message request fixes
Added an error state to the OpenGroupSuggestionGrid
Fixed a bug where the settings button wouldn't appear for the sender of a message request once approved
3 years ago
Ryan Zhao 5c7176982c Merge branch 'dev' into voice-calls-2 3 years ago
Morgan Pretty c0e90152ce Fixes for config message handling
Updated the config message handling to try fetch the existing contact first before creating a new one
Updated the OpenGroupManagerV2 to avoid joining an open group if the user already has a thread for it and is polling it
3 years ago
Ryan Zhao 2a0f70b3a8 Merge branch 'dev' into voice-calls-2 3 years ago
RyanZhao d80042cf7f
Merge pull request #573 from mpretty-cyro/fix/only-sync-closed-groups-once
Fix to Only Sync Closed Groups Once
3 years ago
Morgan Pretty 0f78e1af61 Updated the code to only add closed groups for the first config message received 3 years ago
Ryan Zhao b632f6a925 avoid conflicts with call beta in TSInfoMessageType 3 years ago
Ryan Zhao a68ed28a7a Merge branch 'dev' into voice-calls-2 3 years ago
Morgan Pretty 3e0ccaea4c Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Utilities/MentionUtilities.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPollerV2.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SignalUtilitiesKit/Messaging/Sending & Receiving/MessageSender+Convenience.swift
3 years ago
Morgan Pretty 96338eacda Removed an incorrect dependency and fixed a bug from the last commit 3 years ago
Ryan Zhao 5762445128 Merge branch 'ipad-support-1' into voice-calls-2 3 years ago
Morgan Pretty 65f14cf0a1 Added more unit tests
Removed an unused endpoint
Moved 'Dependencies' into the Utilities folder (also out from being nested within 'OpenGroupAPI' since it can be broader than that)
Finished adding unit tests for the OpenGroupAPI
3 years ago
Ryan Zhao 60e8da3bff Merge branch 'dev' into preformance-improvement 3 years ago
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
3 years ago
Morgan Pretty 17a9e510c5 Further work on unit tests (and a couple of bug fixes found when testing)
Removed a couple remaining TODOs
Added 'standardUserDefaults' to the 'Dependencies' type
Tweaked the OpenGroupAPI to only update the 'lastOpen' timestamp if it successfully polls
Refactored a couple of methods in the ConversationViewItem into swift so we can clean up the OpenGroupAPI more
Updated the OpenGroupAPI so it no longer has static variables for state (shifted to the OpenGroupManager and made them instance variables)
Fixed an encoding issue with the Capabilities.Capability
3 years ago
Morgan Pretty af543b980b Made a couple of changes to how the ConfigurationMessage is generated and handled
Stopped configuration messages from automatically creating threads for sync'ed contacts (now they will only be created if there are messages)
Updated the ConfigurationMessage to stop truncating the list of contacts but filter the full set (also update the logic to include previously approved contacts)
3 years ago
Morgan Pretty f9468219d9 Code cleanup and database transaction tweaks
Updated the OpenGroupManager to be a bit more thread safe
Updated the OpenGroupManager "isModOrAdmin" check to better support the various keys of the current user
Fixed some blinding code to use an existing transaction rather than create it's own ones
Removed the Legacy API calls, handling and types
3 years ago
Morgan Pretty decb946bf3 Fixed an unrecognised selector crash hidden by the conversion of Objective-C to Swift 3 years ago
Morgan Pretty 81f563229f Renamed FileServerAPIV2 to FileServerAPI
Updated the direct file upload/download to use the non-base64 approaches as well
Updated the attachment 'serverId' value to be a string instead of a UInt64 (future-proofing)
Updated the OnionRequest V4 response handling to avoid converting the "response body" part to a string and processing that, instead just slice the byte array (ie. stopped it from being broken from multiple conversions)
Removed the base64-based file upload/download endpoints (no use including them when they are inefficient and we don't want to use them)
3 years ago
Morgan Pretty 1c474955de File upload working, further code cleanup
Got the updated file upload working
Removed the legacy 'room' header
Consolidated a number of types between SOGS, FileServer and general requests
Updated the OnionRequestAPI to deal with a Data payload (rather than encoding it to a string and then back to data)
3 years ago
Morgan Pretty 8ca00ca578 Fixed a number of bugs, resolved some TODOs and tested the outbox APIs
Updated the join open group method to retrieve the capabilities as part of the initial request
Updated the OpenGroupManager to require a transaction to be passed to the various 'handler' methods (allowing for everything to be processed within a single transaction)
Fixed a few issues where we weren't storing the timestamp for open group messages and DMs which could result in duplicate messages
Fixed an issue where we were setting the timestamp value for messages sent to an open group without converting it to be milliseconds to be consistent with other messages
Fixed an issue where the BatchRequestInfo could incorrectly flag it's response as failing to parse even though the type was optional
Fixed a bug where the open group would re-fetch all messages every other time
Fixed a bug where the long press context menu wouldn't appear after failing to delete a message
Fixed a bug where joining an open group would trigger the join behaviour and APIs twice
3 years ago
Morgan Pretty c04d4544f2 Added more unit tests
Refactored the existing unit tests to use Quick
Started adding unit tests for a number of the OpenGroupAPI network models
Added unit tests for the SessionId type
3 years ago
Morgan Pretty 8a7db1d48f Started adding logic for the outbox endpoint
Moved the BlindedIdMapping retrieval logic to ContactUtilities so it's reusable
Added the 'outbox' endpoints (need testing as they aren't deployed to test yet)
3 years ago
Ryan Zhao 52407aec03 Merge branch 'ipad-support-1' into voice-calls-2 3 years ago
Morgan Pretty 6936f35f2a Fixed a few issues uncovered while testing and some cleanup
Fixed an incorrect optional in RoomPollInfo
Fixed an incorrect parameter name in the ClosedGroupRequestBody
Fixed a crash due to a change in the ContactUtilities
Cleaned up the duplicate code in the OnionRequestAPI, HTTP and SnodeAPI to all use 'Data' response types
Updated the SnodeAPI to casting types to Any (made it hard to catch breaking changes with HTTP and OnionRequestAPI)
3 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
3 years ago
Morgan Pretty bdf5b3bc1b Started resolving more TODOs and fixing up unit tests
Updated the Dependencies to lazily create their fallback instances (optimisation to avoid unnecessary initialisations)
Reworked the Atomic type again to have a more consistent behaviour across types
Fixed the build issues with the unit tests (haven't fixed broken tests yet)
3 years ago
Ryan Zhao daf0705d42 Merge branch 'dev' into preformance-improvement 3 years ago
Ryan Zhao f632763eee revert debug code 3 years ago
Morgan Pretty 3a75639285 Fixed a few of issues in the last commit
Fixed a couple of build issues where I missed a couple of calls to removed functions
Fixed a EXC_BAD_ACCESS issue where the 'poll' function could be called from multiple threads (which accesses and mutates variables)
Cleaned up the MessageRequestResponse handling a little
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
Ryan Zhao 1609812e5b remove useless expiration flag in data message 3 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)
3 years ago
Ryan Zhao 6b231316ee fix & improve voice message preview in home screen 3 years ago
Ryan Zhao 7e92391740 Merge branch 'dev' of https://github.com/oxen-io/session-ios into preformance-improvement 3 years ago
Morgan Pretty b077061714 Updated the code to parse an open group URL to handle a '/r/' before the room name 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 cc2a077a6c Started working on `MessageRequestResponse` handling for SOGS message requests
Pointing Curve25519 to use a fork that exposes an XEd25519 conversion method
Fixed an issue where I had broken all message sending due to the SnodeAPI casting Onion responses to `Any`
3 years ago
Ryan Zhao f22672ccd7 Merge branch 'dev' of https://github.com/oxen-io/session-ios into preformance-improvement 3 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
3 years ago
Ryan Zhao 7a677a1800 move pollers to one working queue to avoid race condition 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
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 7c2e25e25a remove useless code 3 years ago
ryanzhao cd97b9c3e8 minor fix on poller threading 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
ryanzhao b2ab984586 refactor on timer and polling threading 3 years ago
Ryan Zhao d21c5329e3 further improvements to move poller into background threads 3 years ago
Ryan Zhao cb127be5a2 minor clean 3 years ago
Ryan Zhao 36907d3af0 improve mention and unread message count 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 16c9b7793a move pollers to background threads 3 years ago
Ryan Zhao a86310b0f5 improve global search performance 3 years ago
Morgan Pretty 1edd500dab Updated to the latest blinding behaviour
Added a couple more dependencies for unit testing injection
Updated the MessageSender to set the sender of the message to the appropriate blinded/unblinded key
Updated the OpenGroup Message to handle verification of both blinded and unblinded messages
Updated the MessageSender to use dependency injection for it's sendToOpenGroupDestination method
Updated the JSONDecoder to support getting dependencies (for signature verification)
Fixed tests broken by updating the signing logic
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
Ryan Zhao e8e120666b move message poller to back ground thread 3 years ago
Ryan Zhao 6c64d580b8 move open group polling to background thread 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 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
Morgan Pretty 56bdee3919 Updated the message request processing to handle both 'didApproveMe' and 'isApproved' contact flags 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
Ryan Zhao c32cc4d649 Merge branch 'feature/pdf-preview' of https://github.com/mpretty-cyro/session-ios into voice-calls-2 3 years ago
Ryan Zhao 52886f2e16 Merge branch 'dev' of https://github.com/oxen-io/session-ios into voice-calls-2 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 4963a84ddd Added more unit tests for the OpenGroupAPI (fixed a couple bugs as well) 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
Ryan Zhao 63e0a5285c minor refactor to prevent dead lock 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 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 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
Ryan Zhao 83c7283a76 remove redundant turn servers and reduce turn servers connections to 2 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 49dd52a1fb Added code to support generating a derived key for id blinding 3 years ago
Morgan Pretty 394b0646a3 Updated the code to support additional session id prefixes 3 years ago
Ryan Zhao 2d9f962a97 Merge branch 'dev' of https://github.com/oxen-io/session-ios into voice-calls-2 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 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 ebb7507728 Merge branch 'dev' of https://github.com/oxen-io/session-ios into 1.11.21 3 years ago
Ryan Zhao 5ce7aa49ee mark messages with undownloaded attachments as read as well 3 years ago
Morgan Pretty c7e7d30dea Merge branch 'dev' into fix/safari-sharing 3 years ago
Ryan Zhao ce83de5c46 fix crash of dictionary.subscript.getter for closed groups 3 years ago
Morgan Pretty 0f20c37afa Regenerated the SessionProtos for message requests 3 years ago
Ryan Zhao c729967953 Merge branch 'dev' of https://github.com/oxen-io/session-ios into global-search 3 years ago
Ryan Zhao a101bfbf82 Merge branch 'dev' of https://github.com/oxen-io/session-ios into 1.11.21 3 years ago
RyanZhao 6aac2a9966
Merge pull request #550 from mpretty-cyro/fix/open-group-initial-mention-list
Fix open group initial mention list population
3 years ago
Ryan Zhao 8ed77435d8 update translation 3 years ago
Ryan Zhao 18fea4ab73 Merge branch 'dev' into global-search 3 years ago
Morgan Pretty a26dec0005 Merge branch 'dev' into feature/more-link-previews 3 years ago
Morgan Pretty f8dd56c9d2 Merge branch 'dev' into fix/open-group-initial-mention-list 3 years ago
Morgan Pretty 09d63456b6 Merge branch 'dev' into fix/safari-sharing
# Conflicts:
#	Podfile
#	Podfile.lock
#	Session.xcodeproj/project.pbxproj
3 years ago
Morgan Pretty 03fb5cbeeb Cleanup and tweaks
Fixed some compilation issues.
Removed an unused dependency.
Cleaned up the Podfile to minimise duplication.
Pointed at an oxen fork of SignalCoreKit instead of a personal one.
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 3a626ed80a fix a deadlock issue 3 years ago
ryanzhao fed1218538 WIP: global search UI 3 years ago
Morgan Pretty 2fedba4cea Addressed PR changes
Added NVActivityIndicatorView to the SessionShareExtension.
Removed the SignalAttachmentType.
3 years ago
Morgan Pretty a7661da41a Revert "Fixed M1 build issues"
This reverts commit ba1a0a2ac6.
3 years ago
Morgan Pretty af6d4a1dc0 Fixed the initial open group mention list 3 years ago
Morgan Pretty 0629d086c5 Updated the link previews to default to HTTPS 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
Morgan Pretty e6c90c5e18 Finished off UI clean up
Fixed a couple more vertical alignment issues with certain attachment types.
Finished cleaning up the MediaMessageView UI code (removed old code).
3 years ago
Morgan Pretty dd9eeb5d61 Added initial support for sharing URLs and text
Updated the share extension to load URL previews.
Updated the ThreadPickerVC to send plain text & URLs in the same way they are sent for normal messages.
3 years ago
Morgan Pretty ba1a0a2ac6 Fixed M1 build issues
Included the Podfile changes for building on an M1 Mac (Need to shift from personal to session fork).
Fixed some additional build issues due to unwrapping a non-optional type (Swift version?).
3 years ago
Ryan Zhao b4b6b24530 update translation 3 years ago
Ryan Zhao 53f75ff69b Merge branch 'dev' into voice-calls-2 3 years ago
Ryan Zhao 5e9695d234 disable typing indicators and read receipts by default 3 years ago
ryanzhao c38923cc2f Merge branch 'disappearing-message-fix' into voice-calls-2 3 years ago
ryanzhao e24ae60d71 fix duplicated disappearing message in closed groups 3 years ago
Ryan Zhao 5a30263469 minor fix on sdp modification 3 years ago
Ryan Zhao 0df2630a70 enable CBR 3 years ago
Ryan Zhao 4658e76d46 fix linked device answering/ending call issues 3 years ago
RyanZhao 2a26eda36b
Merge pull request #531 from RyanRory/1.11.19
1.11.19 bug fixes and improvements
3 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 35fc3ede9e Merge branch '1.11.19' into voice-calls-2 3 years ago
Ryan Zhao a6df6504c8 Prevent the same ExpirationTimerUpdate to be handled twice 3 years ago
Ryan Zhao c820212115 extend call message ttl to 14 days 3 years ago
Ryan Zhao 2000297a5f Add missed call message for call offer messages from more than one minute 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 0a3d84d5c8 WIP: Call message Ui improvements 3 years ago
Ryan Zhao 78971b7d09 ignore call messages over 60s 3 years ago
Ryan Zhao 561cf98e6b Merge branch '1.11.19' into voice-calls-2 3 years ago
Ryan Zhao a6a297048c Merge branch 'pin-chats' into voice-calls-2 3 years ago
Ryan Zhao 5a5741f47b Group notifications from background polling 3 years ago
Ryan Zhao a8dd010b06 Merge branch '1.11.19' into voice-calls-2 3 years ago
Ryan Zhao e504e23f92 minor fix 3 years ago
Ryan Zhao 0c2027d7c8 fix call message self send valid 3 years ago
Ryan Zhao 77e1f30bc9 fix sync message sending bug 3 years ago
Ryan Zhao 74ef42558b add turn server info 3 years ago
Ryan Zhao e9f19b9c62 fix duplicated incoming call 3 years ago
Ryan Zhao 81dd4557a5 sync answer and end call message 3 years ago
Ryan Zhao 1cc2f17469 pin conversations 3 years ago
ryanzhao e49431d2eb fix transaction crash 3 years ago
ryanzhao dd891063bd minor fix 3 years ago
ryanzhao 95c8606408 deal with audio I/O change 3 years ago
ryanzhao 716378ccd3 handle offer message might come in earlier than pre offer message 3 years ago
ryanzhao d8021f6d6b clean 3 years ago
ryanzhao edffbe7d4c fix data channel and uuid check 3 years ago
ryanzhao 02d0499618 seperate CallKit uuid from session call id 3 years ago
ryanzhao fa79124bb7 minor refactoring & handle network change 3 years ago
ryanzhao 336c694b52 refactoring on showing call ip exposure 3 years ago
ryanzhao da14539639 handle busy 3 years ago
ryanzhao e7a6ddb4f1 clean 3 years ago
ryanzhao 2bbba2c6b7 clean 3 years ago
ryanzhao 18afb4ae1c fix call kit UI audio nor working 3 years ago
ryanzhao 248a02e1e9 minor fix 3 years ago
ryanzhao ff79c58f44 update call message after a call ended 3 years ago
ryanzhao bef20e2f9a refactor for CallKit 3 years ago
ryanzhao 6f78d6dfbe refactoring for CallKit 3 years ago
ryanzhao 0ef7bdc9ce refactor to plug in callkit 3 years ago
ryanzhao dbcc158337 fix unsend bugs 3 years ago
ryanzhao e2de82a11d WIP: webRTC + callkit 3 years ago
ryanzhao dea57081c7 WIP: callkit & pushkit 3 years ago
ryanzhao 18a9768167 filter other call messages 3 years ago
ryanzhao 7b23b8f601 Merge branch 'dev' of https://github.com/oxen-io/session-ios into voice-calls-2 3 years ago
ryanzhao ecf92ceeea fix PN sound settings not applying to remote PNs 3 years ago
ryanzhao 80151acad2 communicate video enabling status using data channel 3 years ago
ryanzhao 8a6be4fc5b notify pre-offer call message 3 years ago
ryanzhao 63d75040a6 clean 3 years ago