fix: Add redaction events to timeline
The redaction events should not be displayed in the GUI but it is the job of the app to hide them from the timeline while the SDK should offer an accurate list of ALL timeline events by default.
This commit is contained in:
parent
d5595d9df8
commit
846d5b0f46
|
|
@ -286,7 +286,8 @@ class Timeline {
|
|||
));
|
||||
onChange?.call(index);
|
||||
}
|
||||
} else if (status.isRemoved) {
|
||||
}
|
||||
if (status.isRemoved) {
|
||||
final i = _findEvent(event_id: eventUpdate.content['event_id']);
|
||||
if (i < events.length) {
|
||||
removeAggregatedEvent(events[i]);
|
||||
|
|
|
|||
|
|
@ -146,12 +146,12 @@ void main() {
|
|||
await Future.delayed(Duration(milliseconds: 50));
|
||||
|
||||
expect(updateCount, 3);
|
||||
expect(insertList, [0, 0]);
|
||||
expect(insertList, [0, 0, 0]);
|
||||
expect(insertList.length, timeline.events.length);
|
||||
expect(changeList, [1]);
|
||||
expect(removeList, []);
|
||||
expect(timeline.events.length, 2);
|
||||
expect(timeline.events[1].redacted, true);
|
||||
expect(timeline.events.length, 3);
|
||||
expect(timeline.events[2].redacted, true);
|
||||
});
|
||||
|
||||
test('Send message', () async {
|
||||
|
|
@ -160,7 +160,7 @@ void main() {
|
|||
await Future.delayed(Duration(milliseconds: 50));
|
||||
|
||||
expect(updateCount, 5);
|
||||
expect(insertList, [0, 0, 0]);
|
||||
expect(insertList, [0, 0, 0, 0]);
|
||||
expect(insertList.length, timeline.events.length);
|
||||
final eventId = timeline.events[0].eventId;
|
||||
expect(eventId.startsWith('\$event'), true);
|
||||
|
|
@ -183,7 +183,7 @@ void main() {
|
|||
await Future.delayed(Duration(milliseconds: 50));
|
||||
|
||||
expect(updateCount, 6);
|
||||
expect(insertList, [0, 0, 0]);
|
||||
expect(insertList, [0, 0, 0, 0]);
|
||||
expect(insertList.length, timeline.events.length);
|
||||
expect(timeline.events[0].eventId, eventId);
|
||||
expect(timeline.events[0].status, EventStatus.synced);
|
||||
|
|
@ -215,7 +215,7 @@ void main() {
|
|||
await Future.delayed(Duration(milliseconds: 50));
|
||||
|
||||
expect(updateCount, 13);
|
||||
expect(insertList, [0, 0, 0, 0, 0, 1, 2]);
|
||||
expect(insertList, [0, 0, 0, 0, 0, 0, 1, 2]);
|
||||
expect(insertList.length, timeline.events.length);
|
||||
expect(changeList, [1, 0, 0, 0, 1, 2]);
|
||||
expect(removeList, []);
|
||||
|
|
@ -231,10 +231,10 @@ void main() {
|
|||
|
||||
expect(updateCount, 14);
|
||||
|
||||
expect(insertList, [0, 0, 0, 0, 0, 1, 2]);
|
||||
expect(insertList, [0, 0, 0, 0, 0, 0, 1, 2]);
|
||||
expect(changeList, [1, 0, 0, 0, 1, 2]);
|
||||
expect(removeList, [0]);
|
||||
expect(timeline.events.length, 6);
|
||||
expect(timeline.events.length, 7);
|
||||
expect(timeline.events[0].status, EventStatus.error);
|
||||
});
|
||||
|
||||
|
|
@ -278,7 +278,7 @@ void main() {
|
|||
|
||||
expect(updateCount, 17);
|
||||
|
||||
expect(insertList, [0, 0, 0, 0, 0, 1, 2, 0]);
|
||||
expect(insertList, [0, 0, 0, 0, 0, 0, 1, 2, 0]);
|
||||
expect(changeList, [1, 0, 0, 0, 1, 2, 0, 0]);
|
||||
expect(removeList, [0]);
|
||||
expect(timeline.events.length, 1);
|
||||
|
|
@ -293,7 +293,7 @@ void main() {
|
|||
await Future.delayed(Duration(milliseconds: 50));
|
||||
|
||||
expect(updateCount, 20);
|
||||
expect(insertList, [0, 0, 0, 0, 0, 1, 2, 0]);
|
||||
expect(insertList, [0, 0, 0, 0, 0, 0, 1, 2, 0]);
|
||||
expect(historyRequestList, []);
|
||||
expect(timeline.events.length, 3);
|
||||
expect(timeline.events[0].eventId, '3143273582443PhrSn:example.org');
|
||||
|
|
|
|||
Loading…
Reference in New Issue