Merged
Conversation
…essage-wrapping # Conflicts: # Session.xcodeproj/project.pbxproj # Session/Conversations/ConversationVC+Interaction.swift # Session/Conversations/ConversationVC.swift # Session/Conversations/Settings/ThreadSettingsViewModel.swift # Session/Home/App Review/AppReviewPromptModel.swift # Session/Home/HomeViewModel.swift # Session/Media Viewing & Editing/MessageInfoScreen.swift # Session/Meta/AppDelegate.swift # Session/Settings/DeveloperSettings/DeveloperSettingsProViewModel.swift # Session/Settings/SettingsViewModel.swift # Session/Shared/BaseVC.swift # Session/Utilities/UIContextualAction+Utilities.swift # SessionMessagingKit/Database/Models/SessionThread.swift # SessionMessagingKit/SessionPro/SessionProPaymentScreenContent.swift # SessionMessagingKit/SessionPro/SessionProSettingsViewModel.swift # SessionMessagingKit/SessionPro/SessionProState.swift # SessionMessagingKit/Shared Models/SessionThreadViewModel.swift # SessionNotificationServiceExtension/NotificationServiceExtension.swift # SessionUIKit/Components/Input View/InputView.swift # SessionUIKit/Components/SwiftUI/ProCTAModal.swift # SessionUIKit/Screens/Settings/SessionProSettings/SessionProPaymentScreen+CancelPlan.swift # SessionUIKit/Screens/Settings/SessionProSettings/SessionProPaymentScreen+Models.swift # SessionUIKit/Screens/Settings/SessionProSettings/SessionProPaymentScreen+Purchase.swift # SessionUIKit/Screens/Settings/SessionProSettings/SessionProPaymentScreen+Renew.swift # SessionUIKit/Screens/Settings/SessionProSettings/SessionProPaymentScreen+RequestRefund.swift # SessionUIKit/Screens/Settings/SessionProSettings/SessionProPaymentScreen+UpdatePlan.swift # SessionUIKit/Screens/Settings/SessionProSettings/SessionProPaymentScreen.swift # SessionUIKit/Screens/Settings/SessionProSettings/SessionProPlanUpdatedScreen.swift # SessionUIKit/Style Guide/Constants+Apple.swift # SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift # SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentTextToolbar.swift
• Added logic to handle non-originating accounts • Added explicit SessionPro errors • Moved profile pro decisions into the SessionProManager to consolidate the logic • Resolved a bunch of TODOs • Fixed an issue where a invalid pro key would prevent messages from decoding
…essage-wrapping # Conflicts: # Session/Conversations/ConversationVC+Interaction.swift # Session/Conversations/ConversationVC.swift # Session/Conversations/Settings/ThreadSettingsViewModel.swift # Session/Home/GlobalSearch/GlobalSearchViewController.swift # Session/Meta/AppDelegate.swift # SessionMessagingKit/Open Groups/OpenGroupManager.swift # SessionMessagingKit/Sending & Receiving/MessageReceiver.swift # SessionMessagingKit/Utilities/MessageWrapper.swift
• Tweaked group message deletion to determine admin status via libSession instead of the database (since it now retrieves keys from libSession) • Fixed a bug where interactions may not be able to be marked as deleted if there was an attachment without a downloadUrl
• Added some initial pro revocation list logic • Updated to libSession 1.5.9 • Fixed duplicate file warnings
• Fixed a bug where an invalid thread would be created on fresh install • Fixed a bug where restoring a device could result in the conversation list staying empty
• Fixed a possible deadlock during dependency initialisation • Fixed an issue preventing destroyed/kicked groups from rendering correctly • Fixed an auth issue when creating a new group • Fixed an issue where the input would incorrect allow text entry when the user can't send messages • Fixed an issue where conversations weren't correctly being identified as message requests • Fixed an issue where the empty state in a conversation could end up with the wrong font
• Added a log to debug an attachment download issue • Added a value to track the number of concurrent • Fixed an issue where we could try to process reactions for a community message after failing to insert the message • Fixed an issue where a dedupe record could incorrectly be inserted for a community message which failed to be handled • Fixed an issue where the network would be started in the notification service extension needlessly (now defer until actually needed)
• Removed a test log • Fixed regression which broke group polling
• Added the unique constraint back to the display picture download job (fixing a duplicate job error causing queue starvation issues) • Fixed a race condition where some blocking jobs that require the user to exist could run before we can detect whether the user exists • Fixed a bug where `FetchablePair` wasn't handling `DatabaseValueConvertible` correctly • Fixed a couple of bugs in the JobRunner where jobDependencies may not be handled correctly • Fixed a bug where display pictures could be prioritised over attachments where there is no `activeThreadId` (in that case they will be prioritised by timestamp)
• Added an optimisation to avoid updating the priority context if it's already set to the current value (could happen when returning to the conversation screen from it's settings screen) • Further tweaked the sorting so downloads for the current conversation are prioritised over display pictures for the conversation list • Fixed the unique constraint on the new `uniqueHashValue` column on the Job table
• Added additional logs to try to made debugging some database failure cases easier • Tweaked some logs to suppress false warnings • Tweaked some logic to source some additional pro data via the SessionProManager rather than using inline logic • (Probably) Fixed a bug where the pro badge could incorrectly show in the "Note to Self" title
• Removed the GRDB usage from SessionNetworkingKit • Replaced the Session-GRDB-swift fork SPM dependency with the (more) official SQLCipher/GRDB.swift SPM dependency • Updated to the latest GRDB (7.10.0) • Fixed an issue so task cancellation is correctly propagated to database queries
• Fixed a bug where trying to schedule an auto-download the users display picture was happening in a read query instead of a write • Fixed a bug where the network instance could be incorrectly created when receiving a PN
• Fixed an issue where notification messages would only be processed on launch and not on return from background • Fixed an edge case where a notification may not be shown when received while backgrounding the app • Fixed an issue where the `DisappearingMessagesJob` could needlessly schedule additional jobs
• Fixed an issue where the home screen wouldn't update message snippets when returning from the background
• Updated to the latest libSession • Fixed an incorrect donations URL • Fixed failing unit tests
…-snode-list [Automated] Update fallback static snode list
…n-translations [Automated] Update translations from Crowdin
Database Wrapper Cleanup
RyanRory
approved these changes
Mar 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's Changed
applicationWillEnterForegroundcodeFull Changelog: 2.14.11...2.15.0