diff options
Diffstat (limited to 'src/plugins/Matrix.cpp')
-rw-r--r-- | src/plugins/Matrix.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/Matrix.cpp b/src/plugins/Matrix.cpp index eeef477..c54a8f6 100644 --- a/src/plugins/Matrix.cpp +++ b/src/plugins/Matrix.cpp @@ -1750,11 +1750,12 @@ namespace QuickMedia { if(!type_json.IsString()) return nullptr; + bool provisional = false; const rapidjson::Value &unsigned_json = GetMember(event_item_json, "unsigned"); if(unsigned_json.IsObject()) { const rapidjson::Value &transaction_id_json = GetMember(unsigned_json, "transaction_id"); if(transaction_id_json.IsString() && my_events_transaction_ids.find(transaction_id_json.GetString()) != my_events_transaction_ids.end()) - return nullptr; + provisional = true; } RelatedEventType related_event_type = RelatedEventType::NONE; @@ -1784,6 +1785,7 @@ namespace QuickMedia { message->related_event_id = relates_to_event_id_json.GetString(); message->related_event_type = RelatedEventType::REACTION; message->timestamp = timestamp; + message->provisional = provisional; return message; } } @@ -1802,6 +1804,7 @@ namespace QuickMedia { message->body = "Message deleted"; message->timestamp = timestamp; message->related_event_type = RelatedEventType::REDACTION; + message->provisional = provisional; const rapidjson::Value &reason_json = GetMember(*content_json, "reason"); if(reason_json.IsString()) { @@ -1892,6 +1895,7 @@ namespace QuickMedia { message->related_event_id = std::move(related_event_id); message->related_event_type = related_event_type; message->timestamp = timestamp; + message->provisional = provisional; return message; } else { auto message = std::make_shared<Message>(); @@ -1902,6 +1906,7 @@ namespace QuickMedia { message->related_event_id = std::move(related_event_id); message->related_event_type = related_event_type; message->timestamp = timestamp; + message->provisional = provisional; return message; } @@ -1975,6 +1980,7 @@ namespace QuickMedia { message->related_event_id = std::move(related_event_id); message->related_event_type = related_event_type; message->timestamp = timestamp; + message->provisional = provisional; return message; } |