Dirk-Jan C. Binnema
39101cf583
mu-find: brush off --format=links unit test
...
Enable it by default, and modernize it a little bit
2023-03-28 22:26:56 +03:00
Dirk-Jan C. Binnema
f3c3811818
message: fix user-after-scope in test
2023-03-24 23:24:19 +02:00
Dirk-Jan C. Binnema
96e16034c7
contact: fix quoting
...
Ensure that addresses with commas are quoted. Don't 2047-encode though.
Update tests.
2023-03-14 06:18:56 +02:00
Dirk-Jan C. Binnema
617c8129ae
lib/thirdparty: update tabulate to 1.5.0
2023-03-03 18:47:48 +02:00
Dirk-Jan C. Binnema
6f0e295326
lib/thirdparty: update CLI11 to 2.3.2
2023-03-03 18:46:48 +02:00
Dirk-Jan C. Binnema
9d0fe0e5d4
lib/thirdparty: update expected/optional
2023-03-03 18:41:45 +02:00
Dirk-Jan C. Binnema
413a2564b6
server: don't encode addresses in contacts_handlers
...
Seems it doesn't always play nice with composer
2023-02-28 23:23:52 +02:00
Dirk-Jan C. Binnema
a50357966d
mu: add müller test-case
2023-02-28 22:42:55 +02:00
Dirk-Jan C. Binnema
bd5ae78c49
mime-object: add missing include
2023-02-23 18:38:18 +02:00
Dirk-Jan C. Binnema
6da223fcb6
mu-message-part: rework cooked_filename a bit
...
Improve working, add a 'minimal' mode, and add some unit tests.
2023-02-19 10:47:50 +02:00
Dirk-Jan C. Binnema
3d4805de0c
server: small output improvement
...
For human users.
2023-02-17 10:20:14 +02:00
Dirk-Jan C. Binnema
76fedf4d64
mu-server: make :update for mkdir optional
...
It's useful to do "opportunistic" mkdir form mu4e; don't send updates in
that case (i.e. with :update nil)
2023-02-12 11:16:47 +02:00
Dirk-Jan C. Binnema
2255769de7
build: bump schema version, update contacts-cache
...
Bump schema version to trigger update after we added html processing.
Since we're updating the database schema version, let's use the
opportunity to remove outdated data from the contacts-cache.
2023-01-31 23:41:57 +02:00
Dirk-Jan C. Binnema
abfa6f277c
mu: index html text as if it were plain text
...
This is a bit of hack to include html text in results.
Of course, html text is not really plain text, so this is a bit of a
hack until we introduce some html parsing step.
2023-01-31 23:41:57 +02:00
Dirk-Jan C. Binnema
3ec960c609
mu: improve mu-error
...
Add specific error-code for SchemaMismatch
Combine find/cfind no-matches
2023-01-29 15:38:40 +02:00
Dirk-Jan C. Binnema
cc664b8128
utils: add missing mu-regex.cc
...
Fixes #2425
2023-01-29 12:49:52 +02:00
Dirk-Jan C. Binnema
6b4857b189
mu-scanner: ignore some more unusable files
2023-01-29 12:03:13 +02:00
Dirk-Jan C. Binnema
40c3d3568e
utils: improve xapian exception handling / reporting
2023-01-29 11:25:02 +02:00
Dirk-Jan C. Binnema
29dc90486b
server: find_handler: better handle sort-field-id
...
Handle invalid sort-fields correctly.
2023-01-29 10:13:29 +02:00
Dirk-Jan C. Binnema
a8daec9598
lib: use join_paths
...
Convert some manual concatenation to the new join_paths helper.
2023-01-29 10:13:29 +02:00
Dirk-Jan C. Binnema
25635c5cfe
utils: add join_paths + tests
2023-01-29 10:13:29 +02:00
Dirk-Jan C. Binnema
daef904ca1
utils: add Regex::replace + unit tests
2023-01-29 10:13:29 +02:00
Dirk-Jan C. Binnema
ba69e2104a
utils: remove some dead test code
2023-01-29 10:13:29 +02:00
Derek Zhou
4271fc2fb6
really allow flags to be empty in move command
...
Without this patch, I see the following error:
;; mu> (move :docid 1 :maildir "/.Archive")
[2b](:error 32818 :message "invalid flags ''")
flags should not default to "", which is not a valid flags string.
2023-01-25 16:31:41 -05:00
Arsen Arsenović
ce94464652
mu-error: Add missing <cstdint> include
...
GCC 13s libstdc++ reduced its dependency on some headers like <cstdint>, so it's
no longer transitively included through various headers. Include it explicitly.
See also: https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
../lib/utils/mu-error.hh:36:26: error: ‘uint32_t’ does not name a type
36 | static constexpr uint32_t SoftError = 1 << 23;
| ^~~~~~~~
2023-01-21 19:48:57 +01:00
Dirk-Jan C. Binnema
201fe45edc
server: add a few stopwatches
...
For measuring performance.
2023-01-19 22:37:50 +02:00
Dirk-Jan C. Binnema
3dd7cf80d3
mu-scanner: ignore .nnmaildir directories
...
They contain gnus internal data.
2023-01-18 23:05:46 +02:00
Dirk-Jan C. Binnema
10838a2c58
mu-store: fix typo
2023-01-14 20:02:05 +02:00
Dirk-Jan C. Binnema
86a641f748
mu-flags: use implied unread flag
...
and update tests.
Fixes #2409
2023-01-14 20:02:05 +02:00
Dirk-Jan C. Binnema
6979a66630
utils: get rid of mu-util.[ch]
...
It was getting old...
Remove the unused parts, refactor the few parts still in use.
2023-01-14 20:02:05 +02:00
Dirk-Jan C. Binnema
46a2432809
mu: test-message: add test for html text from base64
2023-01-13 22:06:19 +02:00
Dirk-Jan C. Binnema
ef2ec7d5a5
server: split off new server command 'queries'
...
Instead of being part of the ping command, create a separate
queries command, which is easier for updating. Ie. 'ping' implies "show
main screen" but we don't always want that side-effect.
2023-01-07 15:40:30 +02:00
Dirk-Jan C. Binnema
6b04158925
mu-store: create mu cache path if needed
2023-01-06 19:48:40 +02:00
Dirk-Jan C. Binnema
60e9d54a7c
mu-regex: make backward-compatible with older glib
2022-12-31 00:10:24 +02:00
Dirk-Jan C. Binnema
07a69bf206
mu-contact: cosmetic
2022-12-30 15:14:17 +02:00
Dirk-Jan C. Binnema
2229e2e77e
message/contact: ensure valid email address in cache
...
Filter out the (rare but existent) invalid email addresses from the
cache; use the new method Contact::has_valid_email for that.
2022-12-30 11:51:21 +02:00
Dirk-Jan C. Binnema
27ecbbdd65
many: use Mu::Regex instead of std::regex
...
The former is PCRE-compatible, and faster than std::regex.
2022-12-30 11:15:03 +02:00
Dirk-Jan C. Binnema
e97bbb83e3
utils/mu-regex: add PCRE Regex wrapper
...
Add a thin c++ wrapper for GLib's GRegex (which is a PCRE wrapper
itself). PCRE is much faster than C++ std::regex, it may even matter in
some use-cases.
2022-12-30 11:15:03 +02:00
Dirk-Jan C. Binnema
96b208d712
build: bump meson requirement to 56.0
...
We need some of the new functionality in the near-future.
Fix build warnings.
2022-12-19 23:01:16 +02:00
Dirk-Jan C. Binnema
27ffaba817
mu-utils: use const char* from for time_to_string
...
To avoid lifetime problems with some(?) compilers.
2022-12-10 19:22:00 +02:00
Dirk-Jan C. Binnema
d5fb15574b
mu-query-match-decider: add 'Related' to flags
...
We were _replacing_ the flags (such as Duplicate), but we should add to
them instead.
Add a unit-test for this.
2022-12-08 19:33:15 +02:00
Dirk-Jan C. Binnema
ca05c82451
query-threads: add multi-dup unit test
2022-12-08 19:30:20 +02:00
Dirk-Jan C. Binnema
b71751a185
mu-server: update for move_message API update
2022-12-07 18:22:29 +02:00
Dirk-Jan C. Binnema
da7c3b0c9a
tests: update for move_message API update
2022-12-07 18:22:29 +02:00
Dirk-Jan C. Binnema
0b516c18c2
store: add mu_move_message dup flag test
...
Test the new functionality
2022-12-07 18:22:29 +02:00
Dirk-Jan C. Binnema
87c3ceb7b1
store: update move_message API
...
Update the move_message API so to allow for updating duplicate messages
too (not implemented yet), and return all updated messages.
2022-12-07 18:22:29 +02:00
Dirk-Jan C. Binnema
62cfc88950
flags: add flags_keep_unmutable + test
...
When moving we want to maintain _some_ flags; add a function making that
convenient.
2022-12-07 12:32:13 +02:00
Dirk-Jan C. Binnema
4d1352ec56
mu/options: Support date sortfield
...
Fixes #2368 .
2022-11-22 23:16:37 +02:00
Dirk-Jan C. Binnema
d2a3a13242
query/test: add term splitting unit test
...
For checking issue #2365 .
2022-11-20 10:18:01 +02:00
Daniel Colascione
26b3110b8f
Avoid word-splitting regular expression matches
...
Previously, we would conduct regular expression searches by
enumerating all values of a given term, manually regex-matching each
one against our search regular expression, remember all the term
values that matched our regular expression, then do a big Xapian
OR-query that matched any of those term values. In constructing this
OR-query, however, we would split each term value on space and add a
separate Xapian phrase search term for each resulting word. This
approach worked fine most of the time, beacuse when we index a term,
we index both each word in a term and the whole term by itself.
This word splitting produced false negatives in some matches, however,
because Xapian and the Mu-level word splitting code do word splitting
slightly differently and apply different transformations to the text
while splitting. (For example, Xapian transforms fancy Unicode
apostrophes to ASCII apostrophes.)
This patch avoids the problem by not word splitting when constructing
the big Xapian OR-query for finding the results of regular
expression matching.
2022-11-20 10:18:01 +02:00
Dirk-Jan C. Binnema
cec08ab1ea
script: Rework guile script with new CLI support
...
Integrate the guile scripting a bit better into the mu cmdline.
Rework the old script module for that.
2022-11-17 11:00:06 +02:00
Dirk-Jan C. Binnema
27a474be41
thirdparty: include CLI11
...
Add the CLI11 library so we can use it.
2022-11-17 11:00:06 +02:00
Dirk-Jan C. Binnema
64f08149bc
lib: remove mu-runtime
...
Remove runtime; update the logger for that, and move the runtime-paths
stuff to utils.
2022-11-16 23:31:51 +02:00
Dirk-Jan C. Binnema
ed08118652
utils/command-handler: fix symbol-arg copy-pasta
...
Fixes #2361 .
2022-11-13 15:03:07 +02:00
Dirk-Jan C. Binnema
aa6fd3e757
utils/mu-utils-format: add missing includes
2022-11-12 08:30:46 +02:00
Dirk-Jan C. Binnema
a417b38624
store: update for new sexp api
...
And use improved cached_sexp api (automatically handled with
mu-document now)
2022-11-07 18:38:03 +02:00
Dirk-Jan C. Binnema
e1dd6f10b1
server: rework for updated Sexp/CommandHandler
...
Rework for the new APIs.
2022-11-07 18:38:03 +02:00
Dirk-Jan C. Binnema
58176f8438
message: updates for new sexp
...
Update for API changes.
2022-11-07 18:38:03 +02:00
Dirk-Jan C. Binnema
dbd3c1309a
command-handler: rework for new sexp
...
Rework / cleanup the command-handler (and rename for command-parser).
Update tests (and integrate with sources)
2022-11-07 18:38:03 +02:00
Dirk-Jan C. Binnema
dfc2cb12d7
sexp: major rework / API improvements
...
Use a bit nicer/modern c++, since we're using C++17 now. Add more tests.
2022-11-07 18:37:23 +02:00
Dirk-Jan C. Binnema
6064c2e88b
test-mu-store-query: make move/refresh test more rigorous
2022-11-01 18:41:10 +02:00
Dirk-Jan C. Binnema
db0d51d630
server: improve error messages
2022-11-01 18:37:31 +02:00
Dirk-Jan C. Binnema
cb4e893f3a
mu-error: add missing string include
2022-10-30 15:51:03 +02:00
Dirk-Jan C. Binnema
83eceaf580
test-mu-store-query: make move/refresh test more rigorous
2022-10-30 11:39:33 +02:00
Dirk-Jan C. Binnema
0055b40a8d
mu-maildir: improve error handling / reporting
2022-10-30 11:27:54 +02:00
Dirk-Jan C. Binnema
06be7a24e7
test-mu-store-query: add unit test for dup message
...
For ticket #2327 . Haven't been able to reproduce though.
2022-10-26 22:35:34 +03:00
Dirk-Jan C. Binnema
27a85eada2
store: fix move ctor
...
indexer_ is holding a ptr to the _old_ store; clear it so it gets
regenerated.
2022-10-26 21:51:53 +03:00
Daniel Colascione
f0bba8e1fa
message: use fake Message-ID when empty
...
Previously, mu generated a fake message ID for messages without a
Message-ID header. This fake message ID allows these messages to show in
an --include-related query. However, if a message contained a Message-ID
header with the value equal to the empty string, we did not generate a
fake message ID in the index, and consequently, these messages failed to
appear in an --include-related query. This change uses a fake message ID
when the Message-ID header is absent _or_ empty.
2022-10-24 23:14:17 +03:00
Dirk-Jan C. Binnema
822f49d41a
mu-fields: fix string format
2022-10-17 07:33:23 +03:00
Dirk-Jan C. Binnema
3d97db8ffc
view: be clearer there's no text body found
...
There may have been an html body, but mu-view only shows a text-body;
make that clearer.
Add a test case for an html-only message.
Fixes #2349 .
2022-10-16 00:57:19 +03:00
Dirk-Jan C. Binnema
5367122c08
store: support reinit
...
Support reinitializing, based on some current store. This is useful for
upgrading. Note that this is only the backend implementation + tests.
2022-10-02 18:24:23 +03:00
Dirk-Jan C. Binnema
9e60ebb683
utils: add helpers for assoc-pairs
...
Add some unit-test, too.
2022-10-02 18:24:23 +03:00
Dirk-Jan C. Binnema
ca04ae4d65
test-mu-msg.cc: fix unit test
...
Fix typo.
2022-10-02 18:24:23 +03:00
Dirk-Jan C. Binnema
bb7c8d880a
message: convert mime-parts to utf-8
...
Ensure that non-utf8 mime-parts are converted to utf8. This fixes a
problem with messages with such parts; added unit test.
Fixes #2333 .
2022-09-19 18:27:03 +03:00
Dirk-Jan C. Binnema
e416a5215f
autotools: remove
...
Since 2008, autotools has served us well - thank you!
However, mu is now using meson build, and it's time to remove the
autotools support -- one build system is enough.
2022-08-20 11:19:29 +03:00
Dirk-Jan C. Binnema
6fdc20aeb1
tests: add unit-tests for references with fake message-ids
...
For #2312 .
2022-08-11 23:06:12 +03:00
Dirk-Jan C. Binnema
fc88158357
message: update references() implementation
...
Clean up the implementation at bit, and filter out 'fake' message-ids,
such as the ones from protonmail.
Update documentation.
Add Mu::Message::thread_id().
This fixes #2312 .
2022-08-11 23:01:29 +03:00
Dirk-Jan C. Binnema
317fe53ff7
tests: update test helpers and users
...
Move test-mu-common to mu-test-utils. Use mu_test_init as a wrapper for
g_test_init. Update users.
2022-08-11 22:55:10 +03:00
Dirk-Jan C. Binnema
9aabe74df6
mu4e: add more tests for related/skipdups queries
2022-08-07 12:01:18 +03:00
Dirk-Jan C. Binnema
9fdcee8c22
test-mu-store-query: add more contact-matching tests
2022-07-14 08:10:15 +03:00
Dirk-Jan C. Binnema
ed93ff4968
message: sanitize maildir
...
Remove trailing '/' in maildirs, since people have that (like "/foo/"),
and earlier version didn't complain about that.
Fixes #2298
2022-07-13 23:27:54 +03:00
Dirk-Jan C. Binnema
d8bbeb0218
mu-server: more informative error message
2022-07-05 00:11:56 +03:00
Dirk-Jan C. Binnema
ca8836b631
document: cosmetic
2022-06-29 22:20:34 +03:00
Dirk-Jan C. Binnema
810b9643f4
query: exclude some test code from coverage
2022-06-29 22:20:09 +03:00
Dirk-Jan C. Binnema
97459beed9
maildir: improve testing coverage
...
Remove some dead/unused code. Update docs. Add test cases.
2022-06-29 22:19:26 +03:00
Dirk-Jan C. Binnema
fc25bb2866
server: commit after indexing
...
So external users see the changes.
2022-06-29 22:18:15 +03:00
Dirk-Jan C. Binnema
c4ed3e6ba7
server: fix read-mark propagation
...
Whenever a message is flagged as 'read', do the same for all the duplicates as well.
This used to work, make it work again.
Fixes #2277
2022-06-29 08:59:40 +03:00
Dirk-Jan C. Binnema
df80935c2e
document: index some sub-parts as well
...
1. Also add 'normal' terms for some indexable fields
2. Add terms for e-mail address components
And add some tests.
This helps for some corner-case queries (see tests).
Fixes #2278
Fixes #2281
2022-06-29 08:00:43 +03:00
Dirk-Jan C. Binnema
23ac71e6a7
maildir: add tests for maildir_link / maildir_clear_links
2022-06-29 07:50:16 +03:00
Dirk-Jan C. Binnema
0708033e48
build: update autotools build
2022-06-18 15:21:26 +03:00
Dirk-Jan C. Binnema
cade7493fd
build: fix some compiler warnings
2022-06-18 15:21:26 +03:00
Dirk-Jan C. Binnema
1f9172a008
message: remove x-ms-has-attach check
...
Apparently, it's not very useful (marks sigs as attachments).
2022-06-16 22:50:36 +03:00
Dirk-Jan C. Binnema
f69ad37e7a
utils: add regex-split
2022-06-16 22:49:46 +03:00
Dirk-Jan C. Binnema
040d74a326
lib/test-mu-store-query: add aujourd'hui tests
...
We match aujourd'hui now; add a test.
Fixes #1150 .
2022-06-14 23:48:59 +03:00
Dirk-Jan C. Binnema
48695a1981
query-parser: tidy up
...
Remove "Data", and use Field directly.
2022-06-14 23:15:27 +03:00
Dirk-Jan C. Binnema
412adf3400
query-match-deciders: cosmetics
2022-06-10 23:28:43 +03:00
Dirk-Jan C. Binnema
40669aae49
message/mime-object: add MimeObject::headers
...
To get a list of all header values.
2022-06-10 23:28:43 +03:00
Dirk-Jan C. Binnema
1ec03ce07c
message-file: filter out non-file flags
...
Only take flags from file names that are actually file-flags, not random other
things
2022-06-10 23:28:43 +03:00
Dirk-Jan C. Binnema
9bf580de3d
message: refactor/improve attachment heuristic a bit
...
Also check for X-MS-Has-Attach
2022-06-10 23:28:43 +03:00
Dirk-Jan C. Binnema
39dcd08fbe
message: add calendar flag
...
For message that contain calendar invitations
2022-06-10 00:47:31 +03:00