Commit Graph

556 Commits (9207418100481c85fdf578eeecaeccdda06c0e23)

Author SHA1 Message Date
Ryan ZHAO 9207418100 Merge branch 'dev' into notification-patch 3 months ago
Ryan ZHAO 4303179b3f add some logs for testing 3 months ago
Ryan ZHAO 1b40c1363a Merge branch 'dev' into fix-calls-issue-3 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
Ryan ZHAO a16e3aa61a workaround for a permission issue in NotificationServiceExtension 3 months ago
Ryan ZHAO 403ca8c10c refactor on getting microphone permission state to try to fix an issue 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 c6365e597d Merge branch 'dev' into fix/atomic-reentrancy 3 months ago
stfsession f52fabeefb [Automated] Update translations from Crowdin 3 months ago
Morgan Pretty 13fabbb305 Fixed an issue where sharing attachments could lose filename and extension 4 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
4 months ago
Morgan Pretty fe5c815e2b Fixed an issue where attachments could end up with incorrect file extensions 4 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
4 months ago
Morgan Pretty 03f07a725d
Merge pull request #330 from mpretty-cyro/feature/dev-settings
Added logic for dev setting import/export
4 months ago
Morgan Pretty 3f893b1ce0 Cleaned up and finished the export/import logic 4 months ago
Ryan ZHAO 12d499a5e5 clean up 4 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
4 months ago
Ryan ZHAO 8f10f43494 further fix on app state issues 4 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 4 months ago
Ryan ZHAO bf5db2ab93 fix an issue where job runner is not activated when answering calls from CallKit 4 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
Ryan ZHAO 71de47e1b9 fix an issue where thumbnail is not properly generated 5 months ago
RyanZhao fac94f94be
Merge pull request #1048 from mpretty-cyro/feature/query-optimisation
Updated the SQL for checking session id prefixes
6 months ago
Morgan Pretty b2ccd24172 Fixed an app submission issue due to private API naming collision 6 months ago
Morgan Pretty 532bbd2590 Updated the SQL for checking session id prefixes 6 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
6 months ago
Morgan Pretty 6cbd8cbf15 Updated the method 'Setting' data manipulation to be safer
Also resolves a warning about an unsafe pointer
6 months ago
Morgan Pretty afb60fbf5c Fixed a couple of bugs with attachment path creation 6 months ago
Morgan Pretty d570e10430 Merge remote-tracking branch 'upstream/dev' into feature/uniform-type-identifiers-refactoring
# Conflicts:
#	Session/Meta/Translations/InfoPlist.xcstrings
6 months ago
Morgan Pretty 675325c216
Merge pull request #1032 from mpretty-cyro/fix/logging-issue
Fixed a bug with return from background logs
6 months ago
Morgan Pretty 2c9427edcf Refactored MimeTypeUtil to use UniformTypeIdentifiers 6 months 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
6 months 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
7 months ago
Ryan ZHAO b9beb7aec4 Use English strings as the default strings & update build number 7 months 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
7 months ago
Morgan Pretty a7e73080fa Minor logging tweaks 7 months 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
7 months ago
Ryan ZHAO ae3fde1e1c Merge branch 'dev' into strings 7 months ago
Morgan Pretty a87a547886 libSession attachment upload/download improvements, logging tweaks 7 months 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
7 months ago
Morgan Pretty a02bc55445 Fixed an endless loading state when clearing data with no network 7 months ago
Morgan Pretty dfe690cc1a
Merge pull request #1010 from mpretty-cyro/fix/attachment-dictionary-crash-2
Reworked the SignalAttachmentItem hash function
7 months 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
7 months ago
Ryan ZHAO d21a0815fa add constants 7 months ago
Ryan ZHAO 630e20fc69 Merge branch 'dev' into standardised-strings 7 months 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.
7 months ago
Ryan ZHAO 367104c835 fix on strings 7 months ago
Ryan ZHAO 318d5beaab fix time formatting 7 months ago
Ryan ZHAO 5b637c7b77 fix an issue where plural strings have other dynamic values 7 months 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)
7 months ago