Morgan Pretty
be7881ad2e
Merge remote-tracking branch 'origin/feature/updated-user-config-handling' into disappearing-message-redesign
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Conversations/ConversationVC.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Conversations/Views & Modals/ConversationTitleView.swift
# Session/Notifications/AppNotifications.swift
# Session/Settings/NukeDataModal.swift
# Session/Shared/SessionTableViewModel.swift
# Session/Shared/Views/SessionCell.swift
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Database/Models/Contact.swift
# SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
# SessionMessagingKit/Messages/Control Messages/ClosedGroupControlMessage.swift
# SessionMessagingKit/Messages/Message.swift
# SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift
# SessionMessagingKit/Protos/Generated/SNProto.swift
# SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift
# SessionMessagingKit/Protos/SessionProtos.proto
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
# SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
# SessionMessagingKitTests/_TestUtilities/TestOnionRequestAPI.swift
# SessionSnodeKit/Models/SnodeAPIEndpoint.swift
# SessionSnodeKit/SnodeAPI.swift
# SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
# SessionUtilitiesKit/General/Features.swift
2 years ago
Morgan Pretty
8c8453d922
Updated to the latest libSession, fixed remaining items
...
Updated to the latest libSession version
Updated the 'hidden' logic to be based on a negative 'priority' value
Added an index on the Quote table to speed up conversation query
Fixed an odd behaviour with GRDB and Combine (simplified the interface as well)
Fixed an issue where migrations could fail
3 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
3 years ago
Morgan Pretty
1c7eaed8b6
Added logic to update cached expiry after config TTL extension
...
Updated the UpdateExpiryResponse signature verification logic
Another couple of accessibility label/id tweaks
3 years ago
Morgan Pretty
1334a64031
Removed usages of Box.KeyPair, removed a TODO
3 years ago
Morgan Pretty
66fd2d4ff8
Finished off a few remaining bits and pieces
...
Added the 'outdated client' warning banner
Added a unit test to validate the 'group(by:)' method maintains ordering
Added an error when trying to message a non-standard session id directly
Removed the "hide" logic for groups (don't want it)
Removed some unneeded thread fetching
Updated the logic to use the 'lastHash' when fetching config messages
Updated the logic to use the libSession value restrictions instead of hard-coded values
Fixed an issue where members weren't getting removed from legacy groups
3 years ago
Morgan Pretty
8eed08b5b4
Updated to the latest lib, started handling UserGroups
...
Added unit tests for the UserGroup config type
Updated the logic to use the 'pinnedPriority' and deprecated 'isPinned' (not sorting yet but using the value)
Updated the code to use the libSession community url parsing instead of custom parsing
Fixed an issue where initialising Data with a libSession value wasn't returning null when the data had no actual value
Fixed an issue where the OpenGroupPoller could user an incorrect failure could when handling poll responses
Fixed the UpdateExpiryRequest signature
3 years ago
Morgan Pretty
ff36b3eeab
Resolved a number of TODOs and a couple of crashes
...
Updated the logic to always fetch all config messages (and not de-dupe them)
Updated the onboarding to fallback to fetch the legacy config if the there is no updated user config
Added sorting to config message processing to reduce the turn-around time for certain edge-cases to resolve
Removed some redundant code
Fixed a database re-entrancy crash
Fixed a crash when merging config messages
Fixed an issue which could occur by registering too many 'afterTransaction' closures
3 years ago
Morgan Pretty
742c4a161f
Merge remote-tracking branch 'upstream/dev' into feature/updated-user-config-handling
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
# Session/Media Viewing & Editing/GIFs/GiphyAPI.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/Notifications/SyncPushTokensJob.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Database/Models/SessionThread.swift
# SessionMessagingKit/Jobs/Types/MessageReceiveJob.swift
# SessionMessagingKit/Jobs/Types/MessageSendJob.swift
# SessionMessagingKit/Jobs/Types/SendReadReceiptsJob.swift
# SessionMessagingKit/Messages/Message.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ReadReceipts.swift
# SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/Shared Models/MentionInfo.swift
3 years ago
Morgan Pretty
f30b383bb8
Updated to the latest version of libSession-util
...
Updated the SharedConfigMessage type to have a TTL of 30 days
Updated the SnodeAPI to have a 'poll' method to be more consistent with the OpenGroupAPI (it also does multiple things now so is cleaner)
Added logic to limit the number of config messages to be retrieved per poll
Added the 'ValidatableResponse' protocol to standardise SnodeAPI response validation
Added the libSession version to the logs
Fixed an issue where the user profile pic wouldn't get synced correctly due to memory going out of scope
Fixed some threading issues
Refactored the thread variants to follow the updated terminology (will think about refactoring other code areas later)
Cleaned up the Combine error handling
Started fixing broken unit tests
3 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
3 years ago
Morgan Pretty
0abb09c0cf
Fixed a few small issues found when testing
...
Fixed a couple of issues with the ConfigurationSyncJob logic
Moved the proto parsing out of the MessageReceiveJob write block (to reduce time blocking writes)
Removed difficulty from the SendMessageResponse (deprecated and removed)
3 years ago
Morgan Pretty
8f3dcbc6be
Sorted out a bunch of the config syncing logic
...
Updated the onboarding to attempt to retrieve the current user profile config and skip display name collection if it already exists
Updated the logic to get the snode pool and build paths immediately on launch even if the user hasn't been created yet (faster onboarding)
Removed the iOS-specific concurrent dual snode '/store' behaviour
Cleaned up the profile updating logic
Fixed an issue where the pollers could end up deadlocking the main thread if too many tried to start concurrently
3 years ago
Morgan Pretty
5033738994
Fixed a few issues caused by the PromiseKit refactor
...
Started cleaning up the TODOs
Fixed a couple of merge conflict issues
Fixed a bug with the state of attachments which failed to download
# Conflicts:
# SessionMessagingKit/Database/Models/Attachment.swift
3 years ago
Morgan Pretty
8ac6b25ced
Further refactoring work
...
Refactored usages and removed AFNetworking
Updated the media screens to use Combine
# Conflicts:
# Session/Closed Groups/GroupMembersViewModel.swift
# Session/Media Viewing & Editing/GIFs/GifPickerCell.swift
# Session/Media Viewing & Editing/GIFs/GiphyAPI.swift
# Session/Media Viewing & Editing/PhotoCapture.swift
3 years ago
Morgan Pretty
c9fdee9f24
Work on the PromiseKit refactor
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Home/Message Requests/MessageRequestsViewModel.swift
# Session/Notifications/AppNotifications.swift
# Session/Notifications/PushRegistrationManager.swift
# Session/Notifications/SyncPushTokensJob.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# Session/Settings/BlockedContactsViewModel.swift
# Session/Settings/NukeDataModal.swift
# Session/Settings/SettingsViewModel.swift
# Session/Utilities/BackgroundPoller.swift
# SessionMessagingKit/Database/Models/ClosedGroup.swift
# SessionMessagingKit/File Server/FileServerAPI.swift
# SessionMessagingKit/Open Groups/OpenGroupAPI.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+UnsendRequests.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/Sending & Receiving/Notifications/PushNotificationAPI.swift
# SessionMessagingKit/Sending & Receiving/Pollers/ClosedGroupPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
# SessionMessagingKit/Utilities/ProfileManager.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionSnodeKit/OnionRequestAPI.swift
# SessionUtilitiesKit/Networking/HTTP.swift
3 years ago