fix: Properly handle redacted events in event.getDisplayEvent
This commit is contained in:
parent
33b1e36efd
commit
5aec7aab32
|
|
@ -745,6 +745,9 @@ class Event extends MatrixEvent {
|
|||
/// Fetches the event to be rendered, taking into account all the edits and the like.
|
||||
/// It needs a [timeline] for that.
|
||||
Event getDisplayEvent(Timeline timeline) {
|
||||
if (redacted) {
|
||||
return this;
|
||||
}
|
||||
if (hasAggregatedEvents(timeline, RelationshipTypes.Edit)) {
|
||||
// alright, we have an edit
|
||||
final allEditEvents = aggregatedEvents(timeline, RelationshipTypes.Edit)
|
||||
|
|
|
|||
|
|
@ -978,6 +978,24 @@ void main() {
|
|||
displayEvent = event.getDisplayEvent(
|
||||
Timeline(events: <Event>[event, edit1, edit2, edit3], room: room));
|
||||
expect(displayEvent.body, 'edit 2');
|
||||
event = Event.fromJson({
|
||||
'type': EventTypes.Message,
|
||||
'content': {
|
||||
'body': 'blah',
|
||||
'msgtype': 'm.text',
|
||||
},
|
||||
'event_id': '\$source',
|
||||
'sender': '@alice:example.org',
|
||||
'unsigned': {
|
||||
'redacted_because': {
|
||||
'evnet_id': '\$redact',
|
||||
'sender': '@alice:example.org',
|
||||
},
|
||||
},
|
||||
}, null);
|
||||
displayEvent = event.getDisplayEvent(
|
||||
Timeline(events: <Event>[event, edit1, edit2, edit3], room: room));
|
||||
expect(displayEvent.body, 'Redacted');
|
||||
});
|
||||
test('downloadAndDecryptAttachment', () async {
|
||||
final FILE_BUFF = Uint8List.fromList([0]);
|
||||
|
|
|
|||
Loading…
Reference in New Issue