diff --git a/src/constants.rs b/src/constants.rs index 499975956..6314ca374 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -8,21 +8,6 @@ lazy_static! { pub static ref DC_VERSION_STR: String = env!("CARGO_PKG_VERSION").to_string(); } -#[repr(u8)] -#[derive(Debug, Display, Clone, Copy, PartialEq, Eq, FromPrimitive, ToPrimitive, ToSql, FromSql)] -pub enum MoveState { - Undefined = 0, - Pending = 1, - Stay = 2, - Moving = 3, -} - -impl Default for MoveState { - fn default() -> Self { - MoveState::Undefined - } -} - // some defaults const DC_E2EE_DEFAULT_ENABLED: i32 = 1; const DC_INBOX_WATCH_DEFAULT: i32 = 1; diff --git a/src/context.rs b/src/context.rs index 963e1e98e..c8579ca81 100644 --- a/src/context.rs +++ b/src/context.rs @@ -435,10 +435,9 @@ impl Context { return; } - if !self.is_inbox(folder) && !self.is_sentbox(folder) { + if self.is_mvbox(folder) { return; } - if let Ok(msg) = Message::load_from_db(self, msg_id) { if msg.is_setupmessage() { // do not move setup messages; @@ -446,10 +445,6 @@ impl Context { return; } - if self.is_mvbox(folder) { - message::update_msg_move_state(self, &msg.rfc724_mid, MoveState::Stay); - } - // 1 = dc message, 2 = reply to dc message if 0 != msg.is_dc_message { job_add( @@ -459,7 +454,6 @@ impl Context { Params::new(), 0, ); - message::update_msg_move_state(self, &msg.rfc724_mid, MoveState::Moving); } } } diff --git a/src/imap.rs b/src/imap.rs index da8cd37a1..3f8e52a8d 100644 --- a/src/imap.rs +++ b/src/imap.rs @@ -23,7 +23,7 @@ use crate::events::Event; use crate::imap_client::*; use crate::job::{job_add, Action}; use crate::login_param::{CertificateChecks, LoginParam}; -use crate::message::{self, update_msg_move_state, update_server_uid}; +use crate::message::{self, update_server_uid}; use crate::oauth2::dc_get_oauth2_access_token; use crate::param::Params; use crate::stock::StockMessage; @@ -1423,7 +1423,6 @@ fn precheck_imf(context: &Context, rfc724_mid: &str, server_folder: &str, server ); } else if old_server_folder != server_folder { info!(context, "[move] detected moved message {}", rfc724_mid,); - update_msg_move_state(context, &rfc724_mid, MoveState::Stay); } if old_server_folder != server_folder || old_server_uid != server_uid { diff --git a/src/message.rs b/src/message.rs index afbdf08e5..916fdd98b 100644 --- a/src/message.rs +++ b/src/message.rs @@ -159,7 +159,6 @@ pub struct Message { pub(crate) from_id: u32, pub(crate) to_id: u32, pub(crate) chat_id: u32, - pub(crate) move_state: MoveState, pub(crate) type_0: Viewtype, pub(crate) state: MessageState, pub(crate) hidden: bool, @@ -200,7 +199,6 @@ impl Message { " m.mime_in_reply_to AS mime_in_reply_to,", " m.server_folder AS server_folder,", " m.server_uid AS server_uid,", - " m.move_state as move_state,", " m.chat_id AS chat_id,", " m.from_id AS from_id,", " m.to_id AS to_id,", @@ -228,7 +226,6 @@ impl Message { msg.in_reply_to = row.get::<_, Option>("mime_in_reply_to")?; msg.server_folder = row.get::<_, Option>("server_folder")?; msg.server_uid = row.get("server_uid")?; - msg.move_state = row.get("move_state")?; msg.chat_id = row.get("chat_id")?; msg.from_id = row.get("from_id")?; msg.to_id = row.get("to_id")?; @@ -1074,18 +1071,6 @@ pub fn exists(context: &Context, msg_id: MsgId) -> bool { } } -pub fn update_msg_move_state(context: &Context, rfc724_mid: &str, state: MoveState) -> bool { - // we update the move_state for all messages belonging to a given Message-ID - // so that the state stay intact when parts are deleted - sql::execute( - context, - &context.sql, - "UPDATE msgs SET move_state=? WHERE rfc724_mid=?;", - params![state as i32, rfc724_mid], - ) - .is_ok() -} - pub fn set_msg_failed(context: &Context, msg_id: MsgId, error: Option>) { if let Ok(mut msg) = Message::load_from_db(context, msg_id) { if msg.state.can_fail() { diff --git a/src/sql.rs b/src/sql.rs index 8f70eea50..7170fbdca 100644 --- a/src/sql.rs +++ b/src/sql.rs @@ -729,6 +729,7 @@ fn open( } if dbversion < 48 { info!(context, "[migration] v48"); + // NOTE: move_state is not used anymore sql.execute( "ALTER TABLE msgs ADD COLUMN move_state INTEGER DEFAULT 1;", params![],