Revert "Automatically delete messages in 2 weeks window only"

This may result in messages not being deleted. Optimization and
traffic-saving is postponed for later, one idea is to optimize message
deletion to avoid checking if Message-ID on the server matches
Message-ID in the database.
This commit is contained in:
Alexander Krotov
2020-03-07 20:48:04 +03:00
parent c4677190be
commit bdb2a47743

View File

@@ -947,25 +947,15 @@ fn add_imap_deletion_jobs(context: &Context) -> sql::Result<()> {
if let Some(delete_server_after) = context.get_config_delete_server_after() {
let threshold_timestamp = time() - delete_server_after;
// Only try to delete messages in 2 weeks window
// (oldest_timestamp, threshold_timestamp). Otherwise we may
// waste a lot of traffic attempting to delete all the
// messages since the beginning of Delta Chat usage.
let oldest_timestamp = threshold_timestamp - 2 * 7 * 24 * 60 * 60;
// Select all expired messages which don't have a
// corresponding message deletion job yet.
let msg_ids = context.sql.query_map(
"SELECT id FROM msgs
WHERE timestamp < ? AND timestamp > ?
WHERE timestamp < ?
AND server_uid != 0
AND NOT EXISTS (SELECT 1 FROM jobs WHERE foreign_id = msgs.id
AND action = ?)",
params![
threshold_timestamp,
oldest_timestamp,
Action::DeleteMsgOnImap
],
params![threshold_timestamp, Action::DeleteMsgOnImap],
|row| row.get::<_, MsgId>(0),
|ids| {
ids.collect::<std::result::Result<Vec<_>, _>>()