Encrypted sends: hoist m.relates_to into the cleartext content (aggregations dead in E2EE rooms) #53

Closed
opened 2026-08-06 23:06:53 +02:00 by thecrealm · 0 comments
Owner

Found by the #47 demo e2e: SessionCrypto.encryptOutgoing encrypts the full content and never copies m.relates_to to the m.room.encrypted cleartext, but relation-fact extraction (aggregation/Relations.kt, D26) reads it from the wire content — per the Matrix spec the sender copies m.relates_to into the unencrypted portion. Result: reactions/edits sent by katrix into an E2EE room never form relation facts anywhere (own client, remote katrix, and spec-following peers see no relation). Fix at the encryptOutgoing choke point + §10.4.2 MUST line + test (§10.6.4, CR-6).

Found by the #47 demo e2e: SessionCrypto.encryptOutgoing encrypts the full content and never copies m.relates_to to the m.room.encrypted cleartext, but relation-fact extraction (aggregation/Relations.kt, D26) reads it from the wire content — per the Matrix spec the sender copies m.relates_to into the unencrypted portion. Result: reactions/edits sent by katrix into an E2EE room never form relation facts anywhere (own client, remote katrix, and spec-following peers see no relation). Fix at the encryptOutgoing choke point + §10.4.2 MUST line + test (§10.6.4, CR-6).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
thecrealm/katrix#53
No description provided.