Commit Graph

56 Commits (fab3b5683fd51be233f967d3fc6e00c4419c6f6c)

Author SHA1 Message Date
Morgan Pretty a080d67618 Fixed a couple of bugs and logging tweaks
• Refactored the remaining `SNLog` calls
• Added support for a 'customSuffix' to the log categories (similar to the 'customPrefix' it allows category name manipulation whilst keeping the existing log level settings)
• Improved logging in the PN extension
• Fixed an issue where the PN extension would end up with duplicate logs every time a new PN was received
• Fixed an issue where the PN extension would needlessly dispatch it's setup to the main thread
• Fixed an issue where the PN extension would try to read from the database after suspending it
• Fixed an issue where the PN extension could try to complete on a non-main thread (eg. db threads) which _might_ cause odd behaviours
8 months ago
Morgan Pretty 1dd8e8f197 Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Calls/Views & Modals/IncomingCallBanner.swift
#	Session/Calls/WebRTC/WebRTCSession.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Home/GlobalSearch/GlobalSearchViewController.swift
#	Session/Home/HomeVC.swift
#	Session/Home/Message Requests/MessageRequestsViewModel.swift
#	Session/Meta/AppDelegate.swift
#	Session/Meta/AppEnvironment.swift
#	Session/Meta/SessionApp.swift
#	Session/Notifications/NotificationPresenter.swift
#	Session/Notifications/PushRegistrationManager.swift
#	Session/Notifications/UserNotificationsAdaptee.swift
#	Session/Onboarding/Onboarding.swift
#	Session/Open Groups/JoinOpenGroupVC.swift
#	Session/Utilities/IP2Country.swift
#	Session/Utilities/MockDataGenerator.swift
#	Session/Utilities/UIContextualAction+Utilities.swift
#	SessionMessagingKit/Calls/CallManagerProtocol.swift
#	SessionMessagingKit/Database/Migrations/_013_SessionUtilChanges.swift
#	SessionMessagingKit/Database/Migrations/_014_GenerateInitialUserConfigDumps.swift
#	SessionMessagingKit/Database/Models/ClosedGroup.swift
#	SessionMessagingKit/Database/Models/Interaction.swift
#	SessionMessagingKit/Database/Models/SessionThread.swift
#	SessionMessagingKit/Jobs/DisappearingMessagesJob.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/Config Handling/LibSession+UserProfile.swift
#	SessionMessagingKit/LibSession/Database/QueryInterfaceRequest+Utilities.swift
#	SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
#	SessionMessagingKit/Open Groups/OpenGroupManager.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+LegacyClosedGroups.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/Pollers/CurrentUserPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SessionMessagingKit/Sending & Receiving/Typing Indicators/TypingIndicators.swift
#	SessionMessagingKit/Utilities/AppReadiness.swift
#	SessionMessagingKit/Utilities/Preferences.swift
#	SessionMessagingKit/Utilities/ProfileManager.swift
#	SessionMessagingKit/Utilities/SessionEnvironment.swift
#	SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
#	SessionNotificationServiceExtension/NotificationServiceExtension.swift
#	SessionShareExtension/ShareNavController.swift
#	SessionSnodeKit/LibSession/LibSession+Networking.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionUIKit/Components/PlaceholderIcon.swift
#	SessionUIKit/Utilities/UIContextualAction+Theming.swift
#	SessionUtilitiesKit/Crypto/Crypto.swift
#	SessionUtilitiesKit/Database/Storage.swift
#	SessionUtilitiesKit/Database/Types/Migration.swift
#	SessionUtilitiesKit/Database/Utilities/Database+Utilities.swift
#	SessionUtilitiesKit/General/AppContext.swift
#	SessionUtilitiesKit/General/Atomic.swift
#	SessionUtilitiesKit/General/Caches.swift
#	SessionUtilitiesKit/General/Dependencies.swift
#	SessionUtilitiesKit/General/FileSystem.swift
#	SessionUtilitiesKit/General/Logging.swift
#	SessionUtilitiesKit/General/SNUserDefaults.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
#	SessionUtilitiesKit/Types/BackgroundTaskManager.swift
#	SessionUtilitiesKit/Types/KeychainStorage.swift
#	SignalUtilitiesKit/Utilities/AppSetup.swift
#	_SharedTestUtilities/Mock.swift
#	_SharedTestUtilities/MockCaches.swift
#	_SharedTestUtilities/NimbleExtensions.swift
10 months ago
Morgan Pretty 08c7a2cf7f Refactored `Atomic<T>` to `@ThreadSafe` and `@ThreadSafeObject`
• Refactored `Atomic<T>` to `@ThreadSafe` and `@ThreadSafeObject` (the latter supports reentrancy
• Added some logging to the debug import process
11 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
12 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
1 year ago
Morgan Pretty bbadc038f6 Merge remote-tracking branch 'RyanFork/strings' into feature/groups-rebuild
# Conflicts:
#	Scripts/LintLocalizableStrings.swift
#	Session.xcodeproj/project.pbxproj
#	Session.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
#	Session.xcodeproj/xcshareddata/xcschemes/Session.xcscheme
#	Session/Calls/Call Management/SessionCall.swift
#	Session/Calls/Call Management/SessionCallManager.swift
#	Session/Calls/CallVC.swift
#	Session/Closed Groups/EditClosedGroupVC.swift
#	Session/Closed Groups/NewClosedGroupVC.swift
#	Session/Conversations/Context Menu/ContextMenuVC+Action.swift
#	Session/Conversations/Context Menu/ContextMenuVC+ActionView.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Emoji Picker/EmojiPickerCollectionView.swift
#	Session/Conversations/Message Cells/CallMessageCell.swift
#	Session/Conversations/Message Cells/Content Views/MediaAlbumView.swift
#	Session/Conversations/Message Cells/Content Views/MediaView.swift
#	Session/Conversations/Message Cells/Content Views/QuoteView.swift
#	Session/Conversations/Message Cells/Content Views/ReactionContainerView.swift
#	Session/Conversations/Message Cells/Content Views/SwiftUI/QuoteView_SwiftUI.swift
#	Session/Conversations/Message Cells/InfoMessageCell.swift
#	Session/Conversations/Message Cells/VisibleMessageCell.swift
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Conversations/Views & Modals/ConversationTitleView.swift
#	Session/Conversations/Views & Modals/MessageRequestFooterView.swift
#	Session/Emoji/Emoji+Available.swift
#	Session/Home/GlobalSearch/GlobalSearchViewController.swift
#	Session/Home/HomeVC.swift
#	Session/Home/HomeViewModel.swift
#	Session/Home/Message Requests/MessageRequestsViewModel.swift
#	Session/Home/New Conversation/NewConversationVC.swift
#	Session/Home/New Conversation/NewConversationViewModel.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/GifPickerLayout.swift
#	Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
#	Session/Media Viewing & Editing/GIFs/GiphyAPI.swift
#	Session/Media Viewing & Editing/GIFs/GiphyDownloader.swift
#	Session/Media Viewing & Editing/ImagePickerController.swift
#	Session/Media Viewing & Editing/MediaTileViewController.swift
#	Session/Media Viewing & Editing/MessageInfoScreen.swift
#	Session/Media Viewing & Editing/PhotoCapture.swift
#	Session/Media Viewing & Editing/PhotoCaptureViewController.swift
#	Session/Media Viewing & Editing/PhotoCollectionPickerViewModel.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/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/NotificationPresenter.swift
#	Session/Notifications/PushRegistrationManager.swift
#	Session/Notifications/SyncPushTokensJob.swift
#	Session/Notifications/UserNotificationsAdaptee.swift
#	Session/Onboarding/DisplayNameVC.swift
#	Session/Onboarding/FakeChatView.swift
#	Session/Onboarding/LandingVC.swift
#	Session/Onboarding/LinkDeviceVC.swift
#	Session/Onboarding/Onboarding.swift
#	Session/Onboarding/PNModeVC.swift
#	Session/Onboarding/RegisterVC.swift
#	Session/Onboarding/RestoreVC.swift
#	Session/Onboarding/SeedVC.swift
#	Session/Open Groups/JoinOpenGroupVC.swift
#	Session/Path/PathVC.swift
#	Session/Settings/BlockedContactsViewModel.swift
#	Session/Settings/ConversationSettingsViewModel.swift
#	Session/Settings/HelpViewModel.swift
#	Session/Settings/NotificationSettingsViewModel.swift
#	Session/Settings/NukeDataModal.swift
#	Session/Settings/PrivacySettingsViewModel.swift
#	Session/Settings/QRCodeVC.swift
#	Session/Settings/SeedModal.swift
#	Session/Settings/SettingsViewModel.swift
#	Session/Settings/Views/VersionFooterView.swift
#	Session/Shared/FullConversationCell.swift
#	Session/Shared/OWSBezierPathView.m
#	Session/Shared/ScanQRCodeWrapperVC.swift
#	Session/Shared/SessionCarouselView+SwiftUI.swift
#	Session/Shared/SessionTableViewController.swift
#	Session/Shared/Types/NavigatableState.swift
#	Session/Shared/Types/ObservableTableSource.swift
#	Session/Shared/Types/SessionCell+Accessory.swift
#	Session/Shared/Views/SessionCell+AccessoryView.swift
#	Session/Utilities/BackgroundPoller.swift
#	Session/Utilities/IP2Country.swift
#	Session/Utilities/MentionUtilities.swift
#	Session/Utilities/MockDataGenerator.swift
#	Session/Utilities/UIApplication+OWS.swift
#	Session/Utilities/UIContextualAction+Utilities.swift
#	SessionMessagingKit/Crypto/Crypto+Attachments.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/LinkPreview.swift
#	SessionMessagingKit/Database/Models/Profile.swift
#	SessionMessagingKit/Database/Models/RecipientState.swift
#	SessionMessagingKit/Database/Models/SessionThread.swift
#	SessionMessagingKit/Jobs/AttachmentDownloadJob.swift
#	SessionMessagingKit/Jobs/AttachmentUploadJob.swift
#	SessionMessagingKit/Jobs/CheckForAppUpdatesJob.swift
#	SessionMessagingKit/Jobs/ConfigMessageReceiveJob.swift
#	SessionMessagingKit/Jobs/ConfigurationSyncJob.swift
#	SessionMessagingKit/Jobs/DisappearingMessagesJob.swift
#	SessionMessagingKit/Jobs/MessageSendJob.swift
#	SessionMessagingKit/Jobs/RetrieveDefaultOpenGroupRoomsJob.swift
#	SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
#	SessionMessagingKit/Jobs/UpdateProfilePictureJob.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/LibSession+SessionMessagingKit.swift
#	SessionMessagingKit/Messages/Control Messages/ClosedGroupControlMessage.swift
#	SessionMessagingKit/Messages/Control Messages/ExpirationTimerUpdate.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/Attachments/ThumbnailService.swift
#	SessionMessagingKit/Sending & Receiving/Errors/MessageSenderError.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.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+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+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/ClosedGroupPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupAPI+Poller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SessionMessagingKit/Shared Models/MessageViewModel.swift
#	SessionMessagingKit/Utilities/Preferences.swift
#	SessionMessagingKit/Utilities/ProfileManager.swift
#	SessionMessagingKit/Utilities/ProfileManagerError.swift
#	SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
#	SessionMessagingKitTests/LibSession/LibSessionSpec.swift
#	SessionMessagingKitTests/LibSession/LibSessionUtilSpec.swift
#	SessionMessagingKitTests/LibSession/Utilities/LibSessionTypeConversionUtilitiesSpec.swift
#	SessionMessagingKitTests/Open Groups/Models/SOGSMessageSpec.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupAPISpec.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
#	SessionMessagingKitTests/Utilities/CryptoSMKSpec.swift
#	SessionNotificationServiceExtension/NSENotificationPresenter.swift
#	SessionNotificationServiceExtension/NotificationServiceExtension.swift
#	SessionShareExtension/ShareAppExtensionContext.swift
#	SessionShareExtension/ShareNavController.swift
#	SessionShareExtension/ThreadPickerVC.swift
#	SessionSnodeKit/Crypto/Crypto+SessionSnodeKit.swift
#	SessionSnodeKit/Database/Models/SnodeReceivedMessageInfo.swift
#	SessionSnodeKit/LibSession/LibSession+Networking.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/Network+OnionRequest.swift
#	SessionSnodeKit/Networking/PreparedRequest+OnionRequest.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionSnodeKit/Types/IPv4.swift
#	SessionSnodeKit/Types/PreparedRequest.swift
#	SessionSnodeKit/Types/ProxiedContentDownloader.swift
#	SessionSnodeKit/Types/ValidatableResponse.swift
#	SessionSnodeKitTests/Types/BencodeResponseSpec.swift
#	SessionSnodeKitTests/_TestUtilities/SSKMockedExtensions.swift
#	SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
#	SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift
#	SessionTests/Database/DatabaseSpec.swift
#	SessionTests/Settings/NotificationContentViewModelSpec.swift
#	SessionUIKit/Components/ConfirmationModal.swift
#	SessionUIKit/Components/PlaceholderIcon.swift
#	SessionUIKit/Components/ToastController.swift
#	SessionUIKit/Components/TopBannerController.swift
#	SessionUIKit/Style Guide/ThemeManager.swift
#	SessionUIKit/Style Guide/Values.swift
#	SessionUtilitiesKit/Crypto/Crypto+SessionUtilitiesKit.swift
#	SessionUtilitiesKit/Crypto/Crypto.swift
#	SessionUtilitiesKit/Database/Models/Identity.swift
#	SessionUtilitiesKit/Database/Storage.swift
#	SessionUtilitiesKit/Database/Types/Migration.swift
#	SessionUtilitiesKit/General/AppContext.swift
#	SessionUtilitiesKit/General/Data+Utilities.swift
#	SessionUtilitiesKit/General/Features.swift
#	SessionUtilitiesKit/General/FileSystem.swift
#	SessionUtilitiesKit/General/General.swift
#	SessionUtilitiesKit/General/Logging.swift
#	SessionUtilitiesKit/General/String+Trimming.swift
#	SessionUtilitiesKit/General/String+Utilities.swift
#	SessionUtilitiesKit/General/UIEdgeInsets.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
#	SessionUtilitiesKit/LibSession/LibSession.swift
#	SessionUtilitiesKit/Media/Data+Image.swift
#	SessionUtilitiesKit/Media/DataSource.swift
#	SessionUtilitiesKit/Media/MediaUtils.swift
#	SessionUtilitiesKit/Media/MimeTypeUtil.swift
#	SessionUtilitiesKit/Meta/SessionUtilitiesKit.h
#	SessionUtilitiesKit/Networking/Network.swift
#	SessionUtilitiesKit/Types/Threading.swift
#	SessionUtilitiesKit/Utilities/Bencode.swift
#	SessionUtilitiesKit/Utilities/UIImage+Utilities.swift
#	SessionUtilitiesKitTests/Database/Models/IdentitySpec.swift
#	SessionUtilitiesKitTests/Database/Utilities/PersistableRecordUtilitiesSpec.swift
#	SessionUtilitiesKitTests/General/SessionIdSpec.swift
#	SessionUtilitiesKitTests/JobRunner/JobRunnerSpec.swift
#	SessionUtilitiesKitTests/Utilities/BencodeDecoderSpec.swift
#	SessionUtilitiesKitTests/Utilities/BencodeResponseSpec.swift
#	SessionUtilitiesKitTests/Utilities/BencodeSpec.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalInputAccessoryView.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentCaptionToolbar.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Image Editing/ImageEditorModel.swift
#	SignalUtilitiesKit/Media Viewing & Editing/MediaMessageView.swift
#	SignalUtilitiesKit/Meta/SignalUtilitiesKit.h
#	SignalUtilitiesKit/Screen Lock/ScreenLock.swift
#	SignalUtilitiesKit/Utilities/AppSetup.swift
#	SignalUtilitiesKit/Utilities/Bench.swift
#	SignalUtilitiesKit/Utilities/NoopNotificationsManager.swift
#	SignalUtilitiesKit/Utilities/SwiftSingletons.swift
#	_SharedTestUtilities/CommonMockedExtensions.swift
#	_SharedTestUtilities/GRDBExtensions.swift
#	_SharedTestUtilities/MockCrypto.swift
#	_SharedTestUtilities/MockJobRunner.swift
#	_SharedTestUtilities/Mocked.swift
#	_SharedTestUtilities/SynchronousStorage.swift
1 year ago
Morgan Pretty 2bcd8e28ab Merge remote-tracking branch 'upstream/dev' into standardised-strings
# Conflicts:
#	Scripts/LintLocalizableStrings.swift
#	Session.xcodeproj/project.pbxproj
#	Session/Closed Groups/EditClosedGroupVC.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/Message Cells/Content Views/QuoteView.swift
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Conversations/Views & Modals/ConversationTitleView.swift
#	Session/Home/GlobalSearch/GlobalSearchViewController.swift
#	Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
#	Session/Media Viewing & Editing/PhotoCaptureViewController.swift
#	Session/Media Viewing & Editing/PhotoLibrary.swift
#	Session/Notifications/UserNotificationsAdaptee.swift
#	Session/Open Groups/JoinOpenGroupVC.swift
#	Session/Settings/NukeDataModal.swift
#	Session/Shared/ScanQRCodeWrapperVC.swift
#	SessionMessagingKit/Database/Models/Attachment.swift
#	SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
#	SessionMessagingKit/Database/Models/RecipientState.swift
#	SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift
#	SessionShareExtension/ShareNavController.swift
#	SessionShareExtension/ThreadPickerVC.swift
#	SessionUIKit/Components/TopBannerController.swift
#	SessionUtilitiesKit/General/String+Utilities.swift
#	SessionUtilitiesKit/Networking/IPv4.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalInputAccessoryView.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentCaptionToolbar.swift
#	SignalUtilitiesKit/Screen Lock/ScreenLock.swift
1 year ago
Morgan Pretty 7d38c9066c Reworked unobserved change handling to try to resolve crash (regenerate changeset) 1 year ago
Morgan Pretty ce01f128f3 Replaced Cocoapods with Swift Package Manager for dependency management 1 year 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
1 year ago
Morgan Pretty e89a77a279 Replaced Cocoapods with Swift Package Manager for dependency management 1 year ago
Ryan ZHAO 527c921df3 Merge branch 'onboarding' into standardised-strings 1 year 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
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
2 years ago
Morgan Pretty 601ba9a9b2 Objective-C Refactoring, Removed PureLayout, General Cleanup 2 years ago
Ryan ZHAO 63658f70d7 Merge branch 'dev' into standardised-strings 2 years ago
Ryan ZHAO 8f0b6d8202 WIP: Replace strings 2 years ago
Ryan ZHAO 96c6965f44 fix an issue where media gallery detail view was not displayed properly 2 years ago
ryanzhao c787d2558f Merge branch 'dev' into message-detail-screen 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
ryanzhao 7f1a1e1f29 Merge branch 'dev' into message-detail-screen 2 years ago
Morgan Pretty e6c26e7ff4 Cleaned up the GRDB interface for complex queries 2 years ago
ryanzhao f988f272d1 WIP: show attachment full screen 2 years ago
Ryan Zhao bf3b870c8f WIP: show full screen media gallery in message info screen 2 years ago
Morgan Pretty b6328f79b9 Reworked the app startup process
Shifted the initial HomeVC population to a background thread to avoid blocking launch processing
Added some logging for database 'ABORT' errors to better identify cases of deadlocks
Added a launch timeout modal to allow users to share their logs if the startup process happens to hang
Updated the notification handling (and cancelling) so it could run on background threads (seemed to take up a decent chunk of main thread time)
Fixed an issue where the IP2Country population was running sync which could cause a hang on startup
Fixed an issue where the code checking if the UIPasteBoard contained an image was explicitly advised against by the documentation (caused some reported hangs)
Fixed a hang which could be caused by a redundant function when the ImagePickerController appeared
2 years ago
Morgan Pretty 53a5db0ea5 Fixed a number of issues found during internal testing
Added copy for an unrecoverable startup case
Added some additional logs to better debug ValueObservation query errors
Increased the pageSize to 20 on iPad devices (to prevent it immediately loading a second page)
Cleaned up a bunch of threading logic (try to avoid overriding subscribe/receive threads specified at subscription)
Consolidated the 'sendMessage' and 'sendAttachments' functions
Updated the various frameworks to use 'DAWRF with DSYM' to allow for better debugging during debug mode (at the cost of a longer build time)
Updated the logic to optimistically insert messages when sending to avoid any database write delays
Updated the logic to avoid sending notifications for messages which are already marked as read by the config
Fixed an issue where multiple paths could incorrectly get built at the same time in some cases
Fixed an issue where other job queues could be started before the blockingQueue finishes
Fixed a potential bug with the snode version comparison (was just a string comparison which would fail when getting to double-digit values)
Fixed a bug where you couldn't remove the last reaction on a message
Fixed the broken media message zoom animations
Fixed a bug where the last message read in a conversation wouldn't be correctly detected as already read
Fixed a bug where the QuoteView had no line limits (resulting in the '@You' mention background highlight being incorrectly positioned in the quote preview)
Fixed a bug where a large number of configSyncJobs could be scheduled (only one would run at a time but this could result in performance impacts)
2 years ago
Morgan Pretty 345b693225 Fixed build issues, bugs, added unit tests and added the ConvoInfoVolatile handling
Added the unit tests for the ConvoInfoVolatile
Added icons to the swipe actions
Updated jobs to be able to be prioritised (and added priorities to the launch jobs to avoid some odd behaviours)
Fixed some build issues resulting from merging
Fixed an issue with the open group pubkey encoding
Fixed an issue where an imageView could get it's image set on a background thread
Fixed a bug where the swipe actions weren't getting theming applied when the theme changed
Fixed a bug where scheduling code after the next db transaction completes couldn't be nested (resulting in code not running)
Fixed a bug where the PagedDataObserver might not notify of unobserved changes if they reverted previous unobserved changes
Fixed a couple of incorrect SQL ordering use cases (was overriding instead of appending ordering)
Fixed an issue where the app would re-upload the avatar every launch (only affected this branch)
Fixed an issue where the home screen wouldn't update group avatars when their profile data changed
3 years ago
Morgan Pretty 174725c7fd Removed unneeded imports of libraries to understand usage
Refactored some 3rd-part standard encryption to use CryptoKit
Removed the PromiseKit pod
Fixed the broken tests
3 years ago
Morgan Pretty 1b350cf422 Fixed a number of crashes
Consolidated the PagedDatabaseObserver updating logic into a static function (can be improved further in the future)
Added defensive coding to prevent the LinkDeviceVC from crashing when the nav controller doesn't exist
Fixed an issue where the 'Permissions' callbacks were doing UI logic on background threads
Fixed an issue where the 'reloadCurrent' load type for the PagedDatabaseObserver was incorrectly increasing the 'currentCount' of the PageInfo
Fixed an issue where loading all of the data for paged data could result in a crash when the 'loadMore' section was removed
3 years ago
Morgan Pretty d8fd3b35b4 Theming tweaks and bug fixes
Made a tweak to prevent some odd looking keyboard transitions when going to conversation settings
Updated the PagedDatabaseObserver to not call 'onChangeUnsorted' on the main thread (now we can generate the changeset on the background thread so there is less main thread work)
Fixed an issue where the most recently received message from the swarm could be removed from the swarm yet the app would still poll for it, resulting in the swarm always returning the oldest possible messages until the user sends a new one-to-one message
Fixed an issue where the initial scroll offset could be incorrect due to certain message types
Fixed an issue where the title view inside a conversation could jump when pushing to the conversation settings screen
Refactored a couple of ObjC functions to Swift as they were crashing (due to memory allocation?) hopefully this will fix it
Tweaked some DispatchQueue priorities to ensure PagedDatabaseObserver loading is prioritised
Updated buttons to use a standard convention for highlighted states
Updated the new conversation button to follow the new highlighted state convention
3 years ago
Morgan Pretty 6eeb0ec7ac Fixed most of the styling issues raised during QA
Copy tweak
Added a toast when copying the sessionId or group URL (fixes to the toast UI as well)
Fixed the new conversation screen styling
Fixed the styling of the various attachment screens
Updated the buttons on the attachment screen to behave like the input view buttons
Removed the old OWSNavigationBar and OWSNavigationController (logic was buggy and not actually needed in most cases)
3 years ago
Morgan Pretty f7fd15dae0 Finished removing usages to non-theme colour variables
Updated theming throughout
Fixed a couple of bugs with the media gallery
3 years ago
Morgan Pretty 1bc6b0bdba Merge remote-tracking branch 'upstream/dev' into feature/theming
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Message Cells/VisibleMessageCell.swift
#	Session/Home/HomeVC.swift
#	Session/Home/Message Requests/MessageRequestsViewController.swift
#	Session/Media Viewing & Editing/MediaTileViewController.swift
#	Session/Meta/AppDelegate.swift
#	Session/Meta/Translations/de.lproj/Localizable.strings
#	Session/Meta/Translations/en.lproj/Localizable.strings
#	Session/Meta/Translations/es.lproj/Localizable.strings
#	Session/Meta/Translations/fa.lproj/Localizable.strings
#	Session/Meta/Translations/fi.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/id-ID.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/si.lproj/Localizable.strings
#	Session/Meta/Translations/sk.lproj/Localizable.strings
#	Session/Meta/Translations/sv.lproj/Localizable.strings
#	Session/Meta/Translations/th.lproj/Localizable.strings
#	Session/Meta/Translations/vi-VN.lproj/Localizable.strings
#	Session/Meta/Translations/zh-Hant.lproj/Localizable.strings
#	Session/Meta/Translations/zh_CN.lproj/Localizable.strings
#	Session/Onboarding/LandingVC.swift
#	SessionMessagingKitTests/_TestUtilities/MockGeneralCache.swift
3 years ago
ryanzhao d840204bc2 Merge branch 'dev' into add-documents-section 3 years ago
Morgan Pretty 7097853d58 A few bugs fixes and some optimisations
Fixed a bug where notifications could incorrectly appear for messages in the current thread
Fixed a bug where swiping left/right on images in the MediaDetailViewController could load images from other threads
Fixed a bug where the unread count wouldn't appear correctly when opening a conversation
Fixed a bug where the unread count on the conversation cell could get truncated
Fixed a bug where notifications weren't working correctly when the app is in the foreground
Fixed a bug where we weren't clearing the 'received X new messages' count when in the foreground
Fixed a bug where outgoing messages could get marked as read in a very specific case
Updated the "group notification" logic to only apply to Open Groups (and always doing it rather than just in the background)
Added a placeholder person icon when you have a closed group with a single member
Added a couple of indexes to improve the HomeVC database query performance (reduce launch time by ~15% in some cases)
Added a background task to give message sending the chance to complete when sending the app to the background
Removed an unneeded query from the HomeViewModel init (reduce launch time by ~10% in some cases)
Optimised one of the queries used to load the data needed for the conversation screen
3 years ago
Ryan Zhao bc16e3da4b fix: shift the threadId filter line above the variant and sourceFilename lines 3 years ago
ryanzhao 13370dbb9e add comments 3 years ago
ryanzhao d9f05f5b9c fix: filter voice messages with file name to prevent some cases that the attachment is not marked as voice message 3 years ago
ryanzhao 3f9e26729c fix sql statement 3 years ago
ryanzhao 8d385de389 clean 3 years ago
ryanzhao 1e1c5a5fde Merge branch 'database-refactor' into add-documents-section 3 years ago
ryanzhao 5b285e6bef fix: filter audio message attachments out of documents 3 years ago
ryanzhao ccc46dfbf8 Add “documents” section in the all media screen for a conversation 3 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 20dc74bc96 Added paging to the Home/MessageRequests screens and fix a bunch of bugs
Added a cache to the Identicon to prevent unneeded image generation
Replaced some 'withTint' calls to use the standard 'withRenderingMode' instead
Fixed a bug where the background would remain when swiping to reply
Fixed a crash which could occur with String-based settings
Fixed an issue where all messages in a thread wouldn't get marked as read when opening the thread (ie. existing behaviour)
Fixed a bug where going to the all media screen from a specific
Fixed a bug where the 'areCallsEnabled' preference wasn't getting migrated
Fixed a bug where you couldn't join any of the default open groups
Fixed a bug where it was polling for the invalid placeholder default open group
Fixed a few threading issues related to PromiseKit defaulting to run on the main thread
Updated and number of processes to run on "default" priority queues intead of "userInitiated" ones (since the docs suggest those are blocking)
Optimised the PagedDatabaseObserver to do a much more efficient count query
Updated the PagedDatabaseObserver to allow for triggering content updates when data changes outside of the paged or associated tables changes
Updated the HomeVC and MessageRequestsViewController to use paged queries
Made some optimisations to prevent unneeded database changes
3 years ago
Morgan Pretty ff08579088 Added logic to for unblinding current conversation & bug fixes
Added logic to handle unblinding the conversation the user currently has open
Fixed a bug where the nav bar wouldn't appear when creating a new account
Fixed a bug where messages send to an open group inbox weren't getting their open group server id set (causing duplicates)
Fixed a bug where the interaction/gallery data might not get updated in certain cases
Fixed an issue where visible messages which were getting sent over 24 hours than when they were originally meant to be sent would fail due to clock offset issues
3 years ago
Morgan Pretty af073657a2 Cleaned up received message handling and a few bugs with duplicate message handling
Updated the YDB to GRDB migrations to include some progress when importing swarms & interactions (ie. the slow parts we can't properly show progress for)
Changed the MessageReceiveJob into a MessageHandlingJob (when receiving a message we now parse and store everything immediately to avoid a number of weird edge-cases)
Fixed a bug where the Poller would drop a Snode when returning from the background because it's last request would generally time out
Fixed a few bugs with invalid attachments
Added the ability to retry downloading a failed attachment
Added back the search results limit
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