Synchronize seen status across devices

Seen status is only synchronized on servers supporting IMAP CONDSTORE
extension. At the end of fetch loop iteration, flags are fetched for
all messages modified since previous synchronization and highest
modification sequence is stored into `imap_sync` table.
This commit is contained in:
link2xt
2022-01-02 19:03:44 +00:00
parent 3e0ce0e07a
commit 833e5f46cc
4 changed files with 162 additions and 9 deletions

View File

@@ -535,6 +535,16 @@ DO UPDATE SET rfc724_mid=excluded.rfc724_mid,
)
.await?;
}
if dbversion < 83 {
info!(context, "[migration] v83");
sql.execute_migration(
"ALTER TABLE imap_sync
ADD COLUMN modseq -- Highest modification sequence
INTEGER DEFAULT 0",
83,
)
.await?;
}
Ok((
recalc_fingerprints,