Morgan Pretty
2098cb32dd
Number of fixes and tweaks related to the deadlock issue
...
• Fixed some cases where errors weren't being displayed correctly
• Tweaked the "nodeNotFound" error to be a bit more human readable
• Tweaked the BackgroundPoller timeout to have a 5 second buffer instead of a 1 second buffer
• Moved the lastHash pruning into the GarbageCollectionJob instead of the pre-poll fetching to avoid needing to use a write query before polling
• Reworked the Pollers to make their database queries part of the polling stream (and as such, cancellable)
8 months ago
Morgan Pretty
3676f63cb0
Fixed some bugs found during QA
...
• Fixed a bug where the onboarding wouldn't be considered complete after successfully retrieving a displayName when restoring an account
• Fixed a couple of libSession networking bugs
• Tweaked some logging
• Removed some legacy code
8 months ago
Morgan Pretty
7874095d21
Tweaked a couple of errors, fixed a network bugs resulting from merge
9 months ago
Morgan Pretty
ed472f44c5
Merge remote-tracking branch 'upstream/dev' into release/2.6.3
...
# Conflicts:
# Session/Meta/AppDelegate.swift
# Session/Onboarding/LandingVC.swift
# Session/Onboarding/LinkDeviceVC.swift
# Session/Onboarding/RegisterVC.swift
# Session/Onboarding/RestoreVC.swift
9 months ago
Morgan Pretty
234694b292
Fixed a couple of BackgroundPoller behaviours
...
• Fixed an issue where the BackgroundPoller would fail if a single destination failed
- This would suspend the network, then the other pending requests would error and automatically retry, attempting to create a new connection which could loop a number of times rapidly since the network was suspended
• Fixed an issue where the BackgroundPoller could incorrectly try to write to the database after it had been suspended
9 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
9 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
9 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
9 months ago
Morgan Pretty
25150f931e
Logging improvements, incorrect version number fix
9 months ago
Morgan Pretty
bfbfecfc6e
Fixed a few c conversions which could crash if they failed
9 months ago
Ryan ZHAO
4da21035ca
fix ons search error
9 months ago
Morgan Pretty
1fd65230b7
Fixed the broken unit tests
...
• Added a method to customise mock parameter summaries for unit tests
• Pulled across the updated libSession cache logic
9 months ago
Morgan Pretty
990216266b
Fixed the unit tests
10 months ago
Morgan Pretty
e89a77a279
Replaced Cocoapods with Swift Package Manager for dependency management
10 months ago
Morgan Pretty
20eb791f75
Fixed an ONS lookup issue, update check frequency tweak
10 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
10 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
10 months ago
Morgan Pretty
afa93d3320
Updated with latest libSession fixes, minor logging tweaks
10 months ago
Morgan Pretty
a5095b5965
Fixed remaining broken unit tests
10 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
10 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
10 months ago
Morgan Pretty
6751a9c5ff
PR Comments & more tweaks for background behaviours
10 months ago
Morgan Pretty
6cb9294143
Changed the networking logic to suspend/resume rather than just cancel connections
10 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
11 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
11 months ago
Morgan Pretty
733694d464
Defensive coding for C API conversation, threading & logging tweaks
...
• Reworked some of the C API conversions to try to prevent invalid cases
• Tweaked the threading around libSession networking callbacks to minimise Swift code blocking libSession threads
• More logging tweaks
11 months ago
Morgan Pretty
dd5716e831
Initial work on 2.6.0 issues
...
• Fixed an issue where voice messages wouldn't stop playing when deleting a message or leaving a conversation
• Fixed an issue where the notification extension was handling errors and finishing while within a database transaction
• Fixed an issue where the ShareExtension may not have been able to send LinkPreviews
• Fixed an issue where displaying or logging the paths weren't maintaining the correct order
• Tweaked some of the logging behaviours
11 months ago
Morgan Pretty
e62e0885ca
Removed test logs
11 months ago
Morgan Pretty
47001b754d
Added manual log calls for testing
11 months ago
Morgan Pretty
9e5a938d6f
Use the new logger, fixed build script bug, latest libSession
...
• Updated to the latest libSession
• Updated the code to use the new logger
• Fixed a bug in the build script where changes to external libSession dependencies wouldn't result in a rebuild
11 months ago
Morgan Pretty
7f2508d2d0
Fixed the build errors and unit tests
11 months 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
11 months ago
Morgan Pretty
601ba9a9b2
Objective-C Refactoring, Removed PureLayout, General Cleanup
11 months 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
11 months 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
12 months 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
12 months 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
12 months 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
12 months 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
12 months 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
c065abc584
Cleaned up a bunch of warnings, renamed a couple of folders
1 year ago
Morgan Pretty
0f370ab667
Changed the SnodeAPIError to be CustomStringConvertible
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
Morgan Pretty
756e256d9a
Moving libSession into SessionUtilitiesKit to expose it to other targets
1 year ago
Morgan Pretty
09e8fed37d
Merge remote-tracking branch 'upstream/dev' into feature/lib-quic-integration
1 year ago
Morgan Pretty
470323e892
Plugged in some debug code to try and start testing libQuic
1 year ago
Morgan Pretty
e1bb6de7d6
Merge remote-tracking branch 'upstream/dev' into feature/drop-yap-database-support
...
# Conflicts:
# Podfile.lock
# SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift
1 year ago
Morgan Pretty
2fba138782
Merge remote-tracking branch 'RyanFork/disappearing-message-redesign' into feature/groups-rebuild
...
# Conflicts:
# .drone.jsonnet
# Session.xcodeproj/project.pbxproj
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationVC.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Conversations/Message Cells/InfoMessageCell.swift
# Session/Conversations/Message Cells/MessageCell.swift
# Session/Conversations/Message Cells/VisibleMessageCell.swift
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# Session/Conversations/Views & Modals/InfoBanner.swift
# Session/Meta/AppDelegate.swift
# Session/Meta/MainAppContext.swift
# Session/Meta/Translations/ar.lproj/Localizable.strings
# Session/Meta/Translations/be.lproj/Localizable.strings
# Session/Meta/Translations/bg.lproj/Localizable.strings
# Session/Meta/Translations/bn.lproj/Localizable.strings
# Session/Meta/Translations/cs.lproj/Localizable.strings
# Session/Meta/Translations/da.lproj/Localizable.strings
# Session/Meta/Translations/de.lproj/Localizable.strings
# Session/Meta/Translations/el.lproj/Localizable.strings
# Session/Meta/Translations/en.lproj/Localizable.strings
# Session/Meta/Translations/eo.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/hu.lproj/Localizable.strings
# Session/Meta/Translations/id.lproj/Localizable.strings
# Session/Meta/Translations/it.lproj/Localizable.strings
# Session/Meta/Translations/ja.lproj/Localizable.strings
# Session/Meta/Translations/ko.lproj/Localizable.strings
# Session/Meta/Translations/ku.lproj/Localizable.strings
# Session/Meta/Translations/lt.lproj/Localizable.strings
# Session/Meta/Translations/lv.lproj/Localizable.strings
# Session/Meta/Translations/ne-NP.lproj/Localizable.strings
# Session/Meta/Translations/nl.lproj/Localizable.strings
# Session/Meta/Translations/no.lproj/Localizable.strings
# Session/Meta/Translations/pl.lproj/Localizable.strings
# Session/Meta/Translations/pt-BR.lproj/Localizable.strings
# Session/Meta/Translations/pt-PT.lproj/Localizable.strings
# Session/Meta/Translations/ro.lproj/Localizable.strings
# Session/Meta/Translations/ru.lproj/Localizable.strings
# Session/Meta/Translations/si-LK.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/tr.lproj/Localizable.strings
# Session/Meta/Translations/uk.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
# Session/Notifications/SyncPushTokensJob.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# Session/Onboarding/PNModeVC.swift
# Session/Shared/ScreenLockUI.swift
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Jobs/ExpirationUpdateJob.swift
# SessionMessagingKit/Jobs/GetExpirationJob.swift
# SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Contacts.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserGroups.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserProfile.swift
# SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
# SessionMessagingKitTests/Sending & Receiving/MessageReceiverSpec.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionNotificationServiceExtension/NotificationServiceExtensionContext.swift
# SessionShareExtension/Meta/SignalShareExtension-Bridging-Header.h
# SessionShareExtension/ShareAppExtensionContext.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionUtilitiesKit/Database/OWSFileSystem.m
# SessionUtilitiesKit/General/AppContext.h
# SessionUtilitiesKit/General/NSUserDefaults+OWS.m
1 year ago
Morgan Pretty
661720a988
Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Meta/Translations/ar.lproj/Localizable.strings
# Session/Meta/Translations/be.lproj/Localizable.strings
# Session/Meta/Translations/bg.lproj/Localizable.strings
# Session/Meta/Translations/bn.lproj/Localizable.strings
# Session/Meta/Translations/cs.lproj/Localizable.strings
# Session/Meta/Translations/da.lproj/Localizable.strings
# Session/Meta/Translations/de.lproj/Localizable.strings
# Session/Meta/Translations/el.lproj/Localizable.strings
# Session/Meta/Translations/en.lproj/Localizable.strings
# Session/Meta/Translations/eo.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/hu.lproj/Localizable.strings
# Session/Meta/Translations/id.lproj/Localizable.strings
# Session/Meta/Translations/it.lproj/Localizable.strings
# Session/Meta/Translations/ja.lproj/Localizable.strings
# Session/Meta/Translations/ko.lproj/Localizable.strings
# Session/Meta/Translations/ku.lproj/Localizable.strings
# Session/Meta/Translations/lt.lproj/Localizable.strings
# Session/Meta/Translations/lv.lproj/Localizable.strings
# Session/Meta/Translations/ne-NP.lproj/Localizable.strings
# Session/Meta/Translations/nl.lproj/Localizable.strings
# Session/Meta/Translations/no.lproj/Localizable.strings
# Session/Meta/Translations/pl.lproj/Localizable.strings
# Session/Meta/Translations/pt-BR.lproj/Localizable.strings
# Session/Meta/Translations/pt-PT.lproj/Localizable.strings
# Session/Meta/Translations/ro.lproj/Localizable.strings
# Session/Meta/Translations/ru.lproj/Localizable.strings
# Session/Meta/Translations/si-LK.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/tr.lproj/Localizable.strings
# Session/Meta/Translations/uk.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/Configuration.swift
# SessionUtilitiesKit/Database/Storage.swift
1 year ago
Morgan Pretty
a563cddba8
Added a timeout for the MessageSendJob and additional logging
1 year ago
Ryan ZHAO
2cc51aec28
add workaround for a SS bug when getting and updating expiries
1 year ago
Morgan Pretty
87e9306054
Added the resetSnodeCache to the dev settings (debug network issues)
1 year ago
Morgan Pretty
9b21a0d251
More unit tests, attempting to parallelize CI test running
1 year ago
Morgan Pretty
37d3d5b829
Plugged in some more libSession functions and added more unit tests
...
Updated the code to use the libSession encrypt/decrypt functions for the 'groupKicked' message
Updated the code to use the libSession function to load the admin key when receiving a promotion instead of reloading the config state
Changed the NotificationsManager and NotificationActionHandler to be injected via dependencies instead of the Environment
Mocked out the NotificationsManager for unit testing
1 year ago
Morgan Pretty
d3e3ad70b9
Added some more tests and fixed up some others
1 year ago
Morgan Pretty
b7b7b4af6a
Added disappearing messages support to updated groups
...
Added disappearing messages support to updated groups
Added the 10s & 60s debug disappearing message setting options to the DeveloperSettingsViewModel
Copy tweaks on the DeveloperSettingsViewModel
Removed some unused code
1 year ago
Morgan Pretty
60684bc977
Merge remote-tracking branch 'RyanFork/disappearing-message-redesign' into feature/drop-yap-database-support
1 year ago
Morgan Pretty
2109c4c91d
Fixed a developer settings crash
1 year ago
Morgan Pretty
59fc7a53ef
New DeveloperSettingsViewModel, bulk PN endpoints and updated group messages
...
Added the DeveloperSettingsViewModel and dependency-controlled feature flags
Added the generic 'SessionListViewModel' to reduce duplicate code when we want to just display a selectable list of items
Added an indicator on the home screen to show when using testnet
Added group promotions behind a feature flag
Updated the PushNotificationAPI to use bulk subscribe/unsubscribe requests
Updated the 'GroupUpdateDeleteMessage' and 'GroupUpdateDeleteMemberContentMessage' to support additional behaviours
Updated the SessionCell to have better RTL support (swapped some left/right things to leading/trailing)
Updated the revoke/unrevoke endpoints to take arrays of subaccount tokens
Refactored the Bencode logic to properly support Codable types
1 year ago
Morgan Pretty
0c1ea23b08
Started adding tests for the DisplayPictureDownloadJob and clean up
...
Started adding tests for the DisplayPictureDownloadJob
Cleaned up the Crypto singleton a bit
Moved the DisplayPictureManager encryption/decryption into Crypto methods
1 year ago
Morgan Pretty
dffe321bc4
Added the updated revoke & unrevoke endpoints
...
Added the updated revoke & unrevoke endpoints when removing and adding group members
Updated the group creation to upload the provided image and set it to the group correctly
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
1 year ago
Morgan Pretty
0df6501265
Pushing up my WIP changes from the last few days
...
Got a number of the GroupUpdate messages working properly
Updated the DisplayPictureDownloadJob to support OpenGroup room images
Updated the Poller to process messages by namespace (sorted) and added support for synchronous handling of messages
Reworked the ProfileManager to be a more reusable DisplayPictureManager
Cleaned up the conversion from milliseconds to TimeInterval (which is documented as seconds) for clarity
Fixed a read/write crash due to the SnodeAPI cache setup
Fixed an issue where dependencies could incorrectly overwrite each other when based on protocols
1 year ago
Morgan Pretty
4127d45122
Added more unit tests
...
Added the SnodeAPICache and a mock for it
Moved the current user poller into Dependencies
2 years ago
Morgan Pretty
8e04944af0
Fixes from cross-platform testing and general code changes
...
Fixed the incorrect Group Namespaces
Fixed an incorrect identity generation which could create invalid accounts
Fixed an issue where adding group members would remove admins incorrectly
Finished updating the SnodeAPI to use prepared requests
2 years ago
Morgan Pretty
5ac05a41ec
Merge remote-tracking branch 'RyanFork/disappearing-message-redesign' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Conversations/ConversationViewModel.swift
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Home/Message Requests/MessageRequestsViewController.swift
# Session/Home/Message Requests/MessageRequestsViewModel.swift
# Session/Meta/Translations/fil.lproj/Localizable.strings
# Session/Meta/Translations/hi.lproj/Localizable.strings
# Session/Meta/Translations/hr.lproj/Localizable.strings
# Session/Meta/Translations/nl.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-TW.lproj/Localizable.strings
# Session/Settings/ConversationSettingsViewModel.swift
# Session/Settings/HelpViewModel.swift
# Session/Settings/NotificationContentViewModel.swift
# Session/Settings/NotificationSettingsViewModel.swift
# Session/Settings/NotificationSoundViewModel.swift
# Session/Settings/PrivacySettingsViewModel.swift
# Session/Settings/SettingsViewModel.swift
# Session/Shared/SessionTableViewController.swift
# SessionSnodeKit/Database/Models/SnodeReceivedMessageInfo.swift
# SessionTests/Settings/NotificationContentViewModelSpec.swift
# SessionUIKit/Components/TopBannerController.swift
# SessionUtilitiesKit/Configuration.swift
2 years ago
Morgan Pretty
a6931bb922
Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Shared/SessionTableViewController.swift
# Session/Shared/SessionTableViewModel.swift
# Session/Shared/Types/SessionTableSection.swift
# SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
# SessionUIKit/Components/SessionButton.swift
2 years ago
Morgan Pretty
085a1a59aa
Fixed an issue where the messages might not get reprocessed when they should
...
Dropped the auto-incrementing id from the SnodeReceivedMessageInfo
Changed the 'key, hash' from a uniqueKey to a primaryKey to allow "upsert" behaviours to work
2 years ago
Morgan Pretty
32495f0a8a
Did some refactoring to better distinguish between publicKeys and sessionIds in the codebase
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
18b296bcd8
Merge branch 'disappearing-message-redesign' into feature/drop-yap-database-support
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Meta/AppDelegate.swift
# Session/Meta/Translations/de.lproj/Localizable.strings
# Session/Meta/Translations/es-ES.lproj/Localizable.strings
# Session/Meta/Translations/fi.lproj/Localizable.strings
# Session/Meta/Translations/fr.lproj/Localizable.strings
# Session/Meta/Translations/it.lproj/Localizable.strings
# Session/Meta/Translations/ja.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/zh-CN.lproj/Localizable.strings
# Session/Meta/Translations/zh-TW.lproj/Localizable.strings
# SessionMessagingKit/Database/LegacyDatabase/SMKLegacy.swift
# SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionMessagingKit/Messages/Control Messages/ConfigurationMessage.swift
# SessionSnodeKit/Database/LegacyDatabase/SSKLegacy.swift
# SessionSnodeKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionUtilitiesKit/Database/LegacyDatabase/SUKLegacy.swift
# SessionUtilitiesKit/Database/Migrations/_003_YDBToGRDBMigration.swift
2 years ago
Morgan Pretty
90cd3fb5e0
Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
...
# Conflicts:
# _SharedTestUtilities/MockJobRunner.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
9e471fb903
Cleaned up some TODOs and refactored more requests to prepared ones
2 years ago
Morgan Pretty
67311f6d25
Added some more tests and cleaned up some warnings
...
Fixed the broken LibSessionSpec tests
Added the libSessionSpec tests for GROUP_INFO and GROUP_MEMBERS
2 years ago
Morgan Pretty
4f10277a48
Clean up and fixed some broken tests
2 years ago
Morgan Pretty
d8b0f76902
Merge remote-tracking branch 'RyanFork/disappearing-message-redesign' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Database/LegacyDatabase/SMKLegacy.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+DataExtractionNotification.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+ConvoInfoVolatile.swift
# SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
# SessionMessagingKitTests/Open Groups/OpenGroupAPISpec.swift
# SessionMessagingKitTests/Sending & Receiving/MessageReceiverSpec.swift
# SessionSnodeKit/Database/LegacyDatabase/SSKLegacy.swift
# SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
# SessionUtilitiesKit/Database/LegacyDatabase/SUKLegacy.swift
# SessionUtilitiesKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionUtilitiesKit/General/SNUserDefaults.swift
# SignalUtilitiesKit/Utilities/AppVersion.m
2 years ago
Morgan Pretty
bf58831313
Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
...
# Conflicts:
# Scripts/LintLocalizableStrings.swift
2 years ago
Morgan Pretty
5917cf103f
Refactored the LintLocalizableStrings
...
Added inline errors & warnings (regex could use some work to remove invalid cases)
Added a build step to validate the strings are included in the app and it's extensions
2 years ago
Morgan Pretty
3abeeffd3d
Fixed build errors and cleaned up Dependencies interface further
...
Fixed a build error
Cleaned up the Dependencies interface for UserDefaults and Storage settings
Refactored the AppVersion class to be in Swift
2 years ago
Morgan Pretty
7b04a4b888
Updated logic to prepare for updated group message crypto
...
Updated the message send/receive pipelines to better handle config and updated group messages
Changed the hard-coded 'WebSocketRequestMessage' proto wrapper to not have random data
Removed the old 'SharedConfigMessage' (deprecated and removed within 'libSession')
2 years ago
Morgan Pretty
0982526057
Adding support for a few more properties group members
...
Added 'name' value to updated groups USER_GROUP entry
Added ConvoInfoVolatile for updated groups
Cleaned up a bunch of direct sodium usages
Updated the code to create GroupMember entries based on the GROUP_MEMBERS config
Updated to the latest libSession
Fixed a bunch of group authentication issues
Fixed a minor threading issue
Fixed an issue with the PreparedRequest type conversion
2 years ago
Morgan Pretty
b31afa89e1
Reworked SnodeAPI auth and prepared requests
...
Started refactored some logic to make it easier for unit testing
Started updating SnodeAPI calls with prepared requests
Fixed some issues with the PreparedRequest 'map' and 'handleEvents' functions
Genericised common pre-request behaviours for SnodeAPI calls
2 years ago
Morgan Pretty
5d9a2335ba
Started trying to sync new groups between devices
...
Added a work around for getting an SQLite Busy exception on startup (should only be caused by edge-cases, unsure what the impact of the workaround will be if the db is actually busy)
Updated the auth to work for updated groups
Cleaned up group creation to seemingly work properly (not syncing for some reason)
2 years ago
Morgan Pretty
c77d7ecda1
[WIP] Refactored dependency access to be more generic
2 years ago
Morgan Pretty
6dd4c797a7
Merge remote-tracking branch 'origin/feature/drop-yap-database-support' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionSnodeKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionUtilitiesKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionUtilitiesKit/Database/Storage.swift
2 years ago
Morgan Pretty
f1075e9123
Started adding logic and unit tests for group creation
...
Reworked the config store to better support different types of config objects
Added the logic to create a group (not final just yet)
2 years ago
ryanzhao
8b529676a4
Merge branch 'dev' into disappearing-message-redesign
2 years ago
Morgan Pretty
3e4a2013d3
Fixed a bug where the 'migrationNoLongerSupported' would be thrown for new accounts
2 years ago
Morgan Pretty
a4ade7fdb4
Merge remote-tracking branch 'upstream/dev' into feature/drop-yap-database-support
2 years ago
Morgan Pretty
f44b545265
[WIP] Initial start on updated groups via configs
...
Started writing up wrappers and unit tests for group config types
Refactored some duplicate batch & prepared request code to be more generic and reusable
Renamed a number of legacy closed group functions to have the term 'legacy' in them for ease of coding
2 years ago
Morgan Pretty
812a951aba
Added the group namespaces and added better build script error handling
2 years ago
Morgan Pretty
674d99cea3
Merge branch 'fix/minor-outgoing-quote-bugs' into feature/groups-rebuild
...
# Conflicts:
# SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
# SessionShareExtension/ThreadPickerVC.swift
2 years ago
Morgan Pretty
6c1b997e9b
Merge branch 'feature/drop-yap-database-support' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionMessagingKit/Messages/Control Messages/ConfigurationMessage.swift
# SessionUtilitiesKit/Database/Storage.swift
2 years ago