Expose decrypt-on-read: KatrixSession.decryptCached for cached E2EE envelopes #51

Closed
opened 2026-08-06 22:40:16 +02:00 by thecrealm · 0 comments
Owner

Discovered by #47: the event cache stores wire envelopes (§9, D26) and live events decrypt on the change bus, but consumers reading cached history (offline scrollback, cold start, room-list last-event previews) have no decrypt path — §10.6.5's 'consumers decrypt via the machine path' has no public surface. Add suspend fun KatrixSession.decryptCached(roomId, raw: RawEvent): CommittedEvent delegating to the existing decorate logic (same UTD accounting, CR-8; plaintext passthrough as EventCryptoState.None). D30 executing choice.

Discovered by #47: the event cache stores wire envelopes (§9, D26) and live events decrypt on the change bus, but consumers reading cached history (offline scrollback, cold start, room-list last-event previews) have no decrypt path — §10.6.5's 'consumers decrypt via the machine path' has no public surface. Add `suspend fun KatrixSession.decryptCached(roomId, raw: RawEvent): CommittedEvent` delegating to the existing decorate logic (same UTD accounting, CR-8; plaintext passthrough as EventCryptoState.None). D30 executing choice.
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#51
No description provided.