fix: incremental IMAP sync - only fetch new UIDs since last known, like real mail clients
- imap_sync_folder now searches only UID > max_known_uid instead of ALL - First sync gets last 50, subsequent syncs only get new mails - UI loads cached mails immediately from DB, sync runs in background - Folder counts updated after sync
This commit is contained in:
@@ -169,7 +169,7 @@ export function MailPage() {
|
||||
loadMails();
|
||||
}, [loadMails]);
|
||||
|
||||
// Handle folder selection — derive account from folder + trigger live IMAP sync
|
||||
// Handle folder selection — derive account from folder + trigger background IMAP sync
|
||||
const handleSelectFolder = useCallback(
|
||||
(folderId: string) => {
|
||||
setSelectedFolderId(folderId);
|
||||
@@ -182,7 +182,7 @@ export function MailPage() {
|
||||
setSelectedMail(null);
|
||||
setSelectedMailIds(new Set());
|
||||
setActiveView('list');
|
||||
// Live sync: fetch new mails from IMAP server immediately
|
||||
// Live sync: fetch new mails from IMAP in background, reload after
|
||||
syncFolder(folderId).then(() => {
|
||||
loadMails();
|
||||
loadAllFolders();
|
||||
|
||||
Reference in New Issue
Block a user