Morgan Pretty
a41f1c1366
Fixed the broken tests
...
Cleaned up the Dependencies so that tests can run synchronously without having to custom set queues as much
Sorted out the crypto and network dependencies to avoid needing weird dependency inheritance
Fixed the flaky tests so they are no longer flaky
Fixed some unexpected JobRunner behaviours
Updated the CI config to use a local build directory for derivedData (now works with build tweaks)
2 years ago
Morgan Pretty
6cf7cc42ab
Fixed up the remaining reported internal testing issues
...
Removed the 'readPublisherFlatMap/writePublisherFlatMap' functions as they easily resulted in behaviours which held up database threads
Tweaked the logic around starting the open group pollers to avoid an unlikely atomic lock blocks
Updated some logic to avoid accessing database read threads for longer than needed
Updated the OpenGroupManager to only update the 'seqNo' value for valid messages
Cleaned up some double Atomic wrapped instances which had some weird access behaviours
Fixed an issue where a database read thread could have been started within a database write thread
Fixed an issue where the ReplaySubject might not emit values in some cases
2 years ago
Morgan Pretty
fa39b5f61c
Merge remote-tracking branch 'upstream/dev' into feature/updated-user-config-handling
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Calls/CallVC.swift
# Session/Conversations/Message Cells/Content Views/DocumentView.swift
# Session/Conversations/Settings/OWSMessageTimerView.m
# SessionMessagingKit/File Server/FileServerAPI.swift
# SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift
# SessionMessagingKit/Open Groups/OpenGroupManager.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Shared Models/MessageViewModel.swift
# SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
# SessionSnodeKit/SnodeAPI.swift
# SessionUtilitiesKit/Networking/HTTP.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentTextToolbar.swift
2 years ago
Morgan Pretty
70ce967df6
Made a few optimisations and fixes
...
Made a couple of DB query optimisations for the Home and Conversation screens
Removed some compiler-complex global generic functions
Increased the timeout for file uploads
Fixed a few import issues
Fixed an issue preventing calls on the simulator from working (disable CallKit on the simulator)
Fixed an issue where opening a conversation with a draft would result in a typing indicator notification being sent (if enabled)
Fixed a truncation issue on the CallVC
2 years ago
Morgan Pretty
4f8fb63f2c
Merge remote-tracking branch 'upstream/dev' into feature/updated-user-config-handling
...
# Conflicts:
# Session/Media Viewing & Editing/PhotoCapture.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/Notifications/AppNotifications.swift
# Session/Onboarding/RestoreVC.swift
# Session/Shared/SessionTableViewController.swift
# Session/Shared/SessionTableViewModel.swift
# SessionMessagingKit/Calls/WebRTCSession.swift
# SessionMessagingKit/Database/Models/Attachment.swift
# SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
# SessionMessagingKit/File Server/FileServerAPI.swift
# SessionMessagingKit/Jobs/Types/AttachmentDownloadJob.swift
# SessionMessagingKit/Open Groups/OpenGroupAPI.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionSnodeKit/OnionRequestAPI.swift
# SessionSnodeKit/SnodeAPI.swift
# SessionUtilitiesKit/Database/Models/Identity.swift
# SessionUtilitiesKit/JobRunner/JobRunner.swift
2 years ago
Ryan Zhao
c867c95c7a
fix a crash happening when long mnemonic is used to recover an account
2 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
2 years ago
Morgan Pretty
1345e89809
Further config util logic
...
Removed the usage of the OWSAES256Key (using CryptoKit and raw data instead)
Removed the pre-compiled headers to speed up builds with minor changes (explicit imports instead)
# Conflicts:
# Session.xcodeproj/project.pbxproj
# SessionMessagingKit/Database/Models/ClosedGroup.swift
# SessionMessagingKit/Protos/Generated/SNProto.swift
# SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift
# SessionMessagingKit/Protos/SessionProtos.proto
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
# SessionMessagingKit/Utilities/ProfileManager.swift
# SessionSnodeKit/Models/DeleteAllMessagesRequest.swift
# SessionSnodeKit/Models/GetMessagesRequest.swift
# SessionSnodeKit/Models/SendMessageRequest.swift
# SessionSnodeKit/Types/SnodeAPINamespace.swift
2 years ago
Morgan Pretty
c25f378c54
Merge branch 'feature/database-refactor' into emoji-reacts
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Conversations/Context Menu/ContextMenuVC+Action.swift
# Session/Conversations/Context Menu/ContextMenuVC+ActionView.swift
# Session/Conversations/Context Menu/ContextMenuVC.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationVC.swift
# Session/Conversations/ConversationViewItem.h
# Session/Conversations/ConversationViewItem.m
# Session/Conversations/Message Cells/Content Views/LinkPreviewView.swift
# Session/Conversations/Message Cells/MessageCell.swift
# Session/Conversations/Message Cells/VisibleMessageCell.swift
# Session/Conversations/Views & Modals/BodyTextView.swift
# Session/Meta/Translations/en.lproj/Localizable.strings
# Session/Shared/UserCell.swift
# SessionMessagingKit/Jobs/MessageSendJob.swift
# SessionMessagingKit/Messages/Signal/TSMessage.h
# SessionMessagingKit/Messages/Signal/TSMessage.m
# SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift
# SessionMessagingKit/Open Groups/OpenGroupAPIV2.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift
# SessionMessagingKit/Sending & Receiving/Notifications/NotificationsProtocol.h
# SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPollerV2.swift
# SessionMessagingKit/Utilities/General.swift
# SessionNotificationServiceExtension/NSENotificationPresenter.swift
# SignalUtilitiesKit/Utilities/DisplayableText.swift
# SignalUtilitiesKit/Utilities/NoopNotificationsManager.swift
# SignalUtilitiesKit/Utilities/Notification+Loki.swift
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
290bce5ce0
Merge branch 'feature/session-id-blinding-part-2' into feature/database-refactor
...
# Conflicts:
# Podfile
# Podfile.lock
# Session.xcodeproj/project.pbxproj
# Session/Closed Groups/EditClosedGroupVC.swift
# Session/Closed Groups/NewClosedGroupVC.swift
# Session/Conversations/Context Menu/ContextMenuVC+Action.swift
# Session/Conversations/Context Menu/ContextMenuVC.swift
# Session/Conversations/ConversationMessageMapping.swift
# Session/Conversations/ConversationSearch.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationVC.swift
# Session/Conversations/ConversationViewItem.h
# Session/Conversations/ConversationViewItem.m
# Session/Conversations/ConversationViewModel.m
# Session/Conversations/Input View/InputView.swift
# Session/Conversations/Input View/MentionSelectionView.swift
# Session/Conversations/LongTextViewController.swift
# Session/Conversations/Message Cells/Content Views/LinkPreviewView.swift
# Session/Conversations/Message Cells/MessageCell.swift
# Session/Conversations/Message Cells/VisibleMessageCell.swift
# Session/Conversations/Settings/OWSConversationSettingsViewController.m
# Session/Conversations/Views & Modals/ConversationTitleView.swift
# Session/Conversations/Views & Modals/DownloadAttachmentModal.swift
# Session/Conversations/Views & Modals/JoinOpenGroupModal.swift
# Session/Conversations/Views & Modals/LinkPreviewModal.swift
# Session/Conversations/Views & Modals/MessagesTableView.swift
# Session/Conversations/Views & Modals/URLModal.swift
# Session/Home/GlobalSearch/GlobalSearchViewController.swift
# Session/Home/HomeVC.swift
# Session/Home/Message Requests/MessageRequestsViewController.swift
# Session/Media Viewing & Editing/MediaDetailViewController.m
# Session/Media Viewing & Editing/MediaPageViewController.swift
# Session/Meta/AppDelegate.m
# Session/Meta/AppDelegate.swift
# Session/Meta/AppEnvironment.swift
# Session/Meta/Signal-Bridging-Header.h
# Session/Meta/Translations/en.lproj/Localizable.strings
# Session/Meta/Translations/hi.lproj/Localizable.strings
# Session/Meta/Translations/si.lproj/Localizable.strings
# Session/Meta/Translations/zh-Hant.lproj/Localizable.strings
# Session/Notifications/AppNotifications.swift
# Session/Open Groups/JoinOpenGroupVC.swift
# Session/Settings/NukeDataModal.swift
# Session/Settings/SeedModal.swift
# Session/Settings/SettingsVC.swift
# Session/Settings/ShareLogsModal.swift
# Session/Shared/ConversationCell.swift
# Session/Shared/UserSelectionVC.swift
# Session/Utilities/BackgroundPoller.swift
# Session/Utilities/MentionUtilities.swift
# Session/Utilities/MockDataGenerator.swift
# SessionMessagingKit/Database/OWSPrimaryStorage.m
# SessionMessagingKit/Database/SSKPreferences.swift
# SessionMessagingKit/Database/Storage+Contacts.swift
# SessionMessagingKit/Database/Storage+Jobs.swift
# SessionMessagingKit/Database/Storage+Messaging.swift
# SessionMessagingKit/Database/Storage+OpenGroups.swift
# SessionMessagingKit/Database/TSDatabaseView.m
# SessionMessagingKit/File Server/FileServerAPIV2.swift
# SessionMessagingKit/Jobs/AttachmentDownloadJob.swift
# SessionMessagingKit/Jobs/AttachmentUploadJob.swift
# SessionMessagingKit/Jobs/JobQueue.swift
# SessionMessagingKit/Jobs/MessageReceiveJob.swift
# SessionMessagingKit/Jobs/MessageSendJob.swift
# SessionMessagingKit/Jobs/NotifyPNServerJob.swift
# SessionMessagingKit/Messages/Control Messages/ClosedGroupControlMessage.swift
# SessionMessagingKit/Messages/Control Messages/ConfigurationMessage+Convenience.swift
# SessionMessagingKit/Messages/Message+Destination.swift
# SessionMessagingKit/Messages/Signal/TSIncomingMessage.h
# SessionMessagingKit/Messages/Signal/TSIncomingMessage.m
# SessionMessagingKit/Messages/Signal/TSInfoMessage.h
# SessionMessagingKit/Messages/Signal/TSInfoMessage.m
# SessionMessagingKit/Messages/Signal/TSInteraction.h
# SessionMessagingKit/Messages/Signal/TSInteraction.m
# SessionMessagingKit/Messages/Signal/TSMessage.h
# SessionMessagingKit/Messages/Signal/TSMessage.m
# SessionMessagingKit/Open Groups/OpenGroupAPIV2+ObjC.swift
# SessionMessagingKit/Open Groups/OpenGroupAPIV2.swift
# SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift
# SessionMessagingKit/Open Groups/OpenGroupMessageV2.swift
# SessionMessagingKit/Sending & Receiving/Mentions/MentionsManager.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver+Decryption.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/MessageSender+ClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/MessageSender+Encryption.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/Sending & Receiving/Notifications/NotificationsProtocol.h
# SessionMessagingKit/Sending & Receiving/Pollers/ClosedGroupPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPollerV2.swift
# SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
# SessionMessagingKit/Storage.swift
# SessionMessagingKit/Threads/Notification+Thread.swift
# SessionMessagingKit/Threads/TSContactThread.h
# SessionMessagingKit/Threads/TSContactThread.m
# SessionMessagingKit/Threads/TSGroupModel.h
# SessionMessagingKit/Threads/TSGroupModel.m
# SessionMessagingKit/Threads/TSGroupThread.m
# SessionMessagingKit/Utilities/General.swift
# SessionNotificationServiceExtension/NSENotificationPresenter.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionSnodeKit/OnionRequestAPI+Encryption.swift
# SessionSnodeKit/OnionRequestAPI.swift
# SessionSnodeKit/SnodeAPI.swift
# SessionSnodeKit/SnodeMessage.swift
# SessionSnodeKit/Storage+SnodeAPI.swift
# SessionSnodeKit/Storage.swift
# SessionUtilitiesKit/General/Array+Utilities.swift
# SessionUtilitiesKit/General/Dictionary+Utilities.swift
# SessionUtilitiesKit/General/SNUserDefaults.swift
# SessionUtilitiesKit/General/Set+Utilities.swift
# SessionUtilitiesKit/Meta/SessionUtilitiesKit.h
# SessionUtilitiesKit/Utilities/Optional+Utilities.swift
# SessionUtilitiesKit/Utilities/Sodium+Conversion.swift
# SignalUtilitiesKit/Configuration.swift
# SignalUtilitiesKit/Database/Migrations/OpenGroupServerIdLookupMigration.swift
# SignalUtilitiesKit/Messaging/FullTextSearcher.swift
# SignalUtilitiesKit/Messaging/Sending & Receiving/MessageSender+Convenience.swift
# SignalUtilitiesKit/Profile Pictures/Identicon+ObjC.swift
# SignalUtilitiesKit/To Do/OWSProfileManager.m
# SignalUtilitiesKit/Utilities/NoopNotificationsManager.swift
# SignalUtilitiesKit/Utilities/UIView+OWS.swift
3 years ago
Morgan Pretty
cf66edb723
Further work on SessionMessagingKit migrations
...
Added migrations for contacts and started working through thread migration (have contact and closed group threads migrating)
Deprecated usage of ECKeyPair in the migrations (want to be able to remove Curve25519Kit in the future)
3 years ago
Morgan Pretty
4ee4b3ffb3
Started adding migration logic for contacts
...
Updated the getUserHexEncodedPublicKey to take an optional db value so we can retrieve it during the initial migration
3 years ago
Morgan Pretty
a1b4554cdb
Migrated the SessionSnodeKit from YapDatabase to GRDB
...
Changed the min OS version to iOS 13.0 (support for 'Identifiable')
Removed the alternate approaches to fetching the userKeyPair and userPublicKeyHexString (no consistently routed through the caching method)
Migrated the 'OWSIdentityManager' logic to use the new 'Identity' type
Added the 'Setting' table and got the pattern working fairly nicely (unfortunately there isn't a good way to avoid key collision without proper enums)
Updated the SessionSnodeKit to migration it's data from YDB to GRDB
Updated the SessionSnodeKit to use GRDB throughout it's logic
3 years ago
nielsandriesse
c98cfe420d
Fix spacing
4 years ago
nielsandriesse
bf9d860214
Batch thread updates
4 years ago
Niels Andriesse
90e53e5cef
Redesign conversation screen part 1
4 years ago
Niels Andriesse
6e673945c5
Re-organize files
4 years ago