Morgan Pretty
a1e88329db
Merge branch 'dev' into feature/theming
...
# Conflicts:
# Podfile.lock
# Session.xcodeproj/project.pbxproj
# Session/Conversations/Message Cells/VisibleMessageCell.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
# SessionMessagingKit/Shared Models/MessageViewModel.swift
# SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
# SignalUtilitiesKit/Profile Pictures/ProfilePictureView.swift
2022-08-26 13:24:42 +10:00
Morgan Pretty
3ab8bdec77
Fixed an issue where hidden mods/admins wouldn't be properly recognised
...
Added an isHidden flag to the GroupMember
Reset the OpenGroup 'infoUpdates' value to force a re-fetch of the data and fix users affected by this bug
Fixed the broken unit tests
2022-08-16 13:56:40 +10:00
Morgan Pretty
d56cee8234
Progressing on theming functionality
...
Created the ThemeManager and the system to control the dynamic theming
Started updating the main settings screens
Added the AppearanceViewController and connected it to the ThemeManager
Started adding theme values
Started applying theme values throughout
2022-08-12 13:35:17 +10:00
Morgan Pretty
fde19efc13
Fixed a duplicate dependency issue
2022-07-29 15:29:20 +10:00
Morgan Pretty
4d5ded7557
Fixed a few bugs with media attachment handling, added webp support
...
Updated the OpenGroupManager to create a BlindedIdLookup for messages within the `inbox` (validating that the sessionId does actually match the blindedId)
Added support for static and animated WebP images
Added basic support for HEIC and HEIF images
Fixed an issue where the file size limit was set to 10,000,000 bytes instead of 10,485,760 bytes (which is actually 10Mb)
Fixed an issue where attachments uploaded by the current user on other devices would always show a loading indicator
Fixed an issue where media attachments that don't contain width/height information in their protos weren't updating the values once the download was completed
Fixed an issue where the media view could download an invalid file and endlessly appear to be downloading
2022-07-29 15:26:24 +10:00
Morgan Pretty
1720e85e8f
Updated the Sodium library to fix a production linker error
...
Fixed a missing import/public modifier
2022-06-20 18:12:19 +10:00
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
2022-06-08 14:29:51 +10:00
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
2022-06-02 15:41:28 +10:00
Morgan Pretty
59696f7d2c
Removed all the old Storage classes and YapDB extensions
...
Removed the AppUpdateNag code (unused)
Removed the Mantle dependency
2022-06-01 17:41:20 +10:00
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)
2022-05-23 17:16:14 +10:00
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
2022-05-15 14:39:21 +10:00
Morgan Pretty
531ddcb079
Replaced the GoogleWebRTC library (deprecated) with WebRTC-lib
2022-05-13 11:54:36 +10:00
Morgan Pretty
4eaa8c4d36
Updated Nimble to the latest version
...
Fixed some flaky OpenGroupManager tests
2022-04-29 11:51:56 +10:00
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
2022-04-26 13:06:12 +10:00
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
2022-04-21 16:42:35 +10:00
Morgan Pretty
b1cfa4f50a
Updated the Podfile to include the needed libraries
2022-03-23 14:55:02 +11:00
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)
2022-03-11 16:57:28 +11:00
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
2022-03-02 17:11:18 +11:00
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)
2022-03-01 14:06:37 +11:00
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`
2022-02-25 17:48:09 +11:00
Morgan Pretty
f5e48cec01
Updated the project to use the Oxen fork of Sodium (instead of my one)
2022-02-21 14:59:51 +11:00
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
2022-02-17 18:33:23 +11:00
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
2022-02-15 13:55:59 +11:00
Ryan Zhao
a61e99216d
update pods
2022-02-04 11:04:39 +11:00
Ryan Zhao
64374bb59e
Revert "update pods for merge"
...
This reverts commit 6cb571bb1b
.
2022-02-04 11:01:41 +11:00
Ryan Zhao
6cb571bb1b
update pods for merge
2022-02-04 10:07:05 +11:00
Ryan Zhao
b1c2802613
update pods
2022-02-04 10:03:23 +11:00
Morgan Pretty
09d63456b6
Merge branch 'dev' into fix/safari-sharing
...
# Conflicts:
# Podfile
# Podfile.lock
# Session.xcodeproj/project.pbxproj
2022-01-27 15:17:28 +11:00
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.
2022-01-25 12:05:45 +11:00
Morgan Pretty
2fedba4cea
Addressed PR changes
...
Added NVActivityIndicatorView to the SessionShareExtension.
Removed the SignalAttachmentType.
2022-01-14 15:10:22 +11:00
Morgan Pretty
a7661da41a
Revert "Fixed M1 build issues"
...
This reverts commit ba1a0a2ac6
.
2022-01-14 12:51:18 +11:00
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?).
2022-01-11 14:37:05 +11:00
Morgan Pretty
9994c04f1e
Updated the Podfile to fix M1 Mac build issues
2022-01-10 10:38:54 +11:00
Niels Andriesse
876814dd43
Basic proof of concept
2021-08-13 13:47:22 +10:00
Niels Andriesse
74e9cacd58
Implement MockWebSocket
2021-08-12 13:54:44 +10:00
Niels Andriesse
170da7a276
Implement VideoCallVC & CameraManager
2021-08-12 13:12:44 +10:00
Niels Andriesse
030c869d06
Add WebRTC dependency & implement CallMessage
2021-08-10 14:09:45 +10:00
Niels Andriesse
f44cd070af
Fix typo
2021-05-24 14:09:19 +10:00
Niels Andriesse
89bac377fe
Fix PureLayout compilation bug
2021-05-24 14:05:55 +10:00
Niels Andriesse
a1c23394d6
Remove unused pods
2021-03-05 09:49:25 +11:00
Niels Andriesse
4958d3d368
Implement ONS API
2021-03-03 11:16:34 +11:00
Niels Andriesse
90e53e5cef
Redesign conversation screen part 1
2021-02-09 15:14:18 +11:00
Niels Andriesse
f2f3025554
Remove unused pod
2021-01-29 11:08:52 +11:00
Niels Andriesse
464e8864af
Clean up onboarding
2021-01-29 11:06:14 +11:00
Niels Andriesse
54e902c848
Fix various warnings
2021-01-28 15:40:45 +11:00
Niels Andriesse
ff09ee3e79
Delete unused files
2021-01-25 13:31:38 +11:00
Niels Andriesse
2a4977d269
Implement Session protocol
2020-12-14 09:49:02 +11:00
Niels Andriesse
75f7a7973b
Debug PN extension
2020-12-03 17:26:29 +11:00
Niels Andriesse
76f92000b9
Add missing pod
2020-12-03 17:09:47 +11:00
Niels Andriesse
2be42e892a
Prune unused notification service extension pods
2020-12-03 15:23:41 +11:00