Commit Graph
130 Commits
Author SHA1 Message Date
rustmailer 690c289aac feat: append-reply-to-draft supports Graph API
- Adjust AppendReplyToDraft request payload:
  * `mailbox` is only required for IMAP accounts; Graph API ignores it
  * Remove `draft_folder_path`; IMAP automatically uses `mailbox` attribute to filter
- API now returns `ReplyDraft` containing:
  * `id` of the created draft
  * mailbox name of the draft
2025-10-30 20:45:25 +08:00
rustmailer a51b95815c feat: add /disk-cache endpoint to manually clear disk cache 2025-10-30 06:37:40 +08:00
rustmailer 64b57f4ac2 feat: add GraphAPI account support for message-content endpoint 2025-10-30 06:37:12 +08:00
rustmailer bbcc1348ff feat(graph): add Graph API support and GraphAPI account type 2025-10-28 19:39:49 +08:00
rustmailer de8067f586 feat: Add Graph API synchronization process 2025-10-27 06:59:07 +08:00
rustmailer 55d54785cd update 2025-10-23 20:14:46 +08:00
rustmailer 5d6a721e77 add Graph tests 2025-10-22 21:27:23 +08:00
rustmailer c6bf402707 debug: log UID batch content in diff_uids_and_flags to investigate empty remote_uids_set 2025-10-22 19:38:21 +08:00
rustmailer 7522ffc289 feat: add folder_limit per account
- Add `folder_limit` field to account model
- Support limiting sync per folder/label for both IMAP and Gmail API accounts
- Ensures each folder/label syncs at most `folder_limit` messages
2025-10-18 15:23:58 +08:00
rustmailer f88791741c chore: Ensure idempotent writes when storing Gmail API–synced email metadata locally. 2025-10-17 09:47:10 +08:00
rustmailer 59c771a363 fix(gmail): make header name matching case-insensitive for robustness 2025-10-17 09:09:14 +08:00
rustmailer 3096208b59 fix(sync): optimize account cache cleanup during full sync to prevent potential thread blocking 2025-10-15 10:40:45 +08:00
rustmailer 1a240b8f6b Update flow.rs 2025-10-14 22:38:38 +08:00
rustmailer b73af25d71 sync: share semaphore between IMAP and Gmail API to limit concurrency and reduce CPU load 2025-10-10 10:50:20 +08:00
rustmailer 4c4aeaceb7 Reduce Gmail metadata fetch concurrency from 5 to 1 to mitigate high CPU usage 2025-10-09 00:21:22 +08:00
rustmailer 24c82111b8 add prominent error logging for cleanup_account_resources_sequential 2025-10-08 18:06:51 +08:00
rustmailer 57035bbc95 debug(imap): add detailed mailbox and matched folder logging for Sent folder investigation 2025-10-08 16:44:10 +08:00
rustmailer bd6efb153c refactor: merge uid and mid into a single id field in EmailAddedToFolder and EmailEnvelopeV3 2025-10-08 12:05:31 +08:00
rustmailer 95c2e960b2 update 2025-10-05 16:05:30 +08:00
rustmailer 60041ee59f feat: unify UID/MID and UIDs/MIDs into single id/ids fields 2025-10-03 21:20:04 +08:00
rustmailer e6225d13bd fix(api): remove mailbox/label filtering so that get-thread-messages returns full conversation threads across INBOX and SENT 2025-10-01 00:55:01 +08:00
rustmailer 16c84abe67 refactor(list-messages): switch from page-based to cursor-based pagination
- Changed `list-messages` API from page/page_size to cursor/next_page_token
- Aligns pagination approach with Gmail API for easier integration
- Frontend updates to handle cursor-based navigation
2025-09-28 07:39:40 +08:00
rustmailer 08ef77c23c feat(gmail): make search API 2025-09-24 13:30:25 +08:00
rustmailer 4c00e45657 refactor(gmail): switch Gmail account message deletion to batch API for efficiency 2025-09-24 13:29:49 +08:00
rustmailer 40e8004f4f feat(mail): add raw email retrieval support for Gmail API accounts 2025-09-20 03:37:57 +08:00
rustmailer a54e3c9f18 feat(api): update reply and forward endpoints to support Gmail API accounts 2025-09-19 09:47:47 +08:00
rustmailer 05af9e82e9 feat(mailbox): extend MailboxTransferRequest for Gmail API support 2025-09-18 06:41:41 +08:00
rustmailer 0a038ffe94 feat(gmail): add compatibility for Gmail API send message endpoint 2025-09-17 09:56:04 +08:00
rustmailer 453c799935 fix: date format error in gmail api query 2025-09-15 20:04:15 +08:00
rustmailer 16ccdb00b7 feat(mail): make message deletion API compatible with Gmail API 2025-09-15 06:44:15 +08:00
rustmailer 60f3eaf239 feat(gmail api): handle label change events in history callback 2025-09-14 17:11:09 +08:00
rustmailer b7245a302d fix: remove filtering of labels with MessageListVisibility=hide 2025-09-11 22:11:41 +08:00
rustmailer fa2ecf1867 chore: add debug logs for Gmail label synchronization 2025-09-11 21:27:07 +08:00
rustmailer c8f62e3a05 fix: gmail sync date format 2025-09-11 19:27:48 +08:00
rustmailer 851eb8743d chore: retry Gmail API requests on 400 FAILED_PRECONDITION errors 2025-09-11 05:54:56 +08:00
rustmailer cbdc64fe1b chore: Enhance Gmail message fetch, add retry, increase timeout, reduce concurrency 2025-09-11 02:49:27 +08:00
rustmailer 70f499d403 Fix: date parsing for non-standard Gmail Date headers 2025-09-11 02:47:51 +08:00
rustmailer 1f4d2294ad fix: use Some(account_id) instead of raw account_id when delete hook entity 2025-09-11 00:37:35 +08:00
rustmailer b5e7395fa7 fix: only call Gmail API when account updates sync_folders 2025-09-10 23:53:10 +08:00
rustmailer a91cc813ca fix(mailbox): make create, delete, update folder/label APIs compatible with Gmail API 2025-09-10 16:38:42 +08:00
rustmailer a487565049 fix(sync_folders): correct folder update logic 2025-09-10 16:37:32 +08:00
rustmailer 34f9ea901c update main.rs add print info 2025-09-10 16:36:33 +08:00
rustmailer 5edbebfbf3 chore(disk cache): limit total cache items to 10000 2025-09-10 16:35:58 +08:00
rustmailer ee7f0673c7 fix: normalize URL-safe base64 to standard base64 when decoding 2025-09-09 04:18:51 +08:00
rustmailer 9d612ad81d Adapt Gmail API accounts: fetch email content & attachments, webhook for new emails, and frontend support 2025-09-08 11:03:00 +08:00
rustmailer b5fba610d9 feat(search): unify search interface with Gmail API compatibility 2025-09-05 04:38:39 +08:00
rustmailer a849c20d97 feat: add support for creating reply drafts in Gmail API accounts 2025-09-04 04:22:50 +08:00
rustmailer 7926ba7a46 feat(gmail): add list_threads & get_thread_message support 2025-09-04 02:20:52 +08:00
rustmailer 54c6227114 chore(periodic-task): skip missed ticks on long executions 2025-09-04 01:24:00 +08:00
rustmailer 20e1a1cc4e refactor(gmail): update account sync logic and related files 2025-09-03 20:17:30 +08:00