Skip to content

Fix Olm receive on locally initiated sessions - #28

Merged
TroyHernandez merged 2 commits into
mainfrom
fix/olm-receive
Sep 9, 2026
Merged

TroyHernandez merged 2 commits into
mainfrom
fix/olm-receive

Conversation

@TroyHernandez

Copy link
Copy Markdown
Contributor

Fix receiving Olm replies on sessions initiated by this client.

  • Try both stored session directions before creating an inbound prekey session.
  • Contain failed or replayed prekeys and malformed plaintext so sync can continue.
  • Add optional existing-session handles to the standalone receive helper.
  • Add 83 regression assertions using real Olm sessions, including persistence and replay cases.

Validation of the reviewed source, which is unchanged on this clean branch:

  • mx.client: 405/405 assertions pass.
  • chat.api: 1092/1092 assertions pass against the isolated mx.client build.
  • Local package check: 0 errors, 0 warnings, 0 notes.

This PR changes only mx.client and raises no dependency floors. The 0.2.0.9
version bump is a separate DESCRIPTION/NEWS commit. The previously published
mx.api and mx.crypto development dependencies are available to CI through drat.

The existing limit of one session per direction per peer remains. A unified
per-peer session history is a follow-up. Live inbound decryption has not yet
been verified; deployment and that check remain separate.

@TroyHernandez
TroyHernandez merged commit 50650aa into main Sep 9, 2026
2 checks passed
@TroyHernandez
TroyHernandez deleted the fix/olm-receive branch September 10, 2026 20:25
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.

1 participant