Commit Graph

1995 Commits (a05827a8a08a14b2a28126bff064bab3e09c777a)

Author SHA1 Message Date
Morgan Pretty a05827a8a0 Merge remote-tracking branch 'upstream/dev' into feature/updated-libquic 9 months ago
Morgan Pretty 2800a11cf3 Merge remote-tracking branch 'upstream/dev' into fix/quote-with-attachment
# Conflicts:
#	Session/Media Viewing & Editing/MessageInfoScreen.swift
9 months ago
Morgan Pretty 3f966428a0 Merge remote-tracking branch 'upstream/dev' into call-detailed-info
# Conflicts:
#	Session.xcodeproj/project.pbxproj
9 months ago
Morgan Pretty d888bd6df5
Merge pull request #406 from mpretty-cyro/feature/remove-yyimage-and-libweb
Removed YYImage and libWebP, fixed a couple of bugs
9 months ago
Morgan Pretty 18bd51940b
Merge pull request #398 from mpretty-cyro/fix/initial-invite-message-unread
Defaulted the initial "invited" control message to be read for the admin
9 months ago
Morgan Pretty 9d45fb429e
Merge pull request #386 from mpretty-cyro/feature/contact-block-and-delete
Added block and delete functionality to contact list
9 months ago
Ryan ZHAO e36bf7a2f4 fix a potential crash/ending call too soon 9 months ago
Morgan Pretty bcbc481dad Added support for rendering quotes with attachments and bug fixes
• Updated the VisibleMessageCell to render quote & body first before any attachment content (so we actually support rendering both, we still can't send both or sent quote + link preview though)
• Fixed an issue where messages would be incorrectly identified as "text only" if they had a quote or link preview
• Fixed an issue where leaving a conversation could block the UI do to a synchronous db read query
9 months ago
Ryan ZHAO 851557ac27 Merge branch 'feature/remove-yyimage-and-libweb' of https://github.com/mpretty-cyro/session-ios into call-detailed-info 9 months ago
Morgan Pretty 417976995b Removed YYImage and libWebP, fixed a couple of bugs
• Removed YYImage and libWebP dependencies (replaced with custom `AnimatedImageView` class)
• Fixed an issue where animated images (WebP/GIF) may not correctly render in the "All Media" grid UI
• Fixed an issue where selecting a GIF for the display picture would incorrectly convert it into a JPG instead of keeping the GIF
9 months ago
Ryan ZHAO b6737a1291 Merge branch 'dev' into call-detailed-info 9 months ago
Morgan Pretty c51f4fda5e Fixed a number of bugs
• Added a 'requireAllRequestsSucceed' flag to the ConfigurationSyncJob (so it'll report a failure if any individual request fails)
• Updated the 'unknownMessage' error to include some info about the data contained in the protobuf
• Fixed an issue where the logger wasn't correctly respecting the log level settings
• Fixed an issue where the path status indicator wouldn't default to unknown
• Fixed an issue where the generic database error didn't replace the 'app_name' variable
• Fixed an issue where a group could be partially created due to one of it's configs failing to be stored (we now consider that a failure so the user can try again)
• Fixed an issue where the background pollers could get released before they finish polling
• Fixed an issue where the community poller would only ever fetch the most recent 100 messages (instead of everything since the last poll)
• Fixed an issue where we could incorrectly clear the app badge number in some cases
• Fixed an issue where processing a config message in the BackgroundPoller could result in attempting to fetch from communities after the process completed
• Fixed a crash where a database query could incorrectly be interrupted after it completed if both happened at just the right time
9 months ago
Ryan ZHAO fc4b349d36 add delay on permission chain for calls 9 months ago
Morgan Pretty 1b7d4e0686 Defaulted the initial "invited" control message to be read for the admin 9 months ago
Morgan Pretty 95f4150c96 Use a guard to prevent an implicit unwrap 9 months ago
Ryan ZHAO 3c3fbec6b4 Merge branch 'dev' into call-detailed-info 9 months ago
Morgan Pretty 72d01758ef Fixed an issue where the message request acceptance control message could incorrectly appear 9 months ago
Morgan Pretty cb1c8169b1 Merge branch 'dev' into feature/contact-block-and-delete 10 months ago
Morgan Pretty ed212e69a8 Fixed a couple of QA issues
• Fixed a bug where the nickname of a deleted contact would remain after deletion
• Fixed a bug where the block swipe action wouldn't show the confirmation modal
10 months ago
Morgan Pretty 82b315ccb1
Merge pull request #383 from mpretty-cyro/fix/poller-and-background-processing-bugs
Poller and background processing fixes
10 months ago
Morgan Pretty 6017a992ce Merge remote-tracking branch 'upstream/dev' into fix/poller-and-background-processing-bugs 10 months ago
Morgan Pretty bb6e78dc27 Merge remote-tracking branch 'upstream/dev' into fix/logging-issues-and-improvements
# Conflicts:
#	Session/Home/GlobalSearch/GlobalSearchViewController.swift
10 months ago
Morgan Pretty fdcdd070a1 Merge remote-tracking branch 'upstream/dev' into fix/logging-issues-and-improvements
# Conflicts:
#	SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
#	SessionMessagingKitTests/_TestUtilities/MockLibSessionCache.swift
10 months ago
Morgan Pretty b12a5282bb
Merge pull request #392 from mpretty-cyro/fix/grdb-assertion
Fix GRDB Assertion
10 months ago
Morgan Pretty 05d47392db
Merge pull request #393 from mpretty-cyro/fix/partial-group-state-loading
Fixed an issue where groups with only some config dumps wouldn't load
10 months ago
Morgan Pretty 88a242b39f
Merge pull request #380 from mpretty-cyro/fix/read-status-not-appearing
Fixed an issue where the read receipt wouldn't show while the conversation was open
10 months ago
Morgan Pretty 975fc52b5d Removed a left over TODO 10 months ago
Morgan Pretty 82b9c18929 Fixed an issue where groups with only some config dumps wouldn't load
• Cleaned up the interface for loading the "default" state for configs (shouldn't really be used outside of onboarding to tweaked it's interface)
• Updated the logic so group configs would be initialised all at once per group (previously it would load them in variant load order, now it will be group -> variant load order)
• Fixed an issue where groups in the invited state would incorrectly load their config states
10 months ago
Morgan Pretty e11375fdeb Fixed the broken unit tests 10 months ago
Morgan Pretty e29758e401 Updated GRDB and refactored internal Storage operations
• Updated to GRDB 7.3.0 (from 6.29.3)
• Updated the ConfigMessageReceiveJob and MessageReceiveJob to use the `writeAsync` function (instead of the blocking `write` function) so that they aren't subject to the `Storage.transactionDeadlockTimeoutSeconds`
• Refactored the `Storage.performOperation` and `Storage.performPublisherOperation` to rely on the new cancellable async/await `Task` logic that GRDB 7 supports (as apparently the other async methods don't support cancellation...)
• Cleaned up some "Sendable" related warnings
• Minor tweaks to `Log.assertOnMainThread` to make it a little more readable
10 months ago
Morgan Pretty e5333c671e Added block and delete functionality to contact list
• Removed the 'isBlocked' state from the FullConversationCell (no longer used - blocked conversations are removed from conversation list)
• Fixed an issue where blocked contacts could incorrectly appear in the contact list
10 months ago
Ryan ZHAO ec0d950844 Merge branch 'feature/groups-rebuild' of https://github.com/mpretty-cyro/session-ios into call-detailed-info 10 months ago
Morgan Pretty cd919284f0 Updated the invalid config errors to include the pubkey for debugging 10 months ago
Morgan Pretty a080d67618 Fixed a couple of bugs and logging tweaks
• Refactored the remaining `SNLog` calls
• Added support for a 'customSuffix' to the log categories (similar to the 'customPrefix' it allows category name manipulation whilst keeping the existing log level settings)
• Improved logging in the PN extension
• Fixed an issue where the PN extension would end up with duplicate logs every time a new PN was received
• Fixed an issue where the PN extension would needlessly dispatch it's setup to the main thread
• Fixed an issue where the PN extension would try to read from the database after suspending it
• Fixed an issue where the PN extension could try to complete on a non-main thread (eg. db threads) which _might_ cause odd behaviours
10 months ago
Morgan Pretty 4435240d2b Fixed a number of background processing and polling issues
• Tweaked some background poller logs
• Refactored the `BackgroundFetch` handling to use a `DispatchSourceTimer` instead of `NSTimer` and use a specific `DispatchQueue` to avoid race conditions
• Refactored the BackgroundTaskManager to use `DispatchQueue` and `DispatchSourceTimer` and removed unused code (was seeing background tasks incorrectly running too long so wanted to clean it up)
• Fixed an issue where pollers would incorrectly be released during background polling
• Fixed an issue where the background poller wouldn't update the app notification badge count
• Fixed an issue where the community pollers 'timeSinceLastPoll' was incorrectly being given both an epoch timestamp as well as a duration since the last poll (resulting in always just refetching recent messages)
• Fixed an issue where the community poller wasn't updating the last poll timestamp (also renamed some functions to make them clearer)
• Fixed an issue where pollers could incorrectly be started in the background (eg. when receiving a PN)
10 months ago
Morgan Pretty f67c754088 Fixed an issue where the read receipt wouldn't show 10 months ago
Morgan Pretty 4b5eb7755c Sort group member change control messages deterministically 10 months ago
Morgan Pretty a049d87b11 Fixed a few bugs which came up during testing
• Added a 'requireAllRequestsSucceed' flag to the ConfigurationSyncJob (so it'll report a failure if any individual request fails)
• Fixed an issue where a number of 'response' types weren't encoding correctly (only impacted unit tests)
• Fixed an issue where the logger wasn't correctly respecting the log level settings
• Fixed an issue where the path status indicator wouldn't default to unknown
• Fixed an issue where the generic database error didn't replace the 'app_name' variable
• Fixed an issue where notification content might not be shown correctly
• Fixed an issue where a group could be partially created due to one of it's configs failing to be stored (we now consider that a failure so the user can try again)
• Fixed an issue where processing a config message in the BackgroundPoller could result in attempting to fetch from communities after the process completed
• Fixed a crash where a database query could incorrectly be interrupted after it completed if both happened at just the right time
• Fixed broken unit tests
10 months ago
Morgan Pretty 22f3974968 Fixed a couple of issues found during internal testing
• Fixed an issue where leaving a group from the settings screen would just sit there until you successfully left
• Fixed an issue where admin display pictures didn't have the crown icon in the conversation screen
10 months ago
Morgan Pretty 828b25254a Fixed a silly message variant bug, unit test env var tweaks
• Added an env variable to enable the debug disappearing message durations
• Moved the 'processUnitTestEnvVariablesIfNeeded' function into a separate file and added some docs (so we can just look at that file to see what is supported)
• Fixed an issue where the deleted message artifact variant had incorrectly gotten it's value changed (too late to change it back so need a migration)
10 months ago
Morgan Pretty 4399a5a5bb Fixed a few issues that came up when testing
• Attempt to fix an issue where the CI couldn't find a test simulator because it didn't exist (now try to grab the latest)
• Refactored the notification service extension logging to be more helpful and allow for better tracking
• Fixed a minor layout issue on devices with a home button
• Fixed an issue where display pictures could be given the wrong file extension because we were assuming jpeg
• Fixed an issue where disabling the "Auto dark-mode" setting may not correctly trigger a theme update
• Fixed an issue where returning to the settings screen from a child screen would result in the screen jumping
• Fixed an issue where migrating the community display picture would fail
• Fixed an issue where failing to decrypt a config message push notification would incorrectly result in the fallback notification being shown
10 months ago
Morgan Pretty ad821dcbf1 Fixed some string issues
• Updated the string linter logic to error when incorrect parameter names are given (or missed)
• Updated the code based on the latest string changes
• Fixed an issue where the string linter wasn't working
10 months ago
Morgan Pretty d91af1b5b6 Fixed a few bugs
• Updated to the latest libSession
• Fixed some warnings
• Fixed a compilation issue on non-debug builds
• Fixed an issue with the dev settings data importer when ignoring hidden files from old exports (wouldn't move the inputStream forward correctly resulting in a crash)
• Fixed an issue where the swarm poller wasn't included synchronously processed messages in it's publisher output
10 months ago
Morgan Pretty d22c2cccf1 Fixed a few migration issues found when testing 10 months ago
Morgan Pretty bdbfe6c28e Refactored the remaining DB queries to avoid using type-based queries 10 months ago
Morgan Pretty 647919efde Started working on refactoring the migrations to avoid an anti-pattern 10 months ago
Morgan Pretty 1f3f7ba7c6 Fixed QA issues
• Refactored the 'performOperation' function to have cleaner control flow and resolve another EXC_BAD_ACCESS edge case
• Updated the code to allow legacy groups to be unpinned after they are deprecated
• Fixed an issue where the default state of the global search screen wouldn't be populated if you had a contact with no SessionThread record
• Fixed an issue with display picture placeholder generation
• Fixed an issue where the edit group screen would show the group display picture back to front
10 months ago
Morgan Pretty 823409709c Added timestamp verification logic and fixed a couple of QA issues
• Updated the code to set and check the 'sigTimestamp' value in order to validate the envelope.timestamp when possible
• Disabled the delete/select buttons on the attachment screens in legacy groups once deprecated
• Disabled the ability to remove reactions from the reaction list in legacy groups once deprecated
• Fixed an issue where the "expired groups" banner could incorrectly appear after creating a new group
• Fixed an issue where the ConfigSyncJob wouldn't report it's failure immediately
11 months ago
Morgan Pretty 35972d176a Fixed broken message sending for TestFlight build
• Fixed broken unit tests
• Fixed some incorrect logic for validating a message
11 months ago
Morgan Pretty c99ee90ca6 Fixed a QA issue, a couple edge-cases and cleaned up some logic
• Added the "expired group" banner for when the first poll of an updated group doesn't retrieve config messages
• Removed a redundant base64 encode/decode
• Removed messy extra message validation function
• Fixed an edge-case where a member granted supplemental access to the group could end up incorrectly kicked under the right conditions
• Fixed an issue where the copy for deleting a deprecated legacy group wasn't accurate
11 months ago