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
5e3dd3c731
Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Conversations/Settings/ThreadDisappearingMessagesViewModel.swift
# Session/Shared/Views/SessionCell+AccessoryView.swift
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
# SessionUtilitiesKit/Database/Models/Job.swift
2 years ago
Morgan Pretty
6685dc0572
Dropping messages which shouldn't be processed without a thread
...
Removed an extra localised string value
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
3 years ago
Morgan Pretty
cac2831208
Fixed a few issues with albums and attachments
...
Fixed an issue where the JobRunner could schedule dependent jobs which were already running (eg. uploading attachments multiple times)
Fixed an issue where the image used for quotes might not be the first in an album message
Fixed an issue where sending an album message wouldn't send attachments in the correct order
Fixed an issue where album attachments wouldn't be downloaded in the correct order
3 years ago
Morgan Pretty
f4d6babca2
Merge remote-tracking branch 'upstream/dev' into feature/updated-user-config-handling
...
# Conflicts:
# Podfile.lock
# Session.xcodeproj/project.pbxproj
# Session/Closed Groups/EditClosedGroupVC.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Home/HomeVC.swift
# Session/Home/HomeViewModel.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/Shared/FullConversationCell.swift
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Database/Models/SessionThread.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
# SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
# SessionUIKit/Utilities/UIContextualAction+Theming.swift
# SessionUtilitiesKit/Database/Models/Job.swift
# SessionUtilitiesKit/General/Dictionary+Utilities.swift
# SessionUtilitiesKit/JobRunner/JobRunner.swift
3 years ago
Morgan Pretty
437ec27d72
JobRunner fixes
...
Updated the DataExtractionNotification to take a 'sentTimestamp' when created to reduce the chance for duplicates being sent
Fixed an issue where the 'hasPendingOrRunningJob' check didn't actually include running jobs
Fixed some odd behaviours with job dependencies
Fixed an incorrect failure count check
3 years ago
Morgan Pretty
dcae781923
Fixed a crash due to database reentrancy when generating the users blinded public key
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
7ee84fe0d3
Cleaned up a bunch of code, added pinned and hidden handling
...
Added in logic to handle the 'hidden' state
Replaced the 'Group Created' message with an empty state
Cleaned up a bunch of boilerplate code
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
Ryan Zhao
b4f44d43e8
Merge branch 'dev' into disappearing-message-redesign
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
Ryan Zhao
aca587be17
Merge branch 'dev' into fix-quoting-in-community-chats
3 years ago
Morgan Pretty
08b1e9a131
Started caching pending ReadReceipt messages to resolve an edge-case
...
Fixed an issue where read receipts could be sent for already read messages
Fixed an issue where the read state change might not update the UI
3 years ago
Morgan Pretty
3344e58716
Cleaned up some logic around sync messages
...
Added logic to indicate when a sync message failed to send (and the ability to retry)
Added the retry/resync button to the long press message menu
Updated sync messages to run via the MessageSendJob
Updated the delivery status to always show on the last outgoing message
Updated the logic to update the delivery status when retrying to send a failed message
Removed the convoluted recursion logic for turning self-send messages into sync messages
3 years ago
Ryan Zhao
62b1470b55
further clean up for message sender
3 years ago
Morgan Pretty
d020a7a05f
Fixed a couple of reachability oddities and bugs
...
Updated the PathVC to indicate the network reachability
Updated messages sent to 'Note to Self' to properly indicate whether they were sent to the swarm
Fixed an issue where 'Note to Self' messages weren't actually getting sent to the swarm
3 years ago
Morgan Pretty
07046db4b6
Updated to the latest libSession, fixed a few bugs
...
Added the logic to sync the last read state for a conversation
Added the legacyClosedGroup thread variant
Updated the config handling to be able to update the 'mergeResult' and require a dump/push due to local changes
Fixed an issue where the name on the CallVC could go off the screen
Fixed an issue where OpenGroup info could sometimes incorrectly get deleted
Fixed an issue where the ConfirmationModal on a SessionTableViewController wouldn't trigger it's action
Fixed an issue where the config handling could incorrectly trigger a contacts update when there were no changes
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
ryanzhao
1f3bfde5b2
WIP: make new property lastChangeTimestampsMs optional
3 years ago
ryanzhao
4c366dedc2
clean up SyncedExpiries
3 years ago
ryanzhao
9954cddc2a
Merge branch 'dev' into disappearing-message-redesign
3 years ago
Ryan Zhao
f105c1d7bc
clean
3 years ago
Ryan Zhao
a3f8d9e81a
clean
3 years ago
Morgan Pretty
f7199b4c44
Updated the code to take the service node offset into account when setting timestamps
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
893967e380
Updated to the latest config lib and added it's unit tests
3 years ago
Morgan Pretty
f1e9412c7a
Added in missing code changes unrelated to closed groups rebuild
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
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
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
3 years ago
ryanzhao
ea44a16f9d
fix expire timer update message
3 years ago
Ryan Zhao
49b22ab98e
fix an issue where in some cases the new client will be marked as old ones
3 years ago
Ryan Zhao
c247064fa8
feat: check contacts client version based on protobuf
3 years ago
Ryan Zhao
f4a2d41d34
do not add disappearing messages configuration to content message proto until the new design is enabled
3 years ago
ryanzhao
14a853ab07
feat: send expire timer update message
3 years ago
ryanzhao
3da092019b
Merge branch 'dev' into disappearing-message-redesign
3 years ago
ryanzhao
723d676d81
sync expiries message handling
3 years ago
ryanzhao
89a5739883
send sync expiries
3 years ago
ryanzhao
fd14c50f61
add sync expires message and update protobuf
3 years ago
ryanzhao
d4d7f6c72c
clean
3 years ago
Morgan Pretty
7cbdca672e
Fixed a bug where copying the open group url wasn't working correctly
3 years ago
Ryan Zhao
03ed90c31d
reverse & clean
3 years ago
Ryan Zhao
31c90162d3
fix sending messages with disappearing messages ttl
3 years ago
Ryan Zhao
e4bf474fea
fix disappearing messages configuration sending & receiving
3 years ago
ryanzhao
601cc7b92a
set disappearing messages config info to all kinds of messages
3 years ago