Commit Graph
100 Commits
Author SHA1 Message Date
rustmailer aebb94ee4e fix: preserve non-stored search fields when updating envelope tags
update_envelope_tags lost f_body, f_from_text, f_to_text, f_cc_text,
  f_bcc_text, f_attachment_name_text and f_attachment_name_exact because
  they are not STORED and field_values() skipped them during delete+add.
  Rebuild these from stored counterparts and the blob-store EML.
2026-06-05 09:13:25 +08:00
rustmailer 769630f9d7 Merge branch 'main' of https://github.com/rustmailer/bichon 2026-06-04 23:46:28 +08:00
rustmailer 368b18c45f bump to v1.5.0 2026-06-04 23:46:25 +08:00
rustmailer a2a51a2037 feat(imap): add message size check before download 2026-06-03 21:17:35 +08:00
rustmailer 4d783d5301 Update Cargo.lock 2026-05-31 06:05:50 +08:00
rustmailer 4172f11f00 Update Cargo.toml 2026-05-31 06:05:41 +08:00
rustmailer 257736a47b fix: add in-memory dedup cache to prevent duplicate emails before indexing
Use (account_id, mailbox_id, content_hash) as dedup key with time-based
  eviction to bound memory at ~50MB. Check happens before mail parsing,
  so duplicate emails skip all expensive work entirely.

  - Populate cache from Tantivy FAST columns on startup (7-day window)
  - Evict oldest 1/4 of entries when exceeding 300K capacity
  - Graceful degradation: populate failure → empty cache, still works
2026-05-31 06:04:58 +08:00
rustmailer 1346dd216a fix: "No body available" #262
When the request returns an empty body, choose to skip it and print the account ID and UID information, leaving it for the user to investigate themselves. Otherwise, the IMAP download process will be blocked by this.
2026-05-29 16:43:38 +08:00
rustmailer d40ba90b54 fix: inline attachment detection and account-scoped export
- Treat MIME parts with Content-ID but no Content-Disposition as inline
  - Add account_ids filter to CLI export search to avoid pulling all accounts
  - Skip failed emails during export instead of aborting the entire batch
2026-05-29 16:13:19 +08:00
rustmailer 048d5f361c fix: Cant migrate with version >= 1.4.0 #277 2026-05-28 22:49:24 +08:00
rustmailer 4597df515a Update content.rs 2026-05-28 17:55:13 +08:00
rustmailer f4be4a2e8c bump to 1.4.1 2026-05-28 17:49:18 +08:00
rustmailer 4a3c42c1eb fix: HTTP Error 500 Internal Server Error: Failed for 58344335-2e86-4009-979d-6da0331bff63 - Failed to export an email. Aborting process... #275 2026-05-28 17:47:10 +08:00
rustmailer 8fcb55320f Update README.md 2026-05-28 02:09:58 +08:00
rustmailer 86869ac848 Update release.yml 2026-05-26 20:11:49 +08:00
rustmailer 38453accc6 Update release.yml 2026-05-26 20:07:40 +08:00
rustmailer a60b2c7dc4 Update release.yml 2026-05-26 20:02:55 +08:00
rustmailer 8e46c7a162 fix: use valid IMAP UID SEARCH instead of BEFORE in UID FETCH for incremental sync 2026-05-26 19:42:26 +08:00
rustmailer 1a615e1c45 bump to v1.4.0 2026-05-26 15:27:34 +08:00
rustmailer 83dd9cdd6b perf: optimize IMAP account fetch flow 2026-05-26 15:23:34 +08:00
rustmailer f30cd66e00 feat: remove folder limit 2026-05-26 15:22:14 +08:00
rustmailer 4bd714a670 chore: remove custom global allocator 2026-05-26 15:20:59 +08:00
rustmailer c0a63a1e3c feat: enhance autoconfig detection 2026-05-26 15:19:39 +08:00
rustmailer 04a022e850 add features endpoint 2026-05-24 20:31:58 +08:00
rustmailer f9c2fc77ff feat(core): wire up attachment text extraction in IMAP sync pipeline 2026-05-24 19:52:28 +08:00
rustmailer ec3e842bbb chore: add trace logging for duplicate email diagnosis #214 2026-05-24 17:27:01 +08:00
rustmailer 7311529908 bump to v1.3.0 2026-05-24 16:50:15 +08:00
rustmailer 0792bb546d perf: reduce tokio worker thread blocking to improve responsiveness on low-core machines
- Switch memdb durability from Full to Batch(100) with 10s flush worker
  - Offload BlobManager fjall writes to spawn_blocking
  - Wrap Tantivy commit operations in block_in_place
  - Flush memdb WAL on graceful shutdown
2026-05-24 14:34:16 +08:00
rustmailer 0be2670600 update 2026-05-24 02:37:22 +08:00
rustmailer 575f851cfb update 2026-05-24 02:27:52 +08:00
rustmailer 61430b72b0 feat(core): add ext module with EventBus and AttachmentTextExtractor traits 2026-05-24 02:04:28 +08:00
rustmailer 15c0cfc1d9 Update README.md 2026-05-23 15:57:39 +08:00
rustmailer ea8c493374 Update .gitignore 2026-05-23 15:41:39 +08:00
rustmailer 005b1c2116 feat: added Cron scheduling for email downloads #211 2026-05-23 15:40:46 +08:00
rustmailer d8b78b8010 update 2026-05-23 12:08:49 +08:00
rustmailer 36f3f19cdc fix(core): use email schema field for attachment hash lookup in cleanup_unused_content 2026-05-23 11:36:47 +08:00
rustmailer 26c14fcaaf refactor(migrate): use searchable_segment_ids() instead of reader() for merge #261 2026-05-23 10:26:09 +08:00
rustmailer 0dd81f599d update 2026-05-22 22:21:46 +08:00
rustmailer 6eca351994 update i18n 2026-05-21 23:52:26 +08:00
rustmailer 1f477eca65 bump to v1.2.0 2026-05-21 23:33:26 +08:00
rustmailer a3cdc094e8 feat: Strip remote data from emails when viewed #54 2026-05-21 23:32:42 +08:00
rustmailer 95147a7824 bump to v1.1.3 2026-05-21 18:31:00 +08:00
rustmailer b22811f78c fix: Transparent menu on iPhone #253 2026-05-21 18:29:03 +08:00
rustmailer fd61d013a2 fix: Imported emails and UTF-8 folders missing #182 2026-05-21 17:57:43 +08:00
rustmailer 3a950e7591 fix: account name don't change when Update Account #248 2026-05-21 10:38:04 +08:00
rustmailer f17820bfa8 fix: add missing attachment index cleanup logic 2026-05-21 08:45:30 +08:00
rustmailer 178b25d27d fix:After deleting an email, its attachment remains visible/active in the application #245 2026-05-20 17:40:12 +08:00
rustmailer d160ca75f5 fix: migration link doesn't exist #244 2026-05-20 17:19:31 +08:00
rustmailer 04136a4ae2 bump to v1.1.2 2026-05-19 23:58:52 +08:00
rustmailer 105a6d9b15 Update dedup.rs 2026-05-19 23:50:46 +08:00
rustmailer df440c8441 Update README.md 2026-05-19 23:33:44 +08:00
rustmailer 609eee1b84 show storage and index usage to everyone 2026-05-19 23:25:36 +08:00
rustmailer ba28369202 update 2026-05-19 13:58:20 +08:00
rustmailer ff64b66f79 fix: Migration to v1.0 panics with index out of bounds: the len is 0 but the index is 0 #234 2026-05-19 12:12:37 +08:00
rustmailer a4f8e674c3 Update Cargo.lock 2026-05-18 20:46:31 +08:00
rustmailer dde6b990da bump to v1.1.0 2026-05-18 20:46:19 +08:00
rustmailer 66fd50bc23 fix: bichon-cli OOMs on import #233 2026-05-18 20:25:13 +08:00
rustmailer 85d5490834 feat: add async index deduplication task 2026-05-18 15:30:37 +08:00
rustmailer 6e984f376c Update Cargo.lock 2026-05-17 12:29:48 +08:00
rustmailer 7470125a23 bump to v1.0.2 2026-05-17 12:29:42 +08:00
rustmailer 469d254e2b fix: can't select folders & scroll issue in Choose Mailboxes #222 #217 2026-05-17 12:26:49 +08:00
rustmailer 7fde7ee19a update 2026-05-17 10:35:32 +08:00
rustmailer d543508a23 fix: Overviews are breaking out of their boxes on the dashboard (v1.0.0) #218 2026-05-17 10:35:25 +08:00
rustmailer f440069912 add debug info in bichon-cli #224 2026-05-17 10:35:07 +08:00
rustmailer 9f9fc71d16 bump to v1.0.1 2026-05-16 22:19:15 +08:00
rustmailer b2a75643da fix(bichon-admin): reduce memory usage during data migration 2026-05-16 22:17:03 +08:00
rustmailer 37a38a2910 Update README.md 2026-05-15 12:21:06 +08:00
rustmailer 8817ed96f6 Update README.md 2026-05-15 12:19:50 +08:00
rustmailer 1ee2eade3a fix: rename bichonctl to bichon-cli 2026-05-15 12:07:26 +08:00
rustmailer 7afb1e29aa refactor: replace autoconfig with native impl, remove openssl dependency 2026-05-15 11:27:06 +08:00
rustmailer 715858183d Update pnpm-lock.yaml 2026-05-15 10:11:29 +08:00
rustmailer 407d865a9a update 2026-05-15 10:07:02 +08:00
rustmailer e708dc524b Update reset.rs 2026-05-15 01:17:40 +08:00
rustmailer 55996f8f9b Update README.md 2026-05-15 00:23:27 +08:00
rustmailer 8bb39b4095 update 2026-05-14 22:45:46 +08:00
rustmailer 0a7a22fa7f Update index.tsx 2026-05-14 22:15:58 +08:00
rustmailer 3fa4fe453c update 2026-05-14 22:11:10 +08:00
rustmailer 907e59027d update 2026-05-14 20:40:38 +08:00
rustmailer 3ea330c884 update 2026-05-14 20:25:56 +08:00
rustmailer d52c5eef3e update 2026-05-14 20:20:10 +08:00
rustmailer 6b6f11e4c1 feat: cache mailbox list for 10 minutes and show progress on initial fetch
- Add 10-minute cache after fetching mailbox list from mail accounts
- Display progress during initial mailbox retrieval
- Prevent timeouts when handling large mailbox lists
2026-05-14 20:01:45 +08:00
rustmailer 1682f21cf7 update 2026-05-14 18:59:13 +08:00
rustmailer 5406c4322c refactor: replace native_db with memdb and add tests 2026-05-14 02:29:23 +08:00
rustmailer 0abaa66a40 feat(admin): add interactive data migration tool 2026-05-12 01:56:24 +08:00
rustmailer 123260b69d update 2026-05-10 04:22:35 +08:00
rustmailer c086a3caf5 Update index.tsx 2026-05-10 04:14:45 +08:00
rustmailer c07e39495a feat: add multiple color themes to appearance settings 2026-05-10 04:11:43 +08:00
rustmailer 41322c8357 update 2026-05-10 03:43:50 +08:00
rustmailer 2f8ba5ad40 update ui layout 2026-05-10 03:19:25 +08:00
rustmailer 213c6452a8 update 2026-05-10 01:50:49 +08:00
rustmailer 9c91025c53 update 2026-05-10 01:48:26 +08:00
rustmailer be934e2b3f Update index.tsx 2026-05-08 20:53:39 +08:00
rustmailer 12e7bb6ba3 update 2026-05-08 18:07:37 +08:00
rustmailer f66a86392d Update index.css 2026-05-08 16:29:16 +08:00
rustmailer 66b595908c feat: detect legacy tantivy data layout and abort startup with migration hint 2026-05-08 16:28:11 +08:00
rustmailer 174d56e7b4 feat: add manual download and cancel download for email accounts 2026-05-08 01:00:46 +08:00
rustmailer 7eacfbfb20 update 2026-05-07 11:56:08 +08:00
rustmailer 2802c7ea07 Update tokenizers.rs 2026-05-05 20:18:32 +08:00
rustmailer f583c3413c feat: use stemmer for multilingual token matching 2026-05-05 03:49:20 +08:00
rustmailer 9bacf3fb7a Merge branch 'main' of https://github.com/rustmailer/bichon 2026-05-02 23:53:10 +08:00