Morgan Pretty
1f3f7ba7c6
Fixed QA issues
...
• Refactored the 'performOperation' function to have cleaner control flow and resolve another EXC_BAD_ACCESS edge case
• Updated the code to allow legacy groups to be unpinned after they are deprecated
• Fixed an issue where the default state of the global search screen wouldn't be populated if you had a contact with no SessionThread record
• Fixed an issue with display picture placeholder generation
• Fixed an issue where the edit group screen would show the group display picture back to front
3 months ago
Morgan Pretty
529cb2e0f9
Added the legacy group deprecation logic (pending final copy)
...
• Added a separate feature flag for deprecating legacy groups
• Added the ability for a legacy group admin to "Recreate" the group (ie. pre-fill a new group with the same members)
• Updated the "Leave" button to be "Delete" for legacy groups once deprecated
• Disabled the "mark as unread" action for legacy groups once deprecated
• Disabled the input and conversation settings for legacy groups once deprecated
• Disabled the long press menu and removing reactions for legacy groups once deprecated
3 months ago
Morgan Pretty
4028cf1023
Database reentrancy fixes
...
• Reworked synchronous database access to prevent reentrancy issues
• Updated the JobExecuter to take a "Scheduler" rather than a "DispatchQueue" (allows for a potentially refactor to use "OperationQueue" instead if we want more fine-tuned control over the number of concurrent executions which can occur)
3 months ago
Morgan Pretty
7b0f7ea8af
Fixed a number of QA issues and other bugs founds
...
• Added a 2000 limit to the input field
• Added an error when opening the share extension before completing onboarding
• Updated the code to treat an empty `adminSignature` as null (in case a client sends it incorrectly)
• Updated the code to include updated group control messages when determining unread
• Updated code to perform a supplemental key rotation (if needed) when resending invites to members flagged as supplemental (to handle a case where the initial invite request failed)
• Updated the code to schedule group config update control messages when making the local changes but make their sending contingent on the next config sync succeeding
• Updated the code to only enable the Share and Notification extensions once the onboarding process has been completed
• Updated the code to always enqueue config syncs for all configs on launch (if there are no pending changes then it won't do anything, but if there are then this will increase the likelihood that they will be synced)
• Fixed an issue where the default contacts query was based on thread records instead of contact records
• Fixed an issue where creating a conversation by tapping on a group member or avatar wasn't correctly creating the conversation in the draft state
• Fixed an issue where incoming messages could be added to the "Note to Self" conversation if the "syncTarget" was incorrectly set on them
3 months ago
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
3 months ago
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
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
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
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
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
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
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
22e59b1789
Fixed a crash which could occur when receiving a UserGroups config change
5 months ago
Ryan ZHAO
8f10f43494
further fix on app state issues
5 months ago
Ryan ZHAO
1dddedf3eb
add logs and fix a case when the call is going with CallKit but the app state is not in background
5 months ago
Ryan ZHAO
58707da75e
add more logs
5 months ago
Ryan ZHAO
fc4778e79f
don't start other pollers when app is activated in backgroud
5 months ago
Ryan ZHAO
780e262e52
fix CallKit crash
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
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
Morgan Pretty
7f069263e2
Merge remote-tracking branch 'upstream/dev' into fix/rework-recipient-state
7 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
7 months ago
Morgan Pretty
aeb2fa0f1a
Merge branch 'dev' into fix/rework-recipient-state
7 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
Morgan Pretty
feafe02a6c
Fixed a bug where the icon on the NewMessageScreen wasn't rendering
7 months ago
Morgan Pretty
a32af018a7
Refactored the LintLocalizableStrings script
...
• Added new 'LintControl' mechanisms to allow for ignoring sections of code
• Added new 'MatchType' mechanisms for excluding unlocalized cases
• Updated the code to explicitly handle localized template strings (both single and multiline)
• Updated the code to process files across multiple threads to improve performance
• Updated the code to use Swift 5.7 regex and store in static variables to prevent reconstruction every time they are used
• Removed the list of individual files which are ignored (now just output a count)
• Fixed an issue where having a localized string on a subsequent line could result in an unlocalized (or incorrectly localized) string not being detected
• Fixed an issue where having multiple strings on a single line could result in an unlocalized string not being detected
• Fixed an issue where zero-width characters would result in the variable count comparison between translations failing
• Fixed a number of localization warnings
7 months ago
Morgan Pretty
472fd61287
Reworked 'deleteOrLeave' function to remove ambiguity, fixed some strings
7 months ago
Morgan Pretty
ad2c9ff5a6
Fixed a number of bugs found when checking the acceptance criteria
...
• Fixed some incorrect copy
• Fixed a bug where being the only member in a group would result in messages always having the "sending" status
• Fixed a bug where accepting a group invitation on a linked device wouldn't start the poller on the current device
• Fixed a bug where there could be a duplicate 'you were invited to join the group' info message after accepting the group invite
• Fixed a bug where the failed invitation toast could appear multiple times
• Fixed a bug where the legacy groups banner was appearing for non-admins (apparently it shouldn't be)
7 months ago
Morgan Pretty
a6e39d930f
Added localisations for some strings and resolved a bunch of warnings
7 months ago
Morgan Pretty
bbab93327b
Cleaned up the updated message deletion logic
7 months ago
Morgan Pretty
42721db399
Added additional developer settings and fixed some bugs
...
• Added a setting to show the string keys instead of localised values
• Added settings to test the updated groups delete all messages settings
• Updated the onboarding UI to indicate whether it's currently pointing at Testnet
• Tweaked the 'isRTL' dependency setting to be clearer that it's not an injected value
• Fixed a bug with dependency name collision between the different storage types
• Fixed a bug with attachment file path creation
7 months ago
Morgan Pretty
46533cbe1a
Fixed a few TODOs and cleaned up some logic
...
• Refactored the internal logic for the Dependencies class to resolve some multithreading issues
• Fixed a crash caused by using the wrong config when updating userGroups
• Fixed an issue where a group conversation you had been kicked from wasn't showing the "kicked" copy as it's snippet
• Fixed a copy TODO
• Removed some duplicate code from the Edit Group screen
7 months ago
Morgan Pretty
41b3331305
Simplified a little code, tested group invite/kicking, fixed edit group name
7 months ago
Morgan Pretty
bbadc038f6
Merge remote-tracking branch 'RyanFork/strings' into feature/groups-rebuild
...
# Conflicts:
# Scripts/LintLocalizableStrings.swift
# Session.xcodeproj/project.pbxproj
# Session.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
# Session.xcodeproj/xcshareddata/xcschemes/Session.xcscheme
# Session/Calls/Call Management/SessionCall.swift
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Calls/CallVC.swift
# Session/Closed Groups/EditClosedGroupVC.swift
# Session/Closed Groups/NewClosedGroupVC.swift
# Session/Conversations/Context Menu/ContextMenuVC+Action.swift
# Session/Conversations/Context Menu/ContextMenuVC+ActionView.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationVC.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Conversations/Emoji Picker/EmojiPickerCollectionView.swift
# Session/Conversations/Message Cells/CallMessageCell.swift
# Session/Conversations/Message Cells/Content Views/MediaAlbumView.swift
# Session/Conversations/Message Cells/Content Views/MediaView.swift
# Session/Conversations/Message Cells/Content Views/QuoteView.swift
# Session/Conversations/Message Cells/Content Views/ReactionContainerView.swift
# Session/Conversations/Message Cells/Content Views/SwiftUI/QuoteView_SwiftUI.swift
# Session/Conversations/Message Cells/InfoMessageCell.swift
# Session/Conversations/Message Cells/VisibleMessageCell.swift
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Conversations/Views & Modals/ConversationTitleView.swift
# Session/Conversations/Views & Modals/MessageRequestFooterView.swift
# Session/Emoji/Emoji+Available.swift
# Session/Home/GlobalSearch/GlobalSearchViewController.swift
# Session/Home/HomeVC.swift
# Session/Home/HomeViewModel.swift
# Session/Home/Message Requests/MessageRequestsViewModel.swift
# Session/Home/New Conversation/NewConversationVC.swift
# Session/Home/New Conversation/NewConversationViewModel.swift
# Session/Home/New Conversation/NewDMVC.swift
# Session/Media Viewing & Editing/DocumentTitleViewController.swift
# Session/Media Viewing & Editing/GIFs/GifPickerCell.swift
# Session/Media Viewing & Editing/GIFs/GifPickerLayout.swift
# Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
# Session/Media Viewing & Editing/GIFs/GiphyAPI.swift
# Session/Media Viewing & Editing/GIFs/GiphyDownloader.swift
# Session/Media Viewing & Editing/ImagePickerController.swift
# Session/Media Viewing & Editing/MediaTileViewController.swift
# Session/Media Viewing & Editing/MessageInfoScreen.swift
# Session/Media Viewing & Editing/PhotoCapture.swift
# Session/Media Viewing & Editing/PhotoCaptureViewController.swift
# Session/Media Viewing & Editing/PhotoCollectionPickerViewModel.swift
# Session/Media Viewing & Editing/PhotoLibrary.swift
# Session/Media Viewing & Editing/SendMediaNavigationController.swift
# Session/Meta/AppDelegate.swift
# Session/Meta/AppEnvironment.swift
# Session/Meta/MainAppContext.swift
# Session/Meta/SessionApp.swift
# Session/Meta/Translations/ar.lproj/Localizable.strings
# Session/Meta/Translations/be.lproj/Localizable.strings
# Session/Meta/Translations/bg.lproj/Localizable.strings
# Session/Meta/Translations/bn.lproj/Localizable.strings
# Session/Meta/Translations/cs.lproj/Localizable.strings
# Session/Meta/Translations/da.lproj/Localizable.strings
# Session/Meta/Translations/de.lproj/Localizable.strings
# Session/Meta/Translations/el.lproj/Localizable.strings
# Session/Meta/Translations/en.lproj/Localizable.strings
# Session/Meta/Translations/eo.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/hu.lproj/Localizable.strings
# Session/Meta/Translations/id.lproj/Localizable.strings
# Session/Meta/Translations/it.lproj/Localizable.strings
# Session/Meta/Translations/ja.lproj/Localizable.strings
# Session/Meta/Translations/ko.lproj/Localizable.strings
# Session/Meta/Translations/ku.lproj/Localizable.strings
# Session/Meta/Translations/lt.lproj/Localizable.strings
# Session/Meta/Translations/lv.lproj/Localizable.strings
# Session/Meta/Translations/ne-NP.lproj/Localizable.strings
# Session/Meta/Translations/nl.lproj/Localizable.strings
# Session/Meta/Translations/no.lproj/Localizable.strings
# Session/Meta/Translations/pl.lproj/Localizable.strings
# Session/Meta/Translations/pt-BR.lproj/Localizable.strings
# Session/Meta/Translations/pt-PT.lproj/Localizable.strings
# Session/Meta/Translations/ro.lproj/Localizable.strings
# Session/Meta/Translations/ru.lproj/Localizable.strings
# Session/Meta/Translations/si-LK.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/tr.lproj/Localizable.strings
# Session/Meta/Translations/uk.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
# Session/Notifications/NotificationPresenter.swift
# Session/Notifications/PushRegistrationManager.swift
# Session/Notifications/SyncPushTokensJob.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# Session/Onboarding/DisplayNameVC.swift
# Session/Onboarding/FakeChatView.swift
# Session/Onboarding/LandingVC.swift
# Session/Onboarding/LinkDeviceVC.swift
# Session/Onboarding/Onboarding.swift
# Session/Onboarding/PNModeVC.swift
# Session/Onboarding/RegisterVC.swift
# Session/Onboarding/RestoreVC.swift
# Session/Onboarding/SeedVC.swift
# Session/Open Groups/JoinOpenGroupVC.swift
# Session/Path/PathVC.swift
# Session/Settings/BlockedContactsViewModel.swift
# Session/Settings/ConversationSettingsViewModel.swift
# Session/Settings/HelpViewModel.swift
# Session/Settings/NotificationSettingsViewModel.swift
# Session/Settings/NukeDataModal.swift
# Session/Settings/PrivacySettingsViewModel.swift
# Session/Settings/QRCodeVC.swift
# Session/Settings/SeedModal.swift
# Session/Settings/SettingsViewModel.swift
# Session/Settings/Views/VersionFooterView.swift
# Session/Shared/FullConversationCell.swift
# Session/Shared/OWSBezierPathView.m
# Session/Shared/ScanQRCodeWrapperVC.swift
# Session/Shared/SessionCarouselView+SwiftUI.swift
# Session/Shared/SessionTableViewController.swift
# Session/Shared/Types/NavigatableState.swift
# Session/Shared/Types/ObservableTableSource.swift
# Session/Shared/Types/SessionCell+Accessory.swift
# Session/Shared/Views/SessionCell+AccessoryView.swift
# Session/Utilities/BackgroundPoller.swift
# Session/Utilities/IP2Country.swift
# Session/Utilities/MentionUtilities.swift
# Session/Utilities/MockDataGenerator.swift
# Session/Utilities/UIApplication+OWS.swift
# Session/Utilities/UIContextualAction+Utilities.swift
# SessionMessagingKit/Crypto/Crypto+Attachments.swift
# SessionMessagingKit/Crypto/Crypto+SessionMessagingKit.swift
# SessionMessagingKit/Database/Migrations/_004_RemoveLegacyYDB.swift
# SessionMessagingKit/Database/Migrations/_014_GenerateInitialUserConfigDumps.swift
# SessionMessagingKit/Database/Migrations/_015_BlockCommunityMessageRequests.swift
# SessionMessagingKit/Database/Migrations/_018_DisappearingMessagesConfiguration.swift
# SessionMessagingKit/Database/Models/Attachment.swift
# SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Database/Models/LinkPreview.swift
# SessionMessagingKit/Database/Models/Profile.swift
# SessionMessagingKit/Database/Models/RecipientState.swift
# SessionMessagingKit/Database/Models/SessionThread.swift
# SessionMessagingKit/Jobs/AttachmentDownloadJob.swift
# SessionMessagingKit/Jobs/AttachmentUploadJob.swift
# SessionMessagingKit/Jobs/CheckForAppUpdatesJob.swift
# SessionMessagingKit/Jobs/ConfigMessageReceiveJob.swift
# SessionMessagingKit/Jobs/ConfigurationSyncJob.swift
# SessionMessagingKit/Jobs/DisappearingMessagesJob.swift
# SessionMessagingKit/Jobs/MessageSendJob.swift
# SessionMessagingKit/Jobs/RetrieveDefaultOpenGroupRoomsJob.swift
# SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
# SessionMessagingKit/Jobs/UpdateProfilePictureJob.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/LibSession+SessionMessagingKit.swift
# SessionMessagingKit/Messages/Control Messages/ClosedGroupControlMessage.swift
# SessionMessagingKit/Messages/Control Messages/ExpirationTimerUpdate.swift
# SessionMessagingKit/Messages/Message.swift
# SessionMessagingKit/Open Groups/Crypto/Crypto+OpenGroupAPI.swift
# SessionMessagingKit/Open Groups/Models/SOGSMessage.swift
# SessionMessagingKit/Open Groups/OpenGroupAPI.swift
# SessionMessagingKit/Open Groups/OpenGroupManager.swift
# SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift
# SessionMessagingKit/Sending & Receiving/Attachments/ThumbnailService.swift
# SessionMessagingKit/Sending & Receiving/Errors/MessageSenderError.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+DataExtractionNotification.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+VisibleMessages.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.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/ClosedGroupPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupAPI+Poller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
# SessionMessagingKit/Shared Models/MessageViewModel.swift
# SessionMessagingKit/Utilities/Preferences.swift
# SessionMessagingKit/Utilities/ProfileManager.swift
# SessionMessagingKit/Utilities/ProfileManagerError.swift
# SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
# SessionMessagingKitTests/LibSession/LibSessionSpec.swift
# SessionMessagingKitTests/LibSession/LibSessionUtilSpec.swift
# SessionMessagingKitTests/LibSession/Utilities/LibSessionTypeConversionUtilitiesSpec.swift
# SessionMessagingKitTests/Open Groups/Models/SOGSMessageSpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupAPISpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
# SessionMessagingKitTests/Utilities/CryptoSMKSpec.swift
# SessionNotificationServiceExtension/NSENotificationPresenter.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionShareExtension/ShareAppExtensionContext.swift
# SessionShareExtension/ShareNavController.swift
# SessionShareExtension/ThreadPickerVC.swift
# SessionSnodeKit/Crypto/Crypto+SessionSnodeKit.swift
# SessionSnodeKit/Database/Models/SnodeReceivedMessageInfo.swift
# SessionSnodeKit/LibSession/LibSession+Networking.swift
# SessionSnodeKit/Models/DeleteAllBeforeResponse.swift
# SessionSnodeKit/Models/DeleteAllMessagesResponse.swift
# SessionSnodeKit/Models/DeleteMessagesResponse.swift
# SessionSnodeKit/Models/RevokeSubkeyRequest.swift
# SessionSnodeKit/Models/RevokeSubkeyResponse.swift
# SessionSnodeKit/Models/SendMessageResponse.swift
# SessionSnodeKit/Models/SnodeAuthenticatedRequestBody.swift
# SessionSnodeKit/Models/UpdateExpiryAllResponse.swift
# SessionSnodeKit/Models/UpdateExpiryResponse.swift
# SessionSnodeKit/Networking/Network+OnionRequest.swift
# SessionSnodeKit/Networking/PreparedRequest+OnionRequest.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionSnodeKit/Types/IPv4.swift
# SessionSnodeKit/Types/PreparedRequest.swift
# SessionSnodeKit/Types/ProxiedContentDownloader.swift
# SessionSnodeKit/Types/ValidatableResponse.swift
# SessionSnodeKitTests/Types/BencodeResponseSpec.swift
# SessionSnodeKitTests/_TestUtilities/SSKMockedExtensions.swift
# SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
# SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift
# SessionTests/Database/DatabaseSpec.swift
# SessionTests/Settings/NotificationContentViewModelSpec.swift
# SessionUIKit/Components/ConfirmationModal.swift
# SessionUIKit/Components/PlaceholderIcon.swift
# SessionUIKit/Components/ToastController.swift
# SessionUIKit/Components/TopBannerController.swift
# SessionUIKit/Style Guide/ThemeManager.swift
# SessionUIKit/Style Guide/Values.swift
# SessionUtilitiesKit/Crypto/Crypto+SessionUtilitiesKit.swift
# SessionUtilitiesKit/Crypto/Crypto.swift
# SessionUtilitiesKit/Database/Models/Identity.swift
# SessionUtilitiesKit/Database/Storage.swift
# SessionUtilitiesKit/Database/Types/Migration.swift
# SessionUtilitiesKit/General/AppContext.swift
# SessionUtilitiesKit/General/Data+Utilities.swift
# SessionUtilitiesKit/General/Features.swift
# SessionUtilitiesKit/General/FileSystem.swift
# SessionUtilitiesKit/General/General.swift
# SessionUtilitiesKit/General/Logging.swift
# SessionUtilitiesKit/General/String+Trimming.swift
# SessionUtilitiesKit/General/String+Utilities.swift
# SessionUtilitiesKit/General/UIEdgeInsets.swift
# SessionUtilitiesKit/JobRunner/JobRunner.swift
# SessionUtilitiesKit/LibSession/LibSession.swift
# SessionUtilitiesKit/Media/Data+Image.swift
# SessionUtilitiesKit/Media/DataSource.swift
# SessionUtilitiesKit/Media/MediaUtils.swift
# SessionUtilitiesKit/Media/MimeTypeUtil.swift
# SessionUtilitiesKit/Meta/SessionUtilitiesKit.h
# SessionUtilitiesKit/Networking/Network.swift
# SessionUtilitiesKit/Types/Threading.swift
# SessionUtilitiesKit/Utilities/Bencode.swift
# SessionUtilitiesKit/Utilities/UIImage+Utilities.swift
# SessionUtilitiesKitTests/Database/Models/IdentitySpec.swift
# SessionUtilitiesKitTests/Database/Utilities/PersistableRecordUtilitiesSpec.swift
# SessionUtilitiesKitTests/General/SessionIdSpec.swift
# SessionUtilitiesKitTests/JobRunner/JobRunnerSpec.swift
# SessionUtilitiesKitTests/Utilities/BencodeDecoderSpec.swift
# SessionUtilitiesKitTests/Utilities/BencodeResponseSpec.swift
# SessionUtilitiesKitTests/Utilities/BencodeSpec.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalInputAccessoryView.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentCaptionToolbar.swift
# SignalUtilitiesKit/Media Viewing & Editing/Image Editing/ImageEditorModel.swift
# SignalUtilitiesKit/Media Viewing & Editing/MediaMessageView.swift
# SignalUtilitiesKit/Meta/SignalUtilitiesKit.h
# SignalUtilitiesKit/Screen Lock/ScreenLock.swift
# SignalUtilitiesKit/Utilities/AppSetup.swift
# SignalUtilitiesKit/Utilities/Bench.swift
# SignalUtilitiesKit/Utilities/NoopNotificationsManager.swift
# SignalUtilitiesKit/Utilities/SwiftSingletons.swift
# _SharedTestUtilities/CommonMockedExtensions.swift
# _SharedTestUtilities/GRDBExtensions.swift
# _SharedTestUtilities/MockCrypto.swift
# _SharedTestUtilities/MockJobRunner.swift
# _SharedTestUtilities/Mocked.swift
# _SharedTestUtilities/SynchronousStorage.swift
7 months ago
Ryan ZHAO
b2ce98ea83
standardize modal & input error accessibility ids
7 months ago
Ryan ZHAO
ff75dd9392
fix clear all message requests modal
8 months ago
Ryan ZHAO
f861241b95
fix more strings
8 months ago
Ryan ZHAO
b39845f265
fix strings
8 months ago
Ryan ZHAO
c4ebdd6d3d
fix some strings
8 months ago
Ryan ZHAO
8aedf68f74
clean useless identifier
8 months ago
Ryan ZHAO
5c18019e6b
Merge branch 'dev' into standardised-strings
8 months ago
Ryan ZHAO
0580a9dbf9
update strings
8 months ago
Morgan Pretty
b3e7fa66fc
Removed settings data change animations, fixed settings dismiss bug
...
• Remove the data change animations on the settings screens as they were causing frequent crashes
• Fixed an issue where deleting a message request via settings would dismissing the settings screen
8 months ago
Morgan Pretty
2bcd8e28ab
Merge remote-tracking branch 'upstream/dev' into standardised-strings
...
# Conflicts:
# Scripts/LintLocalizableStrings.swift
# Session.xcodeproj/project.pbxproj
# Session/Closed Groups/EditClosedGroupVC.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/Message Cells/Content Views/QuoteView.swift
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Conversations/Views & Modals/ConversationTitleView.swift
# Session/Home/GlobalSearch/GlobalSearchViewController.swift
# Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
# Session/Media Viewing & Editing/PhotoCaptureViewController.swift
# Session/Media Viewing & Editing/PhotoLibrary.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# Session/Open Groups/JoinOpenGroupVC.swift
# Session/Settings/NukeDataModal.swift
# Session/Shared/ScanQRCodeWrapperVC.swift
# SessionMessagingKit/Database/Models/Attachment.swift
# SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
# SessionMessagingKit/Database/Models/RecipientState.swift
# SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift
# SessionShareExtension/ShareNavController.swift
# SessionShareExtension/ThreadPickerVC.swift
# SessionUIKit/Components/TopBannerController.swift
# SessionUtilitiesKit/General/String+Utilities.swift
# SessionUtilitiesKit/Networking/IPv4.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalInputAccessoryView.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentCaptionToolbar.swift
# SignalUtilitiesKit/Screen Lock/ScreenLock.swift
9 months ago
Morgan Pretty
7d38c9066c
Reworked unobserved change handling to try to resolve crash (regenerate changeset)
9 months ago