Morgan Pretty
476858401c
Added some more unit tests
1 year ago
Morgan Pretty
00f246a21e
Added group message requests, admin message deletion, fixed a few bugs
...
Added logic for Group Message Requests
Added a 'ManualResultJob' which allows for a way to add a dependency to a job which can be resolved separately from the job system (it's not persistent though)
Added the ability for admins to delete select messages from updated groups
Swapped 'save'/'saved' calls to be 'upsert'/'upserted' as that's the actual behaviour we expect (unique key based rather than primary key based)
Fixed a bug where the 'limitedReuse' 'drainBehaviour' could get stuck in an invalid state
Fixed a bug where job dependencies could swap queues which could theoretically result in deadlocks in some cases
2 years ago
Morgan Pretty
b47b98f2f8
Added DisplayPictureDownloadJob & use PreparedRequest in FileServerAPI
2 years ago
Morgan Pretty
abda057702
Merge remote-tracking branch 'origin/feature/drop-yap-database-support' into feature/groups-rebuild
...
# Conflicts:
# Scripts/LintLocalizableStrings.swift
# Session.xcodeproj/project.pbxproj
# Session/Calls/Views & Modals/IncomingCallBanner.swift
# Session/Meta/AppDelegate.swift
# Session/Onboarding/Onboarding.swift
# Session/Onboarding/SeedVC.swift
# SessionMessagingKit/Database/Migrations/_017_DisappearingMessagesConfiguration.swift
# SessionMessagingKit/Messages/Control Messages/LegacyConfigurationMessage.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Shared.swift
# SessionMessagingKit/SessionUtil/SessionUtil.swift
# SessionUtilitiesKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionUtilitiesKit/Database/Storage.swift
# SessionUtilitiesKit/Database/Types/Migration.swift
# SessionUtilitiesKit/Database/Types/PagedDatabaseObserver.swift
# _SharedTestUtilities/SynchronousStorage.swift
2 years ago
Morgan Pretty
42b49e0227
Added unit tests to verify migrations between all versions work
...
Fixed a busted test import
2 years ago
Morgan Pretty
4f10277a48
Clean up and fixed some broken tests
2 years ago
Morgan Pretty
96b5403726
Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Meta/Translations/de.lproj/Localizable.strings
# Session/Meta/Translations/en.lproj/Localizable.strings
# Session/Meta/Translations/es-ES.lproj/Localizable.strings
# Session/Meta/Translations/fa.lproj/Localizable.strings
# Session/Meta/Translations/fi.lproj/Localizable.strings
# Session/Meta/Translations/fil.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/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/sk.lproj/Localizable.strings
# Session/Meta/Translations/sl.lproj/Localizable.strings
# Session/Meta/Translations/sv-SE.lproj/Localizable.strings
# Session/Meta/Translations/th.lproj/Localizable.strings
# Session/Meta/Translations/vi.lproj/Localizable.strings
# Session/Meta/Translations/zh-CN.lproj/Localizable.strings
# Session/Meta/Translations/zh-TW.lproj/Localizable.strings
# SessionMessagingKit/Calls/WebRTCSession.swift
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Contacts.swift
# SessionMessagingKit/Utilities/ProfileManager.swift
# SessionMessagingKitTests/Jobs/Types/MessageSendJobSpec.swift
# SessionMessagingKitTests/LibSessionUtil/LibSessionSpec.swift
# SessionMessagingKitTests/LibSessionUtil/SessionUtilSpec.swift
# SessionMessagingKitTests/Open Groups/Models/BatchRequestInfoSpec.swift
# SessionMessagingKitTests/Open Groups/Models/SOGSMessageSpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupAPISpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
# SessionMessagingKitTests/Open Groups/Types/SOGSEndpointSpec.swift
# SessionMessagingKitTests/Sending & Receiving/MessageReceiverDecryptionSpec.swift
# SessionMessagingKitTests/Sending & Receiving/MessageSenderEncryptionSpec.swift
# SessionMessagingKitTests/Shared Models/SessionThreadViewModelSpec.swift
# SessionMessagingKitTests/Utilities/CryptoSMKSpec.swift
# SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
# SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift
# SessionTests/Settings/NotificationContentViewModelSpec.swift
# SessionUtilitiesKitTests/Database/Models/IdentitySpec.swift
# SessionUtilitiesKitTests/Database/Utilities/PersistableRecordUtilitiesSpec.swift
# SessionUtilitiesKitTests/General/DependenciesSpec.swift
# SessionUtilitiesKitTests/JobRunner/JobRunnerSpec.swift
# _SharedTestUtilities/MockCaches.swift
2 years ago
Morgan Pretty
c4aadaff1c
Fixed the broken tests and updated test dependencies
...
Properly fixed the busted migration issue
Updated to the latest version of Quick and Nimble (unit testing libraries)
Updated the tests based on the above
2 years ago
Morgan Pretty
c77d7ecda1
[WIP] Refactored dependency access to be more generic
2 years ago
Morgan Pretty
a41f1c1366
Fixed the broken tests
...
Cleaned up the Dependencies so that tests can run synchronously without having to custom set queues as much
Sorted out the crypto and network dependencies to avoid needing weird dependency inheritance
Fixed the flaky tests so they are no longer flaky
Fixed some unexpected JobRunner behaviours
Updated the CI config to use a local build directory for derivedData (now works with build tweaks)
2 years ago
Morgan Pretty
e768bebe6d
Merge remote-tracking branch 'upstream/dev' into feature/job-runner-unit-tests
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Meta/Session-Prefix.pch
# Session/Notifications/SyncPushTokensJob.swift
# Session/Utilities/BackgroundPoller.swift
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Database/Models/Profile.swift
# SessionMessagingKit/Jobs/Types/AttachmentDownloadJob.swift
# SessionMessagingKit/Jobs/Types/AttachmentUploadJob.swift
# SessionMessagingKit/Jobs/Types/DisappearingMessagesJob.swift
# SessionMessagingKit/Jobs/Types/FailedAttachmentDownloadsJob.swift
# SessionMessagingKit/Jobs/Types/FailedMessageSendsJob.swift
# SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
# SessionMessagingKit/Jobs/Types/MessageReceiveJob.swift
# SessionMessagingKit/Jobs/Types/MessageSendJob.swift
# SessionMessagingKit/Jobs/Types/NotifyPushServerJob.swift
# SessionMessagingKit/Jobs/Types/RetrieveDefaultOpenGroupRoomsJob.swift
# SessionMessagingKit/Jobs/Types/SendReadReceiptsJob.swift
# SessionMessagingKit/Jobs/Types/UpdateProfilePictureJob.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/Sending & Receiving/Pollers/ClosedGroupPoller.swift
# SessionMessagingKit/Utilities/AppReadiness.m
# SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
# SessionMessagingKitTests/_TestUtilities/TestOnionRequestAPI.swift
# SessionShareExtension/ShareNavController.swift
# SessionSnodeKit/Jobs/GetSnodePoolJob.swift
# SessionUtilitiesKit/Configuration.swift
# SessionUtilitiesKit/Database/Utilities/Database+Utilities.swift
# SessionUtilitiesKit/JobRunner/JobRunner.swift
# SignalUtilitiesKit/Meta/SignalUtilitiesKit.h
# SignalUtilitiesKit/Utilities/SSKAsserts.h
2 years ago
Morgan Pretty
0a638bf37b
Fixed the broken JobRunner tests
...
Cleaned up the 'isRunningTests' logic so it isn't dependant on having an AppContext
2 years ago
Morgan Pretty
fc94d24ddf
Fixed up and added more unit tests to the JobRunner
2 years ago
Morgan Pretty
ffdc59b704
Fixed a few issues with the JobRunner
...
Updated the JobRunner to support dependency injection
Updated the DataExtractionNotification to take a 'sentTimestamp' when created to reduce the chance for duplicates being sent
Fixed an issue where checking current and pending jobs wasn't including blocking jobs
Fixed an issue where the 'hasPendingOrRunningJob' check didn't actually include running jobs
Fixed some odd behaviours with job dependencies
Fixed an incorrect failure count check
2 years ago
Morgan Pretty
a7af1ca768
Started laying the ground work for unit testing the JobRunnner
...
Starting injecting dependencies for the JobRunner
Turned the JobRunner into a singleton instance
2 years ago