replace gmail resync with Gmail REST API, remove mbsync dependency

First sync still uses IMAP with app password. Subsequent syncs use
Gmail API history.list + messages.get with OAuth for faster, more
reliable incremental sync. Dispatch gmail-sync handler for gmail
accounts instead of generic email-sync. Show sync button for synced
accounts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 07:24:44 +00:00
co-authored by Claude Opus 4.6
parent ee1b816d66
commit 24ac7ac796
5 changed files with 382 additions and 489 deletions
-1
View File
@@ -69,7 +69,6 @@ export const getAttachmentsDir = (email: string, sessionId: string) => join(DATA
export const getUserEmailDir = (email: string) => join(DATA_PATH, email, 'Gmail', 'emails');
export const getMaildirPath = (email: string) => join(DATA_PATH, email, 'Gmail', 'Maildir');
/** Derive a valid Linux username from a display username or email. */
export const toShellUsername = (username: string, email: string): string => {