Commit Graph

697 Commits (93f248d149018bf91a075839c2f38e75a5643e59)

Author SHA1 Message Date
Morgan Pretty 93f248d149 Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift
#	SessionMessagingKit/Storage.swift
3 years ago
Morgan Pretty c3b855646f Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/Views & Modals/JoinOpenGroupModal.swift
#	Session/Open Groups/JoinOpenGroupVC.swift
#	Session/Settings/SettingsVC.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
3 years ago
Morgan Pretty 1633105ce2 Merge branch 'dev' into feature/remove-unused-code
# Conflicts:
#	Session/Backups/OWSBackup.m
#	Session/Backups/OWSBackupImportJob.m
#	SignalUtilitiesKit/Sharing/SelectRecipientViewController.m
#	SignalUtilitiesKit/Sharing/SelectThreadViewController.m
3 years ago
RyanZhao 82606a6244
Merge pull request #602 from mpretty-cyro/feature/remove-OWSBlockingManager
Remove the OWSBlockingManager
3 years ago
Morgan Pretty f7091dca28 Removed an empty notification observer 3 years ago
Morgan Pretty 0842dbff1e Removed a bunch of unused code
Removed the legacy Theme code (replaced with SessionUIKit equivalents)
Removed the OWSOrphanDataCleaner (unused)
Removed the OWSReceiptType_Delivery from the OWSOutgoingReceiptManager (unused)
Removed the TSStorageKeys and TSStorageHeaders files (unused)
Removed the LKMessageIDCollection (unused - only had methods for deleting data from the collection)
Removed the OWSPrimaryStorageTrustedKeysCollection and OWSIdentityManager_QueuedVerificationStateSyncMessages (unused)
Removed collections and notifications from OWSProfileManager (unused)
3 years ago
Morgan Pretty 9e3c02f79b Removed the unused legacy OWSBackup code 3 years ago
ryanzhao 801f0d68a8 fix an edge case where a config message might get isApproved set to false 3 years ago
Morgan Pretty 8344ed5d81 Fixed the unit tests broken by the merge
Added the ability to mock the GeneralCache data
Added a couple additional tests to validate some updated OpenGroupManager code
3 years ago
Morgan Pretty e3622088ad Fixed missed framework complication errors from merge 3 years ago
Morgan Pretty 5ca227434b Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Utilities/BackgroundPoller.swift
#	SessionMessagingKit/Database/Storage+OpenGroups.swift
#	SessionMessagingKit/Messages/Control Messages/ConfigurationMessage+Convenience.swift
#	SessionMessagingKit/Open Groups/OpenGroupAPIV2.swift
#	SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPollerV2.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SessionMessagingKit/Storage.swift
#	SessionMessagingKit/Utilities/General.swift
#	SessionSnodeKit/SnodeAPI.swift
#	SessionUtilitiesKit/General/Atomic.swift
3 years ago
Morgan Pretty 21924ee81a Merge branch 'dev' into feature/remove-OWSBlockingManager
# Conflicts:
#	Session.xcodeproj/project.pbxproj
3 years ago
RyanZhao 7cd0079b37
Merge pull request #599 from mpretty-cyro/fix/update-last-message-hash-after-registering-jobs
Fix - Update last message hash after registering jobs
3 years ago
RyanZhao 74f1d9a6d4
Merge pull request #596 from mpretty-cyro/feature/improve-open-group-deletion-processing
Performance: Improve open group deletion processing
3 years ago
Morgan Pretty 7165b9e4f6 Merge branch 'dev' into feature/remove-OWSBlockingManager
# Conflicts:
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Meta/AppDelegate.swift
#	SessionMessagingKit/Messages/Control Messages/ConfigurationMessage+Convenience.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift
3 years ago
Morgan Pretty 3663e63bc7 Swapped the Config message 'filter' to a 'compactMap' because apparently that doesn't crash 3 years ago
Morgan Pretty 212c5e87aa Re-added the transaction requirement when generating the current config message 3 years ago
Morgan Pretty 29c53223e0 More tweaks to fix crash
Wrapped the force sync calls within their own Storage.write blocks to ensure they have the latest data and aren't accessing a transaction completed in a different thread
Reverted a number of the unneeded changes
3 years ago
Morgan Pretty 1214005c59 Updated the cachedEncodedPublicKey to be Atomic
Added the Atomic wrapper for thread safe variables
3 years ago
Morgan Pretty f8dfbd4244 Reverting change and fixing a force-cast crash 3 years ago
Morgan Pretty 6205e72eab Change to make the 'getUser(using:)' method more consistent 3 years ago
Morgan Pretty 7aa1221987 Tweaks to the ConfigurationMessage generation logic
Removed force unwraps
Updated the closed group storage methods to take a transaction parameter
3 years ago
Morgan Pretty 5bb3bd7bc1 Cleaned up some config sync logic and allowed migrations to trigger them
Updated the migrations so they can specify whether a configuration sync is required
Moved the config sync logic into a MessageSender extension (makes far more sense than AppDelegate)
Fixed a bug where the ShareVC was triggering the 'versionMigrationsDidComplete' twice
Removed a couple of imports for files that had been deleted
3 years ago
Morgan Pretty 78c0d000be Removed the OWSBlockingManager replacing it with the config sync
Fixed an issue where the "block" button would appear in the NoteToSelf swipe menu
Removed the OWSBlockingManager and supporting files
Removed a number of unused classes and methods
Refactored the BlockListUIUtils to Swift
3 years ago
Morgan Pretty b90904ebbd Updated the code to only update the last message hash once the MessageReceiveJobs have been created 3 years ago
Morgan Pretty 4e26ece92a Merge branch 'dev' into feature/improve-open-group-deletion-processing 3 years ago
Morgan Pretty 1492232224 Made some optimisations to open group deletion handling
Added a new OpenGroupServerIdLookup to make it easier to get a database id via an open group server id
Added a migration to generate the above data
Updated the handleCompactBody method to stop early if there are no messages to delete (would previously enumerate all interactions regardless)
Updated the handleCompactBody to fetch the mapping for the deleted message so we can avoid enumerating all interactions
3 years ago
Morgan Pretty ea7603bf3b Renamed some variables to make it a bit clearer and made sure it supported a port in the url 3 years ago
Morgan Pretty c9edac4ea8 Updated the code to add the port if present... 3 years ago
Morgan Pretty 7ae1342341 Fixed an issue where open groups with no scheme in the url might not match correctly 3 years ago
Morgan Pretty dad264c239 Included a fix for duplicate open groups and added unit tests for it 3 years ago
RyanZhao c7bf20dd85
Merge pull request #593 from mpretty-cyro/fix/duplicate-open-groups-from-url-differences
Fix duplicate open groups from url differences
3 years ago
RyanZhao 9e020948d6
Merge pull request #594 from RyanRory/bug-fixes-1.11.23
Bug fixes for 1.11.22
3 years ago
RyanZhao 34bc0e54d6
Merge pull request #590 from mpretty-cyro/fix/open-group-url-parsing
Fix for parsing open group urls with no scheme
3 years ago
RyanZhao c1632bee36
Merge pull request #589 from mpretty-cyro/fix/ensure-contacts-blocked-state-syncs-correctly
Fix to ensure contacts blocked state syncs correctly
3 years ago
Morgan Pretty 83fa679574 Fixed some incorrect logic (previously prevented joining other rooms in a server) 3 years ago
Ryan Zhao 8652268557 add logs & fix PN 3 years ago
Morgan Pretty d3b54b84d0 Prevent the user from joining duplicate open groups due to url differences
Updated the OpenGroupManagerV2 to handle HTTP scheme variants and official host variants when checking if the user is already in an open group
3 years ago
Morgan Pretty 8b6b4be8e3 Added back a missing type check 3 years ago
Morgan Pretty 5710fe18fb Reverted a change to the type for the serverId of a TSAttachment (change didn't match the protobuf) 3 years ago
Morgan Pretty c44256b1d6 Added more unit tests
Fixed a possible divide by zero error
Cleaned up some of the id blinding methods (ie. removing handling for impossible error states)
Added unit tests for the new Sodium methods (used for id blinding)
Added unit tests for some of the shared code
Added unit tests for the MessageSender+Encryption extension functions
Added unit tests for the MessageReceiver+Decryption extension functions
Updated the unit test key constants to be consistent with the SOGS auth-example keys for consistency
3 years ago
Morgan Pretty 452614d190 Fixed a bug where the OpenGroup url parsing wasn't working for a certain URL structure 3 years ago
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