From c22615d8cda4e66ef92dcbada0a27edaa0bec8cf Mon Sep 17 00:00:00 2001 From: Sorunome Date: Tue, 5 Jan 2021 15:09:59 +0100 Subject: [PATCH] fix: Prioritize specced replies over unspecced event aggregations --- lib/src/event.dart | 9 ++++----- test/event_test.dart | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/src/event.dart b/lib/src/event.dart index 608d3f1f..051093c5 100644 --- a/lib/src/event.dart +++ b/lib/src/event.dart @@ -626,16 +626,15 @@ class Event extends MatrixEvent { /// Get the relationship type of an event. `null` if there is none String get relationshipType { - if (content == null || !(content['m.relates_to'] is Map)) { + if (content?.tryGet>('m.relates_to') == null) { return null; } - if (content['m.relates_to'].containsKey('rel_type')) { - return content['m.relates_to']['rel_type']; - } if (content['m.relates_to'].containsKey('m.in_reply_to')) { return RelationshipTypes.Reply; } - return null; + return content + .tryGet>('m.relates_to') + .tryGet('rel_type'); } /// Get the event ID that this relationship will reference. `null` if there is none diff --git a/test/event_test.dart b/test/event_test.dart index 6bbcdeac..ccd98e41 100644 --- a/test/event_test.dart +++ b/test/event_test.dart @@ -174,7 +174,7 @@ void main() { jsonObj['type'] = 'm.room.message'; jsonObj['content']['msgtype'] = 'm.text'; - jsonObj['content']['m.relates_to'] = {}; + jsonObj['content']['m.relates_to'] = {}; jsonObj['content']['m.relates_to']['m.in_reply_to'] = { 'event_id': '1234', };