Commit Graph

988 Commits (04a0c7a67fae134c6dcf5521a8aad6d56c57f997)

Author SHA1 Message Date
Morgan Pretty 04a0c7a67f Progressing Groups Rebuild changes further
• Updated the code so an admin will update their 'promotion_status' as part of processing a 'GROUP_MEMBERS' message
• Updated the handling of the `GroupUpdateInviteResponseMessage` to take the `isApproved` flag into account
• Updated the logic to update the group name in 'USER_GROUPS' when getting kicked (so linked devices have the same name)
• Removed the 'ManualResultJob' (have better ways to do it now)
• Maintain the 'ServiceNetwork' setting after clearing account data
10 months ago
Morgan Pretty f1133a4a5c Progressed a bunch of changes to updated groups behaviours
• Updated the 'createGroup' function to trigger the initial rekey directly
• Updated the protobufs for the scope changes
• Updated the logic to split the 'member left' message into two (logic and UI) to better handle disappearing messages
• Updated the disappearing messages behaviour for updated groups so control messages aren't impacted by disappearing message settings
• Updated the logic to handle the updated group promotion message as an invitation
• Cleaned up some logic (unneeded optionals, closures where publishers would work better)
10 months ago
Morgan Pretty 86200829e3 Finished up the remaining testing and added some more improvements
• Updated the libSession networking to be injected
• Reworked a couple of the cache methods to run via Combine instead of callbacks
• Cleaned up some logic now that the path & status observers are using Combine
• Fixed an issue with the PathVC could render incorrectly
10 months ago
Morgan Pretty 0002810c7f Merge remote-tracking branch 'origin/feature/swift-package-manager' into feature/groups-rebuild
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SessionMessagingKit/Crypto/Crypto+SessionMessagingKit.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
10 months ago
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
10 months ago
Morgan Pretty d6fe54e9a0 Fixed the share extension and moved the WebRTC logic
Moved the WebRTC dependency out of SessionMessagingKit and into the main Session app (it's the only one that used it and it was causing library linker issues in the share extension because it wasn't directly linked)
10 months ago
Morgan Pretty 16f08bf861 Fixed some missing dependencies and removed pod references 10 months ago
Morgan Pretty d26e5468cb Fixed the broken tests 11 months ago
Morgan Pretty f1ec4c90c5 Updated GRDB dependency with build fix 11 months ago
Morgan Pretty 990216266b Fixed the unit tests 11 months ago
Morgan Pretty e89a77a279 Replaced Cocoapods with Swift Package Manager for dependency management 11 months ago
Morgan Pretty 20eb791f75 Fixed an ONS lookup issue, update check frequency tweak 11 months ago
Morgan Pretty cac5542868 Additional bug fixes, log tweaks and update checking
• Added a new CheckForAppUpdates job which runs at most once every 24 hours
• Updated the job failure logs to include the error that caused the failure
• Updated the network instance to use 'single_path_mode' when not executing within the main app
• Updated the logger to append extension logs when resuming instead of only during startup
• Updated the export logs behaviour to append the previously rotated log data if the latest log file is too short (to ensure we get more useful info when debugging)
• Updated to the latest libSession commit to resolve a couple of edge-cases
11 months ago
Morgan Pretty 6663bd64c4 Stopped the PN extension suspending the network and improved logging
• Removed the SOGS polling from the notification extension (rarely worked and caused network suspension bugs)
• Cleaned up some logging
11 months ago
Morgan Pretty afa93d3320 Updated with latest libSession fixes, minor logging tweaks 11 months ago
Morgan Pretty 999ddfe50e Made a couple of tweaks to make the build process easier
• Added a script to extract the app group during the build and load it in at runtime (fallback to the current one)
• Updated the 'App Store Release' scheme to 'App_Store_Release' to fix build issues on some machines
• Fixed some broken unit tests
11 months ago
Morgan Pretty a91024f0bb Separate streams for attachment upload/download and bug fixes
• Updated the code to stop sending legacy PNs outside of legacy group conversations
• Updated the logger logic to clean things up and use the local date/time (with time zone info) to ease debugging user reports
• Fixed an issue where messages in a community could incorrectly accept disappearing message settings
• Fixed an issue where duplicate messages could be sent in some cases
• Fixed an issue where the conversation might not scroll to the bottom after sending an attachment
• Fixed an issue where attachment encryption was happening in a db write thread
11 months ago
Morgan Pretty b0eec5a4c2 Updated to the latest libSession and updated it's error handling 12 months 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
12 months ago
Morgan Pretty f9d9954cf5 Attempts to fix more crashes and fix unit tests
• Fixed an index out of bounds issue with the mnemonic
• Attempt to fix a crash due to failing to hash SignalAttachment
• Attempt to fix a crash due to list data change inconsistencies
• Ensuring we are shutting down the network when resetting app data
• Updated the broken unit tests
12 months ago
Morgan Pretty 3b5eaa6bbb Fixed a few minor issues noticed in the logs
• Fixed an issue where SOGS pollers could be started multiple times
• Avoid checking if blinded conversations exist in the config (will always return false)
• Updated some logs to provide more timing information
12 months ago
Morgan Pretty 1bc294114b Second batch of fixes for the libQuic release crashes
• Fixed a rare crash which could occur when receiving a network response
• Updated to the latest libSession (contains some libQuic fixes)
• Bumped version number
12 months ago
Morgan Pretty f50d7fcee4 Updated to the latest libSession, added new build arg 1 year ago
Morgan Pretty 72525ae37b Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
# Conflicts:
#	Podfile
#	Podfile.lock
#	Scripts/build_libSession_util.sh
#	Session.xcodeproj/project.pbxproj
#	Session/Calls/Call Management/SessionCallManager.swift
#	Session/Calls/Views & Modals/IncomingCallBanner.swift
#	Session/Conversations/Context Menu/ContextMenuVC+Action.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/Message Cells/CallMessageCell.swift
#	Session/Conversations/Message Cells/VisibleMessageCell.swift
#	Session/Home/New Conversation/NewDMVC.swift
#	Session/Media Viewing & Editing/MediaGalleryViewModel.swift
#	Session/Media Viewing & Editing/MediaInfoVC.swift
#	Session/Meta/AppDelegate.swift
#	Session/Meta/AppEnvironment.swift
#	Session/Path/PathStatusView.swift
#	SessionMessagingKit/Database/Models/Interaction.swift
#	SessionMessagingKit/Jobs/AttachmentUploadJob.swift
#	SessionMessagingKit/Jobs/MessageSendJob.swift
#	SessionMessagingKit/Jobs/SendReadReceiptsJob.swift
#	SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
#	SessionMessagingKit/Messages/Message+Destination.swift
#	SessionMessagingKit/Messages/Message.swift
#	SessionMessagingKit/Sending & Receiving/Errors/MessageSenderError.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/Utilities/ProfilePictureView+Convenience.swift
#	SessionMessagingKit/Utilities/SessionEnvironment.swift
#	SessionNotificationServiceExtension/NotificationServiceExtension.swift
#	SessionShareExtension/ShareNavController.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionSnodeKit/Types/OnionRequestAPIError.swift
#	SessionSnodeKit/Types/SnodeAPIError.swift
1 year ago
Morgan Pretty 601ba9a9b2 Objective-C Refactoring, Removed PureLayout, General Cleanup 1 year ago
Morgan Pretty 93f136c0c1 Fixed an issue where reactions wouldn't appear 1 year ago
Morgan Pretty eccaa29c4a Fixed the background crash issues
• Updated GRDB and SQLCipher
• Shifted the ThreadSettingsViewModel code into a separate function to fix a compilation issue
1 year ago
Morgan Pretty 9491b4a97b Fixed a crash and config issue
• Fixed a bad memory crash which could occur when returning from the background
• Fixed an issue where config messages were incorrectly getting double wrapped in protobuf wrappers
1 year 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
1 year 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
1 year 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
1 year ago
Morgan Pretty 3ea5868b24 Increased build number 1 year ago
Morgan Pretty a3188ebea4 Fixed a number of bugs found in the internal release
• Moved the 'getSwarm' behaviour into a distinct job to prevent duplicate API calls
• Updated to the latest libSession (fix libQuic crash)
• Updated the JobRunner to support the `runOnceTransient` behaviour and be able to run transient jobs in the app extensions
• Reworked the extension file logging to be written directly to the file in a single operation rather than line-by-line via the logger
• Fixed a bug where community invites has the wrong author
• Fixed a bug where the title on the disappearing messages settings screen was clipping vertically
• Fixed a bug where tapping on the disappearing messages setting subtitle could incorrectly appear in read-only state for admins
• Fixed a log which contained notification content
• Tweaks to extension logging logic
1 year ago
Morgan Pretty f150732e99
Merge pull request #959 from mpretty-cyro/fix/sync-message-issues
Fixed a few bugs with sync messages
1 year ago
Morgan Pretty 2cffda17bc Merge remote-tracking branch 'upstream/dev' into feature/lib-quic-integration
# Conflicts:
#	Scripts/build_libSession_util.sh
1 year ago
Morgan Pretty afe1efbd90 Deduped path building and attempted to improve extension logging
• Moved the build paths logic into the BuildPathsJob to allow for better deduping
• Updated the notification and share extensions to generate log files and append to the bottom of the app log file
1 year 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
1 year ago
Morgan Pretty 8c467dc511 Merge remote-tracking branch 'origin/fix/sync-message-issues' into feature/lib-quic-integration
# Conflicts:
#	.drone.jsonnet
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionSnodeKit/Types/OnionRequestAPIError.swift
#	SessionSnodeKit/Types/SnodeAPIError.swift
1 year ago
Morgan Pretty 53196b4694 Added new PrivacyInfo plist required by Apple 1 year ago
Morgan Pretty c065abc584 Cleaned up a bunch of warnings, renamed a couple of folders 1 year ago
Morgan Pretty 927f8206f5 Update to the latest build config 1 year ago
Morgan Pretty 83c3834669 Gather coverage data 1 year ago
Morgan Pretty 4935269de4 Fixed a cocoapods warning 1 year ago
Morgan Pretty 4818a6d074 Merge remote-tracking branch 'origin/dev' into feature/lib-quic-integration
# Conflicts:
#	Podfile.lock
#	Session.xcodeproj/project.pbxproj
#	Session/Meta/Session-Info.plist
1 year ago
Morgan Pretty 097f9c2903 Fixed scheme and SessionSnodeKitTest runs 1 year ago
Morgan Pretty 9833ac91de Fixed the broken unit tests 1 year ago
Morgan Pretty 686768f8b2 Fixed a few bugs with sync messages
Fixed an issue where sync messages were failing to send if the message wasn't disappearing
Fixed an issue where the 'Failed to Sync' statuses wouldn't be shown
Updated the MessageSenderError, SnodeAPIError and OnionRequestAPIError to actually output our error strings when included in strings
Updated the tryFlatMapWithRandomSnode function to include context of the last error thrown
Cleaned up the 'isSyncMessage' logic
1 year ago
Morgan Pretty 7eb7eda74e [WIP] Cleaned up interface, error handling and redundant code 1 year ago
Morgan Pretty 1ee4c29a16 [WIP] Pulling in a bunch of changes around request management 1 year ago
Morgan Pretty 8ef1c24215 [WIP] Working on the libQuic onion requests 1 year ago