From 62097765a67d9eef3859357ee055437d690df165 Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Sun, 8 Mar 2020 05:51:18 +0300 Subject: [PATCH] update_server_uid: set server_uid even for unlinked messages Sometimes message deletion job marks message as unlinked without actually deleting it. It is possible if the message was already moved into another folder, possibly by second device, but not detected there yet. It should be detected later in the other folder, and the server_uid in the database should be set. Since introduction of add_imap_deletion_jobs() any expired message record will be marked as unlinked eventually, because another message deletion job will be scheduled even if update_server_uid() resurrects the message once. --- src/message.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/message.rs b/src/message.rs index 58a8893e6..3ed158274 100644 --- a/src/message.rs +++ b/src/message.rs @@ -1417,8 +1417,8 @@ pub fn update_server_uid( server_uid: u32, ) { match context.sql.execute( - "UPDATE msgs SET server_folder=?, server_uid=? \ - WHERE rfc724_mid=? AND NOT unlinked", + "UPDATE msgs SET server_folder=?, server_uid=?, unlinked=0 \ + WHERE rfc724_mid=?", params![server_folder.as_ref(), server_uid, rfc724_mid], ) { Ok(_) => {}