Commit Graph

981 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema 8f80b5716f message: fix user-after-scope in test 2023-08-21 18:47:26 +03:00
Dirk-Jan C. Binnema 45d7fb758e lib: fix g++13 compilation
Include stdint.h
2023-08-21 18:47:10 +03:00
Dirk-Jan C. Binnema 378a0d6dd0 mu-error.h: fix compilation
Newer gcc doesn't implicitly load cinttypes.
2023-08-06 09:39:44 +03:00
Dirk-Jan C. Binnema 38c18f11f2 mu-store: create mu cache path if needed 2023-01-29 12:16:24 +02:00
Dirk-Jan C. Binnema 0fd9020726 mu-utils: use const char* from for time_to_string
To avoid lifetime problems with some(?) compilers.
2022-12-12 10:41:07 +02:00
Dirk-Jan C. Binnema 9f50ad9cf5 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:40:15 +02:00
Dirk-Jan C. Binnema e2c62aa6d1 utils/mu-utils-format: add missing includes 2022-11-12 08:31:33 +02:00
Dirk-Jan C. Binnema 6fdad71cfe test-mu-store-query: make move/refresh test more rigorous 2022-10-30 11:40:46 +02:00
Dirk-Jan C. Binnema 81bc10ebf9 mu-maildir: improve error handling / reporting 2022-10-30 11:40:46 +02:00
Dirk-Jan C. Binnema dbb83aaab7 test-mu-store-query: add unit test for dup message
For ticket #2327. Haven't been able to reproduce though.
2022-10-30 11:40:46 +02:00
Dirk-Jan C. Binnema f333209287 store: fix move ctor
indexer_ is holding a ptr to the _old_ store; clear it so it gets
regenerated.
2022-10-30 11:40:46 +02:00
Daniel Colascione fcfbbcacfe 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:17:39 +03:00
Dirk-Jan C. Binnema fea4cee3d9 mu-fields: fix string format 2022-10-17 07:42:18 +03:00
Dirk-Jan C. Binnema 3c9e93228a 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-17 07:41:14 +03:00
Dirk-Jan C. Binnema 656c8d9c6f test-mu-msg.cc: fix unit test
Fix typo.
2022-10-03 22:16:37 +03:00
Dirk-Jan C. Binnema a5291e6551 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-10-03 22:16:12 +03:00
Dirk-Jan C. Binnema 52697fd132 tests: add unit-tests for references with fake message-ids
For #2312.
2022-08-15 23:18:18 +03:00
Dirk-Jan C. Binnema b1013d8f0f 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-15 23:18:18 +03:00
Dirk-Jan C. Binnema 11389247c5 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-15 23:18:18 +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
Dirk-Jan C. Binnema 646a672ae0 test-utils: add error test 2022-06-09 00:39:34 +03:00
Dirk-Jan C. Binnema 2f3d1bb522 lib: add tokenizer test tool 2022-06-09 00:39:34 +03:00
Dirk-Jan C. Binnema c1f66059a8 store: fix typo 2022-06-09 00:39:34 +03:00
Dirk-Jan C. Binnema ce28c86803 tests: add store/query test
Add some tests for storing/indexing message and then run queries on them.
2022-06-09 00:39:34 +03:00
Dirk-Jan C. Binnema d38d32c404 query-threads/results: cosmetics 2022-06-09 00:39:34 +03:00
Dirk-Jan C. Binnema 49b97e1b6b message/fields: explicit mark contact fields as IndexableTerm
They were so *implicitly*, but the query parser needs the info so contact fields
can use phrase-searces, too.
2022-06-09 00:04:35 +03:00
Dirk-Jan C. Binnema 4379e66b9f bench-store-index: make a bit more realistic
```
             .',;::::;,'.                djcb@evergrey
         .';:cccccccccccc:;,.            -------------
      .;cccccccccccccccccccccc;.         OS: Fedora release 36 (Thirty Six) x86_64
    .:cccccccccccccccccccccccccc:.       Host: MS-7B09 2.0
  .;ccccccccccccc;.:dddl:.;ccccccc;.     Kernel: 5.17.11-300.fc36.x86_64
 .:ccccccccccccc;OWMKOOXMWd;ccccccc:.    Uptime: 6 hours, 16 mins
.:ccccccccccccc;KMMc;cc;xMMc:ccccccc:.   Packages: 4340 (rpm), 70 (flatpak)
,cccccccccccccc;MMM.;cc;;WW::cccccccc,   Shell: zsh 5.8.1
:cccccccccccccc;MMM.;cccccccccccccccc:   Resolution: 3840x2160
:ccccccc;oxOOOo;MMM0OOk.;cccccccccccc:   WM: sway
cccccc:0MMKxdd:;MMMkddc.;cccccccccccc;   Theme: Adwaita [GTK2]
ccccc:XM0';cccc;MMM.;cccccccccccccccc'   Icons: Adwaita [GTK2]
ccccc;MMo;ccccc;MMW.;ccccccccccccccc;    Terminal: tilix
ccccc;0MNc.ccc.xMMd:ccccccccccccccc;     CPU: AMD Ryzen Threadripper 1950X (32) @ 3.399GHz
cccccc;dNMWXXXWM0::cccccccccccccc:,      GPU: AMD ATI Radeon RX 470/480/570/570X/580/580X/590
cccccccc;.:odl:.;cccccccccccccc:,.       Memory: 7101MiB / 15881MiB
:cccccccccccccccccccccccccccc:'.
.:cccccccccccccccccccccc:;,..
  '::cccccccccccccc::;,.

```

% make benchmark
ninja -C /home/djcb/Sources/mu/build benchmark
ninja: Entering directory `/home/djcb/Sources/mu/build'
[0/1] Running benchmark suite.
1/1 bench-store-index        OK             17.40s
2022-06-07 23:06:25 +03:00
Dirk-Jan C. Binnema 65e60a6ed5 indexer: make faster
Remove an (apparently) unneeded lock which help back much of the multi-core
handing.
2022-06-07 23:06:25 +03:00
Dirk-Jan C. Binnema 30c46fba61 message: fix 'changed' test 2022-06-05 15:22:35 +03:00