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