Moved the WebRTC dependency out of SessionMessagingKit and into the main Session app (it's the only one that used it and it was causing library linker issues in the share extension because it wasn't directly linked)
• Fixed an issue where the conversation 'created' timestamp wasn't correctly getting set when creating a group
• Fixed an issue where sending a message to 'Note to Self' may not show the conversation in the conversation list
• Fixed an issue where sharing a message with an attachment might not include the attachment
• Fixed an issue where list paging wouldn't work in some cases after values were inserted into the database after the currently loaded pages
• Added some handling for invalid 'joinedAt' values for groups (seems like we can have an incorrect resolution)
• 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
• Fixed an issue where the BackgroundPoller would fail if a single destination failed
- This would suspend the network, then the other pending requests would error and automatically retry, attempting to create a new connection which could loop a number of times rapidly since the network was suspended
• Fixed an issue where the BackgroundPoller could incorrectly try to write to the database after it had been suspended
• Updated the pollers to NOT take the duration of the previous poll into account when scheduling the next poll
• Updated to the latest `libSession` version (a few optimisations/fixes)
• Fixed a minor layout issue with the attribution label on the Path screen
• Updated the GeoLite2 country database data, added some basic localisation to it
• Managed to optimise the size of the GeoLite2 data bundled with the app (10mb -> 8mb)
• Cleaned up the IP2Country logic a little
• Removed some pluralisation from logs (want the logs to be identical outside of numbers)
• Tweaked the PushRegistrationManager to actually timeout
• 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)
• 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)
• Fixed an issue where leaving and returning to the app rapidly could leave the app in a state when the database and network are inaccessible
• Fixed an issue where bad nodes might not get dropped from the pool (libSession update)
• Tweaked the message request notification behaviour
• Fixed an issue where duplicate message errors would result in the generic notification being shown
• Further notification logging improvements
• Fixed an issue where the notification extension could end up in an invalid state if you delete and create a new account in rapid succession
• Fixed an issue where notification processing errors weren't getting handled correctly resulting in the notification extension timing out
• Stopped the notification extension from trying to download profile images
• Added commit hash to version info
• Tweaked the notification extension logic flow to be more straight forward
• Added a new CheckForAppUpdates job which runs at most once every 24 hours
• Updated the job failure logs to include the error that caused the failure
• Updated the network instance to use 'single_path_mode' when not executing within the main app
• Updated the logger to append extension logs when resuming instead of only during startup
• Updated the export logs behaviour to append the previously rotated log data if the latest log file is too short (to ensure we get more useful info when debugging)
• Updated to the latest libSession commit to resolve a couple of edge-cases