Make sure that the server UIDs are reset when changing accounts

This commit is contained in:
Hocuri
2022-04-19 20:18:28 +02:00
committed by holger krekel
parent bc809986e7
commit d29c09caf3
2 changed files with 8 additions and 1 deletions

View File

@@ -351,6 +351,13 @@ impl Context {
pub(crate) async fn set_primary_self_addr(&self, primary_new: &str) -> Result<()> {
let primary_new = addr_normalize(primary_new).to_lowercase();
if self.get_primary_self_addr().await.ok().as_deref() != Some(&primary_new) {
// Make sure that all server UIDs will be resynced
self.sql
.execute("DELETE FROM imap_sync;", paramsv![])
.await?;
}
// add old primary address (if exists) to secondary addresses
let mut secondary_addrs = self.get_all_self_addrs().await?;

View File

@@ -2170,7 +2170,7 @@ async fn get_modseq(context: &Context, folder: &str) -> Result<u64> {
}
/// Compute the imap search expression for all self-sent mails (for all self addresses)
pub async fn get_imap_self_sent_search_command(context: &Context) -> Result<String> {
pub(crate) async fn get_imap_self_sent_search_command(context: &Context) -> Result<String> {
// See https://www.rfc-editor.org/rfc/rfc3501#section-6.4.4 for syntax of SEARCH and OR
let mut search_command = format!("FROM {}", context.get_primary_self_addr().await?);