diff --git a/python/tests/test_account.py b/python/tests/test_account.py index 1d5a0b71f..b42c92180 100644 --- a/python/tests/test_account.py +++ b/python/tests/test_account.py @@ -1494,6 +1494,12 @@ class TestOnlineAccount: ac1._evtracker.consume_events() ac2._evtracker.consume_events() + # Reset the timer back to 0 + chat2.set_autodelete_timer(0) + ac1._evtracker.get_matching("DC_EVENT_CHAT_AUTODELETE_TIMER_MODIFIED") + ac1._evtracker.get_matching("DC_EVENT_INCOMING_MSG") + assert chat1.get_autodelete_timer() == 0 + class TestGroupStressTests: def test_group_many_members_add_leave_remove(self, acfactory, lp): diff --git a/src/dc_receive_imf.rs b/src/dc_receive_imf.rs index c3b2d102d..3720e2b75 100644 --- a/src/dc_receive_imf.rs +++ b/src/dc_receive_imf.rs @@ -201,8 +201,8 @@ pub fn dc_receive_imf( }; } - if let Some(value) = mime_parser.get(HeaderDef::AutodeleteTimer) { - let timer = match value.parse::() { + let timer = if let Some(value) = mime_parser.get(HeaderDef::AutodeleteTimer) { + match value.parse::() { Ok(timer) => timer, Err(err) => { warn!( @@ -211,8 +211,12 @@ pub fn dc_receive_imf( ); 0 } - }; + } + } else { + 0 + }; + if chat::get_autodelete_timer(context, chat_id) != timer { match chat::set_autodelete_timer(context, chat_id, timer) { Ok(()) => { context.call_cb(Event::ChatAutodeleteTimerModified { chat_id, timer });