Morgan Pretty
1720e85e8f
Updated the Sodium library to fix a production linker error
...
Fixed a missing import/public modifier
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
07d1d8acee
Merge branch 'dev' into feature/session-id-blinding-part-2
...
# Conflicts:
# Podfile
# Podfile.lock
# Session/Calls/Views & Modals/CallVideoView.swift
# Session/Utilities/BackgroundPoller.swift
# SessionSnodeKit/SnodeAPI.swift
3 years ago
Morgan Pretty
59696f7d2c
Removed all the old Storage classes and YapDB extensions
...
Removed the AppUpdateNag code (unused)
Removed the Mantle dependency
3 years ago
Morgan Pretty
c500d4c6ca
Fixed a few bugs, resolved a number of TODOs and deleted more unused code
...
Fixed a couple of bugs with search term highlighting (updated the logic to make the highlighted content follow similar logic to what terms would have actually matched)
Fixed a bug where info messages in search results weren't rendering correctly
Shifted some duplicate query code for global search into variables
Fixed a small bug where sending attachments could incorrectly result in the mentions UI being visible
Fixed a bug where quote content was appearing incorrectly
Consolidated the ShareExtension Item and the ConversationCell.ViewModel into one type (with a more-limited query) to remove duplicate code
Added back a missing asset (deleted a long time ago)
3 years ago
Morgan Pretty
5bcc124388
Updated the SessionShareExtension to work with GRDB
...
Updated to the latest version of GRDB
Fixed an issue with db reentrant behaviour with the Attachment upload function
Finished up the updated 'sendNonDurability' functions
3 years ago
Morgan Pretty
531ddcb079
Replaced the GoogleWebRTC library (deprecated) with WebRTC-lib
3 years ago
Morgan Pretty
4eaa8c4d36
Updated Nimble to the latest version
...
Fixed some flaky OpenGroupManager tests
3 years ago
Morgan Pretty
1c575e520d
Merge remote-tracking branch 'upstream/voice-calls-2' into feature/session-id-blinding-part-2
...
# Conflicts:
# Podfile.lock
# Session.xcodeproj/project.pbxproj
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/Views & Modals/JoinOpenGroupModal.swift
# Session/Home/HomeVC.swift
# Session/Open Groups/JoinOpenGroupVC.swift
# Session/Utilities/BackgroundPoller.swift
# SessionMessagingKit/Jobs/AttachmentUploadJob.swift
# SessionMessagingKit/Open Groups/OpenGroupAPIV2.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
3 years ago
Morgan Pretty
11231599db
Further work on migrations and message pipeline refactoring
...
Refactored the AppDelegate from Objective C to Swift
Updated the HomeVC to use GRDB
Refactored a number of the Job types to be driven via GRDB and the new JobRunner
Fixed a bug where the LinkPreviewView wouldn't render correctly in dark mode
3 years ago
Morgan Pretty
b1cfa4f50a
Updated the Podfile to include the needed libraries
3 years ago
Morgan Pretty
31ecd78737
Refactored the mocking code to use a better convention which also allows for call validation
...
Added a Nimble predicate for checking a function on a mock was called
Added the various remove methods to the Storage protocol
Updated the Ed25519Type to be an instance-based protocol (needed for mocking)
3 years ago
Morgan Pretty
c04d4544f2
Added more unit tests
...
Refactored the existing unit tests to use Quick
Started adding unit tests for a number of the OpenGroupAPI network models
Added unit tests for the SessionId type
3 years ago
Morgan Pretty
a26ee12f8d
Further work on Id Blinding
...
Renamed the setter for the SOGS 'Server' object for consistency
Updated the Curve25519Kit repo to use an Oxen fork
Updated the MockDataGenerator to accomodate the latest changes
Updated the ConversationVC to better support getting replaced when the conversion from blinded to unblinded happens while on that screen
Added a cache for the mapping between blinded ids and standard ids (gets cached whenever a valid match is found)
Added a migration to remove the old 'authToken, 'lastMessageServerId' and 'lastDeletionServerId' collections (redundant in SOGS V4)
3 years ago
Morgan Pretty
cc2a077a6c
Started working on `MessageRequestResponse` handling for SOGS message requests
...
Pointing Curve25519 to use a fork that exposes an XEd25519 conversion method
Fixed an issue where I had broken all message sending due to the SnodeAPI casting Onion responses to `Any`
3 years ago
Morgan Pretty
f5e48cec01
Updated the project to use the Oxen fork of Sodium (instead of my one)
3 years ago
Morgan Pretty
ef09d4d5aa
Additional encryption work on id blinding
...
Got the updated blinding logic working (at least when authenticating a request - still need to deal with message signing and verification)
Storing the server capabilities in the database now so we can correctly blind requests based on them
Renamed the remaining 'v2' functions and classes to just be 'OpenGroup' since there isn't a 'V2' anymore
Cleaned up a few TODOs and functions
3 years ago
Morgan Pretty
eb927c36a9
Started cleaning up some of the SOGS and Onion Requests structure
...
Cleaned up the OnionRequestAPI so we don't need the LegacyOnionRequestAPI
Added requests for the user endpoints
Added deprecated flags to the legacy endpoints and functions
Added some logic to start handling the new poll (batch) response
Started adding unit tests for the OpenGroupAPI functions
3 years ago
Ryan Zhao
a61e99216d
update pods
3 years ago
Ryan Zhao
64374bb59e
Revert "update pods for merge"
...
This reverts commit 6cb571bb1b
.
3 years ago
Ryan Zhao
6cb571bb1b
update pods for merge
3 years ago
Ryan Zhao
b1c2802613
update pods
3 years ago
Morgan Pretty
09d63456b6
Merge branch 'dev' into fix/safari-sharing
...
# Conflicts:
# Podfile
# Podfile.lock
# Session.xcodeproj/project.pbxproj
3 years ago
Morgan Pretty
03fb5cbeeb
Cleanup and tweaks
...
Fixed some compilation issues.
Removed an unused dependency.
Cleaned up the Podfile to minimise duplication.
Pointed at an oxen fork of SignalCoreKit instead of a personal one.
3 years ago
Morgan Pretty
2fedba4cea
Addressed PR changes
...
Added NVActivityIndicatorView to the SessionShareExtension.
Removed the SignalAttachmentType.
3 years ago
Morgan Pretty
a7661da41a
Revert "Fixed M1 build issues"
...
This reverts commit ba1a0a2ac6
.
3 years ago
Morgan Pretty
ba1a0a2ac6
Fixed M1 build issues
...
Included the Podfile changes for building on an M1 Mac (Need to shift from personal to session fork).
Fixed some additional build issues due to unwrapping a non-optional type (Swift version?).
3 years ago
Morgan Pretty
9994c04f1e
Updated the Podfile to fix M1 Mac build issues
3 years ago
Niels Andriesse
876814dd43
Basic proof of concept
4 years ago
Niels Andriesse
74e9cacd58
Implement MockWebSocket
4 years ago
Niels Andriesse
170da7a276
Implement VideoCallVC & CameraManager
4 years ago
Niels Andriesse
030c869d06
Add WebRTC dependency & implement CallMessage
4 years ago
Niels Andriesse
f44cd070af
Fix typo
4 years ago
Niels Andriesse
89bac377fe
Fix PureLayout compilation bug
4 years ago
Niels Andriesse
a1c23394d6
Remove unused pods
4 years ago
Niels Andriesse
4958d3d368
Implement ONS API
4 years ago
Niels Andriesse
90e53e5cef
Redesign conversation screen part 1
4 years ago
Niels Andriesse
f2f3025554
Remove unused pod
4 years ago
Niels Andriesse
464e8864af
Clean up onboarding
4 years ago
Niels Andriesse
54e902c848
Fix various warnings
4 years ago
Niels Andriesse
ff09ee3e79
Delete unused files
4 years ago
Niels Andriesse
2a4977d269
Implement Session protocol
4 years ago
Niels Andriesse
75f7a7973b
Debug PN extension
4 years ago
Niels Andriesse
76f92000b9
Add missing pod
4 years ago
Niels Andriesse
2be42e892a
Prune unused notification service extension pods
4 years ago
Niels Andriesse
02454b6cc9
Point to forked YapDatabase repo
4 years ago
Niels Andriesse
ac6baec6f2
Make things compile again
4 years ago
nielsandriesse
5dfd4b1965
Restructure
4 years ago
nielsandriesse
b218a16b05
Implement attachment downloading
4 years ago
nielsandriesse
877751445d
Clean
4 years ago