From 846d5b0f46854270c1feb3757163087d8c0736f4 Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Thu, 3 Feb 2022 13:52:07 +0100 Subject: [PATCH 1/2] 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. --- lib/src/timeline.dart | 3 ++- test/timeline_test.dart | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/lib/src/timeline.dart b/lib/src/timeline.dart index 4fc20b6c..6b9a01f6 100644 --- a/lib/src/timeline.dart +++ b/lib/src/timeline.dart @@ -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]); diff --git a/test/timeline_test.dart b/test/timeline_test.dart index d396de3b..0f4d2672 100644 --- a/test/timeline_test.dart +++ b/test/timeline_test.dart @@ -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'); From 3192c9332eea8c7bf6c748d3c74a12591d1bf9bd Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Fri, 4 Feb 2022 08:56:39 +0100 Subject: [PATCH 2/2] chore: Bump version --- CHANGELOG.md | 4 ++++ pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2367073..67df0318 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [0.8.2] - 04nd Feb 2022 +- fix: Add redaction events to timeline +- fix: Resize image with compute by using const class arguments + ## [0.8.1] - 03nd Feb 2022 - refactor: Implement on history received in timeline - fix: null-safety issues with widgets diff --git a/pubspec.yaml b/pubspec.yaml index 717f36bf..557b6496 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: matrix description: Matrix Dart SDK -version: 0.8.1 +version: 0.8.2 homepage: https://famedly.com repository: https://gitlab.com/famedly/company/frontend/famedlysdk.git