Skip to content

Conversation

@SessionHero01
Copy link
Collaborator

@SessionHero01 SessionHero01 commented Nov 7, 2025

This PR does the following:

  1. Update MessageSender to use SessionProtocol to encrypt/encode messages. Also getting rid of the legacy group handling in there, and make the MessageSender a dependency injected object
  2. Create MessageParser and ReceivedMessageProcessor to handle different scenarios of messaging parsing and processing. Most of the logic inside ReceivedMessageProcessor is copied from existing code. The existing code is there so the BatchMessageReceiverJob can function for this time being, it will be removed in next release
  3. Add a ReceivedMessageHashDatabase to replace the dodgy table we have atm. This one is used for message de-duplication and provides atomic solution for de-duplicating message.
  4. Change how we process messages: we no longer use Job system to parse message, we process them right after the polling. A few things have to be changed so that it's resilient against app kill
  5. Tidy up the batch request API to use kotlinx serialization instead

TODO
Receiving blinded messages: we are waiting for implementation from libsession-util so for now it'll error out upon receiving any of them.

@SessionHero01 SessionHero01 marked this pull request as ready for review November 7, 2025 04:56

namespace == Namespace.DEFAULT() || pushData?.metadata == null -> {
if (pushData?.data == null) {
if (pushData?.data == null || pushData.metadata?.msg_hash == null) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double check that call notifications aren't affected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants