Dirk-Jan C. Binnema
a66360eda5
maildir: revamp unit tests
...
Re-enable many of the tests that were turned off, and update them for the new impl.
2022-05-31 23:43:13 +03:00
Dirk-Jan C. Binnema
26d64ec78f
mu-maildir: fix message_file_parts / empty flags
...
Remove the suffix part even with no flags.
Fixes: issue #2268
2022-05-31 23:41:50 +03:00
Dirk-Jan C. Binnema
022ae9c2e3
result: make assert_valid_result a bit more informative
...
For unit tests.
2022-05-31 23:39:50 +03:00
Dirk-Jan C. Binnema
ce1fea6302
store: log whether a message is 'personal'
2022-05-30 20:31:23 +03:00
Dirk-Jan C. Binnema
734445f78d
mu-server: add a bit more debugging info
2022-05-30 20:30:33 +03:00
Dirk-Jan C. Binnema
5df56896fb
lib/meson.build: explicitly add thread_dep
...
For many setups (local, CI), things work fine without this, but apparently not
for all users. So, add thread_dep explicitly.
Fixes : #2266 .
2022-05-29 11:10:58 +03:00
Dirk-Jan C. Binnema
d5632b9ac9
script: avoid compiler warning
2022-05-29 00:17:41 +03:00
Dirk-Jan C. Binnema
ffcb59bfd3
utils: add fallback for time_to_string
...
Still don't understand issue #2230
2022-05-28 00:51:08 +03:00
Dirk-Jan C. Binnema
ad6f8f1190
thirdparty: include in EXTRA_DIST
...
For autotools.
2022-05-28 00:51:08 +03:00
Dirk-Jan C. Binnema
5c161cfdbb
lib/tests: add indexing benchmark
2022-05-28 00:51:08 +03:00
Dirk-Jan C. Binnema
0adf91f821
fields: include references in sexp
...
We need them for setting up replies. This requires a db update.
2022-05-28 00:51:08 +03:00
Dirk-Jan C. Binnema
91dcd19dad
tests: improve coverage a bit
2022-05-24 19:36:39 +03:00
Dirk-Jan C. Binnema
046398b1ae
utils: avoid compiler warning
2022-05-24 19:36:21 +03:00
Dirk-Jan C. Binnema
277a7e0e10
guile: don't extern-c'ify libguile
...
Already has it... seems to break compilation on some machines?
2022-05-24 19:35:29 +03:00
Dirk-Jan C. Binnema
9c9f9ecae3
lib: improve coverage a bit
2022-05-23 23:55:11 +03:00
Dirk-Jan C. Binnema
8eac392221
guile: re-enable the guile support
...
Update for the internal (Mu::Message) APIs.
Update build.
2022-05-21 17:44:09 +03:00
Dirk-Jan C. Binnema
ce46c44ea9
query-results: ease getting Xapian::Document for iter
...
This makes it easier to construct guile-usable Messages.
2022-05-21 17:42:25 +03:00
Dirk-Jan C. Binnema
a3ad04f12f
message: make it easier to create heap-allocated messages
...
We need this for guile to coöperate with its garbage collector.
2022-05-21 17:41:21 +03:00
Dirk-Jan C. Binnema
cc63eca8ad
autotools: improve build
...
*almost* works (except for guile/, which does work yet anyway).
2022-05-19 23:38:49 +03:00
Dirk-Jan C. Binnema
cea3167f3e
lib: remove some dead code (mu-str/utils)
...
Remove unused library code; recycle some electrons.
2022-05-19 23:38:49 +03:00
Dirk-Jan C. Binnema
9af9d0fa94
indexer/store: avoid completed callback
...
This cause havoc / race conditions.
2022-05-18 20:16:48 +03:00
Dirk-Jan C. Binnema
c3778cd467
store: reset indexer in dtor
...
Clear it up as soon as possible.
2022-05-18 18:24:30 +03:00
Dirk-Jan C. Binnema
0be54119d8
store: stop indexer in dtor
2022-05-18 18:07:19 +03:00
Dirk-Jan C. Binnema
2fd133761f
utils: fix unsetting timezone
2022-05-18 01:12:20 +03:00
Dirk-Jan C. Binnema
b03590cca8
tests: skip missing timezones in queries, too
2022-05-18 01:08:40 +03:00
Dirk-Jan C. Binnema
33d30775ee
test-utils: Skip test if timezone is not available
2022-05-18 00:52:28 +03:00
Dirk-Jan C. Binnema
dbd15cf704
mu-maildir: don't allow empty path for new maildir
...
be a bit stricter.
2022-05-18 00:35:02 +03:00
Dirk-Jan C. Binnema
493549a896
mime-object: fix some pedantic compiler warnings
2022-05-18 00:14:01 +03:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
6e37790012
mu: improve error reporting
2022-05-15 13:40:44 +03:00
Dirk-Jan C. Binnema
e13dd0da98
server: Implement forwarding attachments
...
Using the new infra in Message.
2022-05-15 11:33:14 +03:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
9e78d3d13f
utils: insist on semicolon after MU_ENABLE_BITOPS
2022-05-14 12:47:26 +03:00
Dirk-Jan C. Binnema
bf9e083ed4
message: avoid shadowing variable
2022-05-14 12:47:01 +03:00
Dirk-Jan C. Binnema
907751bc7b
test: enable some more
2022-05-13 23:01:33 +03:00
Dirk-Jan C. Binnema
4edbe01aa0
indexer: add extra fsm state "finishing" to fix some races
...
As reported by helgrind
2022-05-13 23:00:20 +03:00
Dirk-Jan C. Binnema
201acfbbd3
store: add lock to index_complete
...
It must be protected.
2022-05-12 23:23:47 +03:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
5b5dbf3aae
fields: some small tweaks
2022-05-12 08:56:13 +03:00
Dirk-Jan C. Binnema
d79d770958
store: improve error handling
...
Detect store-lock
2022-05-12 08:56:13 +03:00
Dirk-Jan C. Binnema
34c5ca1627
mu-error: encode retval/flags in enum
2022-05-12 08:56:13 +03:00
Dirk-Jan C. Binnema
2e9666af0b
store/info: Gather some usage statistics
...
Keep track of the latest-change/latest-index.
2022-05-10 08:16:47 +03:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
7470a5f8ea
store/fields: Use one MaxTermLength everywhere
...
One should be enough!
2022-05-09 22:25:28 +03:00
Dirk-Jan C. Binnema
dc69505580
mu-maildir: No need for namespaced function names
...
Mu::mu_maildir_... -> Mu::maildir_...
2022-05-09 22:25:28 +03:00
Dirk-Jan C. Binnema
48311ea18d
mu/mu4e: tweak :list vs :mailing list
2022-05-07 20:48:21 +03:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
d79488efdc
avoid warnings, update tests
2022-05-06 22:54:41 +03:00
Dirk-Jan C. Binnema
f83d1b3ed0
update tests: avoid helgrind warning
...
Log to the black_hole or helgrind gets unhappy
2022-05-06 22:17:53 +03:00
Dirk-Jan C. Binnema
8c3d1ae90a
message: cosmetics
2022-05-06 22:17:53 +03:00
Dirk-Jan C. Binnema
4fc05261ce
message: implement rfc2047-encoding addresses
...
For address names with commas, quotes etc.
2022-05-06 22:17:53 +03:00
Dirk-Jan C. Binnema
da8489d0f6
sexp: allow for some prettified string output
...
Allow for adding newlines between list items
2022-05-06 22:17:53 +03:00
Dirk-Jan C. Binnema
2a5c1e239c
message: support embed:text in attached mail
...
As before; scan attached messages as well.
2022-05-06 22:17:53 +03:00
Dirk-Jan C. Binnema
f9550f3cb6
mu: merge flags into fields command
...
One is enough
2022-05-06 22:17:53 +03:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
ffce3dda21
contacts: support encoding names with '"', ',' etc.
2022-05-06 09:03:11 +03:00
Dirk-Jan C. Binnema
e0d047105b
server/message-part: restore forwarding attachments
2022-05-05 23:45:11 +03:00
Dirk-Jan C. Binnema
62e546a4e2
autotools: fix build
2022-05-05 23:40:56 +03:00
Dirk-Jan C. Binnema
8d80bedf38
maildir: add some useful defaults for mu_maildir_mkdir
2022-05-05 01:41:32 +03:00
Dirk-Jan C. Binnema
2ccf703769
server: update for dealing with message/sexps
2022-05-05 01:40:17 +03:00
Dirk-Jan C. Binnema
4b56b8779d
mime-object: ensure init_gmime is called
...
Was missing in some paths
2022-05-05 01:40:17 +03:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
e067bca090
message-sexp: Add :modified and :reply-to
2022-05-05 01:38:25 +03:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
a4317d3264
mu-query-matches: remove dead code
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
967e855f6b
message: add docid param to sexp
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
fccd961712
server: update mu4e server for new Message
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
629006681a
message: update unit tests
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
525fef479a
store: update to use Message; big cleanup
...
Remove much of the message processing from the store
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
459f6db476
query: update query subsys to use Message
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
95710edff4
parser: use the new number (de)serialization
...
Use the new lexnums, and the update parsing
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
55113c6d5c
message: improve API; improve extract_tags
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
9a8741f0dd
message:document/fields: update and tie down
...
Update many of the field flags; remove obsolete ones.
Ensure they are handled correctly in mu-document
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
b7a30c0a36
utils: update date/size parsing, factor out format
...
And update tests
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
4b9c663ded
mu-maildir: rework mu_maildir_from_path
...
Take a 'root' parameter
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
3ac3ce7828
error: Add some more error codes
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
a8a3a0c3bf
message: implement update-after-move
...
Allow for in-place updating of a moved document; i.e., without re-parsing
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
a548cac2d0
message: refactor file handling, add ::mtime()
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
f0bfb38ff2
message: add move constructor
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
4a135e70fb
server: update (mu4e) server to use Mu::Message
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
9e9e16a7ec
lib/tests: rework in terms of Mu::Message
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
9b8353fc37
lib: update Store & QueryResults in terms of Mu::Message
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
4b2812d25f
maildir: improve naming in mu_maildir_move_message
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
de07df77d3
lib: remove the old mu-msg* code
...
Replaced by Mu::Message & friends
2022-04-30 10:40:45 +03:00
Dirk-Jan C. Binnema
bb6d271a23
contacts-cache: handle 'personal' mail for groups
...
When passing a vec of _all_ contacts for some message, mark _all_ of them as
personal if at least _one_ is a personal address.
2022-04-30 09:02:13 +03:00
Dirk-Jan C. Binnema
d0619b1db2
server: workaround for broken message-id
...
We cannot really _search_ for the broken message-id, but we can still view it.
Should help for issue #2232 .
2022-04-19 00:04:01 +03:00
Dirk-Jan C. Binnema
1ff161d91b
utils: add mu-option.cc
...
Was missing.
2022-04-18 22:54:33 +03:00
Dirk-Jan C. Binnema
9c853acfa3
build: bump version 1.7.13
...
And some small tweaks, cleanups
2022-04-18 22:40:46 +03:00