Commit Graph

808 Commits (67311f6d25d0700e0e690c589aa6eae553e135b9)

Author SHA1 Message Date
Morgan Pretty 67311f6d25 Added some more tests and cleaned up some warnings
Fixed the broken LibSessionSpec tests
Added the libSessionSpec tests for GROUP_INFO and GROUP_MEMBERS
2 years ago
Morgan Pretty a48327f6f6 [WIP] Updated to the latest libSession and started plugging in
Updated the updated group messages encryption/decryption logic to work with the latest libSession
Disabled manual PN triggering for updated group messages
2 years ago
Morgan Pretty 4f10277a48 Clean up and fixed some broken tests 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 96b5403726 Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Meta/Translations/de.lproj/Localizable.strings
#	Session/Meta/Translations/en.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/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/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/vi.lproj/Localizable.strings
#	Session/Meta/Translations/zh-CN.lproj/Localizable.strings
#	Session/Meta/Translations/zh-TW.lproj/Localizable.strings
#	SessionMessagingKit/Calls/WebRTCSession.swift
#	SessionMessagingKit/Configuration.swift
#	SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Contacts.swift
#	SessionMessagingKit/Utilities/ProfileManager.swift
#	SessionMessagingKitTests/Jobs/Types/MessageSendJobSpec.swift
#	SessionMessagingKitTests/LibSessionUtil/LibSessionSpec.swift
#	SessionMessagingKitTests/LibSessionUtil/SessionUtilSpec.swift
#	SessionMessagingKitTests/Open Groups/Models/BatchRequestInfoSpec.swift
#	SessionMessagingKitTests/Open Groups/Models/SOGSMessageSpec.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupAPISpec.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
#	SessionMessagingKitTests/Open Groups/Types/SOGSEndpointSpec.swift
#	SessionMessagingKitTests/Sending & Receiving/MessageReceiverDecryptionSpec.swift
#	SessionMessagingKitTests/Sending & Receiving/MessageSenderEncryptionSpec.swift
#	SessionMessagingKitTests/Shared Models/SessionThreadViewModelSpec.swift
#	SessionMessagingKitTests/Utilities/CryptoSMKSpec.swift
#	SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
#	SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift
#	SessionTests/Settings/NotificationContentViewModelSpec.swift
#	SessionUtilitiesKitTests/Database/Models/IdentitySpec.swift
#	SessionUtilitiesKitTests/Database/Utilities/PersistableRecordUtilitiesSpec.swift
#	SessionUtilitiesKitTests/General/DependenciesSpec.swift
#	SessionUtilitiesKitTests/JobRunner/JobRunnerSpec.swift
#	_SharedTestUtilities/MockCaches.swift
2 years ago
Morgan Pretty bf58831313 Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
# Conflicts:
#	Scripts/LintLocalizableStrings.swift
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
Ryan Zhao 01671438d5 fix issues that the expiresStartAtMs not being set correctly 2 years ago
Ryan Zhao 33ef2b0920 refactor and fix issues that some control messages were not following disappearing messages settings 2 years ago
ryanzhao 2d0bbe4455 Merge branch 'dev' into disappearing-message-redesign
#	Session/Meta/Translations/de.lproj/Localizable.strings
#	Session/Meta/Translations/en.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/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/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/vi.lproj/Localizable.strings
#	Session/Meta/Translations/zh-CN.lproj/Localizable.strings
#	Session/Meta/Translations/zh-TW.lproj/Localizable.strings
2 years ago
Morgan Pretty 20ce1deb23 Merge remote-tracking branch 'upstream/dev' into fix/xcode-15-build-issues 2 years ago
ryanzhao d415ea5781 Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty 323a7a1bce
Merge pull request #906 from mpretty-cyro/feature/add-timestamps-to-notification-metadata
Added additional notification metadata and rate-limited PN subscriptions
2 years ago
Ryan Zhao 77ceac54e0 fix closed group default disappearing messages settings 2 years ago
Ryan Zhao 66e37cef07 Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty 4c934d2fda [WIP] Started work fixing XCode 15 build issues
Reworked the EmojiGenerator to structure the 'EmojiWithSkinTones+String" file as the original structure was causing XCode 15 to build forever
Reworked the seed node certificate loading in an effort to fix a crash
Updated to the latest version of webp
Commented out a line causing build issues
Fixed a number of build warnings
Fixed an issue which could cause migration issues when upgrading from certain old versions
2 years ago
Morgan Pretty 3abeeffd3d Fixed build errors and cleaned up Dependencies interface further
Fixed a build error
Cleaned up the Dependencies interface for UserDefaults and Storage settings
Refactored the AppVersion class to be in Swift
2 years ago
Morgan Pretty f92579db07 Fixed a couple more bugs with link previews
Fixed an issue where sending a link with a preview wouldn't work if you have a previous "failed" preview for the same link
Fixed an issue where receiving a link with a preview could update all existing previews to an invalid state
2 years ago
Morgan Pretty 7b04a4b888 Updated logic to prepare for updated group message crypto
Updated the message send/receive pipelines to better handle config and updated group messages
Changed the hard-coded 'WebSocketRequestMessage' proto wrapper to not have random data
Removed the old 'SharedConfigMessage' (deprecated and removed within 'libSession')
2 years ago
Morgan Pretty 8d7cce4617 Merge remote-tracking branch 'origin/feature/add-timestamps-to-notification-metadata' into feature/groups-rebuild
# Conflicts:
#	Session/Notifications/SyncPushTokensJob.swift
2 years ago
Morgan Pretty 8b1a4aaba0 Added additional notification metadata and rate-limited PN subscriptions
Fixed an issue where the PN subscription API call wasn't taking the frequency rate limit into account
Added the timestamp and expiration timestamp to the notification metadata
2 years ago
Morgan Pretty d6b92badc9 Fixed a couple of build errors 2 years ago
Morgan Pretty 65057fba21 Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC.swift
#	Session/Meta/AppDelegate.swift
#	SessionMessagingKit/Database/Models/Interaction.swift
#	SessionMessagingKit/Database/Models/SessionThread.swift
#	SessionMessagingKit/Sending & Receiving/Notifications/PushNotificationAPI.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Contacts.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+ConvoInfoVolatile.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserProfile.swift
#	SessionMessagingKit/SessionUtil/Database/QueryInterfaceRequest+Utilities.swift
#	SessionNotificationServiceExtension/NotificationServiceExtension.swift
#	SessionUtilitiesKit/Database/Storage.swift
#	SessionUtilitiesKit/Utilities/Bencode.swift
#	SignalUtilitiesKit/Utilities/AppSetup.swift
2 years ago
Morgan Pretty 0982526057 Adding support for a few more properties group members
Added 'name' value to updated groups USER_GROUP entry
Added ConvoInfoVolatile for updated groups
Cleaned up a bunch of direct sodium usages
Updated the code to create GroupMember entries based on the GROUP_MEMBERS config
Updated to the latest libSession
Fixed a bunch of group authentication issues
Fixed a minor threading issue
Fixed an issue with the PreparedRequest type conversion
2 years ago
Morgan Pretty a2f1f36d2c Fixed a number of issues with the Notification Service Extension
Fixed an issue where receiving a PN for outgoing messages could break the NotificationServiceExtension
Fixed an issue where the NotificationServiceExtension could startup in an invalid way resulting in subsequent PNs failing to process
Fixed an issue where you could incorrectly receive multiple generic notifications after receiving an incoming call notification
Fixed an issue where the read state syncing might not clear notifications from the notification center
Fixed an issue with parsing Bencoded data
Updated the PN subscription to subscribe to CONVO_INFO_VOLATILE notifications (update read state)
Updated the NotificationServiceExtension to use standard message processing where possible
Updated the NotificationServiceExtension to update the app badge based on a database query
2 years ago
Morgan Pretty b31afa89e1 Reworked SnodeAPI auth and prepared requests
Started refactored some logic to make it easier for unit testing
Started updating SnodeAPI calls with prepared requests
Fixed some issues with the PreparedRequest 'map' and 'handleEvents' functions
Genericised common pre-request behaviours for SnodeAPI calls
2 years ago
Morgan Pretty 5d9a2335ba Started trying to sync new groups between devices
Added a work around for getting an SQLite Busy exception on startup (should only be caused by edge-cases, unsure what the impact of the workaround will be if the db is actually busy)
Updated the auth to work for updated groups
Cleaned up group creation to seemingly work properly (not syncing for some reason)
2 years ago
Morgan Pretty c77d7ecda1 [WIP] Refactored dependency access to be more generic 2 years ago
Morgan Pretty f1075e9123 Started adding logic and unit tests for group creation
Reworked the config store to better support different types of config objects
Added the logic to create a group (not final just yet)
2 years ago
Morgan Pretty f44b545265 [WIP] Initial start on updated groups via configs
Started writing up wrappers and unit tests for group config types
Refactored some duplicate batch & prepared request code to be more generic and reusable
Renamed a number of legacy closed group functions to have the term 'legacy' in them for ease of coding
2 years ago
Morgan Pretty 812a951aba Added the group namespaces and added better build script error handling 2 years ago
Morgan Pretty 6c1b997e9b Merge branch 'feature/drop-yap-database-support' into feature/groups-rebuild
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift
#	SessionMessagingKit/Messages/Control Messages/ConfigurationMessage.swift
#	SessionUtilitiesKit/Database/Storage.swift
2 years ago
Ryan Zhao e1f5f86743 try to fix unit test 2 years ago
Ryan Zhao a7a19abccf update unit test 2 years ago
Ryan Zhao 9e1f68380a Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty 9c9fb09254 Merge remote-tracking branch 'upstream/dev' into feature/blinded-message-request-setting
# Conflicts:
#	SessionMessagingKit/Configuration.swift
2 years ago
Morgan Pretty 32527d7e83
Merge pull request #856 from mpretty-cyro/feature/updated-push-server
Updated Push Notification API Integration
2 years ago
Morgan Pretty d863004e6d Added a setting to control community message request polling
Added logic to broadcast the community message request acceptance to SOGS so we can communicate it to message request senders
Fixed an issue where database setting changes wouldn't trigger a live update on a settings screen
Fixed an issue where some setting toggles wouldn't animate the state change
Fixed a rarw force-unwrap crash
2 years ago
Ryan Zhao acbf6fb126 clean 2 years ago
Morgan Pretty 63be502434 Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	SessionMessagingKit/Configuration.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
#	SessionUtilitiesKit/General/Dictionary+Utilities.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
2 years ago
Morgan Pretty 50bc2f9a5c Removed YapDatabase and the migrations
Removed the YapDatabase CocoaPod
Removed logic to migrate from YapDatabase to GRDB
Removed the logic to check for legacy config messages during onboarding
Added a database error for when a migration is no longer supported
2 years ago
Morgan Pretty 0e952b40bb Removed 'useSharedUtilForUserConfig' flag and most legacy config logic 2 years ago
Morgan Pretty 18ee9d34fa Merge remote-tracking branch 'upstream/dev' into feature/updated-push-server
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SessionMessagingKit/Open Groups/Types/SodiumProtocols.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
#	SessionMessagingKitTests/_TestUtilities/MockAeadXChaCha20Poly1305Ietf.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
2 years ago
Morgan Pretty 66b94778e0 Fixed the build issues and a bug where a new legacy group wasn't subscribile 2 years ago
Morgan Pretty 1b0fda56ad Merge remote-tracking branch 'upstream/dev' into feature/updated-push-server
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	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/Notifications/SyncPushTokensJob.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
#	SessionShareExtension/ShareNavController.swift
2 years ago
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
ryanzhao 18d3ab0e0e Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty e768bebe6d Merge remote-tracking branch 'upstream/dev' into feature/job-runner-unit-tests
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Meta/Session-Prefix.pch
#	Session/Notifications/SyncPushTokensJob.swift
#	Session/Utilities/BackgroundPoller.swift
#	SessionMessagingKit/Configuration.swift
#	SessionMessagingKit/Database/Models/Profile.swift
#	SessionMessagingKit/Jobs/Types/AttachmentDownloadJob.swift
#	SessionMessagingKit/Jobs/Types/AttachmentUploadJob.swift
#	SessionMessagingKit/Jobs/Types/DisappearingMessagesJob.swift
#	SessionMessagingKit/Jobs/Types/FailedAttachmentDownloadsJob.swift
#	SessionMessagingKit/Jobs/Types/FailedMessageSendsJob.swift
#	SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
#	SessionMessagingKit/Jobs/Types/MessageReceiveJob.swift
#	SessionMessagingKit/Jobs/Types/MessageSendJob.swift
#	SessionMessagingKit/Jobs/Types/NotifyPushServerJob.swift
#	SessionMessagingKit/Jobs/Types/RetrieveDefaultOpenGroupRoomsJob.swift
#	SessionMessagingKit/Jobs/Types/SendReadReceiptsJob.swift
#	SessionMessagingKit/Jobs/Types/UpdateProfilePictureJob.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/ClosedGroupPoller.swift
#	SessionMessagingKit/Utilities/AppReadiness.m
#	SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
#	SessionMessagingKitTests/_TestUtilities/TestOnionRequestAPI.swift
#	SessionShareExtension/ShareNavController.swift
#	SessionSnodeKit/Jobs/GetSnodePoolJob.swift
#	SessionUtilitiesKit/Configuration.swift
#	SessionUtilitiesKit/Database/Utilities/Database+Utilities.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
#	SignalUtilitiesKit/Meta/SignalUtilitiesKit.h
#	SignalUtilitiesKit/Utilities/SSKAsserts.h
2 years ago
Morgan Pretty bc5d8d0931 Cleaning up final things before release
Added basic support for the '25' blinded prefix
Fixed a unit test CI issue
2 years ago
ryanzhao 31976048bd Merge branch 'feature/updated-user-config-handling' of https://github.com/mpretty-cyro/session-ios into disappearing-message-redesign 2 years ago