Commit Graph

230 Commits (1fee262ee473dc81bfec449f42fbb9e3c6b7b95e)

Author SHA1 Message Date
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)
11 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
11 months ago
Morgan Pretty 22e59b1789 Fixed a crash which could occur when receiving a UserGroups config change 12 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
12 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
12 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
1 year ago
Ryan ZHAO b2ce98ea83 standardize modal & input error accessibility ids 1 year ago
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
1 year ago
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
1 year ago
Ryan ZHAO c4ebdd6d3d fix some strings 1 year 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
1 year ago
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
1 year ago
Ryan ZHAO 7764f7f3f6 clean with constants 1 year ago
Ryan ZHAO 1e1d71f788 deep clean 1 year ago
Ryan ZHAO 5ee048330b plurals and fix some strings 1 year ago
Morgan Pretty bef27ee0c7 Fixed build issues resulting from rebase after Onboarding 1 year ago
Morgan Pretty 25c1fb6b45 Fixed the unit tests 1 year ago
Morgan Pretty ce01f128f3 Replaced Cocoapods with Swift Package Manager for dependency management 1 year ago
Ryan ZHAO 003816117f Merge branch 'dev' into standardised-strings 1 year ago
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)
1 year ago
Morgan Pretty 3676f63cb0 Fixed some bugs found during QA
• Fixed a bug where the onboarding wouldn't be considered complete after successfully retrieving a displayName when restoring an account
• Fixed a couple of libSession networking bugs
• Tweaked some logging
• Removed some legacy code
1 year ago
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
1 year ago
Ryan ZHAO 77e9a1d29a fix landing screen T&C string 1 year ago
Ryan ZHAO 19b4055a2e Merge branch 'onboarding' into standardised-strings 1 year ago
Ryan ZHAO b2a7e142a3 update onboarding flow when the seed is already stored 1 year ago
Morgan Pretty 1fd65230b7 Fixed the broken unit tests
• Added a method to customise mock parameter summaries for unit tests
• Pulled across the updated libSession cache logic
1 year ago
Ryan ZHAO 572e5ceb7d fix an issue where 100 bytes string won't pass the display name length test 1 year ago
Ryan ZHAO ab2f93a993 workaround for restarting capture after going back from message notification screen 1 year ago
Ryan ZHAO 216a6666cc fix error logic for recovery password 1 year ago
Ryan ZHAO 527c921df3 Merge branch 'onboarding' into standardised-strings 1 year ago
Ryan ZHAO 63ca28b002 make the fake chat bubbles in landing screen scrollable 1 year ago
Ryan ZHAO ecb1b83a8e upgrade to minimum iOS 15.0 support 1 year ago
Ryan ZHAO 90de873ea0 add and modify strings 1 year ago
Ryan ZHAO 1d01eb91ae Merge branch 'onboarding' into standardised-strings 2 years ago
Ryan ZHAO 431c024354 update accessibility ids 2 years ago
Ryan ZHAO ae4c87a5b0 minor refactor on how to show error messages when the mnemonic is incorrect 2 years ago
Ryan ZHAO d8c6692fbc add closed button for Open URL Modal 2 years ago
Ryan ZHAO 2301c75c08 fix toast error message for scanning recovery password qrcode 2 years ago
Morgan Pretty d9a64e0148 Merge remote-tracking branch 'upstream/dev' into standardised-strings
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Closed Groups/EditClosedGroupVC.swift
#	Session/Closed Groups/NewClosedGroupVC.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/Emoji Picker/EmojiPickerCollectionView.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Emoji/Emoji+Available.swift
#	Session/Home/New Conversation/NewDMVC.swift
#	Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
#	Session/Meta/AppDelegate.swift
#	Session/Meta/SessionApp.swift
#	Session/Onboarding/PNModeVC.swift
#	Session/Path/PathVC.swift
#	Session/Utilities/IP2Country.swift
#	SessionMessagingKit/Messages/Control Messages/SharedConfigMessage.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SessionNotificationServiceExtension/NotificationError.swift
#	SessionUIKit/Style Guide/Values.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentCaptionToolbar.swift
2 years ago
Morgan Pretty e420ce4e58 Merge remote-tracking branch 'upstream/dev' into onboarding
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC.swift
#	Session/Home/New Conversation/NewDMVC.swift
#	Session/Onboarding/PNModeVC.swift
#	SessionUIKit/Style Guide/Values.swift
2 years ago
Ryan ZHAO 688ab805d7 UI fix for onboarding merge 2 years ago
Ryan ZHAO 0d6ed3fa1f fix display name screen title 2 years ago
Ryan ZHAO 96832484b3 minor refactor on getting app name 2 years ago
Ryan ZHAO bcc1d436bc WIP: update strings for onboarding changes 2 years ago
Ryan ZHAO f4a979f55f Merge branch 'onboarding' into standardised-strings 2 years ago
Morgan Pretty 5ee15bbc3f Moved a bunch of networking logic into libSession
• Moved the snode cache and path building into libSession (deleted associated logic)
• Moved reachability detection into libSession (remove Reachability dependency)
• Fixed a couple of crashes with using libQuic requests
• Fixed a bug where the MessageRequestFooterView would show buttons on outgoing message requests
2 years ago
Ryan ZHAO 6d297dc2a9 update strings 2 years ago
Morgan Pretty 352f6d7337 Fixed a number of bugs found while testing the internal build
• Reworked the keyboard avoidance in ConversationVC to fix some bugs and simplify the behaviour
• Moved the message request footer UI into it's own view
• Fixed an issue where paths wouldn't get built for a new isntall
• Fixed an issue where a couple of LibSession+Networking errors weren't getting logged correctly
• Fixed a log that could be thrown incorrect for a unique constraint failure
• Fixed an annoying startup warning due to thread priorities
2 years ago
Morgan Pretty a3188ebea4 Fixed a number of bugs found in the internal release
• Moved the 'getSwarm' behaviour into a distinct job to prevent duplicate API calls
• Updated to the latest libSession (fix libQuic crash)
• Updated the JobRunner to support the `runOnceTransient` behaviour and be able to run transient jobs in the app extensions
• Reworked the extension file logging to be written directly to the file in a single operation rather than line-by-line via the logger
• Fixed a bug where community invites has the wrong author
• Fixed a bug where the title on the disappearing messages settings screen was clipping vertically
• Fixed a bug where tapping on the disappearing messages setting subtitle could incorrectly appear in read-only state for admins
• Fixed a log which contained notification content
• Tweaks to extension logging logic
2 years ago
Ryan ZHAO 62af0aa907 update more localized strings 2 years ago