Merge branch 'krille/dont-try-to-decrypt-redacted-events' into 'main'

Krille/dont try to decrypt redacted events

See merge request famedly/company/frontend/famedlysdk!1156
This commit is contained in:
Malin Errenst 2022-10-28 12:31:56 +00:00
commit 380963e87a
2 changed files with 10 additions and 4 deletions

View File

@ -189,6 +189,9 @@ class Encryption {
} }
Event decryptRoomEventSync(String roomId, Event event) { Event decryptRoomEventSync(String roomId, Event event) {
if (event.type != EventTypes.Encrypted || event.redacted) {
return event;
}
final content = event.parsedRoomEncryptedContent; final content = event.parsedRoomEncryptedContent;
if (event.type != EventTypes.Encrypted || if (event.type != EventTypes.Encrypted ||
content.ciphertextMegolm == null) { content.ciphertextMegolm == null) {
@ -294,7 +297,7 @@ class Encryption {
Future<Event> decryptRoomEvent(String roomId, Event event, Future<Event> decryptRoomEvent(String roomId, Event event,
{bool store = false, {bool store = false,
EventUpdateType updateType = EventUpdateType.timeline}) async { EventUpdateType updateType = EventUpdateType.timeline}) async {
if (event.type != EventTypes.Encrypted) { if (event.type != EventTypes.Encrypted || event.redacted) {
return event; return event;
} }
final content = event.parsedRoomEncryptedContent; final content = event.parsedRoomEncryptedContent;

View File

@ -72,7 +72,8 @@ class Event extends MatrixEvent {
? room.unsafeGetUserFromMemoryOrFallback(stateKey!) ? room.unsafeGetUserFromMemoryOrFallback(stateKey!)
: null; : null;
final MatrixEvent? originalSource; MatrixEvent? _originalSource;
MatrixEvent? get originalSource => _originalSource;
Event({ Event({
this.status = defaultStatus, this.status = defaultStatus,
@ -85,8 +86,9 @@ class Event extends MatrixEvent {
Map<String, dynamic>? prevContent, Map<String, dynamic>? prevContent,
String? stateKey, String? stateKey,
required this.room, required this.room,
this.originalSource, MatrixEvent? originalSource,
}) : super( }) : _originalSource = originalSource,
super(
content: content, content: content,
type: type, type: type,
eventId: eventId, eventId: eventId,
@ -262,6 +264,7 @@ class Event extends MatrixEvent {
'redacted_because': redactedBecause.toJson(), 'redacted_because': redactedBecause.toJson(),
}; };
prevContent = null; prevContent = null;
_originalSource = null;
final contentKeyWhiteList = <String>[]; final contentKeyWhiteList = <String>[];
switch (type) { switch (type) {
case EventTypes.RoomMember: case EventTypes.RoomMember: