Commit Graph

773 Commits (78a33f1ed52c031d8a5ce8d67e567c053d5999d6)

Author SHA1 Message Date
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 69de29912c Clearing libSession logger when clearing data (seemed to cause crash) 1 year ago
Morgan Pretty 2032dafc74 Merge remote-tracking branch 'upstream/dev' into feature/swift-package-manager
# Conflicts:
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionUtilitiesKit/Media/DataSource.h
#	SessionUtilitiesKit/Media/DataSource.m
1 year ago
Morgan Pretty af463d874e Merge remote-tracking branch 'upstream/dev' into fix/minor-deadlock-improvements
# Conflicts:
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPoller.swift
1 year ago
Morgan Pretty d399eeaf73 Tweaks to IP deduping logic, fixed a CSV parsing bug, re-ran script 1 year ago
bemusementpark 05b95cf34e Deduplicate IP2Country 1 year ago
Morgan Pretty 25c1fb6b45 Fixed the unit tests 1 year ago
Morgan Pretty ce01f128f3 Replaced Cocoapods with Swift Package Manager for dependency management 1 year ago
Morgan Pretty 2098cb32dd Number of fixes and tweaks related to the deadlock issue
• Fixed some cases where errors weren't being displayed correctly
• Tweaked the "nodeNotFound" error to be a bit more human readable
• Tweaked the BackgroundPoller timeout to have a 5 second buffer instead of a 1 second buffer
• Moved the lastHash pruning into the GarbageCollectionJob instead of the pre-poll fetching to avoid needing to use a write query before polling
• Reworked the Pollers to make their database queries part of the polling stream (and as such, cancellable)
1 year ago
Morgan Pretty ed472f44c5 Merge remote-tracking branch 'upstream/dev' into release/2.6.3
# Conflicts:
#	Session/Meta/AppDelegate.swift
#	Session/Onboarding/LandingVC.swift
#	Session/Onboarding/LinkDeviceVC.swift
#	Session/Onboarding/RegisterVC.swift
#	Session/Onboarding/RestoreVC.swift
1 year ago
Morgan Pretty f7dcd47c0c Fixed a few more minor bugs and updated GeoLite2 data
• 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
1 year ago
Ryan ZHAO 27b5aeaec3 handle an edge case when user force quitting the app during account creation 1 year ago
Ryan ZHAO b2a7e142a3 update onboarding flow when the seed is already stored 1 year ago
Ryan ZHAO eec4c7f944 add localised strings 1 year ago
Morgan Pretty 1fd65230b7 Fixed the broken unit tests
• Added a method to customise mock parameter summaries for unit tests
• Pulled across the updated libSession cache logic
1 year 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)
1 year ago
Ryan ZHAO 057e71f942 minor copy fix 1 year ago
Morgan Pretty ea7b4a2de3 Fixed an issue with rapidly going to/from the background
• 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)
1 year ago
Morgan Pretty 185e84dc95 Fixed a few PN behaviours
• 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
1 year ago
Morgan Pretty db796896f4 Tweaks to notification extension
• 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
1 year ago
Ryan ZHAO 0b7ff7b623 Merge branch 'dev' into onboarding 1 year ago
Ryan ZHAO 497bfbe120 copy fix 1 year ago
Ryan ZHAO 28dcbffa99 copy fix 1 year ago
Morgan Pretty cac5542868 Additional bug fixes, log tweaks and update checking
• 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
1 year ago
Morgan Pretty 6663bd64c4 Stopped the PN extension suspending the network and improved logging
• Removed the SOGS polling from the notification extension (rarely worked and caused network suspension bugs)
• Cleaned up some logging
1 year ago
Morgan Pretty 1726930e2e Merge remote-tracking branch 'upstream/dev' into onboarding 1 year ago
Ryan ZHAO 54fea140b7 fix global search section title for conversations 1 year 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
1 year ago
Morgan Pretty 6cb9294143 Changed the networking logic to suspend/resume rather than just cancel connections 1 year ago
Morgan Pretty d1a4683bc3 Worked on fixing the main libQuic crashes
• Revert logic to stop voice messages from playing when their associated message disappears
• Updated the libSession build script to pass through the build type (so we get debug libSession builds when doing debug builds)
• Fixed a couple of issues in libSession around recovering network connectivity
1 year ago
Ryan ZHAO c9130326bc fix some localised strings 1 year ago
Morgan Pretty f9d9954cf5 Attempts to fix more crashes and fix unit tests
• Fixed an index out of bounds issue with the mnemonic
• Attempt to fix a crash due to failing to hash SignalAttachment
• Attempt to fix a crash due to list data change inconsistencies
• Ensuring we are shutting down the network when resetting app data
• Updated the broken unit tests
1 year ago
Morgan Pretty 3b5eaa6bbb Fixed a few minor issues noticed in the logs
• Fixed an issue where SOGS pollers could be started multiple times
• Avoid checking if blinded conversations exist in the config (will always return false)
• Updated some logs to provide more timing information
1 year 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
1 year 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
1 year ago
Ryan ZHAO 0a9fa9de51 clean 1 year ago
Ryan ZHAO 27cfa40819 replace "Session ID" with "Account ID" 1 year ago
Ryan ZHAO 98b46bc142 replace "Lock Session" with "Lock App" 1 year ago
Ryan ZHAO 2301c75c08 fix toast error message for scanning recovery password qrcode 1 year ago
Morgan Pretty e420ce4e58 Merge remote-tracking branch 'upstream/dev' into onboarding
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC.swift
#	Session/Home/New Conversation/NewDMVC.swift
#	Session/Onboarding/PNModeVC.swift
#	SessionUIKit/Style Guide/Values.swift
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 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 99abcdebf6 Removed some unneeded code and fixed a couple of bugs
• Removed the 'runOnceTransient' behaviour (no longer have jobs that run before the user exists)
• Removed the session id from the message snippet in the conversation list
• Fixed an issue where the SyncPushTokensJob might not run because the paths hadn't been built yet
1 year ago
Morgan Pretty 5ee15bbc3f Moved a bunch of networking logic into libSession
• Moved the snode cache and path building into libSession (deleted associated logic)
• Moved reachability detection into libSession (remove Reachability dependency)
• Fixed a couple of crashes with using libQuic requests
• Fixed a bug where the MessageRequestFooterView would show buttons on outgoing message requests
1 year ago
Morgan Pretty 352f6d7337 Fixed a number of bugs found while testing the internal build
• Reworked the keyboard avoidance in ConversationVC to fix some bugs and simplify the behaviour
• Moved the message request footer UI into it's own view
• Fixed an issue where paths wouldn't get built for a new isntall
• Fixed an issue where a couple of LibSession+Networking errors weren't getting logged correctly
• Fixed a log that could be thrown incorrect for a unique constraint failure
• Fixed an annoying startup warning due to thread priorities
2 years ago
Morgan Pretty a3188ebea4 Fixed a number of bugs found in the internal release
• Moved the 'getSwarm' behaviour into a distinct job to prevent duplicate API calls
• Updated to the latest libSession (fix libQuic crash)
• Updated the JobRunner to support the `runOnceTransient` behaviour and be able to run transient jobs in the app extensions
• Reworked the extension file logging to be written directly to the file in a single operation rather than line-by-line via the logger
• Fixed a bug where community invites has 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
• Tweaks to extension logging logic
2 years ago
Morgan Pretty 2cffda17bc Merge remote-tracking branch 'upstream/dev' into feature/lib-quic-integration
# Conflicts:
#	Scripts/build_libSession_util.sh
2 years ago
Morgan Pretty afe1efbd90 Deduped path building and attempted to improve extension logging
• Moved the build paths logic into the BuildPathsJob to allow for better deduping
• Updated the notification and share extensions to generate log files and append to the bottom of the app log file
2 years ago
Morgan Pretty c6c2881338 Reworked the libSession network to be instance based
• 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
• 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
• Cleaned up some warnings
• Updated the app versioning to be at the project level instead of target level
• Added the ability to define a unique hash for a job for deduplication
2 years ago