| Age | Commit message (Collapse) | Author |
|
Do not consider calender-invitations "attachments"; do mark as
"calendar". Do recognize application/ics as calendar messages.
Update mime-object to expose a message part's disposition.
Change the "is-attachment" heuristic to include inline parts if they
have a filename parameter in their content-disposition.
Note that this doesn't change things radically; the delta is +69 and
-202 for ~6500 attachments.
|
|
|
|
Clear up the code a bit using the new logging functions.
Don't log a failure for "plan A" as an error, it just scares user unnecessarily.
|
|
We were not doing that correctly, missing a "/" between dirname and filename.
|
|
Seems this is not guaranteed, so convert if needed.
|
|
|
|
They don't add much value, let's remove.
Rework clear_labels in terms of update_labels.
|
|
In particular, clear_labels
And some cosmetics
|
|
reduce the number of "taboo" characters in labels.
update docs.
|
|
Ensure the cached message sexp gets updated in all cases where it's necessary.
|
|
Convenience function for parsing a series of delta labels; add tests as well.
|
|
|
|
This broke the build earlier.
|
|
Add a label command and document it.
|
|
Labels are strings associated with messages, which can be used for searching
them.
|
|
Build the tests lazily, i.e., not before `meson test`. This helps with
build-times.
|
|
|
|
|
|
refactor code a bit; move sorting to Contact
remove unneeded hashing in Contact (just use the email address)
|
|
The content-flags won't change, and the unread-flag can be re-calculated.
Add a unit test, and some small doc improvements.
Fixes #2831.
|
|
Some message can have an _empty_ message-id, e.g. with:
In-Reply-To: <>
which we weren't filter out.
This would yield and _empty_ Thread-Id, in mu-message.cc
And this would make mu-query believe it had no matches in the first
query, in Query::Private::run_related, and effectively throw away the
results. (Xapian using empty string both for a "not found" result, and
"found an empty string doesn't help either).
So, avoid having an empty reference. Also add a unit-test.
Fixes #2812.
|
|
In message, don't re-fill when unneeded. Add tests.
Fixes #2802.
|
|
|
|
Add a new combination (pseudo) field "related:", which combines
"message-id" and "references"
|
|
And add the display of combination-fields to 'mu info fields'.
|
|
Allow searching for message that have the given message-id in
References: or Reply-To:
|
|
GMime isn't more specific, so let's assume it's encrypted; better than
nothing.
Fixes #2784.
|
|
Fixes #2745
|
|
|
|
Useful for stuffing messages in async-queues
|
|
Only include xapian.h in one place, so we can have consistent options.
With that in place, we can enable C++ move semantics.
We don't do anything with that yet, but we check in the meson.build file
to see if we have the required xapian version.
|
|
So we can be sure the regexp is initialized. This _may_ help for
https://bugzilla.opensuse.org/show_bug.cgi?id=1221861
though it is very hard to tell!
|
|
Flag message that merely have a List-Unsubscribe header with
Flags::MailingList too (some marketing message have this header, yet
miss "List-Id".
Add a test as well.
|
|
This broke the language detection code
|
|
While not recommended, sometimes it can be useful to disable building
the unit tests. This can be done now with
meson -Dtests=disabled build
|
|
It's a better name. And fix some typos.
|
|
Add sub-command to move messages; add tests and docs.
Fixes #157
|
|
And some whitespace cleanup
|
|
'Phrasable' is probably a bit clearer description.
|
|
|
|
A little fmt pixie dust
|
|
Xapian supports an "ngrams" option to help with languages/scripts
without explicit wordbreaks, such as Chinese / Japanese / Korean.
Add some plumbing for supporting this in mu as well. Experimental for
now.
|
|
|
|
|
|
So we can easily debug-print them.
|
|
When passing messages to mu, often we got a (parsed from string)
message-sexp from the message document; then appended some more
properties ("build_message_sexp").
Instead, we can do it in terms of the strings; this is _a little_
inelegant, but also much faster; compare:
(base)
[mu4e] Found 500 matching messages; 0 hidden; search: 1298.0 ms (2.60 ms/msg); render: 642.1 ms (1.28 ms/msg)
(with temp-file optimization (earlier commit)
[mu4e] Found 500 matching messages; 0 hidden; search: 1152.7 ms (2.31 ms/msg); render: 270.1 ms (0.54 ms/msg)
(with temp file optimize _and_ the string opt (this commit)
[mu4e] Found 500 matching messages; 0 hidden; search: 266.0 ms (0.53 ms/msg); render: 199.7 ms (0.40 ms/msg)
|
|
This makes queries where we don't need the sexp much faster; e.g.
before:
mu find "a" --include-related 47,51s user 2,68s system 99% cpu 50,651 total
after:
mu find "a" --include-related 7,12s user 1,97s system 87% cpu 10,363 total
|
|
We were dumping the HTML-parts as-is in the Xapian indexer; however,
it's better to remove the html decoration first, and just pass the text.
We use the new built-in html->text scraper for that.
|
|
Let's modernize a bit.
|
|
and improve logging.
|