rustmailer
524201c26d
docs(openapi): update attachment download param to content_hash #314
2026-07-06 09:46:29 +08:00
rustmailer
2da42134d0
feat: Improve account setup UI and add post-download email filtering
2026-06-30 09:42:03 +08:00
rustmailer
5fe45795b9
bump to 1.6.1
2026-06-28 11:39:58 +08:00
rustmailer
4996dac1ea
Update folder-hint.ts
2026-06-28 11:39:44 +08:00
rustmailer
42ce36a439
feat: add searchable account selector with alphabetical sort in user dialog #289
2026-06-28 11:35:39 +08:00
rustmailer
40ae2d49d4
feat: web upload supports PST, configurable MBOX/PST size limits
...
- Make MBOX/PST upload size limits configurable via SETTINGS
(bichon_web_mbox_upload_limit_mb defaults to 1 GB,
bichon_web_pst_upload_limit_mb defaults to 2 GB)
2026-06-28 09:43:50 +08:00
rustmailer
5034760517
fix: detect previewable attachments by file extension when MIME type is octet-stream #309
2026-06-27 16:08:42 +08:00
rustmailer
875eb2e309
fix:Truncate "To" column recipients in Search tab to prevent excessive row height #308
2026-06-27 13:06:41 +08:00
rustmailer
f0d0f202ba
bump to 1.6.0
2026-06-26 19:15:46 +08:00
rustmailer
0d37825625
feat: fullscreen attachment gallery with image navigation
2026-06-26 19:13:14 +08:00
rustmailer
cfb8172607
fix: sliding token expiry and silent 401 redirect
2026-06-26 18:29:18 +08:00
rustmailer
8641bb4b56
fix: Proxy does not support formats from proxy providers #307
2026-06-26 18:20:19 +08:00
rustmailer
cdf27f2dd4
feat: add web upload for EML/MBOX files #260
2026-06-26 17:49:35 +08:00
rustmailer
db36272bae
feat: add in-browser attachment preview for images, PDFs, and text files #303
2026-06-25 04:51:05 +08:00
rustmailer
cad447275f
feat: search for an email address simultaneously in to, cc and bcc #304
2026-06-25 02:36:24 +08:00
rustmailer
8542ba0d28
feat: Display Name / Alias for IMAP Accounts #306
2026-06-25 02:00:20 +08:00
rustmailer
af089958e9
Update README.md
2026-06-24 23:11:52 +08:00
rustmailer
bba1ea5cc7
feat: add per-account FilterRule, ExtractionRules and ArchiveRules with regex validation
2026-06-24 21:46:32 +08:00
rustmailer
9e55026f12
feat: add SSO/OIDC support to user model and settings
2026-06-24 17:32:14 +08:00
rustmailer
b0f229618c
refactor(blob): add NFS-safe file I/O layer
2026-06-24 00:03:56 +08:00
rustmailer
ff59d47a0d
fix(blob): fsync meta before rename and hold write_mutex during GC
2026-06-23 23:57:34 +08:00
rustmailer
b6957c8ceb
test(blob): add concurrent access and crash recovery integration tests
2026-06-23 23:29:48 +08:00
rustmailer
cd98c050b6
fix(blob): invalidate FilePool after GC to prevent stale reads
2026-06-23 23:28:33 +08:00
rustmailer
11e40750fe
feat(blob): add FilePool read cache and fix BucketCache TOCTOU
2026-06-23 23:23:03 +08:00
rustmailer
b0374517e8
fix(blob): address review issues - visibility, unused param
2026-06-23 23:20:24 +08:00
rustmailer
4e12ae5457
refactor(blob): replace global RwLock with per-account Arc<AccountHandle>
2026-06-23 23:13:39 +08:00
rustmailer
495c91b7ae
fix(blob): address code review issues - CRC guard, tests, clone
2026-06-23 23:10:15 +08:00
rustmailer
e442db4a2d
feat(blob): replace JSON metadata with bincode + CRC32 binary format
2026-06-23 23:01:32 +08:00
rustmailer
cc54063669
chore(blob): add bincode dependency and new meta error variants
2026-06-23 22:55:13 +08:00
rustmailer
04745458bc
feat(blob): add embedded KV storage engine for email archiving
2026-06-23 21:38:31 +08:00
rustmailer
6fcc9e0e8e
bump to v1.5.3
2026-06-23 17:18:46 +08:00
rustmailer
220aa268c1
feat(imap): handle UIDVALIDITY changes via Message-ID comparison instead of full rebuild
2026-06-23 10:46:36 +08:00
rustmailer
e3fd9d2f29
fix: purge DedupCache entries on account/mailbox/envelope removal
2026-06-22 17:11:20 +08:00
rustmailer
41c3b84e65
feat(ui): persist account table sorting to localStorage
2026-06-21 12:50:21 +08:00
rustmailer
89557700ae
Merge branch 'main' of https://github.com/rustmailer/bichon
2026-06-11 09:23:00 +08:00
rustmailer
2f5de48c6a
fix(smtp): reject journaling attempts to non-local accounts
2026-06-11 09:22:57 +08:00
rustmailer
6f572b15ae
deps: upgrade fjall to 3.1.5 to address NFS Bad file descriptor error #216 #242 #239 #231 #240
2026-06-09 01:33:17 +08:00
rustmailer
3bfc080258
bump to 1.5.1
2026-06-07 18:21:07 +08:00
rustmailer
c3a725770c
fix: reconnect and retry IMAP batch on BrokenPipe/network errors
2026-06-07 18:18:37 +08:00
rustmailer
c736afffb0
fix: account deletion times out #291
2026-06-07 15:34:38 +08:00
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