Set timer to 0 if no Autodelete-Timer header is present

This commit is contained in:
Alexander Krotov
2020-01-06 00:26:35 +01:00
parent 67b486bfbd
commit 997c5ad68a
2 changed files with 13 additions and 3 deletions

View File

@@ -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):

View File

@@ -201,8 +201,8 @@ pub fn dc_receive_imf(
};
}
if let Some(value) = mime_parser.get(HeaderDef::AutodeleteTimer) {
let timer = match value.parse::<u32>() {
let timer = if let Some(value) = mime_parser.get(HeaderDef::AutodeleteTimer) {
match value.parse::<u32>() {
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 });