Commit Graph

17 Commits (3366408187455c01ee970822933ec72afb0ce855)

Author SHA1 Message Date
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.
8 months ago
Morgan Pretty 69de29912c Clearing libSession logger when clearing data (seemed to cause crash) 9 months ago
Morgan Pretty ce01f128f3 Replaced Cocoapods with Swift Package Manager for dependency management 9 months ago
Morgan Pretty 25150f931e Logging improvements, incorrect version number fix 10 months ago
Morgan Pretty e2fc0a5b51 Further fixes
• Fixed an issue where the default log level was set too low
• Fixed an issue where sending the app to the background without any pending jobs could result in the database and network not being suspended correctly
• Updated to latest libSession (don't try to recover paths, just rebuild)
10 months ago
Morgan Pretty a91024f0bb Separate streams for attachment upload/download and bug fixes
• Updated the code to stop sending legacy PNs outside of legacy group conversations
• Updated the logger logic to clean things up and use the local date/time (with time zone info) to ease debugging user reports
• Fixed an issue where messages in a community could incorrectly accept disappearing message settings
• Fixed an issue where duplicate messages could be sent in some cases
• Fixed an issue where the conversation might not scroll to the bottom after sending an attachment
• Fixed an issue where attachment encryption was happening in a db write thread
11 months ago
Morgan Pretty b0eec5a4c2 Updated to the latest libSession and updated it's error handling 11 months ago
Morgan Pretty 733694d464 Defensive coding for C API conversation, threading & logging tweaks
• Reworked some of the C API conversions to try to prevent invalid cases
• Tweaked the threading around libSession networking callbacks to minimise Swift code blocking libSession threads
• More logging tweaks
12 months ago
Morgan Pretty dd5716e831 Initial work on 2.6.0 issues
• Fixed an issue where voice messages wouldn't stop playing when deleting a message or leaving a conversation
• Fixed an issue where the notification extension was handling errors and finishing while within a database transaction
• Fixed an issue where the ShareExtension may not have been able to send LinkPreviews
• Fixed an issue where displaying or logging the paths weren't maintaining the correct order
• Tweaked some of the logging behaviours
12 months ago
Morgan Pretty e62e0885ca Removed test logs 12 months ago
Morgan Pretty 481b515ed0 Logging testing 1 year ago
Morgan Pretty 47001b754d Added manual log calls for testing 1 year ago
Morgan Pretty 9e5a938d6f Use the new logger, fixed build script bug, latest libSession
• Updated to the latest libSession
• Updated the code to use the new logger
• Fixed a bug in the build script where changes to external libSession dependencies wouldn't result in a rebuild
1 year ago
Morgan Pretty 4b4c69a533 Fixed broken unit tests, tweak to CI script 1 year ago
Morgan Pretty eccaa29c4a Fixed the background crash issues
• Updated GRDB and SQLCipher
• Shifted the ThreadSettingsViewModel code into a separate function to fix a compilation issue
1 year ago
Morgan Pretty 9491b4a97b Fixed a crash and config issue
• Fixed a bad memory crash which could occur when returning from the background
• Fixed an issue where config messages were incorrectly getting double wrapped in protobuf wrappers
1 year ago
Morgan Pretty 756e256d9a Moving libSession into SessionUtilitiesKit to expose it to other targets 1 year ago