Ralph Slooten
e4c3442e39
Chore: Enhance SetMessageTags function to improve tag handling and batch deletions
2026-05-09 16:35:21 +12:00
Ralph Slooten
f11fc1ffe0
Chore: Optimize tag retrieval by batching message IDs in List and Search functions
2026-05-09 16:27:58 +12:00
Ralph Slooten
40c5936f79
Chore: Refactor MarkRead and MarkUnread functions to only broadcast changes of modified messages
2026-05-09 16:13:05 +12:00
Ralph Slooten
878c68bb49
Chore: Replace lithammer/shortuuid with custom shortuuid implementation and update tests
2026-05-05 17:09:55 +12:00
Ralph Slooten
794077a836
Use strings.TrimSuffix instead of strings.TrimRight for schema ID extraction
2026-04-04 12:20:33 +13:00
Ralph Slooten
3a4c7766e9
Feature: Add option to disable auto-VACUUMing of the SQLite database ( #661 )
2026-03-29 17:29:02 +13:00
Ralph Slooten
ee9863289a
Chore: Refactor timezone handling in searchQueryBuilder
2026-03-10 12:07:52 +13:00
Ralph Slooten
fc0b016549
Chore: Improve transaction handling in pruneMessages and fix loop continuation in InitDB
2026-03-10 11:53:36 +13:00
Ralph Slooten
51e327f259
Fix: Update SQL query to use tenant when using is:tagged filter
2026-03-09 11:37:40 +13:00
Ville Skyttä
ba00ea5a21
Chore: Switch to math/rand/v2
...
Insignificant as in tests only, but there's no particular reason not to.
2026-03-07 22:54:04 +13:00
Ville Skyttä
2afc52c6fe
Chore: Refactor code with go fix
...
Done with `go fix ./...` using go 1.26.0.
2026-03-03 16:03:28 +13:00
Ralph Slooten
e2b1b2d0fe
Code cleanup
2026-02-01 15:58:31 +13:00
Ralph Slooten
5414695508
Test: Add message summary attachment checksum tests
2026-02-01 15:34:06 +13:00
Ralph Slooten
0bfbb4cc5f
Feature: Include message attachment checksums (MD5, SHA1 & SHA254) in API message summary
2026-02-01 15:34:05 +13:00
Ralph Slooten
5e4bdb78b8
Test: Add inline message tests
2025-12-20 16:45:57 +13:00
Ralph Slooten
5a4d13b15a
Security: Prevent integer overflow conversion to uint64
2025-07-25 20:33:27 +12:00
Dennis
79323df3bd
Fix: Use MaxMessages to determine pruning ( #536 )
2025-07-16 22:16:25 +12:00
Ralph Slooten
79e9439858
Fix: Align websocket new message values with global Message Summary (no null values) ( #526 )
2025-06-24 17:06:44 +12:00
Ralph Slooten
f99d9ecf69
Chore: Refactor error handling and resource management across multiple files (golangci-lint)
...
- Updated error handling to use the error return value for resource closures in tests and functions, ensuring proper error reporting.
- Replaced direct calls to `Close()` with deferred functions that handle errors gracefully.
- Improved readability by using `strings.ReplaceAll` instead of `strings.Replace` for string manipulation.
- Enhanced network connection handling by adding default cases for unsupported network types.
- Updated HTTP response handling to use the appropriate status codes and error messages.
- Removed unused variables and commented-out code to clean up the codebase.
2025-06-22 15:25:21 +12:00
Ralph Slooten
429d2e2b3a
Chore: Remove unused functionality/deadcode (golangci-lint)
2025-06-22 15:23:09 +12:00
Ralph Slooten
2d42c87285
Remove redundant check
2025-06-21 17:03:25 +12:00
Ralph Slooten
4b5ce0afed
Feature: Store username with messages, auto-tag, and UI display ( #521 )
2025-06-18 16:41:04 +12:00
Ralph Slooten
5107ce0191
Fix: Use float64 for returned SQL value types for rqlite compatibility ( #520 )
...
The goqlite library is designed to be flexible and does not make assumptions about the types of JSON values returned from rqlite, using the type `any` for variables. When a numeric value is received in the response, the `any` type does not specify a numeric type, leading Go to default to using `float64`.
2025-06-14 11:52:11 +12:00
Ralph Slooten
b84b428434
Chore: Add note to swagger docs about API date formats
2025-05-25 09:56:53 +12:00
Ralph Slooten
74c6a0a434
Chore: Switch from unnecessary float64 to uint64 API values for App Information, message & attachment sizes
2025-05-20 16:51:02 +12:00
Ralph Slooten
e1a6904eca
Chore: Upgrade to jhillyerd/enmime/v2
2025-05-17 00:34:29 +12:00
Ralph Slooten
bc200c663f
Docs: Add Message ListUnsubscribe to swagger / API documentation ( #494 )
2025-05-13 19:27:27 +12:00
Ralph Slooten
1400936760
Feature: Add ability to mark all search results as read ( #476 )
2025-04-06 18:11:37 +12:00
Ralph Slooten
ac9b7de295
Fix: Allow searching messages using only Cyrillic characters ( #450 )
2025-03-04 16:51:19 +13:00
Ralph Slooten
b827d75c3e
Feature: Add configuration to disable SQLite WAL mode for NFS compatibility
2025-03-01 22:51:42 +13:00
Ralph Slooten
784e3de8a1
Testing: Add tests for message compression levels
2025-03-01 22:51:41 +13:00
Ralph Slooten
6e9760d5d9
Feature: Add configuration to set message compression level in db (0-3) ( #447 & #448 )
2025-03-01 22:51:22 +13:00
Ralph Slooten
284e66f0ba
Chore: Optimize ZSTD encoder for fastest compression of messages ( #447 )
2025-03-01 22:51:21 +13:00
Ralph Slooten
8995cddfa5
Chore: Handle BLOB storage for default database differently to rqlite to reduce memory overhead ( #447 )
2025-03-01 22:51:20 +13:00
Ralph Slooten
8878ece19f
Feature: Add dump feature to export all raw messages to a local directory ( #443 )
2025-02-15 14:33:11 +13:00
Ralph Slooten
d67feec713
Fix(db): Remove unused FOREIGN KEY REFERENCES in message_tags table ( #374 )
...
This SQL patch rebuilds the message_tags table to remove the unused ID & TagID REFERENCES that was sometimes causing FOREIGN KEY errors when deleting messages (with tags) using the rqlite database. This is not a bug in rqlite, but rather a limitation of how Mailpit integrated with rqlite as an optional alternative database.
2024-12-20 16:12:40 +13:00
Ralph Slooten
22cae16e00
Fix error handling
2024-12-01 14:49:01 +13:00
avesst
6e44691f6d
Fix: Message view not updating when deleting messages from search ( #395 )
...
* Fix message view not updating when deleting messages from search
* Move logic to after SQL execution and prune if > 200 messages
2024-11-30 22:54:14 +13:00
Ralph Slooten
61cff513cb
Chore: Remove legacy Tags column from message DB table
2024-11-08 23:02:27 +13:00
Ralph Slooten
5675abef84
Feature: Add ability to search by size smaller or larger than a value (eg: larger:1M / smaller:2.5M)
2024-10-27 02:15:13 +13:00
Ralph Slooten
bd47c19058
Feature: Add ability to search for messages containing inline images (has:inline)
2024-10-27 02:12:19 +13:00
Ralph Slooten
31ec6681a7
Feature: Experimental Unix socket support for HTTPD & SMTPD ( #373 )
2024-10-24 23:12:34 +13:00
Ralph Slooten
405babda7b
Testing: Add tenantIDs to tests
2024-10-18 17:55:46 +13:00
Ralph Slooten
882adeebe3
SQL error deleting a tag while using tenant-id (take 2)
2024-10-17 22:41:41 +13:00
Ralph Slooten
f8efda0149
Fix: SQL error deleting a tag while using tenant-id ( #374 )
2024-10-17 22:30:58 +13:00
Ralph Slooten
a56fd1f53d
Chore: Code cleanup
2024-10-12 15:20:11 +13:00
Ralph Slooten
7f4cd90c03
Add undocumented "demonstration mode"
2024-09-08 00:23:15 +12:00
Ralph Slooten
be1d2bcb28
Fix: Disable automatic HTML/Text character detection when charset is provided ( #348 )
2024-09-01 18:35:42 +12:00
Ralph Slooten
65327b975b
Chore: Add debug database storage logging
2024-08-17 23:02:48 +12:00
Ralph Slooten
a060abd5fe
Fix: Correctly decode X-Tags message headers (RFC 2047) ( #344 )
2024-08-09 14:26:43 +12:00