Commit Graph

1971 Commits (95f4150c9606aeafc09da049fa4f6e76c3644acb)

Author SHA1 Message Date
Morgan Pretty 6a838a486c Fixed an issue where the blocked contacts screen might not show values 9 months ago
Morgan Pretty d4e66dde14 Fixed a few more issues found during testing
• Fixed an issue where the conversation 'created' timestamp wasn't correctly getting set when creating a group
• Fixed an issue where sending a message to 'Note to Self' may not show the conversation in the conversation list
• Fixed an issue where sharing a message with an attachment might not include the attachment
• Fixed an issue where list paging wouldn't work in some cases after values were inserted into the database after the currently loaded pages
• Added some handling for invalid 'joinedAt' values for groups (seems like we can have an incorrect resolution)
9 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
9 months ago
Morgan Pretty ae2561502b Merged 2.6.3 changes and minor bug fixes
• Fixed an issue where attachments in communities weren't downloading
• Attempted to fix an occasional build issue due to an order-of-execution issue with processing the Info.plist files
• Updated to the latest `libSession` version (include 2.6.3 changes)
10 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
10 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
10 months ago
Morgan Pretty 65807ec6d3 Further fixes
• Updated the pollers to NOT take the duration of the previous poll into account when scheduling the next poll
• Updated to the latest `libSession` version (a few optimisations/fixes)
• Fixed a minor layout issue with the attribution label on the Path screen
10 months ago
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 f7dcd47c0c Fixed a few more minor bugs and updated GeoLite2 data
• Updated the GeoLite2 country database data, added some basic localisation to it
• Managed to optimise the size of the GeoLite2 data bundled with the app (10mb -> 8mb)
• Cleaned up the IP2Country logic a little
• Removed some pluralisation from logs (want the logs to be identical outside of numbers)
• Tweaked the PushRegistrationManager to actually timeout
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 a8d9200ef5 Fixed a few more bugs
• Fixed an issue where excessive job failures could result in jobs not running onLaunch or onActive as expected (extended network issues resulted in the default communities not getting fetched)
• Fixed an issue where the PathVC could end up in a weird state after the IP2Country cache gets updated
• Fixed an issue where LinkPreview caching was incorrectly case sensitive
• Fixed an issue where the IP2Country might load it's cache on the wrong thread
• Added the ability to copy the file path to the log file when exporting on the simulator
• Updated the Request type to correctly encode a body of 'Data' type when given (would previously incorrectly encode it as JSON)
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 f486a4e6bf Fixed issues with sending sync messages and uploading attachments 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 25150f931e Logging improvements, incorrect version number fix 10 months ago
Morgan Pretty bfbfecfc6e Fixed a few c conversions which could crash if they failed 10 months ago
Ryan ZHAO 19b4055a2e Merge branch 'onboarding' into standardised-strings 10 months ago
Ryan ZHAO d1483bc1a7 fix an issue where global search/contact list - outgoing message request does not show up in the contact list 10 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
10 months ago
Ryan ZHAO 572e5ceb7d fix an issue where 100 bytes string won't pass the display name length test 10 months ago
Morgan Pretty e2fc0a5b51 Further fixes
• Fixed an issue where the default log level was set too low
• Fixed an issue where sending the app to the background without any pending jobs could result in the database and network not being suspended correctly
• Updated to latest libSession (don't try to recover paths, just rebuild)
10 months ago
Morgan Pretty 304423f397 Resolved a TODO I had missed 10 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 185e84dc95 Fixed a few PN behaviours
• Tweaked the message request notification behaviour
• Fixed an issue where duplicate message errors would result in the generic notification being shown
• Further notification logging improvements
11 months ago
Morgan Pretty db796896f4 Tweaks to notification extension
• Fixed an issue where the notification extension could end up in an invalid state if you delete and create a new account in rapid succession
• Fixed an issue where notification processing errors weren't getting handled correctly resulting in the notification extension timing out
• Stopped the notification extension from trying to download profile images
• Added commit hash to version info
• Tweaked the notification extension logic flow to be more straight forward
11 months ago
Ryan ZHAO 0b7ff7b623 Merge branch 'dev' into onboarding 11 months ago
Morgan Pretty 344e290ec1 Added a 30s disappearing messages option to debug builds for testing 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
Ryan ZHAO 527c921df3 Merge branch 'onboarding' into standardised-strings 11 months ago
Morgan Pretty 1726930e2e Merge remote-tracking branch 'upstream/dev' into onboarding 11 months ago
Morgan Pretty afa93d3320 Updated with latest libSession fixes, minor logging tweaks 11 months ago
Morgan Pretty a5095b5965 Fixed remaining 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 11 months ago
Ryan ZHAO 90de873ea0 add and modify strings 11 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 b58a3f23cd Fixed a couple of bugs in the ConversationVC
• Fixed a bug where a disappearing voice message wouldn't stop playing
• Fixed a bug where the conversation screen was never freed from memory
• Fixed an issue with an earlier change where the openGroupManager cache would access itself while modifying itself causing a crash
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 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
12 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
12 months ago
Morgan Pretty d9a64e0148 Merge remote-tracking branch 'upstream/dev' into standardised-strings
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Closed Groups/EditClosedGroupVC.swift
#	Session/Closed Groups/NewClosedGroupVC.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/Emoji Picker/EmojiPickerCollectionView.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Emoji/Emoji+Available.swift
#	Session/Home/New Conversation/NewDMVC.swift
#	Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
#	Session/Meta/AppDelegate.swift
#	Session/Meta/SessionApp.swift
#	Session/Onboarding/PNModeVC.swift
#	Session/Path/PathVC.swift
#	Session/Utilities/IP2Country.swift
#	SessionMessagingKit/Messages/Control Messages/SharedConfigMessage.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SessionNotificationServiceExtension/NotificationError.swift
#	SessionUIKit/Style Guide/Values.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentCaptionToolbar.swift
12 months ago
Morgan Pretty e420ce4e58 Merge remote-tracking branch 'upstream/dev' into onboarding
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC.swift
#	Session/Home/New Conversation/NewDMVC.swift
#	Session/Onboarding/PNModeVC.swift
#	SessionUIKit/Style Guide/Values.swift
12 months ago
Morgan Pretty 7f2508d2d0 Fixed the build errors and unit tests 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 fa7a584cc5 Updated to the fixed version of libQuic 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
Ryan ZHAO f4a979f55f Merge branch 'onboarding' into standardised-strings 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
Ryan ZHAO 534c0a13df rename dynamic variables in strings 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
Ryan ZHAO 6d297dc2a9 update strings 1 year ago
Ryan ZHAO 6f6521c9ca update strings 1 year ago
Ryan ZHAO 1cda8887dc WIP: strings! 1 year ago
Morgan Pretty 8d99f64f56 Fixed a few more bugs
• Fixed an issue where the message status wouldn't update to the failed state if the MessageSendJob timed-out
• Fixed an issue where network issues could result in a backlog of TypingIndicator messages that failed to send (don't bother retrying them)
• Fixed an issue where concurrent jobs might not retry correctly if other jobs don't complete or the retry was triggered from the wrong queue
• Fixed an issue where the input view could disappear in some cases
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 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
Ryan ZHAO 5c9140cb4c Merge branch 'dev' into standardised-strings 1 year ago
Ryan ZHAO 7c993673bb Merge branch 'dev' into onboarding 1 year ago
Ryan ZHAO a7b8a120e3 minor fix and add toast for already a member of community 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
Ryan ZHAO f33a153c7f update more strings 1 year ago
Ryan ZHAO 62af0aa907 update more localized strings 1 year ago
Ryan ZHAO cdb9282313 replace more localized string 1 year ago
Ryan ZHAO 63658f70d7 Merge branch 'dev' into standardised-strings 1 year ago
Morgan Pretty c065abc584 Cleaned up a bunch of warnings, renamed a couple of folders 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 da4cbafd0b Updated the protos (removed the GroupUpdateDeleteMessage) 1 year ago
Morgan Pretty 749aeea6de Tweaked a comment 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
Ryan ZHAO d8698b717e add more localized strings 1 year ago
Morgan Pretty 1ee4c29a16 [WIP] Pulling in a bunch of changes around request management 1 year ago
Ryan ZHAO 1904a795b8 WIP: add new strings 1 year ago
Morgan Pretty 8ef1c24215 [WIP] Working on the libQuic onion requests 1 year ago
Ryan ZHAO 526172243b Merge branch 'dev' into onboarding 1 year ago
Ryan ZHAO 88a8ac3d01 Merge branch 'dev' into standardised-strings 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
Ryan ZHAO 6dc5d3031b Merge branch 'dev' into message-detail-screen 1 year ago
Morgan Pretty 0ae4327ed7 Latest libSession with tweaks for libQuic linking 1 year ago
Ryan ZHAO 6a04ba5fc2 fix untouched strings 1 year ago
Ryan ZHAO 4054796da1 apply new localized string format 1 year ago
Ryan ZHAO d9a73bea95 adding missing strings 1 year ago
Morgan Pretty 1602cd79dd Added missing 'sendRequest' function 1 year ago
Ryan ZHAO 0ebf0ea365 Merge branch 'dev' into standardised-strings 1 year ago
Ryan ZHAO f5afdae646 Merge branch 'dev' into message-detail-screen 1 year ago
Morgan Pretty cf8b17fb27 Fixed a "kicked from group" bug, cleaned up some logic, added 'current user' logic 1 year ago
Morgan Pretty 7cc6e32ed9 Merge remote-tracking branch 'origin/feature/drop-yap-database-support' into feature/groups-rebuild
# Conflicts:
#	.drone.jsonnet
#	Podfile.lock
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
#	SessionMessagingKit/Jobs/DisappearingMessagesJob.swift
#	SessionMessagingKit/Messages/Message.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+DataExtractionNotification.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/MessageReceiver.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Contacts.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserGroups.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserProfile.swift
#	SessionUtilitiesKit/General/Features.swift
1 year ago
Ryan ZHAO 673170360d Merge branch 'dev' into onboarding 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
Ryan ZHAO 2e4c11f4b9 add a process to clean up any expired messages before loading initial screen after app launch 1 year ago
Ryan ZHAO 6e8e72c573 fix an issue when disappearing messages jobs weren't be created for messages received by PNs. 1 year ago
Morgan Pretty e5a4cac604 Fixed a bug where group 'created' would override ugroups 'joinedAt' in the local db 1 year ago
Ryan ZHAO bd0a25bbe9 fix an issue that a disappearing messages control message will be removed by a race condition 1 year ago
Ryan ZHAO b4f01db37e extend expire timer update message TTL to be default 14 days 1 year ago
Ryan ZHAO 4cf739eeef clean 1 year ago
Ryan ZHAO ce1eee2018 fix an issue where disappearing messages settings in groups won't be synced on new linked devices 1 year ago
Ryan ZHAO 2eac3d79f2 fix an issue where after creating a group, the group will have a DaS-1D default setting 1 year ago
Ryan ZHAO 8f0b6d8202 WIP: Replace strings 1 year ago
Ryan ZHAO 11abdf4f88 Add new localization logic 1 year ago
Morgan Pretty b4648cd8e8 Fixed a crash which could occur when getting kicked from a group 1 year ago
Ryan ZHAO f9ef58c9d3 WIP: add strings 1 year ago
Ryan ZHAO 6d2e07dea6 fix an issue for local generated expiration update messages being removed immediately. 1 year ago
Ryan ZHAO 23c0de426b WIP: remove unused strings 1 year ago
Ryan ZHAO 31b0d008e6 clean 1 year ago
Ryan ZHAO fdae955288 fix data extraction message DaR 1 year ago
Ryan ZHAO b2360d8e1a fix an issue where DaR messages are read on linked devices won't have correct expiration start time 1 year ago
Ryan ZHAO 9a528f8c71 fix disappearing message control message already read on linked devices 1 year ago
Ryan ZHAO a4286212b4 imp: default contact list of global search screen 1 year ago
Ryan ZHAO d25783c4df Merge branch 'dev' into onboarding 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
Ryan ZHAO 2f740c7065 WIP: refactor global search screen into SwiftUI 1 year ago
Morgan Pretty f13aa9c695 Added a dev setting to invite a group member by AccountID or ONS
Added a dev setting to invite a group member by AccountID or ONS
Removed the buggy Result autoclosure try init and using the default `Result(catching:)` one instead due to compiler issues
1 year ago
Morgan Pretty 84492be016 Fixed build issues, removed invalid unit tests and missing copy 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 2fe48033fd Added logic to verify the AuthData within a group invite 1 year ago
Morgan Pretty 557ec369fd Fixed a bug where a group could be reverted to the invited state 1 year ago
Morgan Pretty c862b0e30a Fixed an issue where group invite auto accept wasn't sending a response 1 year ago
Morgan Pretty 82a739697d Added shared history flag to GroupUpdateMemberChangeMessage 1 year ago
Ryan ZHAO 4c340188c2 fix ttl for legacy mode 1 year ago
Morgan Pretty 59fc91bc68 Removed an unneeded 'recurringOnLaunch' job schedule 1 year ago
Ryan ZHAO 43e2983f49 fix call messages and data extraction messages with their expiration info and refactor 1 year ago
Ryan ZHAO 1c6232e4d7 minor refactor 1 year ago
Morgan Pretty a563cddba8 Added a timeout for the MessageSendJob and additional logging 1 year ago
Ryan ZHAO 4c0c1cda1a Do not process outdated expiration update messages 1 year ago
Ryan ZHAO c02c3abd73 fix an issue where deleted messages won't show profile picture in groups 1 year ago
Ryan ZHAO c473c6cb23 fix an issue where disappearing messages config in legacy group was not updated 1 year ago
Ryan ZHAO 68ce009d1c fix an issue when following settings linked devices won't sync the updated config 1 year ago
Ryan ZHAO e81923cdef fix an issue when updating expiry unchanged messages won't start disappear 1 year ago
Morgan Pretty e1d6a9dfc1 Added a migration to recreate any invalid FTS tables 1 year ago
Ryan ZHAO 87309ccba1 fix an issue where note to self may show expiration update control messages which should be removed already. 1 year ago
Morgan Pretty cbcdb9b37f Refactored AppContext and AppRediness to Swift 1 year ago
Ryan ZHAO 084586e6ba change call messages and data extraction notification to be DaR if needed 1 year ago
Ryan ZHAO 9231f57636 minor fix 1 year ago
Ryan ZHAO 04d734ef87 use local disappearing messages setting for call messages and data extraction notifications 1 year ago
Ryan ZHAO 39341742ea Don't show following settings for closed groups 1 year ago
Ryan ZHAO 10d1c64c29 remove outdated client banner when receiving a message from new version 1 year ago
Ryan ZHAO 787f2835a9 fix outdated client banner for showing current user 1 year ago
Ryan ZHAO ac30b3c797 fix unsend requests 1 year ago
Ryan ZHAO ff691529c4 Do NOT expire control messages in groups 1 year ago
Ryan ZHAO e38fb400ea refactor on the way that attaching disappearing messages config to messages 1 year ago
Ryan ZHAO 9fc5f8fa68 WIP: refactoring the way of applying disappearing messages settings 1 year ago
Ryan ZHAO 7d0e0d5164 remove attached disappearing messages settings for some control messages 1 year ago
Ryan ZHAO c9df2a73e7 bring back false deleted logic 1 year ago
Ryan ZHAO 79eafa7df8 fix logic error for message ttl 1 year ago
Ryan ZHAO 2fc021c48c fix an edge case where there is no expiration info for messages already expired 1 year ago
Ryan ZHAO 0aa32bcab3 fix an issue where expiration update control messages won't be marked as read on linked devices 1 year ago
Ryan ZHAO b22fe40d6e fix an issue where received expiration update control message should already be read 1 year ago
Ryan ZHAO 7693e53183 minor refactor and fix expiration update message for control messages 1 year ago
Ryan ZHAO 42f2440067 fix disappearing messages update control messages for legacy groups and linked devices 1 year ago
Ryan ZHAO 74efe8cc72 fix an issue for legacy groups disappearing message update control message 1 year ago
Ryan ZHAO 490cde57ce fix disappearing messages update control messages for legacy groups 1 year ago
Ryan ZHAO 4ec1d730cd remove previous logic for expiring control messages indicating disappearing messages turned off 1 year ago
Ryan ZHAO 362dcd3528 remove last change timestamp in local database 1 year ago
Ryan ZHAO 978ec30074 hide and display the following setting action accordingly 1 year ago
Ryan ZHAO 5d2a307d5e WIP: update copies and implement following setting 1 year ago
Morgan Pretty fd13e17548 Fixed an issue where blinded message requests were broken 1 year ago
Morgan Pretty aa9a6c4a12 Fixed a crash which could occur when handling a group update which needs a rekey 1 year ago
Morgan Pretty 42f4925c36 Added more unit tests and resolve a minor edge case
Added some more unit tests
Added logic to insert a fallback "invite" control message if a group is created via the USER_GROUPS config message instead of an invite
1 year ago
Morgan Pretty 9b21a0d251 More unit tests, attempting to parallelize CI test running 1 year ago
Ryan ZHAO e8ec91ba8b keep disappearing message update control message for legacy mode 1 year ago
Morgan Pretty f5f112a593 More unit tests & disable XCBeautify for CI testing 1 year ago
Morgan Pretty 3bb11aeac1 Fixed the broken legacy group push notifications & CI tweaks
Fixed the broken legacy group push notifications
Reset and close the simulators before/after the tests are run on the CI
1 year ago
Ryan ZHAO 96d1f9deb2 fix outdated banner 1 year ago
Ryan ZHAO bf3fdad856 fix outdated banner for 1-1s 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
Ryan ZHAO d492290303 WIP: fix outdated client banner with sql query 1 year ago
Ryan ZHAO adf1a76acc fix outdated client version check 1 year ago
Morgan Pretty 3d60757c40 Reworked test DSL to speed up build time and added more tests
Fixed a bug where the group invite message could be incorrectly added in some cases
1 year ago
Ryan ZHAO 21c4a17a85 minor fix: only show banner when V2 is enabled 1 year ago
Ryan ZHAO 5f0835c41b feat : display outdated client banner for linked devices 1 year ago
Morgan Pretty b22ec12989 Added handling for "needs rekey" after the merge occurs 1 year ago
Morgan Pretty d3e3ad70b9 Added some more tests and fixed up some others 2 years ago
Morgan Pretty 875bf88be4 Added more unit tests, fixed a couple of minor bugs
Added a dev setting to disable the group auto-approve for admins which are contacts (for testing purposes)
Added logic to unsubscribe and resubscribe for PNs when swapping environments
2 years ago
Morgan Pretty fa8e37b0c7 Removed 'fileIds' from Message.Destination (tested and won't break)
Removed 'fileIds' from Message.Destination (tested and won't break)
Cleaned up some TODOs
2 years 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
2 years ago
Morgan Pretty 988fa5c550 Fixed build errors from merge 2 years ago
Morgan Pretty b89a4d3aeb Merge remote-tracking branch 'origin/feature/drop-yap-database-support' into feature/groups-rebuild-part-2
# Conflicts:
#	SessionMessagingKit/Database/Models/SessionThread.swift
2 years ago
Morgan Pretty 1057a4c3fa Merge remote-tracking branch 'origin/feature/drop-yap-database-support' into feature/groups-rebuild-part-2
# Conflicts:
#	LibSession-Util
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Message Cells/InfoMessageCell.swift
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	SessionMessagingKit/Database/Models/SessionThread.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserGroups.swift
#	SessionMessagingKit/SessionUtil/SessionUtil.swift
#	SessionUtilitiesKit/Database/SSKKeychainStorage.swift
2 years ago
Morgan Pretty 15e8c9bd09 Merge remote-tracking branch 'RyanFork/disappearing-message-redesign' into feature/drop-yap-database-support 2 years ago
Ryan ZHAO 39c9ec7357 clean 2 years ago
Morgan Pretty 60684bc977 Merge remote-tracking branch 'RyanFork/disappearing-message-redesign' into feature/drop-yap-database-support 2 years 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
2 years ago
Morgan Pretty 32f5a18e00 WIP adding PNs for updated groups and changes for enabling unit testing
Started adding logic to subscribe and unsubscribe for updated group push notifications
Updated the keychain service to be injected via dependencies
Reworked the Dependencies logic to avoid a concurrent access issue
Fixed an issue where some keychain data might not be cleared in some cases
Fixed an issue where being kicked and readded to a group would make it seem to disappear ("invited" message wasn't getting created)
2 years 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
2 years ago
Morgan Pretty 4f2b629239 Added bolding to the control messages and unit testing work
Added bolding to the control messages
Reworked the MockFunctionHandler to have different calls with inferred return types to reduce boilerplate
Fixed broken unit tests
Fixed an issue which could occur in the ObservableTableSource where it could miss the first output if it returned too quickly
Started adding DownloadDisplayPictureJob unit tests
Minor copy tweak
2 years 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
2 years ago
Morgan Pretty b90ee74c91 Added promotion handling, message deletion & deprecation banner
Added logic to handle promotion messages
Added a debounced toast for promotion failures
Added support for the 'delete_before' and 'attach_delete_before' functionality
Added in the deprecated legacy groups banner.
Cleaned up the UserListViewModel a little
Updated the 'User count' header subtitle to take the user to the 'Group Members' or 'Edit Group' screens based on admin status
Updated the sorting of the group member lists to match the requirements
Fixed the debounced group invite failure toast
Fixed an issue where some libSession errors wouldn't get propagated back into the Swift code resulting in invalid database changes
Fixed an issue where admins couldn't properly leave groups
2 years ago
Ryan Zhao 18852b8a52 fix an issue where closed group disappearing messages type can be set to unknown by shared config 2 years ago
Ryan Zhao 70326b5c74 fix disappearing messages for closed group control messages 2 years ago
Morgan Pretty a5118157b3 Finished invite statuses and toasts
Added invitation statuses for updated groups
Added the invite and failed invite toasts
Added proper support for the group description
Refactored the EditClosedGroupVC and UserSelectionVC to use the SessionTableViewModel
Updated the ObservableTableSource to support forcing a refresh either before or after the database observation
Removed support for the per-thread notification sound
2 years ago
Ryan Zhao 3d1b930ede feat: update disappearing messages ui for visible messages 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
ryanzhao f603b422b0 Merge branch 'dev' into message-detail-screen
# Conflicts:
#	Session/Media Viewing & Editing/MediaInfoVC+MediaPreviewView.swift
#	SignalUtilitiesKit/Media Viewing & Editing/OWSVideoPlayer.swift
2 years ago
ryanzhao 2d6db6a768 feat(disabled): remove message requests from community when leaving this community 2 years ago
Ryan Zhao 5e0a29f5af WIP: clear message requests from community when leaving this community chat 2 years ago
Ryan Zhao 928d7f2b1e add comments and minor refactor 2 years ago
Morgan Pretty 417060a676 Added functionality for a bunch of GroupUpdate messages
Added logic to trigger and handle destroyed groups
Added logic to trigger and handle handle supplementary key rotations (libSession implementation is WIP)
Added logic for 'remove user and their content'
Added the ability to associate a callback to any arbitrary job
Added data support for the group description value
Added logic to handle being kicked from a group
Added logs for failed GROUP_KEYS merges (already have for other config types)
Fixed an issue where the initial key generation didn't include the initial members
Fixed a crash which could occur when creating a conversation via handling a USER_GROUPS config
Fixed an issue where manually triggering the ConfigurationSyncJob might not ever get a callback
Updated to have the latest Protobuf tweaks
Removed recognition of the LegacyConfigurationMessage
2 years ago
ryanzhao a64d054537 only start disappearing messages after a message successfully sent 2 years 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
2 years ago
Ryan Zhao 71fa811064 WIP: handle disappearing message failed to send 2 years ago
Ryan Zhao cf63d6e48f imp: modal of hiding recovery password permanently 2 years ago
Ryan Zhao 45d2964bf1 Merge branch 'dev' into onboarding 2 years ago
Morgan Pretty 12347c9f2f Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
# Conflicts:
#	Session/Media Viewing & Editing/MediaDetailViewController.swift
2 years ago
Morgan Pretty f809a71c8b Updated the config merge process to only consider timestamps from merged messages 2 years ago
Morgan Pretty a3ef1c92d3 Started adding logic for the GroupUpdate messages 2 years 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 de7d85f4cb Merge remote-tracking branch 'upstream/dev' into fix/media-interactions 2 years ago
Morgan Pretty 67713ca498 Fixed a few bugs and resolved some TODOs
Added additional properties to the Group to simplify the code
Added the roleStatus to the GroupMember for future functionality
Fixed a bug where the input field might not appear if a group becomes valid while it's open
Fixed a bug where updated groups might not get their states loaded into memory under certain conditions
Removed some duplicate code
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 89b38dc2f5
Merge pull request #928 from mpretty-cyro/fix/blocked-contacts-crash
Fixed a crash on the blocked contacts screen and refactoring
2 years ago
Morgan Pretty 638685a8cc
Merge pull request #925 from mpretty-cyro/fix/blank-display-name-handling
Fixed a bug where profiles with blank name values wouldn't fallback correctly
2 years ago
Morgan Pretty bd98db2612 Fixed a few bugs and crashes around media interactions
Fixed a crash when trying to grant permission to access additional photos
Fixed a bug where audio files would incorrectly get recognised as voice messages
Replaced our custom video/audio players with the native ones (which have additional built-in controls)
Updated the errors from SSKKeychainStorage to include useful information
Updated layout for audio attachments
2 years ago
Morgan Pretty f97170fdcd Fixed a crash on the blocked contacts screen and refactoring
Refactored the SessionThreadViewModel to reduce boilerplate and clean up the interface a little
Refactored the MessageRequestsViewController to use the SessionTableViewController
Fixed a crash when returning from the background on the BlockedContactsViewModel
Fixed some minor lag on the NotificationSoundViewModel
Added an optional initial loading message to the SessionTableViewController
2 years ago
Morgan Pretty 56a282846d Updated to the latest libSession 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 b47b98f2f8 Added DisplayPictureDownloadJob & use PreparedRequest in FileServerAPI 2 years ago
Morgan Pretty 819106b0f2 Fixed a bug where profiles with blank name values wouldn't fallback correctly 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 9dd2e896bb Merge remote-tracking branch 'upstream/dev' into fix/add-migration-tests
# Conflicts:
#	SessionMessagingKit/SessionUtil/SessionUtil.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 f9dc85b7ab Fixed a couple of onboarding bugs and tweaks some logs
Fixed an issue where starting and then restarting onboarding would get the app into an invalid state
Fixed an issue where newline characters could cause issues with parsing the recovery phrase
Added additional logs to better be able to understand the database state
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 a48327f6f6 [WIP] Updated to the latest libSession and started plugging in
Updated the updated group messages encryption/decryption logic to work with the latest libSession
Disabled manual PN triggering for updated group messages
2 years ago
ryanzhao dee5e56ccc Merge branch 'dev' into onboarding 2 years ago
Morgan Pretty 4f10277a48 Clean up and fixed some broken tests 2 years ago
ryanzhao c787d2558f Merge branch 'dev' into message-detail-screen 2 years ago
Morgan Pretty 691acf2a42 Merge remote-tracking branch 'RyanFork/disappearing-message-redesign' into feature/groups-rebuild
# Conflicts:
#	_SharedTestUtilities/MockJobRunner.swift
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 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 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
Ryan Zhao 01671438d5 fix issues that the expiresStartAtMs not being set correctly 2 years ago
Ryan Zhao 33ef2b0920 refactor and fix issues that some control messages were not following disappearing messages settings 2 years ago