Commit Graph

551 Commits (8275953ecef7cc70536a92fa7d38c6db969479ac)

Author SHA1 Message Date
Ryan ZHAO 403ca8c10c refactor on getting microphone permission state to try to fix an issue 9 months ago
Morgan Pretty 3a91bc52e1
Merge pull request #342 from mpretty-cyro/fix/atomic-reentrancy
Refactor Atomic<T> to Support Reentrancy
9 months ago
Morgan Pretty c6365e597d Merge branch 'dev' into fix/atomic-reentrancy 9 months ago
stfsession f52fabeefb [Automated] Update translations from Crowdin 9 months ago
Morgan Pretty 13fabbb305 Fixed an issue where sharing attachments could lose filename and extension 10 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
10 months ago
Morgan Pretty fe5c815e2b Fixed an issue where attachments could end up with incorrect file extensions 10 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
10 months ago
Morgan Pretty 03f07a725d
Merge pull request #330 from mpretty-cyro/feature/dev-settings
Added logic for dev setting import/export
10 months ago
Morgan Pretty 3f893b1ce0 Cleaned up and finished the export/import logic 10 months ago
Ryan ZHAO 12d499a5e5 clean up 10 months ago
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
10 months ago
Ryan ZHAO 8f10f43494 further fix on app state issues 10 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 10 months ago
Ryan ZHAO bf5db2ab93 fix an issue where job runner is not activated when answering calls from CallKit 10 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
11 months ago
Ryan ZHAO 71de47e1b9 fix an issue where thumbnail is not properly generated 11 months ago
RyanZhao fac94f94be
Merge pull request #1048 from mpretty-cyro/feature/query-optimisation
Updated the SQL for checking session id prefixes
12 months ago
Morgan Pretty b2ccd24172 Fixed an app submission issue due to private API naming collision 12 months ago
Morgan Pretty 532bbd2590 Updated the SQL for checking session id prefixes 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
12 months ago
Morgan Pretty 6cbd8cbf15 Updated the method 'Setting' data manipulation to be safer
Also resolves a warning about an unsafe pointer
1 year ago
Morgan Pretty afb60fbf5c Fixed a couple of bugs with attachment path creation 1 year ago
Morgan Pretty d570e10430 Merge remote-tracking branch 'upstream/dev' into feature/uniform-type-identifiers-refactoring
# Conflicts:
#	Session/Meta/Translations/InfoPlist.xcstrings
1 year ago
Morgan Pretty 675325c216
Merge pull request #1032 from mpretty-cyro/fix/logging-issue
Fixed a bug with return from background logs
1 year ago
Morgan Pretty 2c9427edcf Refactored MimeTypeUtil to use UniformTypeIdentifiers 1 year ago
Morgan Pretty 79b98994fe Fixed a bug with return from background logs
Fixed a bug where logs sent before the logger finishes setting up after returning from the background weren't getting added to the log gile
1 year ago
Morgan Pretty 7086fe1ba0 Number of small Xcode 16 build fixes
• Renamed an init which matched a private API so triggered a store submission warning
• Fixed a unit test build issue in Xcode 16
• Updated the LintLocalizableStrings updatePermissionStrings output to be sorted (so it doesn't change every time)
• Moved the 'Ensure InfoPlist.xcstrings updated' build step to the Session target
1 year ago
Ryan ZHAO b9beb7aec4 Use English strings as the default strings & update build number 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 a7e73080fa Minor logging tweaks 1 year ago
Morgan Pretty d8294aac0d Fixed logging issue and other minor tweaks
• Fixed a bug where the libSession logs wouldn't all come through correctly
• Added logic to handle response headers from libSession
• Minor optimisation to closed groups poller setup
• Minor logging tweaks
1 year ago
Ryan ZHAO ae3fde1e1c Merge branch 'dev' into strings 1 year ago
Morgan Pretty a87a547886 libSession attachment upload/download improvements, logging tweaks 1 year ago
Morgan Pretty bce7a093cf Merge remote-tracking branch 'upstream/dev' into fix/crashes-and-improvements
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Calls/Call Management/SessionCallManager.swift
#	Session/Meta/AppDelegate.swift
#	Session/Notifications/PushRegistrationManager.swift
#	SessionNotificationServiceExtension/NotificationServiceExtension.swift
#	SessionShareExtension/ThreadPickerVC.swift
#	SessionUtilitiesKit/Database/Storage.swift
1 year ago
Morgan Pretty a02bc55445 Fixed an endless loading state when clearing data with no network 1 year ago
Morgan Pretty dfe690cc1a
Merge pull request #1010 from mpretty-cyro/fix/attachment-dictionary-crash-2
Reworked the SignalAttachmentItem hash function
1 year ago
Morgan Pretty 7e771467d6 Fixed an issue with push notifications in legacy groups
• Reworked the NotificationServiceExtension to just always reset and reload it's state to avoid weird bugs
• Updated the legacy group messages to fallback to using a locally generated serverHash if one isn't provided (always happens for legacy PNs)
• Include error info when failing to process extension logs
• Made a bunch of the Storage functions instance functions instead of static functions
1 year ago
Ryan ZHAO d21a0815fa add constants 1 year ago
Ryan ZHAO 630e20fc69 Merge branch 'dev' into standardised-strings 1 year ago
Morgan Pretty 1396652698 Refactored the DSL for interacting with C structs
There were a few logs related to bad memory access within libSession and the `toLibSession` convention which we'd originally setup made me nervous as C-friendly objects would be allocated in Swift and then assigned to C struct properties but I'm not sure how the memory would actually behave in this case.

This updated approach unfortunately involves a bunch of duplicate code within 'TypeConversion+Utilities' (and some horrible type aliases for tuples) but as a result we now have compile-time safe 'get' and 'set' functions for any C struct which conforms to `CAccessible` and `CMutable`. The other nice benefit about this change is that the new `set` functions copy memory across into the C structs so we can have more confidence that the memory ownership has shifted to the libSession side of things.
1 year ago
Ryan ZHAO 367104c835 fix on strings 1 year ago
Ryan ZHAO 318d5beaab fix time formatting 1 year ago
Ryan ZHAO 5b637c7b77 fix an issue where plural strings have other dynamic values 1 year ago
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)
1 year ago
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)
1 year ago
Ryan ZHAO ca5c979f8f Merge branch 'dev' into standardised-strings 1 year ago
Morgan Pretty 67830ed767 Fixed a legacy group message decryption issue
Fixed a bug where we were incorrectly generating and requiring 64 byte secrets for legacy groups (we only need 32 bytes), since we do length checks before calling the libSession C API (to prevent crashes) we would fail before attempting to decrypt because the key was too short
1 year ago
Morgan Pretty 375f66f45a Reworked to just use a unique id rather than hacky hash overrides 1 year ago
Ryan ZHAO 771b21a96d Merge branch 'dev' into standardised-strings 1 year ago