diff --git a/CHANGELOG.md b/CHANGELOG.md index a3e07b24e..14fffe0f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - refactorings #3437 ### Fixes +- mark "group image changed" as system message on receiver side #3517 ## 1.90.0 diff --git a/python/tests/test_1_online.py b/python/tests/test_1_online.py index d7e86e61a..263a4aeaf 100644 --- a/python/tests/test_1_online.py +++ b/python/tests/test_1_online.py @@ -1581,8 +1581,9 @@ def test_set_get_group_image(acfactory, data, lp): lp.sec("ac2: wait for receiving message from ac1") msg1 = ac2._evtracker.wait_next_incoming_message() + assert msg1.is_system_message() # Member added msg2 = ac2._evtracker.wait_next_incoming_message() - assert msg1.text == "hi" or msg2.text == "hi" + assert msg2.text == "hi" assert msg1.chat.id == msg2.chat.id lp.sec("ac2: see if chat now has got the profile image") @@ -1596,6 +1597,8 @@ def test_set_get_group_image(acfactory, data, lp): lp.sec("ac2: delete profile image from chat") msg1.chat.remove_profile_image() msg_back = ac1._evtracker.wait_next_incoming_message() + assert msg_back.text == "Group image deleted by {}.".format(ac2.get_config("addr")) + assert msg_back.is_system_message() assert msg_back.chat == chat assert chat.get_profile_image() is None diff --git a/src/mimeparser.rs b/src/mimeparser.rs index ee7ab5365..11fba8f6c 100644 --- a/src/mimeparser.rs +++ b/src/mimeparser.rs @@ -417,6 +417,8 @@ impl MimeMessage { self.is_system_message = SystemMessage::ChatProtectionEnabled; } else if value == "protection-disabled" { self.is_system_message = SystemMessage::ChatProtectionDisabled; + } else if value == "group-avatar-changed" { + self.is_system_message = SystemMessage::GroupImageChanged; } } else if self.get_header(HeaderDef::ChatGroupMemberRemoved).is_some() { self.is_system_message = SystemMessage::MemberRemovedFromGroup; @@ -424,10 +426,6 @@ impl MimeMessage { self.is_system_message = SystemMessage::MemberAddedToGroup; } else if self.get_header(HeaderDef::ChatGroupNameChanged).is_some() { self.is_system_message = SystemMessage::GroupNameChanged; - } else if let Some(value) = self.get_header(HeaderDef::ChatContent) { - if value == "group-avatar-changed" { - self.is_system_message = SystemMessage::GroupImageChanged; - } } }