Commit Graph

1046 Commits (e8c20ef8eec41611c8471fb5ee64665162c9ece4)

Author SHA1 Message Date
Morgan Pretty 16addb3b91 Additional 'afterAsync' changes for the groups branch 4 months ago
Morgan Pretty 28699798f1 Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Home/HomeVC.swift
#	Session/Meta/AppDelegate.swift
#	Session/Meta/SessionApp.swift
#	SessionMessagingKit/Jobs/Types/UpdateProfilePictureJob.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
4 months ago
Morgan Pretty 800e32c633 Cleaned up some TODOs, QA fixes and refetch on admin promotion
• Added logic to trigger a full refetch when getting promoted to admin within a group
• Added a timeout to display picture uploads
• Updated the code to inject the DisplayPictureManager via dependencies
• Updated the resend invite functionality to have a blocking loading indicator as well
• Refactored some closure-based logic for display picture uploads to use Combine instead
• Refactored the SnodeReceivedMessageInfo (with a migration) so it's no longer using a weird constructed key (now have individual queryable columns for the values)
4 months ago
Morgan Pretty 37ea2a89bc Fixed a number of crashes currently affecting production
• Fixed a crash due to our ThreadSafe code using a struct instead of a class (rendering it non thread safe)
• Fixed a crash which could occur on the home screen if the data loaded before the UI finished loading
• (Hopefully) Fixed a crash which could occur when the OS optimised async execution to run immediately within an existing database transaction (potentially resulting in re-entrant database access)
• Fixed an issue where the database read/write publishers weren't checking for a valid database state before actual query execution (only during the creation of the stream)
4 months ago
Morgan Pretty 8d4365d89c Fixed additional QA issues and bugs found while testing
• Added a unit test to validate the GroupMember sorting continues to work as expected
• Updated the AppSetup process to be simpler (no need to check if it had previously run anymore)
• Removed some state management code from the NotificationServiceExtension (no longer needed now that state is properly managed via the Dependencies)
• Fixed an issue where if you had updated another client, gotten updated groups in your config, and then update the iOS client then it wouldn't create the updated groups until a UserGroups config change occurred
• Fixed a bug where we would incorrectly try to retrieve the disappearing messages settings for V2 Groups from the UserGroups config instead of the GroupInfo one
• Fixed an issue where the updated groups poller might not get started correctly in some cases
• Fixed an issue where we could incorrectly add a "you were invited..." control message on linked devices when creating an updated group
• Fixed an issue where the "open url" modal wouldn't be dismissed when copying the url
• Fixed an issue where reactions could appear on locally deleted community messages
• Fixed an issue where the "Note to Self" conversation could be mislabelled in the share extension
• Fixed an issue where sharing a url with a preview would fail
• Fixed an issue where a quote for an attachment wouldn't show the thumbnail if the conversation was open when the quote message was received
• Fixed an issue where the background colour of the display picture could be incorrect when in a multi-avatar for a group conversation
4 months ago
Morgan Pretty 6a4fa224ac Fixed a few more QA issues
• Added the updated light-mode warning colour
• Updated the group version warning banner to explicitly use the primary orange colour
• Fixed an incorrect colour for radio options in the modal
• Fixed an issue where non-admins would incorrectly try to remove obsolete group config hashes (which is not allowed)
4 months ago
Morgan Pretty f8716f26c3 Fixed the build issues and broken unit tests 4 months ago
Morgan Pretty 1dd8e8f197 Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Calls/Views & Modals/IncomingCallBanner.swift
#	Session/Calls/WebRTC/WebRTCSession.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Home/GlobalSearch/GlobalSearchViewController.swift
#	Session/Home/HomeVC.swift
#	Session/Home/Message Requests/MessageRequestsViewModel.swift
#	Session/Meta/AppDelegate.swift
#	Session/Meta/AppEnvironment.swift
#	Session/Meta/SessionApp.swift
#	Session/Notifications/NotificationPresenter.swift
#	Session/Notifications/PushRegistrationManager.swift
#	Session/Notifications/UserNotificationsAdaptee.swift
#	Session/Onboarding/Onboarding.swift
#	Session/Open Groups/JoinOpenGroupVC.swift
#	Session/Utilities/IP2Country.swift
#	Session/Utilities/MockDataGenerator.swift
#	Session/Utilities/UIContextualAction+Utilities.swift
#	SessionMessagingKit/Calls/CallManagerProtocol.swift
#	SessionMessagingKit/Database/Migrations/_013_SessionUtilChanges.swift
#	SessionMessagingKit/Database/Migrations/_014_GenerateInitialUserConfigDumps.swift
#	SessionMessagingKit/Database/Models/ClosedGroup.swift
#	SessionMessagingKit/Database/Models/Interaction.swift
#	SessionMessagingKit/Database/Models/SessionThread.swift
#	SessionMessagingKit/Jobs/DisappearingMessagesJob.swift
#	SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+Contacts.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+ConvoInfoVolatile.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+Shared.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+UserGroups.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+UserProfile.swift
#	SessionMessagingKit/LibSession/Database/QueryInterfaceRequest+Utilities.swift
#	SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
#	SessionMessagingKit/Open Groups/OpenGroupManager.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+LegacyClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+MessageRequests.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+LegacyClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SessionMessagingKit/Sending & Receiving/Typing Indicators/TypingIndicators.swift
#	SessionMessagingKit/Utilities/AppReadiness.swift
#	SessionMessagingKit/Utilities/Preferences.swift
#	SessionMessagingKit/Utilities/ProfileManager.swift
#	SessionMessagingKit/Utilities/SessionEnvironment.swift
#	SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
#	SessionNotificationServiceExtension/NotificationServiceExtension.swift
#	SessionShareExtension/ShareNavController.swift
#	SessionSnodeKit/LibSession/LibSession+Networking.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionUIKit/Components/PlaceholderIcon.swift
#	SessionUIKit/Utilities/UIContextualAction+Theming.swift
#	SessionUtilitiesKit/Crypto/Crypto.swift
#	SessionUtilitiesKit/Database/Storage.swift
#	SessionUtilitiesKit/Database/Types/Migration.swift
#	SessionUtilitiesKit/Database/Utilities/Database+Utilities.swift
#	SessionUtilitiesKit/General/AppContext.swift
#	SessionUtilitiesKit/General/Atomic.swift
#	SessionUtilitiesKit/General/Caches.swift
#	SessionUtilitiesKit/General/Dependencies.swift
#	SessionUtilitiesKit/General/FileSystem.swift
#	SessionUtilitiesKit/General/Logging.swift
#	SessionUtilitiesKit/General/SNUserDefaults.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
#	SessionUtilitiesKit/Types/BackgroundTaskManager.swift
#	SessionUtilitiesKit/Types/KeychainStorage.swift
#	SignalUtilitiesKit/Utilities/AppSetup.swift
#	_SharedTestUtilities/Mock.swift
#	_SharedTestUtilities/MockCaches.swift
#	_SharedTestUtilities/NimbleExtensions.swift
4 months ago
Morgan Pretty 50aca79278 Updated the group control messages to conform to the disappearing messages setting 4 months ago
Morgan Pretty 38dad27969 Fixed a bunch of QA issues
• Updated to the latest Lucide version
• Updated the bin icons to use the new Lucide icon
• Fixed an issue where flagging a members messages to be deleted when kicking them wasn't using the standard message removal process
• Fixed an issue where you couldn't delete a group after it was destroyed
• Fixed an issue where being promoted to admin would fail because you weren't already an admin
• Fixed an issue where the share extension wasn't populating it's conversation list
• Fixed an issue where the share extension had a translucent header
• Fixed an issue where messages could incorrectly be considered disappearing messages (with no duration)
• Fixed an issue where non-admins couldn't locally delete messages in community conversations
• Fixed an issue where deleting Note to Self messages for all devices was incorrectly leaving an artifact
• Fixed an issue where emoji reacts added to messages which have been deleted locally would still get added to the deleted artifact
• Fixed a layout issue in groups/communities with the "this message was deleted" artifact
• Fixed an issue where highlighting and unhighlighting a "danger" action in the context menu would result in it changing to a non-danger colour
• Fixed an issue where the community poller always thought it was the initial poll
4 months ago
Morgan Pretty 7002234095 Fixed a number of QA issues
• Added a loading indicator while config syncing is happening while sending group invitations/promotions
• Added a mechanism to trigger a libSession config change but prevent the change from enqueuing a config sync (so we can do a blocking sync)
• Fixed a couple of bugs where the disappearing message control messages could behave incorrectly in updated groups
• Fixed an issue where deleting a message which was quoted by another message wouldn't remove the quoted content until returning to the screen
• Fixed an issue where a leaving member could appear to be removed before they were actually removed
• Fixed an issue where a group member wouldn't return to the "sending" state when resending an invitation
• Fixed an issue where the current user could see group admins actions before they had been flagged as an accepted admin
4 months ago
Morgan Pretty 2a6c06423a Fixed a build error caused from merging 4 months ago
Morgan Pretty c6365e597d Merge branch 'dev' into fix/atomic-reentrancy 4 months ago
Morgan Pretty c6d3afd927 Fixed broken unit tests and a couple other merge issues 5 months ago
Morgan Pretty e59770170b Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Calls/Call Management/SessionCallManager+Action.swift
#	Session/Calls/Call Management/SessionCallManager+CXProvider.swift
#	Session/Calls/Call Management/SessionCallManager.swift
#	Session/Calls/WebRTC/WebRTCSession.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
#	Session/Media Viewing & Editing/PhotoCapture.swift
#	Session/Media Viewing & Editing/PhotoLibrary.swift
#	Session/Notifications/NotificationPresenter.swift
#	Session/Notifications/PushRegistrationManager.swift
#	Session/Settings/HelpViewModel.swift
#	SessionMessagingKit/Database/Models/LinkPreview.swift
#	SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+LegacyClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+LegacyClosedGroups.swift
#	SessionNotificationServiceExtension/NotificationServiceExtension.swift
#	SessionShareExtension/ShareNavController.swift
#	SessionShareExtension/ThreadPickerVC.swift
#	SessionUtilitiesKit/Media/DataSource.swift
5 months ago
Morgan Pretty 162f2c823c Breaking GroupsKeys change, QA issue fixes
• Added updated member statuses
• Updated to latest libSession (includes group status changes and breaking GroupKeys change)
• Fixed an issue where starting a new conversation on a new account could result in being kicked out of the conversation after a couple of seconds
• Fixed an issue where blocking a group invite would result in the senders contact conversation reverting to a message request
• Fixed an issue where deleting all attachments before now wouldn't leave behind the "message was deleted" artifact
• Fixed an issue where deleting all attachments before now was incorrectly deleting voice messages
• Fixed an issue where deleting all attachments before now wasn't deleting quote thumbnails
• Fixed an issue where you could never delete a group after being kicked
• Fixed an issue where some updated group control messages would be dropped by linked devices
5 months ago
Morgan Pretty 1fa9f2271a Fixed an issue where new legacy groups would have invalid state 5 months ago
Morgan Pretty 13fabbb305 Fixed an issue where sharing attachments could lose filename and extension 5 months ago
Morgan Pretty 1e07120eba Cleaned up 'calledFromConfig' params
• Renamed the remaining 'calledFromConfig' params to be a bit more descriptive of what they actually do
• Removed all the 'calledFromConfig' values

The `calledFromConfig` was previously needed to help prevent reentrant libSession access but that is now supported. This now means that a config change could trigger a database update which subsequently triggers a config change but libSession has a built in diff system which will prevent this resulting in an infinite update loop

If we do end up in a situation that this update loop results in a config change (which would then get synced) it's likely a bug in iOS which would be hard to track down as it would result from a specific database change (ie. this will hopefully make it easier to resolve inconsistent libSession integrations)
5 months ago
Morgan Pretty 08c7a2cf7f Refactored `Atomic<T>` to `@ThreadSafe` and `@ThreadSafeObject`
• Refactored `Atomic<T>` to `@ThreadSafe` and `@ThreadSafeObject` (the latter supports reentrancy
• Added some logging to the debug import process
5 months ago
Morgan Pretty 7c4f0e8ef2 Fixed a number of QA issues
• Added some missing accessibility identifiers
• Added the inline Lucide icon on the Conversation screen for legacy groups
• Added a temporary fix for a crash when restoring an account (really need to fix up the reentrant Atomic<T> access issues)
• Updated the in-conversation blocked state as per UX feedback
• Updated the code to insert the "members added" control message on the admins device after creating a group
• Minor copy tweak
• Fixed a crash which could happen during onboarding due to the poller getting incorrectly created when entering the background before the account is created
• Fixed a bug where sync messages weren't working correctly
• Fixed an issue where the "delete before" behaviours weren't leaving behind the "this message was deleted" messages
• Fixed an issue where group admins wouldn't appear in mentions
5 months ago
Morgan Pretty cf9136a1ab Added new 'animationsEnabled' feature flag, message deletion tweaks 5 months ago
Morgan Pretty 81b0bbfc10 Fixed the broken unit tests 5 months ago
Morgan Pretty c398fa01ae Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
#	Session/Calls/Call Management/SessionCall.swift
#	Session/Calls/Call Management/SessionCallManager.swift
#	Session/Calls/CallVC.swift
#	Session/Calls/Views & Modals/IncomingCallBanner.swift
#	Session/Closed Groups/NewClosedGroupVC.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Home/GlobalSearch/GlobalSearchViewController.swift
#	Session/Home/HomeVC.swift
#	Session/Home/Message Requests/MessageRequestsViewModel.swift
#	Session/Home/New Conversation/NewMessageScreen.swift
#	Session/Home/New Conversation/StartConversationScreen.swift
#	Session/Meta/AppDelegate.swift
#	Session/Meta/AppEnvironment.swift
#	Session/Meta/SessionApp.swift
#	Session/Notifications/NotificationPresenter.swift
#	Session/Notifications/PushRegistrationManager.swift
#	Session/Notifications/SyncPushTokensJob.swift
#	Session/Notifications/UserNotificationsAdaptee.swift
#	Session/Onboarding/DisplayNameScreen.swift
#	Session/Onboarding/LoadingScreen.swift
#	Session/Onboarding/Onboarding.swift
#	Session/Onboarding/PNModeScreen.swift
#	Session/Open Groups/JoinOpenGroupVC.swift
#	Session/Settings/BlockedContactsViewModel.swift
#	Session/Settings/DeveloperSettingsViewModel.swift
#	Session/Settings/PrivacySettingsViewModel.swift
#	Session/Settings/QRCodeScreen.swift
#	Session/Settings/SettingsViewModel.swift
#	Session/Settings/Views/VersionFooterView.swift
#	Session/Shared/Types/ObservableTableSource.swift
#	Session/Utilities/MockDataGenerator.swift
#	Session/Utilities/UIContextualAction+Utilities.swift
#	SessionMessagingKit/Calls/CallManagerProtocol.swift
#	SessionMessagingKit/Database/Migrations/_013_SessionUtilChanges.swift
#	SessionMessagingKit/Database/Migrations/_014_GenerateInitialUserConfigDumps.swift
#	SessionMessagingKit/Database/Migrations/_018_DisappearingMessagesConfiguration.swift
#	SessionMessagingKit/Database/Models/Attachment.swift
#	SessionMessagingKit/Database/Models/BlindedIdLookup.swift
#	SessionMessagingKit/Database/Models/ClosedGroup.swift
#	SessionMessagingKit/Database/Models/Interaction.swift
#	SessionMessagingKit/Database/Models/SessionThread.swift
#	SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+Contacts.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+ConvoInfoVolatile.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+Shared.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+UserGroups.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+UserProfile.swift
#	SessionMessagingKit/LibSession/Database/QueryInterfaceRequest+Utilities.swift
#	SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
#	SessionMessagingKit/LibSession/Types/Config.swift
#	SessionMessagingKit/Open Groups/OpenGroupManager.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+LegacyClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+MessageRequests.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+UnsendRequests.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+LegacyClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
#	SessionMessagingKit/Sending & Receiving/Notifications/PushNotificationAPI.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
#	SessionMessagingKit/Utilities/ProfileManager.swift
#	SessionMessagingKit/Utilities/SessionEnvironment.swift
#	SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
#	SessionNotificationServiceExtension/NotificationServiceExtension.swift
#	SessionShareExtension/ThreadPickerVC.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionUIKit/Utilities/Localization+Style.swift
#	SessionUtilitiesKit/Database/Storage.swift
#	SessionUtilitiesKit/LibSession/LibSessionError.swift
5 months ago
Ryan ZHAO 406f4cc595 revert some useless message request control message protection logic 5 months ago
Morgan Pretty f262b6d7a8 Merge remote-tracking branch 'upstream/dev' into fix/inconsistent-deletion-behaviours
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Calls/Call Management/SessionCallManager.swift
#	Session/Notifications/PushRegistrationManager.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+MessageRequests.swift
5 months ago
Morgan Pretty 1439b1b033
Merge pull request #327 from mpretty-cyro/fix/input-not-reappearing
Fixed some issues with message deletion and the input field
5 months ago
Morgan Pretty b1507de9b8
Merge pull request #324 from mpretty-cyro/fix/incorrect-queries
Fixed a couple of incorrect queries from a previous optimisation
5 months ago
Ryan ZHAO 25ffe98912 fix an issue when app is in background state, call messages are not handled properly 5 months ago
Ryan ZHAO f153fb6cf5 add logic to prevent duplicated message request response being inserted into database 5 months ago
Morgan Pretty 22e59b1789 Fixed a crash which could occur when receiving a UserGroups config change 5 months ago
Ryan ZHAO 83a0849f66 add some more logs for testing and debug 5 months ago
Morgan Pretty 4f86ea7a71 Fixed an incorrect filter and an incorrect function param 5 months ago
Morgan Pretty 68284315a6 Fixed some issues with message deletion and the input field
• Fixed an issue where the input view wouldn't reappear when deleting messages for everyone in a one-to-one conversation
• Fixed an issue where the input view would be visible while the loading indicator was visible when deleting from a community
• Fixed an issue where notifications weren't being removed after processing an UnsendRequest
• Fixed an issue where legacy groups had a "Clear for everyone" option but it didn't do anything
• Updated the copy for legacy groups to say "Delete for everyone" instead of "Clear for everyone"
5 months ago
Morgan Pretty e1c5215986 Various dependency changes required to get unit tests working correctly
• Updated the SessionCallManager to be an updated singleton type (cleaned up more in Groups Rebuild)
• Updated the PushRegistrationManager to be an updated singleton type (cleaned up more in Groups Rebuild)
• Injected dependencies correctly in a bunch of places
5 months ago
Morgan Pretty 2ee1fa0125 Updated NTS & 1-1 conversation deletion to be consistent with other plats
• Added a few functions to retrieve conversation settings from libSession
• Updated the Note to Self swipe action to be "Hide" (hides the conversation but does not delete the messages)
• Updated the one-to-one deletion behaviour (now syncs both hiding the conversation and deleting it's messages)
• Updated the logic to retrieve the relevant disappearing messages setting from libSession when creating a thread if it doesn't exist (allows us to delete threads without worrying about losing settings)
• Updated a bunch of dependency management & injection code so the unit tests would pass
5 months ago
Morgan Pretty ffd7bb2569 Fixed a bunch of issues found by QA
• Updated the GroupMembers handling to updated the current users entry if they have the admin key and their current state is not correct
• Updated the "groups have been upgraded" banner to be visible for non-admins
• Updated the code to prevent changes from being able to be made on group configs without the admin key (was crashing previously)
• Added the new "deleted" group state and copy
• Fixed a layout issue on the settings screen when the editable text is too long
• Fixed a case sensitive contact sorting issue
• Fixed an issue where the groups v2 min version banner was appearing on legacy groups screens
• Fixed a bug where profile information may not be updated due to a timestamp resolution issue
• Fixed a bug where the group name would incorrectly be used in the block modal for group message requests
• Fixed a bug where the block button wasn't appearing within the group message request screen
• Fixed a bug where there was an incorrect timestamp conversion when checking whether to drop a message that was sent earlier than the 'deleteBefore' timestamp
• Fixed an issue where the "you left the group" message wouldn't be visible if you rejoined a group
• Fixed an issue where crashing during the initial creation of a group could result in it's state never loading
• Fixed an issue where deleting before a timestamp wasn't correctly using the network-offset timestamp
• Fixed an issue where the submodule was pointing at the wrong repo
• Removed some duplicate code
5 months ago
Morgan Pretty 04508e9cf5 Working through QA Issues
• Added a warning when removing members from a group
• Fixed a bug where unapproved contacts were appearing as options for inviting to a group
• Fixed a bug where the "min version" banner was appearing on the legacy create group screen instead of the new one
• Fixed a bug where admins could appear twice in the legacy group member list
• Fixed some incorrect accessibility issues
• Tweaked the accessibility of the dual action items in the edit group screen
• Updated version numbers to simplify testing
5 months ago
Morgan Pretty dcb320ca91 Fixed a couple of incorrect queries from a previous optimisation 5 months ago
Morgan Pretty 03020ad556 Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
# Conflicts:
#	Scripts/LintLocalizableStrings.swift
#	Session.xcodeproj/project.pbxproj
#	Session/Calls/Call Management/SessionCall.swift
#	Session/Calls/Call Management/SessionCallManager.swift
#	Session/Calls/WebRTC/WebRTCSession+DataChannel.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/Message Cells/Content Views/OpenGroupInvitationView.swift
#	Session/Conversations/Message Cells/Content Views/QuoteView.swift
#	Session/Conversations/Message Cells/Content Views/SwiftUI/OpenGroupInvitationView_SwiftUI.swift
#	Session/Conversations/Message Cells/Content Views/SwiftUI/VoiceMessageView_SwiftUI.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Database/Migrations/_001_ThemePreferences.swift
#	Session/Home/GlobalSearch/GlobalSearchViewController.swift
#	Session/Home/HomeViewModel.swift
#	Session/Home/Message Requests/MessageRequestsViewModel.swift
#	Session/Home/New Conversation/NewMessageScreen.swift
#	Session/Media Viewing & Editing/GIFs/GiphyAPI.swift
#	Session/Media Viewing & Editing/GIFs/GiphyDownloader.swift
#	Session/Media Viewing & Editing/PhotoLibrary.swift
#	Session/Meta/MainAppContext.swift
#	Session/Meta/SessionApp.swift
#	Session/Meta/Translations/remove_unused_strings.swift
#	Session/Notifications/PushRegistrationManager.swift
#	Session/Onboarding/Onboarding.swift
#	Session/Settings/HelpViewModel.swift
#	Session/Settings/SettingsViewModel.swift
#	Session/Settings/Views/VersionFooterView.swift
#	Session/Shared/FullConversationCell.swift
#	Session/Shared/SessionHostingViewController.swift
#	Session/Utilities/BackgroundPoller.swift
#	Session/Utilities/UIContextualAction+Utilities.swift
#	SessionMessagingKit/Configuration.swift
#	SessionMessagingKit/Database/Models/Attachment.swift
#	SessionMessagingKit/Database/Models/ClosedGroup.swift
#	SessionMessagingKit/Database/Models/Interaction.swift
#	SessionMessagingKit/Database/Models/RecipientState.swift
#	SessionMessagingKit/Database/Models/SessionThread.swift
#	SessionMessagingKit/Jobs/FailedMessageSendsJob.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+Contacts.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+UserGroups.swift
#	SessionMessagingKit/LibSession/Config Handling/LibSession+UserProfile.swift
#	SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
#	SessionMessagingKit/Messages/Message.swift
#	SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift
#	SessionMessagingKit/Sending & Receiving/Attachments/ThumbnailService.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+MessageRequests.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+LegacyClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/Sending & Receiving/Notifications/Models/SubscribeRequest.swift
#	SessionMessagingKit/Sending & Receiving/Notifications/Models/UnsubscribeRequest.swift
#	SessionMessagingKit/Sending & Receiving/Notifications/PushNotificationAPI.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPoller.swift
#	SessionMessagingKit/Utilities/OWSAudioPlayer.m
#	SessionMessagingKit/Utilities/Preferences.swift
#	SessionMessagingKit/Utilities/ProfileManager.swift
#	SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
#	SessionNotificationServiceExtension/NSENotificationPresenter.swift
#	SessionShareExtension/ShareNavController.swift
#	SessionSnodeKit/LibSession/LibSession+Networking.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionSnodeKit/Types/ProxiedContentDownloader.swift
#	SessionUIKit/Components/ConfirmationModal.swift
#	SessionUtilitiesKit/Database/Models/Identity.swift
#	SessionUtilitiesKit/General/AppContext.swift
#	SessionUtilitiesKit/General/FileSystem.swift
#	SessionUtilitiesKit/General/NSTimer+Proxying.m
#	SessionUtilitiesKit/General/SNUserDefaults.swift
#	SessionUtilitiesKit/General/UIDevice+featureSupport.swift
#	SessionUtilitiesKit/Media/MediaUtils.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Image Editing/ImageEditorCropViewController.swift
#	SignalUtilitiesKit/Media Viewing & Editing/MediaMessageView.swift
#	SignalUtilitiesKit/Media Viewing & Editing/OWSVideoPlayer.swift
#	SignalUtilitiesKit/Screen Lock/ScreenLockViewController.swift
5 months ago
Ryan ZHAO 71de47e1b9 fix an issue where thumbnail is not properly generated 6 months ago
RyanZhao fac94f94be
Merge pull request #1048 from mpretty-cyro/feature/query-optimisation
Updated the SQL for checking session id prefixes
6 months ago
Morgan Pretty 481ee65822 Fixed a typo 6 months ago
Morgan Pretty 7b70ba03fc Fixed a couple of bugs revolving around handling group invitations 6 months ago
Morgan Pretty 7f069263e2 Merge remote-tracking branch 'upstream/dev' into fix/rework-recipient-state 6 months ago
Morgan Pretty 8170091e34
Merge pull request #1045 from mpretty-cyro/fix/incorrect-contact-deletion
Reworked 'deleteOrLeave' function to remove ambiguity, fixed some strings
6 months ago
Morgan Pretty 091cfcb807
Merge pull request #1038 from RyanRory/fix-disappearing-messages-control-message
Fix disappearing messages control message
6 months ago
Morgan Pretty aeb2fa0f1a Merge branch 'dev' into fix/rework-recipient-state 6 months ago
Morgan Pretty 532bbd2590 Updated the SQL for checking session id prefixes 6 months ago
Morgan Pretty 7af0f865f5 Refactored the 'RecipientState' type
• Refactored the 'RecipientState' type to just be columns on the 'Interaction' table
• Added some syntactic sugar to clean up the 'CallbackWrapper' boilerplate within the LibSession+Networking code
• Fixed an issue where sending a message into a group where you are the only member would result in the message permanently being in the sending state
• Fixed an issue when initially setting up the interaction database structure where the community whisper mechanism needed another column
• Fixed a bug where the MessageSendJob wouldn't time out during path building
• Fixed a bug where the MessageSendJob wouldn't retry 8 times before detecting a timeout (meaning it would retry up to 80 times in total before permanently failing)
7 months ago