Commit Graph

327 Commits (9d22927cb86852cb9c57c51a65b191db4b7ec6dd)

Author SHA1 Message Date
Ryan ZHAO 46f82fd557 WIP: add permission chain for voice and video calls
Morgan Pretty c6365e597d Merge branch 'dev' into fix/atomic-reentrancy
Morgan Pretty 13fabbb305 Fixed an issue where sharing attachments could lose filename and extension
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
Morgan Pretty cc102edc26 Fixed a typo
Morgan Pretty 6f2f46715f Added basic handling for env vars provided by Appium
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
Morgan Pretty 3f893b1ce0 Cleaned up and finished the export/import logic
Morgan Pretty 15243f326d Changed the HelpViewModel to just provide the "share" option again
Morgan Pretty 35758b2946 Added logic for dev setting import/export
• Added the dev settings UI
• Added export and import functionality (import is unfinished)
• Updated the export logs to allow for either sharing or saving direct to files
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
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
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
Ryan ZHAO 8da80ab314 Merge branch 'dev' into standardize-modal-accessibility-id
Morgan Pretty 2c9427edcf Refactored MimeTypeUtil to use UniformTypeIdentifiers
Ryan ZHAO b2ce98ea83 standardize modal & input error accessibility ids
Morgan Pretty ea8a725ce3 Updated the user displayPicture error modal copy to be a bit cleaner
Morgan Pretty ecd066f7a1 Merge remote-tracking branch 'upstream/dev' into strings
# Conflicts:
#	Session/Media Viewing & Editing/PhotoCaptureViewController.swift
#	Session/Notifications/AppNotifications.swift
#	Session/Settings/SettingsViewModel.swift
#	Session/Utilities/Permissions.swift
#	SessionMessagingKit/Messages/Control Messages/CallMessage.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
#	SessionShareExtension/ThreadPickerVC.swift
Ryan ZHAO 6a3f914541 change clear data model to make it the same as standard design
Ryan ZHAO c3b5925f78 modify clear data modal with error
Morgan Pretty a02bc55445 Fixed an endless loading state when clearing data with no network
Ryan ZHAO 1b73f74fb7 add timeout error modal for clearing data from network
Ryan ZHAO 630e20fc69 Merge branch 'dev' into standardised-strings
Morgan Pretty ddd36b96a2 Reworked deadlock handling, fixed a few other issues
• Fixed an issue where the background task to finish sending messages may not have sent the sync message or the main message after and upload
• Fixed an issue where the SessionBackgroundTask was incorrectly reporting a failure to be created
• Fixed an incorrect modal action colour
• Fixed a crash when creating legacy groups
• Updated the code so that we take charge of resolving the deadlock issue instead of relying on GRDB to do it
• Updated the logic to timeout the SessionBackgroundTask with 5 seconds of background time remaining (to ensure we have enough time to suspend the network & database)
Morgan Pretty 9f9d3d4455 Fixed a regression where deleting data from network gave a false-failure
Morgan Pretty e1aedb36da Fixed a few bugs found when testing strings
• Fixed an issue where creating a legacy group could be blocked by the legacy PN subscription failing (was part of the synchronous request)
• Fixed an issue where the code would incorrectly use profile data from incoming messages sent from the current user to update it's profile info
• Fixed an issue where saving media would fail silently if the user had rejected the OS permission
• Refactored a little code around profile changes to make things more readable
Ryan ZHAO 7acd299858 fix unblock modals
Morgan Pretty 3a1f086d0c Reworked deadlock handling, fixed a few other issues
• Fixed an issue where the background task to finish sending messages may not have sent the sync message or the main message after and upload
• Fixed an issue where the SessionBackgroundTask was incorrectly reporting a failure to be created
• Fixed an incorrect modal action colour
• Fixed a crash when creating legacy groups
• Updated the code so that we take charge of resolving the deadlock issue instead of relying on GRDB to do it
• Updated the logic to timeout the SessionBackgroundTask with 5 seconds of background time remaining (to ensure we have enough time to suspend the network & database)
Ryan ZHAO ce8c6bd971 fix a clear data modal
Ryan ZHAO 5c18019e6b Merge branch 'dev' into standardised-strings
Ryan ZHAO 0580a9dbf9 update strings
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
Ryan ZHAO 62b15b8b90 add some accessibility ids
Ryan ZHAO 771b21a96d Merge branch 'dev' into standardised-strings
Morgan Pretty 027ce1604d Fixed a few issues found during QA
• Fixed an issue where incoming legacy group messages were failing to decrypt
• Fixed an issue where decoding push notifications could result in an infinite loop
• Fixed an issue where the extensions would incorrectly try to append extension logs (only want the main app to do this)
• Updated the accessibility ids for the switches and radios on the privacy and disappearing message settings screens
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
Morgan Pretty 2032dafc74 Merge remote-tracking branch 'upstream/dev' into feature/swift-package-manager
# Conflicts:
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionUtilitiesKit/Media/DataSource.h
#	SessionUtilitiesKit/Media/DataSource.m
Ryan ZHAO 7764f7f3f6 clean with constants
Ryan ZHAO 1e1d71f788 deep clean
Ryan ZHAO 6d4a6715fa clean
Ryan ZHAO 5ee048330b plurals and fix some strings
Ryan ZHAO aaea97fbdb update strings script for updating permission strings
Morgan Pretty 25c1fb6b45 Fixed the unit tests
Morgan Pretty ce01f128f3 Replaced Cocoapods with Swift Package Manager for dependency management
Ryan ZHAO 003816117f Merge branch 'dev' into standardised-strings
Morgan Pretty 2098cb32dd Number of fixes and tweaks related to the deadlock issue
• Fixed some cases where errors weren't being displayed correctly
• Tweaked the "nodeNotFound" error to be a bit more human readable
• Tweaked the BackgroundPoller timeout to have a 5 second buffer instead of a 1 second buffer
• Moved the lastHash pruning into the GarbageCollectionJob instead of the pre-poll fetching to avoid needing to use a write query before polling
• Reworked the Pollers to make their database queries part of the polling stream (and as such, cancellable)
Morgan Pretty ed472f44c5 Merge remote-tracking branch 'upstream/dev' into release/2.6.3
# Conflicts:
#	Session/Meta/AppDelegate.swift
#	Session/Onboarding/LandingVC.swift
#	Session/Onboarding/LinkDeviceVC.swift
#	Session/Onboarding/RegisterVC.swift
#	Session/Onboarding/RestoreVC.swift
Ryan ZHAO fe312a0d68 update translation link
Morgan Pretty a8d9200ef5 Fixed a few more bugs
• Fixed an issue where excessive job failures could result in jobs not running onLaunch or onActive as expected (extended network issues resulted in the default communities not getting fetched)
• Fixed an issue where the PathVC could end up in a weird state after the IP2Country cache gets updated
• Fixed an issue where LinkPreview caching was incorrectly case sensitive
• Fixed an issue where the IP2Country might load it's cache on the wrong thread
• Added the ability to copy the file path to the log file when exporting on the simulator
• Updated the Request type to correctly encode a body of 'Data' type when given (would previously incorrectly encode it as JSON)
Morgan Pretty 25150f931e Logging improvements, incorrect version number fix