Commit Graph

19075 Commits (81242de0350e37d8cb596ceb1ba6546f18a07050)
 

Author SHA1 Message Date
Morgan Pretty 81242de035 Fixed a few more QA issues
• Added some localised copy
• Added the helpdesk article URL for the deprecated groups banner
• Updated mentions to include the current user in groups, 1-1 and NTS conversations (also made the current user appear as "you")
• Fixed a layout issue with the deleted message view
• Fixed an issue where the "mark as unread" action would incorrectly appear for the Note to Self conversation
• Fixed an issue where we were incorrectly sending an ExpirationTimerUpdate in some cases
2 months ago
Morgan Pretty c5cccad08f
Merge pull request #20 from RyanRory/groups-rebuild-fix
Groups rebuild fix
2 months ago
Ryan ZHAO 7ed4d393e3 fix an issue where deleting outgoing messages in a 1-1 globally does not leave artifacts behind for the person deleting 3 months ago
Ryan ZHAO 379ab2629f fix a keyboard issue 3 months ago
Ryan ZHAO d076892424 fix an issue if a global deletion fails, the UI should toast and stay on the deletion modal. 3 months ago
Ryan ZHAO 8ca0b19391 potentially fix a accessibility id issue. 3 months ago
Morgan Pretty e8c20ef8ee More QA Fixes
• Fixed an issue where "this message was deleted locally" couldn't be overwritten with "this message was deleted"
• Backported a libSession fix for the current config being incorrectly removed from the swarm
3 months ago
Morgan Pretty bcbe7ec11c Build error and redundant variable removal 3 months ago
Morgan Pretty 16addb3b91 Additional 'afterAsync' changes for the groups branch 3 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
3 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)
3 months ago
Morgan Pretty d41bc9b2c1
Merge pull request #355 from session-foundation/feature/update-crowdin-translations
[Automated] Update translations from Crowdin
3 months ago
stfsession 411358401d
Merge pull request #356 from mpretty-cyro/fix/production-crashes
Fixed a number of crashes currently affecting production
3 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)
3 months ago
stfsession 4471af11d5 [Automated] Update translations from Crowdin 3 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
3 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)
3 months ago
Morgan Pretty f8716f26c3 Fixed the build issues and broken unit tests 3 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
3 months ago
Morgan Pretty 50aca79278 Updated the group control messages to conform to the disappearing messages setting 3 months ago
Morgan Pretty 5d5a32af8e Updated the JobRunner 'afterJob' function to work via Combine instead of closures 3 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
3 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
3 months ago
Morgan Pretty 3a91bc52e1
Merge pull request #342 from mpretty-cyro/fix/atomic-reentrancy
Refactor Atomic<T> to Support Reentrancy
3 months ago
Morgan Pretty 92c7f68c85 Updated version numbers 3 months ago
Morgan Pretty 2a6c06423a Fixed a build error caused from merging 3 months ago
Morgan Pretty c6365e597d Merge branch 'dev' into fix/atomic-reentrancy 3 months ago
Morgan Pretty 9cf0c83c4b
Merge pull request #351 from session-foundation/feature/update-crowdin-translations
[Automated] Update translations from Crowdin
3 months ago
Morgan Pretty 2ba826faa2
Merge pull request #349 from mpretty-cyro/fix/calls-without-callkit
Fixed an issue where incoming calls would always fail without CallKit
3 months ago
Morgan Pretty 36b1699319
Merge pull request #352 from RyanRory/broken-media-accessibility-id
Add accessibility id for broken media
3 months ago
stfsession f52fabeefb [Automated] Update translations from Crowdin 3 months ago
Ryan ZHAO c56e57663e add accessibility id for broken media 3 months ago
Morgan Pretty c6d3afd927 Fixed broken unit tests and a couple other merge issues 4 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
4 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
4 months ago
Morgan Pretty a9c3a4dac5
Merge pull request #348 from mpretty-cyro/fix/busted-legacy-group-creation
Fixed an issue where new legacy groups would have invalid state
4 months ago
Morgan Pretty 380d81683a
Merge pull request #347 from mpretty-cyro/fix/shared-messages-not-expiring
Fixed an issue where shared messages and community invites wouldn't disappear
4 months ago
Morgan Pretty 9a5e18ed48 Fixed an issue where incoming calls would always fail without CallKit
• Fixed an issue where incoming calls would always fail without CallKit
• Fixed a couple of layout bugs with the IncomingCallBanner
4 months ago
Morgan Pretty ba1664f71f Updated version number 4 months ago
Morgan Pretty 15aaa8332d Fixed an issue where shared messages and community invites wouldn't disappear 4 months ago
Morgan Pretty 1fa9f2271a Fixed an issue where new legacy groups would have invalid state 4 months ago
Morgan Pretty fd74960b1c
Merge pull request #346 from session-foundation/feature/update-crowdin-translations
[Automated] Update translations from Crowdin
4 months ago
mpretty-cyro b20abd1ce8 [Automated] Update translations from Crowdin 4 months ago
Morgan Pretty a702179196
Merge pull request #345 from session-foundation/feature/update-crowdin-translations
[Automated] Update translations from Crowdin
4 months ago
Bilb 465bd55111 [Automated] Update translations from Crowdin 4 months ago
Morgan Pretty bb7a1378fb Updated build number 4 months ago
Morgan Pretty a86ea3ac96
Merge pull request #343 from mpretty-cyro/fix/file-sharing-bugs
Fixed an issue where sharing attachments could lose filename and extension
4 months ago
Morgan Pretty 13fabbb305 Fixed an issue where sharing attachments could lose filename and extension 4 months ago
Morgan Pretty a5df142c69 Fixed a number of QA issues
• Fixed some incorrect copy when joining a community
• Fixed a missing space in the legacy groups banner
• Fixed an issue where voice recordings weren't working
• Fixed an issue where the clear data modal wouldn't timeout quickly enough
• Fixed an issue where the clear data modal wasn't showing the fallback modal
• Fixed an issue where the clear data request wasn't structured correctly
• Fixed an issue where modals with input fields would always reposition (rather than only when keyboard avoidance required it)
4 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)
4 months ago