session-ios
session-ios copied to clipboard
libQuic integration via libSession
The main changes in the PR are around reworking the majority of the networking to be run via libQuic:
- Updated the code to use
libQuic
for network requests - Moved the snode cache and path building into libSession (deleted associated logic)
- Moved reachability detection into libSession (remove Reachability dependency)
But it also includes a number of general fixes:
- Added logic to include logs from the Notification & Share extension within the device logs to help debugging when they are shared
- Added the ability to define a unique hash for a job for deduplication
- Updated CI scripts to more properly clean up simulator
- Updated a number of errors to be more easily converted to strings
- Updated the app versioning to be at the project level instead of target level
- Updated GRDB and SQLCipher
- Reworked the keyboard avoidance in ConversationVC to fix some bugs and simplify the behaviour
- Tweaked the polling logic to split the user, groups and community pollers into separate queues
- Tweaked the logic to restart the open group poller immediately after joining a community (to avoid an edge-case where there could be a long delay before the initial poll is made)
- Tweaked the logic for checking if PNs are susceptible to failure to only dispatch to the main thread once
- Moved the message request footer UI into it's own view
- Moved the ThreadSettingsViewModel code into a separate function to fix a compilation issue
- Removed the session id from the message snippet in the conversation list
- Cleaned up some warnings
- Fixed an issue where the DisappearingMessagesJob was getting run for every individual message process instead of just once after processing all messages from a poll
- Fixed a bug where community invite messages have 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
- Fixed a log that could be thrown incorrectly for a unique constraint failure
- Fixed an annoying startup warning due to thread priorities
- Fixed an issue where the message status wouldn't update to the failed state if the MessageSendJob timed-out
- Fixed an issue where network issues could result in a backlog of TypingIndicator messages that failed to send (don't bother retrying them)
- Fixed an issue where concurrent jobs might not retry correctly if other jobs don't complete or the retry was triggered from the wrong queue
- Fixed an issue where the input view could disappear in some cases
Codecov Report
Attention: Patch coverage is 32.35294%
with 2139 lines
in your changes are missing coverage. Please review.
Project coverage is 12.28%. Comparing base (
5735d48
) to head (021d05d
). Report is 14 commits behind head on dev.
:exclamation: Current head 021d05d differs from pull request most recent head 444655f. Consider uploading reports for the commit 444655f to get more accurate results
Additional details and impacted files
@@ Coverage Diff @@
## dev #960 +/- ##
==========================================
+ Coverage 11.62% 12.28% +0.65%
==========================================
Files 649 651 +2
Lines 96950 96623 -327
==========================================
+ Hits 11268 11866 +598
+ Misses 85682 84757 -925
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.