Commit Graph
33 Commits
Author SHA1 Message Date
Michel-Marie MAUDETandClaude Opus 4.7 895ea543a9 fix(core): commit/reload barrier before dedup GC reference count
cleanup_unused_content decides whether to delete a deduplicated blob by
running a Tantivy Count of envelopes referencing each content_hash. The
searcher it used reflected only the committed index state at the time it
was built, so an envelope that shared a content hash but was still
sitting uncommitted in the IndexWriter buffer (for example added by the
background ingest task before the delete operation acquired the writer
lock) was invisible to the count. The count read 0 and a
still-referenced blob was deleted, permanently 404ing that envelope's
download-message.

Pass the locked IndexWriter into cleanup_unused_content and fatal_commit
it immediately before creating the searcher. create_searcher already
reloads the reader, so the Count is now evaluated against a fully
committed, freshly-reloaded index state. The barrier is local to the GC
path and self-contained, independent of what the caller committed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 13:40:43 +02:00
rustmailer a3cdc094e8 feat: Strip remote data from emails when viewed #54 2026-05-21 23:32:42 +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
rustmailerandGitHub 1d6f5d9a22 Merge pull request #243 from tremor021/smallfix
Fix small typo in store.rs
2026-05-19 23:56:11 +08:00
rustmailer 105a6d9b15 Update dedup.rs 2026-05-19 23:50:46 +08:00
Slaviša ArežinaandGitHub 4116a59b79 Merge branch 'main' into smallfix 2026-05-19 17:28:15 +02:00
rustmailer 609eee1b84 show storage and index usage to everyone 2026-05-19 23:25:36 +08:00
tremor021 79b9f07888 fix small typo in store.rs 2026-05-19 17:18:10 +02: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 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 b2a75643da fix(bichon-admin): reduce memory usage during data migration 2026-05-16 22:17:03 +08:00
rustmailer 7afb1e29aa refactor: replace autoconfig with native impl, remove openssl dependency 2026-05-15 11:27:06 +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 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 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 9c91025c53 update 2026-05-10 01:48:26 +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 e2fb0ee39e update 2026-05-02 23:53:04 +08:00
rustmailer 0c2e540834 chore(deps): replace async-imap with custom fork for imap-proto update
Switched to a personal fork of async-imap to enable a newer version
of imap-proto, addressing dependency constraints and improving
compatibility with recent parser changes.
2026-04-26 16:31:18 +08:00
rustmailer e83a00fe39 feat(import): support X-Bichon-Metadata and optimize CLI progress reporting 2026-04-25 20:14:14 +08:00
rustmailer fa70437a62 feat: support export account emails to a single mbox file 2026-04-25 05:39:58 +08:00
rustmailer 0b866c81ff refactor(workspace): decompose project into multiple crates 2026-04-23 21:45:34 +08:00