Morgan Pretty
d96ef57273
Merge remote-tracking branch 'origin/feature/swift-package-manager' into feature/groups-rebuild
...
# Conflicts:
# Podfile
# Podfile.lock
# Session.xcodeproj/project.pbxproj
# Session/Calls/Call Management/SessionCall.swift
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Calls/CallVC.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationVC.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Conversations/Message Cells/Content Views/MediaAlbumView.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Emoji/Emoji+Available.swift
# Session/Home/GlobalSearch/GlobalSearchViewController.swift
# Session/Home/HomeVC.swift
# Session/Home/HomeViewModel.swift
# Session/Home/New Conversation/NewDMVC.swift
# Session/Media Viewing & Editing/DocumentTitleViewController.swift
# Session/Media Viewing & Editing/GIFs/GifPickerCell.swift
# Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
# Session/Media Viewing & Editing/ImagePickerController.swift
# Session/Media Viewing & Editing/MediaTileViewController.swift
# Session/Media Viewing & Editing/PhotoCapture.swift
# Session/Media Viewing & Editing/PhotoCaptureViewController.swift
# Session/Media Viewing & Editing/PhotoLibrary.swift
# Session/Media Viewing & Editing/SendMediaNavigationController.swift
# Session/Meta/AppDelegate.swift
# Session/Meta/AppEnvironment.swift
# Session/Meta/MainAppContext.swift
# Session/Meta/SessionApp.swift
# Session/Notifications/NotificationPresenter.swift
# Session/Notifications/PushRegistrationManager.swift
# Session/Notifications/SyncPushTokensJob.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# Session/Onboarding/LandingVC.swift
# Session/Onboarding/LinkDeviceVC.swift
# Session/Onboarding/Onboarding.swift
# Session/Onboarding/RegisterVC.swift
# Session/Onboarding/RestoreVC.swift
# Session/Settings/HelpViewModel.swift
# Session/Settings/NukeDataModal.swift
# Session/Shared/FullConversationCell.swift
# Session/Shared/OWSBezierPathView.m
# Session/Utilities/BackgroundPoller.swift
# Session/Utilities/MockDataGenerator.swift
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Crypto/Crypto+SessionMessagingKit.swift
# SessionMessagingKit/Database/Migrations/_004_RemoveLegacyYDB.swift
# SessionMessagingKit/Database/Migrations/_014_GenerateInitialUserConfigDumps.swift
# SessionMessagingKit/Database/Migrations/_015_BlockCommunityMessageRequests.swift
# SessionMessagingKit/Database/Migrations/_018_DisappearingMessagesConfiguration.swift
# SessionMessagingKit/Database/Models/Attachment.swift
# SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Database/Models/Profile.swift
# SessionMessagingKit/Database/Models/SessionThread.swift
# SessionMessagingKit/File Server/FileServerAPI.swift
# SessionMessagingKit/Jobs/AttachmentDownloadJob.swift
# SessionMessagingKit/Jobs/CheckForAppUpdatesJob.swift
# SessionMessagingKit/Jobs/DisappearingMessagesJob.swift
# SessionMessagingKit/Jobs/FailedMessageSendsJob.swift
# SessionMessagingKit/Jobs/MessageSendJob.swift
# SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Contacts.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+ConvoInfoVolatile.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Shared.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserGroups.swift
# SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
# SessionMessagingKit/Messages/Message.swift
# SessionMessagingKit/Open Groups/Crypto/Crypto+OpenGroupAPI.swift
# SessionMessagingKit/Open Groups/Models/SOGSMessage.swift
# SessionMessagingKit/Open Groups/OpenGroupAPI.swift
# SessionMessagingKit/Open Groups/OpenGroupManager.swift
# SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/Sending & Receiving/Notifications/Models/SubscribeRequest.swift
# SessionMessagingKit/Sending & Receiving/Notifications/Models/UnsubscribeRequest.swift
# SessionMessagingKit/Sending & Receiving/Notifications/PushNotificationAPI.swift
# SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/GroupPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupAPI+Poller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
# SessionMessagingKit/Utilities/ProfileManager.swift
# SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
# SessionMessagingKitTests/LibSession/LibSessionSpec.swift
# SessionMessagingKitTests/LibSession/LibSessionUtilSpec.swift
# SessionMessagingKitTests/Open Groups/Models/SOGSMessageSpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupAPISpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
# SessionMessagingKitTests/Utilities/CryptoSMKSpec.swift
# SessionMessagingKitTests/_TestUtilities/MockOGMCache.swift
# SessionNotificationServiceExtension/NSENotificationPresenter.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionShareExtension/ShareAppExtensionContext.swift
# SessionShareExtension/ShareNavController.swift
# SessionShareExtension/ThreadPickerVC.swift
# SessionSnodeKit/Crypto/Crypto+SessionSnodeKit.swift
# SessionSnodeKit/Models/DeleteAllBeforeResponse.swift
# SessionSnodeKit/Models/DeleteAllMessagesResponse.swift
# SessionSnodeKit/Models/DeleteMessagesResponse.swift
# SessionSnodeKit/Models/RevokeSubkeyRequest.swift
# SessionSnodeKit/Models/RevokeSubkeyResponse.swift
# SessionSnodeKit/Models/SendMessageResponse.swift
# SessionSnodeKit/Models/SnodeAuthenticatedRequestBody.swift
# SessionSnodeKit/Models/UpdateExpiryAllResponse.swift
# SessionSnodeKit/Models/UpdateExpiryResponse.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
# SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift
# SessionTests/Database/DatabaseSpec.swift
# SessionTests/Settings/NotificationContentViewModelSpec.swift
# SessionUIKit/Components/ToastController.swift
# SessionUIKit/Style Guide/Values.swift
# SessionUtilitiesKit/Crypto/Crypto+SessionUtilitiesKit.swift
# SessionUtilitiesKit/Crypto/Crypto.swift
# SessionUtilitiesKit/Database/Models/Identity.swift
# SessionUtilitiesKit/Database/Models/Job.swift
# SessionUtilitiesKit/Database/Storage.swift
# SessionUtilitiesKit/Database/Types/Migration.swift
# SessionUtilitiesKit/General/AppContext.swift
# SessionUtilitiesKit/General/Data+Utilities.swift
# SessionUtilitiesKit/General/Logging.swift
# SessionUtilitiesKit/General/SNUserDefaults.swift
# SessionUtilitiesKit/General/String+Trimming.swift
# SessionUtilitiesKit/General/String+Utilities.swift
# SessionUtilitiesKit/General/TimestampUtils.swift
# SessionUtilitiesKit/General/UIEdgeInsets.swift
# SessionUtilitiesKit/JobRunner/JobRunner.swift
# SessionUtilitiesKit/LibSession/LibSessionError.swift
# SessionUtilitiesKit/Media/DataSource.swift
# SessionUtilitiesKit/Meta/SessionUtilitiesKit.h
# SessionUtilitiesKit/Networking/NetworkType.swift
# SessionUtilitiesKit/Networking/ProxiedContentDownloader.swift
# SessionUtilitiesKit/Utilities/BackgroundTaskManager.swift
# SessionUtilitiesKit/Utilities/BencodeResponse.swift
# SessionUtilitiesKit/Utilities/CExceptionHelper.mm
# SessionUtilitiesKit/Utilities/FileManagerType.swift
# SessionUtilitiesKit/Utilities/KeychainStorageType.swift
# SessionUtilitiesKitTests/Database/Models/IdentitySpec.swift
# SessionUtilitiesKitTests/Database/Utilities/PersistableRecordUtilitiesSpec.swift
# SessionUtilitiesKitTests/General/SessionIdSpec.swift
# SessionUtilitiesKitTests/JobRunner/JobRunnerSpec.swift
# SignalUtilitiesKit/Configuration.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalInputAccessoryView.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentTextToolbar.swift
# SignalUtilitiesKit/Media Viewing & Editing/Image Editing/ImageEditorCropViewController.swift
# SignalUtilitiesKit/Media Viewing & Editing/Image Editing/ImageEditorModel.swift
# SignalUtilitiesKit/Media Viewing & Editing/MediaMessageView.swift
# SignalUtilitiesKit/Meta/SignalUtilitiesKit.h
# SignalUtilitiesKit/Shared View Controllers/OWSViewController.swift
# SignalUtilitiesKit/Shared Views/CircleView.swift
# SignalUtilitiesKit/Shared Views/TappableView.swift
# SignalUtilitiesKit/Utilities/AppSetup.swift
# SignalUtilitiesKit/Utilities/Bench.swift
# SignalUtilitiesKit/Utilities/NoopNotificationsManager.swift
# _SharedTestUtilities/CommonMockedExtensions.swift
# _SharedTestUtilities/MockCrypto.swift
# _SharedTestUtilities/Mocked.swift
# _SharedTestUtilities/SynchronousStorage.swift
1 year ago
Morgan Pretty
990216266b
Fixed the unit tests
2 years ago
Morgan Pretty
8500e1f602
Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
...
# Conflicts:
# LibSession-Util
# Podfile
# Podfile.lock
# Session.xcodeproj/project.pbxproj
# Session.xcodeproj/xcshareddata/xcschemes/SessionSnodeKit.xcscheme
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Closed Groups/EditClosedGroupVC.swift
# Session/Closed Groups/NewClosedGroupVC.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationVC.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Home/New Conversation/NewDMVC.swift
# Session/Media Viewing & Editing/GIFs/GiphyDownloader.swift
# Session/Meta/AppDelegate.swift
# Session/Meta/SessionApp.swift
# Session/Notifications/SyncPushTokensJob.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# Session/Onboarding/Onboarding.swift
# Session/Path/PathStatusView.swift
# Session/Path/PathVC.swift
# Session/Settings/NukeDataModal.swift
# Session/Utilities/BackgroundPoller.swift
# Session/Utilities/IP2Country.swift
# SessionMessagingKit/Database/Migrations/_014_GenerateInitialUserConfigDumps.swift
# SessionMessagingKit/Database/Migrations/_015_BlockCommunityMessageRequests.swift
# SessionMessagingKit/Database/Migrations/_018_DisappearingMessagesConfiguration.swift
# SessionMessagingKit/Database/Models/Attachment.swift
# SessionMessagingKit/Database/Models/ClosedGroup.swift
# SessionMessagingKit/Database/Models/ConfigDump.swift
# SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Database/Models/SessionThread.swift
# SessionMessagingKit/File Server/FileServerAPI.swift
# SessionMessagingKit/Jobs/AttachmentDownloadJob.swift
# SessionMessagingKit/Jobs/ConfigMessageReceiveJob.swift
# SessionMessagingKit/Jobs/ConfigurationSyncJob.swift
# SessionMessagingKit/Jobs/ExpirationUpdateJob.swift
# SessionMessagingKit/Jobs/GetExpirationJob.swift
# SessionMessagingKit/Jobs/MessageSendJob.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Contacts.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+ConvoInfoVolatile.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Shared.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserGroups.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserProfile.swift
# SessionMessagingKit/LibSession/Config Handling/SessionUtil+GroupInfo.swift
# SessionMessagingKit/LibSession/Config Handling/SessionUtil+GroupKeys.swift
# SessionMessagingKit/LibSession/Config Handling/SessionUtil+GroupMembers.swift
# SessionMessagingKit/LibSession/Config Handling/SessionUtil+SharedGroup.swift
# SessionMessagingKit/LibSession/Database/QueryInterfaceRequest+Utilities.swift
# SessionMessagingKit/LibSession/Database/Setting+Utilities.swift
# SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
# SessionMessagingKit/Messages/Message+Origin.swift
# SessionMessagingKit/Messages/Message.swift
# SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift
# SessionMessagingKit/Open Groups/Models/SOGSMessage.swift
# SessionMessagingKit/Open Groups/OpenGroupAPI.swift
# SessionMessagingKit/Open Groups/OpenGroupManager.swift
# SessionMessagingKit/Open Groups/OpenGroupServerIdLookup.swift
# SessionMessagingKit/Open Groups/Types/Request+OpenGroupAPI.swift
# SessionMessagingKit/Open Groups/Types/SOGSEndpoint.swift
# SessionMessagingKit/Protos/Generated/SNProto.swift
# SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift
# SessionMessagingKit/Protos/SessionProtos.proto
# SessionMessagingKit/Sending & Receiving/Errors/MessageSenderError.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+UnsendRequests.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/Sending & Receiving/Notifications/Models/PushNotificationAPIRequest.swift
# SessionMessagingKit/Sending & Receiving/Notifications/PushNotificationAPI.swift
# SessionMessagingKit/Sending & Receiving/Notifications/Types/Request+PushNotificationAPI.swift
# SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/GroupPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupAPI+Poller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
# SessionMessagingKit/SessionUtil/SessionUtilError.swift
# SessionMessagingKit/SessionUtil/Utilities/TypeConversion+Utilities.swift
# SessionMessagingKit/Shared Models/MessageViewModel.swift
# SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
# SessionMessagingKit/Utilities/ProfileManager.swift
# SessionMessagingKitTests/LibSession/LibSessionSpec.swift
# SessionMessagingKitTests/LibSession/LibSessionUtilSpec.swift
# SessionMessagingKitTests/Open Groups/Models/SOGSMessageSpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupAPISpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionShareExtension/ShareNavController.swift
# SessionShareExtension/ThreadPickerVC.swift
# SessionSnodeKit/Configuration.swift
# SessionSnodeKit/Database/Migrations/_001_InitialSetupMigration.swift
# SessionSnodeKit/Database/Models/Snode.swift
# SessionSnodeKit/Database/Models/SnodeReceivedMessageInfo.swift
# SessionSnodeKit/Database/Models/SnodeSet.swift
# SessionSnodeKit/Jobs/GetSnodePoolJob.swift
# SessionSnodeKit/Models/DeleteAllBeforeRequest.swift
# SessionSnodeKit/Models/DeleteAllMessagesRequest.swift
# SessionSnodeKit/Models/DeleteMessagesRequest.swift
# SessionSnodeKit/Models/GetExpiriesRequest.swift
# SessionSnodeKit/Models/GetMessagesRequest.swift
# SessionSnodeKit/Models/ONSResolveResponse.swift
# SessionSnodeKit/Models/RevokeSubkeyRequest.swift
# SessionSnodeKit/Models/SendMessageRequest.swift
# SessionSnodeKit/Models/SnodeAuthenticatedRequestBody.swift
# SessionSnodeKit/Models/SnodeRequest.swift
# SessionSnodeKit/Models/SwarmSnode.swift
# SessionSnodeKit/Models/UpdateExpiryAllRequest.swift
# SessionSnodeKit/Models/UpdateExpiryRequest.swift
# SessionSnodeKit/Networking/OnionRequestAPI.swift
# SessionSnodeKit/Networking/PreparedRequest+OnionRequest.swift
# SessionSnodeKit/Networking/Request+SnodeAPI.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionSnodeKit/Types/OnionRequestAPIError.swift
# SessionSnodeKit/Types/SnodeAPIEndpoint.swift
# SessionSnodeKit/Types/SnodeAPIError.swift
# SessionSnodeKit/Types/SnodeAPINamespace.swift
# SessionSnodeKit/Types/SwarmDrainBehaviour.swift
# SessionSnodeKitTests/Models/SnodeRequestSpec.swift
# SessionTests/Database/DatabaseSpec.swift
# SessionUIKit/Style Guide/Values.swift
# SessionUtilitiesKit/Database/Migrations/_005_AddJobUniqueHash.swift
# SessionUtilitiesKit/Database/Models/Job.swift
# SessionUtilitiesKit/Database/Types/Migration.swift
# SessionUtilitiesKit/General/Data+Utilities.swift
# SessionUtilitiesKit/General/Dependencies.swift
# SessionUtilitiesKit/General/Features.swift
# SessionUtilitiesKit/General/Logging.swift
# SessionUtilitiesKit/JobRunner/JobRunner.swift
# SessionUtilitiesKit/LibSession/Utilities/Crypto+SessionUtil.swift
# SessionUtilitiesKit/LibSession/Utilities/TypeConversion+Utilities.swift
# SessionUtilitiesKit/Networking/BatchRequest.swift
# SessionUtilitiesKit/Networking/BatchResponse.swift
# SessionUtilitiesKit/Networking/HTTP.swift
# SessionUtilitiesKit/Networking/HTTPError.swift
# SessionUtilitiesKit/Networking/PreparedRequest.swift
# SessionUtilitiesKit/Networking/Request.swift
# SessionUtilitiesKit/Networking/RequestTarget.swift
# SessionUtilitiesKit/SessionUtil/Utilities/TypeConversion+Utilities.swift
# SessionUtilitiesKit/Utilities/Bencode.swift
# SessionUtilitiesKit/Utilities/JSONEncoder+Utilities.swift
# SessionUtilitiesKitTests/JobRunner/JobRunnerSpec.swift
# SessionUtilitiesKitTests/Networking/BatchRequestSpec.swift
# SessionUtilitiesKitTests/Networking/BatchResponseSpec.swift
# SessionUtilitiesKitTests/Networking/PreparedRequestSpec.swift
# SessionUtilitiesKitTests/Networking/RequestSpec.swift
# SessionUtilitiesKitTests/Utilities/BencodeResponseSpec.swift
# SignalUtilitiesKit/Configuration.swift
# SignalUtilitiesKit/Utilities/AppSetup.swift
# SignalUtilitiesKit/Utilities/Bench.swift
# SignalUtilitiesKit/Utilities/UIGestureRecognizer+OWS.swift
# _SharedTestUtilities/CommonMockedExtensions.swift
# _SharedTestUtilities/MockJobRunner.swift
# _SharedTestUtilities/Mocked.swift
2 years ago
Morgan Pretty
601ba9a9b2
Objective-C Refactoring, Removed PureLayout, General Cleanup
2 years ago
Morgan Pretty
99abcdebf6
Removed some unneeded code and fixed a couple of bugs
...
• Removed the 'runOnceTransient' behaviour (no longer have jobs that run before the user exists)
• Removed the session id from the message snippet in the conversation list
• Fixed an issue where the SyncPushTokensJob might not run because the paths hadn't been built yet
2 years ago
Morgan Pretty
5ee15bbc3f
Moved a bunch of networking logic into libSession
...
• Moved the snode cache and path building into libSession (deleted associated logic)
• Moved reachability detection into libSession (remove Reachability dependency)
• Fixed a couple of crashes with using libQuic requests
• Fixed a bug where the MessageRequestFooterView would show buttons on outgoing message requests
2 years ago
Morgan Pretty
352f6d7337
Fixed a number of bugs found while testing the internal build
...
• Reworked the keyboard avoidance in ConversationVC to fix some bugs and simplify the behaviour
• Moved the message request footer UI into it's own view
• Fixed an issue where paths wouldn't get built for a new isntall
• Fixed an issue where a couple of LibSession+Networking errors weren't getting logged correctly
• Fixed a log that could be thrown incorrect for a unique constraint failure
• Fixed an annoying startup warning due to thread priorities
2 years ago
Morgan Pretty
c6c2881338
Reworked the libSession network to be instance based
...
• Fixed an issue where the DisappearingMessagesJob was getting run for every individual message process instead of just once after processing all messages from a poll
• Tweaked the polling logic to split the user, groups and community pollers into separate queues
• Tweaked the logic to restart the open group poller immediately after joining a community (to avoid an edge-case where there could be a long delay before the initial poll is made)
• Tweaked the logic for checking if PNs are susceptible to failure to only dispatch to the main thread once
• Cleaned up some warnings
• Updated the app versioning to be at the project level instead of target level
• Added the ability to define a unique hash for a job for deduplication
2 years ago
Morgan Pretty
7eb7eda74e
[WIP] Cleaned up interface, error handling and redundant code
2 years ago
Morgan Pretty
476858401c
Added some more unit tests
2 years 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
3 years ago
Morgan Pretty
fc94d24ddf
Fixed up and added more unit tests to the JobRunner
3 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
3 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
3 years ago