Morgan Pretty
bdbfe6c28e
Refactored the remaining DB queries to avoid using type-based queries
2 months ago
Morgan Pretty
7b0f7ea8af
Fixed a number of QA issues and other bugs founds
...
• Added a 2000 limit to the input field
• Added an error when opening the share extension before completing onboarding
• Updated the code to treat an empty `adminSignature` as null (in case a client sends it incorrectly)
• Updated the code to include updated group control messages when determining unread
• Updated code to perform a supplemental key rotation (if needed) when resending invites to members flagged as supplemental (to handle a case where the initial invite request failed)
• Updated the code to schedule group config update control messages when making the local changes but make their sending contingent on the next config sync succeeding
• Updated the code to only enable the Share and Notification extensions once the onboarding process has been completed
• Updated the code to always enqueue config syncs for all configs on launch (if there are no pending changes then it won't do anything, but if there are then this will increase the likelihood that they will be synced)
• Fixed an issue where the default contacts query was based on thread records instead of contact records
• Fixed an issue where creating a conversation by tapping on a group member or avatar wasn't correctly creating the conversation in the draft state
• Fixed an issue where incoming messages could be added to the "Note to Self" conversation if the "syncTarget" was incorrectly set on them
3 months ago
Morgan Pretty
800e32c633
Cleaned up some TODOs, QA fixes and refetch on admin promotion
...
• Added logic to trigger a full refetch when getting promoted to admin within a group
• Added a timeout to display picture uploads
• Updated the code to inject the DisplayPictureManager via dependencies
• Updated the resend invite functionality to have a blocking loading indicator as well
• Refactored some closure-based logic for display picture uploads to use Combine instead
• Refactored the SnodeReceivedMessageInfo (with a migration) so it's no longer using a weird constructed key (now have individual queryable columns for the values)
3 months ago
Morgan Pretty
03020ad556
Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
...
# Conflicts:
# Scripts/LintLocalizableStrings.swift
# Session.xcodeproj/project.pbxproj
# Session/Calls/Call Management/SessionCall.swift
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Calls/WebRTC/WebRTCSession+DataChannel.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/Message Cells/Content Views/OpenGroupInvitationView.swift
# Session/Conversations/Message Cells/Content Views/QuoteView.swift
# Session/Conversations/Message Cells/Content Views/SwiftUI/OpenGroupInvitationView_SwiftUI.swift
# Session/Conversations/Message Cells/Content Views/SwiftUI/VoiceMessageView_SwiftUI.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Database/Migrations/_001_ThemePreferences.swift
# Session/Home/GlobalSearch/GlobalSearchViewController.swift
# Session/Home/HomeViewModel.swift
# Session/Home/Message Requests/MessageRequestsViewModel.swift
# Session/Home/New Conversation/NewMessageScreen.swift
# Session/Media Viewing & Editing/GIFs/GiphyAPI.swift
# Session/Media Viewing & Editing/GIFs/GiphyDownloader.swift
# Session/Media Viewing & Editing/PhotoLibrary.swift
# Session/Meta/MainAppContext.swift
# Session/Meta/SessionApp.swift
# Session/Meta/Translations/remove_unused_strings.swift
# Session/Notifications/PushRegistrationManager.swift
# Session/Onboarding/Onboarding.swift
# Session/Settings/HelpViewModel.swift
# Session/Settings/SettingsViewModel.swift
# Session/Settings/Views/VersionFooterView.swift
# Session/Shared/FullConversationCell.swift
# Session/Shared/SessionHostingViewController.swift
# Session/Utilities/BackgroundPoller.swift
# Session/Utilities/UIContextualAction+Utilities.swift
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Database/Models/Attachment.swift
# SessionMessagingKit/Database/Models/ClosedGroup.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Database/Models/RecipientState.swift
# SessionMessagingKit/Database/Models/SessionThread.swift
# SessionMessagingKit/Jobs/FailedMessageSendsJob.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Contacts.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserGroups.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserProfile.swift
# SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
# SessionMessagingKit/Messages/Message.swift
# SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift
# SessionMessagingKit/Sending & Receiving/Attachments/ThumbnailService.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+MessageRequests.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.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/OpenGroupPoller.swift
# SessionMessagingKit/Utilities/OWSAudioPlayer.m
# SessionMessagingKit/Utilities/Preferences.swift
# SessionMessagingKit/Utilities/ProfileManager.swift
# SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
# SessionNotificationServiceExtension/NSENotificationPresenter.swift
# SessionShareExtension/ShareNavController.swift
# SessionSnodeKit/LibSession/LibSession+Networking.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionSnodeKit/Types/ProxiedContentDownloader.swift
# SessionUIKit/Components/ConfirmationModal.swift
# SessionUtilitiesKit/Database/Models/Identity.swift
# SessionUtilitiesKit/General/AppContext.swift
# SessionUtilitiesKit/General/FileSystem.swift
# SessionUtilitiesKit/General/NSTimer+Proxying.m
# SessionUtilitiesKit/General/SNUserDefaults.swift
# SessionUtilitiesKit/General/UIDevice+featureSupport.swift
# SessionUtilitiesKit/Media/MediaUtils.swift
# SignalUtilitiesKit/Media Viewing & Editing/Image Editing/ImageEditorCropViewController.swift
# SignalUtilitiesKit/Media Viewing & Editing/MediaMessageView.swift
# SignalUtilitiesKit/Media Viewing & Editing/OWSVideoPlayer.swift
# SignalUtilitiesKit/Screen Lock/ScreenLockViewController.swift
5 months ago
Morgan Pretty
a32af018a7
Refactored the LintLocalizableStrings script
...
• Added new 'LintControl' mechanisms to allow for ignoring sections of code
• Added new 'MatchType' mechanisms for excluding unlocalized cases
• Updated the code to explicitly handle localized template strings (both single and multiline)
• Updated the code to process files across multiple threads to improve performance
• Updated the code to use Swift 5.7 regex and store in static variables to prevent reconstruction every time they are used
• Removed the list of individual files which are ignored (now just output a count)
• Fixed an issue where having a localized string on a subsequent line could result in an unlocalized (or incorrectly localized) string not being detected
• Fixed an issue where having multiple strings on a single line could result in an unlocalized string not being detected
• Fixed an issue where zero-width characters would result in the variable count comparison between translations failing
• Fixed a number of localization warnings
6 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
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
9491b4a97b
Fixed a crash and config issue
...
• Fixed a bad memory crash which could occur when returning from the background
• Fixed an issue where config messages were incorrectly getting double wrapped in protobuf wrappers
1 year ago
Morgan Pretty
5ee15bbc3f
Moved a bunch of networking logic into libSession
...
• Moved the snode cache and path building into libSession (deleted associated logic)
• Moved reachability detection into libSession (remove Reachability dependency)
• Fixed a couple of crashes with using libQuic requests
• Fixed a bug where the MessageRequestFooterView would show buttons on outgoing message requests
1 year ago
Morgan Pretty
c065abc584
Cleaned up a bunch of warnings, renamed a couple of folders
1 year ago
Morgan Pretty
756e256d9a
Moving libSession into SessionUtilitiesKit to expose it to other targets
1 year 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
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
abda057702
Merge remote-tracking branch 'origin/feature/drop-yap-database-support' into feature/groups-rebuild
...
# Conflicts:
# Scripts/LintLocalizableStrings.swift
# Session.xcodeproj/project.pbxproj
# Session/Calls/Views & Modals/IncomingCallBanner.swift
# Session/Meta/AppDelegate.swift
# Session/Onboarding/Onboarding.swift
# Session/Onboarding/SeedVC.swift
# SessionMessagingKit/Database/Migrations/_017_DisappearingMessagesConfiguration.swift
# SessionMessagingKit/Messages/Control Messages/LegacyConfigurationMessage.swift
# SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Shared.swift
# SessionMessagingKit/SessionUtil/SessionUtil.swift
# SessionUtilitiesKit/Database/Migrations/_003_YDBToGRDBMigration.swift
# SessionUtilitiesKit/Database/Storage.swift
# SessionUtilitiesKit/Database/Types/Migration.swift
# SessionUtilitiesKit/Database/Types/PagedDatabaseObserver.swift
# _SharedTestUtilities/SynchronousStorage.swift
2 years ago
Morgan Pretty
42b49e0227
Added unit tests to verify migrations between all versions work
...
Fixed a busted test import
2 years ago
Morgan Pretty
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
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
c77d7ecda1
[WIP] Refactored dependency access to be more generic
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
Morgan Pretty
8cf2a57fcc
Renamed GRDBStorage to Storage (no use having the prefix anymore since the old DB is deprecated)
3 years ago
Morgan Pretty
a998cadbb7
Fixed the broken unit tests
...
Fixed a few bugs uncovered by the unit tests
3 years ago
Morgan Pretty
18d833f152
Optimised the home screen query (~50% speed improvement)
...
Updated to the latest version of GRDB
Renamed some variables for clarity
Updated the "seed viewed" banner on the HomeVC to be driven by a database setting to be consistent with other UI changes
3 years ago
Morgan Pretty
8ff542405c
Finished of the Conversation screen and JobQueue concurrency
...
Updated the migrations to indicate progress (Potential to base progress for the "processing" sections on the file size of the legacy database)
Updated the JobRunner to properly support concurrent queues for sending/receiving (other queues are still serial)
Added the typing indicator logic into the ConversationVC
Put code into SUKLegacy for connecting to the YDB database
Fixed a couple of minor UI bugs with the GalleryRailView
Updated the media gallery selection screen to use the appropriate system theme colouring (was painful to randomly swap from dark mode to like for one screen...)
Added an alert for when the database migration fails
Deleted the legacy migrations (manually applying any unapplied changes as part of the YDB to GRDB migration process)
3 years ago
Morgan Pretty
26c7a5022a
Added a simple migration progress indicator and animation (need timing tweaks)
...
Cleaned up the creation of the GRDBStorage instance
Fixed an issue where the launch screen wasn't setting it's background colour based on the system setting
Renamed the GRDBStorageError to StorageError (in preparation of legacy 'Storage' relocation)
Consolidated the two Environment classes (in Swift)
Refactored the AppSetup class to Swift
3 years ago
Morgan Pretty
3f062c044c
Added back the majority of the ConversationVC interactions
...
Removed some more legacy code
Added back logic similar to the pre-processing de-duping logic (was resulting in "unsent" messages reappearing)
Added a number of updated view files
3 years ago
Morgan Pretty
b541666ef0
Got the ability to send message working again and other tweaks
...
Tested and fixed a couple of issues with the disappearingMessages job
Added a simple dependency system for jobs (primarily for the AttachmentUploadJob, but will likely be others later)
Setup the AttachmentUploadJob again (looks like there are cases which use it)
Prevented a possible infinite job deferral loop from causing the app to crash (the loop is still technically possible but the app will continue to run now)
Updated the interactions unique constraints based on testing and discussions around how the serverHash works
Deleted the legacy ReadReceipt handling (now managed via the 'interaction.wasRead' flag and 'SendReadReceiptsJob')
Deleted the unused SSKIncrementingIdFinder
3 years ago
Morgan Pretty
94742c80ec
Further work on the JobRunner
...
Fixed an issue where the hash retrieved when fetching messages from the service node might not be the latest one
Updated the MessageReceiveJob to batch process messages (on failure only the failed messages will retry)
3 years ago
Morgan Pretty
529e416dd1
Started work on GRDB logic and migrations
...
Setup a migration pattern
Setup the database configuration and security
Started defining the database schema
Started working on the migrations for SessionSnodeKit
3 years ago