Commit Graph

1099 Commits

Author SHA1 Message Date
dbd15cf704 mu-maildir: don't allow empty path for new maildir
be a bit stricter.
2022-05-18 00:35:02 +03:00
493549a896 mime-object: fix some pedantic compiler warnings 2022-05-18 00:14:01 +03:00
c4cc9795dc utils: add locale_workaround
Attempt to work around some locale handling throwing in some systems.

   "locale::facet::_S_create_c_locale name not valid"

Ugly, but maybe it helps.
2022-05-17 22:31:03 +03:00
6e37790012 mu: improve error reporting 2022-05-15 13:40:44 +03:00
e13dd0da98 server: Implement forwarding attachments
Using the new infra in Message.
2022-05-15 11:33:14 +03:00
5d9bb72c0b message: augment cache-path() so it supports subparts
Take an optional index parameter for a *subpart*.

This is for the case where we save attachments from a message (in particular,
when forwarding). We can't save them in the same directory for the (rare) case
when there are multiple attachments with the same name. And we don't want to
uniquify the name, since that shows up in e.g. the forwarded file name.

This can be solved by saving each in their own indexed subdir.
2022-05-15 11:28:48 +03:00
9e78d3d13f utils: insist on semicolon after MU_ENABLE_BITOPS 2022-05-14 12:47:26 +03:00
bf9e083ed4 message: avoid shadowing variable 2022-05-14 12:47:01 +03:00
907751bc7b test: enable some more 2022-05-13 23:01:33 +03:00
4edbe01aa0 indexer: add extra fsm state "finishing" to fix some races
As reported by helgrind
2022-05-13 23:00:20 +03:00
201acfbbd3 store: add lock to index_complete
It must be protected.
2022-05-12 23:23:47 +03:00
eb22ec450c message: Don't assume there's a sub-message
Also add unit-test.

Fixes: issue #2256.
2022-05-12 19:59:10 +03:00
5b5dbf3aae fields: some small tweaks 2022-05-12 08:56:13 +03:00
d79d770958 store: improve error handling
Detect store-lock
2022-05-12 08:56:13 +03:00
34c5ca1627 mu-error: encode retval/flags in enum 2022-05-12 08:56:13 +03:00
2e9666af0b store/info: Gather some usage statistics
Keep track of the latest-change/latest-index.
2022-05-10 08:16:47 +03:00
81689f0af3 contacts-cache: return most relevant contacts
Return in the contacts in *reverse* rank order, i.e. the most relevant come first.
This is useful since we only want the first maxnum contacts, and those should of
course be the most relevant.

Update mu cfind/server as well.

cfind
2022-05-09 22:25:28 +03:00
80d84bf635 store: use Result<Store> builder, add auto upgrade
Make it a Result type, and add auto-upgrade (not enabled yet)
Update dependents.
2022-05-09 22:25:28 +03:00
7470a5f8ea store/fields: Use one MaxTermLength everywhere
One should be enough!
2022-05-09 22:25:28 +03:00
dc69505580 mu-maildir: No need for namespaced function names
Mu::mu_maildir_... -> Mu::maildir_...
2022-05-09 22:25:28 +03:00
48311ea18d mu/mu4e: tweak :list vs :mailing list 2022-05-07 20:48:21 +03:00
80c9ffae1e mu/mu4e: use :mailing-list as the mailing-list property
In queries you can use list: as before

This helps for issue #2246.
2022-05-07 16:10:52 +03:00
d79488efdc avoid warnings, update tests 2022-05-06 22:54:41 +03:00
f83d1b3ed0 update tests: avoid helgrind warning
Log to the black_hole or helgrind gets unhappy
2022-05-06 22:17:53 +03:00
8c3d1ae90a message: cosmetics 2022-05-06 22:17:53 +03:00
4fc05261ce message: implement rfc2047-encoding addresses
For address names with commas, quotes etc.
2022-05-06 22:17:53 +03:00
da8489d0f6 sexp: allow for some prettified string output
Allow for adding newlines between list items
2022-05-06 22:17:53 +03:00
2a5c1e239c message: support embed:text in attached mail
As before; scan attached messages as well.
2022-05-06 22:17:53 +03:00
f9550f3cb6 mu: merge flags into fields command
One is enough
2022-05-06 22:17:53 +03:00
836bfc9062 mu/mu4e: implement mu4e-compose-complete-max
Allow limiting number of contacts for auto-completion to a specific number;
defaulting to 2000.
2022-05-06 21:58:51 +03:00
ffce3dda21 contacts: support encoding names with '"', ',' etc. 2022-05-06 09:03:11 +03:00
e0d047105b server/message-part: restore forwarding attachments 2022-05-05 23:45:11 +03:00
62e546a4e2 autotools: fix build 2022-05-05 23:40:56 +03:00
8d80bedf38 maildir: add some useful defaults for mu_maildir_mkdir 2022-05-05 01:41:32 +03:00
2ccf703769 server: update for dealing with message/sexps 2022-05-05 01:40:17 +03:00
4b56b8779d mime-object: ensure init_gmime is called
Was missing in some paths
2022-05-05 01:40:17 +03:00
6126d7ee62 store: ensure updates update message sexp too
And turn all "add" into "replace" so old messages get removed.
Update tests too.
2022-05-05 01:40:17 +03:00
c0ae7e6860 message: add cache_path per message
Generate a message-specific cache path when needed.
Update tests, too.
2022-05-05 01:40:17 +03:00
85fed37870 message/document: update sexp on the fly
Keep the sexp for the document up to date during scan / change, instead of
having a separate step.
2022-05-05 01:40:17 +03:00
5da066a59e indexer: use ctime, not mtime
So we update if _anything_ changes with the file, not just the contents.
2022-05-05 01:38:25 +03:00
e067bca090 message-sexp: Add :modified and :reply-to 2022-05-05 01:38:25 +03:00
ee4b3bda2d message: support 'personal' flag for messages
Add a new flag 'personal' for a message, which means that at least one of the
contact fields is personal.
2022-05-05 01:38:25 +03:00
a4f39819ee message/document: allow updating flags
Some flags (such as 'personal') can only be set just before storing; so allow
for update the flags.
2022-05-05 01:38:25 +03:00
fea596ae3b message/field: cache the message's sexp
Keep it in the store; much faster than generating on the fly.
2022-05-05 01:38:25 +03:00
263e122a13 contacts: expose contact type
Instead of the Field::Id, keep a specific Contact::Type so we can distinguish
Sender, ReplyTo as well.

Update dependents.

Some cleanup.
2022-05-05 01:38:25 +03:00
91d2a37379 query-results: Use mu-document as backend
So the mu-specific serialization/deserialization gets handled correctly
2022-05-05 01:38:25 +03:00
a864616110 mu: add "modified" fields
Add a new "modified" field for checking the last modification time of the
message.
2022-05-05 01:38:25 +03:00
9e0173f387 store: set XAPIAN_FLUSH_THRESHOLD above internal commit
Don't auto-flush more often than the internal handling.
2022-05-05 01:38:25 +03:00
8f9d1e5e60 mu: add fields/flags commands
Useful information for devising queries.

Directly generated from the source. Add manpages, too.
2022-05-05 01:38:25 +03:00
30e7b5d9ec lib: move 3rd party code to thirdparty; add tabulate.hpp
Move 3rd-party code to their own dir, and add the nice tabulate.hpp
2022-04-30 10:40:45 +03:00