diff --git a/src/chat.rs b/src/chat.rs index 8685e3743..7821b35ec 100644 --- a/src/chat.rs +++ b/src/chat.rs @@ -1441,7 +1441,7 @@ pub fn get_chat_msgs( flags: u32, marker1before: Option, ) -> Vec { - match hide_device_expired_messages(context) { + match delete_device_expired_messages(context) { Err(err) => warn!(context, "Failed to delete expired messages: {}", err), Ok(messages_deleted) => { if messages_deleted { @@ -1587,11 +1587,11 @@ pub fn marknoticed_all_chats(context: &Context) -> Result<(), Error> { Ok(()) } -/// Hides messages which are expired according to "delete_device_after" setting. +/// Deletes messages which are expired according to "delete_device_after" setting. /// -/// Returns true if any message is hidden, so event can be emitted. If nothing -/// has been hidden, returns false. -pub fn hide_device_expired_messages(context: &Context) -> Result { +/// Returns true if any message is deleted, so event can be emitted. If nothing +/// has been deleted, returns false. +pub fn delete_device_expired_messages(context: &Context) -> Result { if let Some(delete_device_after) = context.get_config_delete_device_after() { let threshold_timestamp = time() - delete_device_after; @@ -1602,19 +1602,20 @@ pub fn hide_device_expired_messages(context: &Context) -> Result { .unwrap_or_default() .0; - // Hide expired messages + // Delete expired messages // // Only update the rows that have to be updated, to avoid emitting // unnecessary "chat modified" events. let rows_modified = context.sql.execute( "UPDATE msgs \ - SET txt = 'DELETED', hidden = 1 \ + SET txt = 'DELETED', chat_id = ? \ WHERE timestamp < ? \ AND chat_id > ? \ AND chat_id != ? \ AND chat_id != ? \ AND NOT hidden", params![ + DC_CHAT_ID_TRASH, threshold_timestamp, DC_CHAT_ID_LAST_SPECIAL, self_chat_id, diff --git a/src/chatlist.rs b/src/chatlist.rs index f6ed9a003..ce3569f7b 100644 --- a/src/chatlist.rs +++ b/src/chatlist.rs @@ -93,8 +93,8 @@ impl Chatlist { query_contact_id: Option, ) -> Result { // Note that we do not emit DC_EVENT_MSGS_MODIFIED here even if some - // messages get hidden to avoid reloading the same chatlist. - if let Err(err) = hide_device_expired_messages(context) { + // messages get deleted to avoid reloading the same chatlist. + if let Err(err) = delete_device_expired_messages(context) { warn!(context, "Failed to hide expired messages: {}", err); }