summaryrefslogtreecommitdiff
path: root/lib/mu-server.cc
AgeCommit message (Collapse)Author
2025-11-19mu-server: improve error message for temp-fileDirk-Jan C. Binnema
Make it clear what exactly could not be created.
2025-09-01store: implement serialize method, use itDirk-Jan C. Binnema
For triggering saving the contacts / labels caches.
2025-08-31server: add label handlerDirk-Jan C. Binnema
For handling mu4e label update requests.
2025-08-25mu4e/server: get cached list of labelsDirk-Jan C. Binnema
This will be useful with label commands.
2025-08-24mu-server: implement exposing the socket-pathDirk-Jan C. Binnema
Add the scm-socket-path to the ping-properties we expose for mu4e.
2025-06-30server: make index log back-off a bit more conciseDirk-Jan C. Binnema
2025-07-01fix typoZheng, Ping
2025-07-01indexer sleep exp backoffZheng, Ping
2025-05-24mu: rename --my-address into --personal-addressDirk-Jan C. Binnema
This makes things a bit more uniform with all the places where we use "personal". --my-address remains as an alias for the command-line option. Add unit test. Resolves #2806.
2025-04-12mu-server: cleanup find prop handlingDirk-Jan C. Binnema
Rework the overly long find-handler. Improve parsing of options, and return better return properties (for use in mu4e).
2025-02-07mu-server: more info for mu4e-analyze-last-queryDirk-Jan C. Binnema
Include the search parameters besides the query.
2025-02-05mu-server: minor cleanupsDirk-Jan C. Binnema
2025-01-08server: make parsed queries available to mu4eDirk-Jan C. Binnema
Basically, make the "mu find .... --analyze" information available in mu4e, through a function mu4e-server-last-query. This is shows the query as the server saw it, as well as the parse s-expressions. This can be useful to see how some query is interpreted.
2024-11-26remove non-single-threaded optionDirk-Jan C. Binnema
Single-threaded is the build-default, and seems to work well enough for 1.12.7, so remove the option to turn it off. This is because build-options that influence such low-level/core behavior are a pain to maintain.
2024-10-08mu-server: try avoiding xapian multi-threaded accessDirk-Jan C. Binnema
Try to avoid multi-threaded operations with Xapian. This remove the thread workers during indexing, and avoids the indexing background thread. So, mu4e has to wait once again during indexing. We can improve upon that, but first we need to know if it avoids the problem of issue #2756.
2024-08-21mu-server: cosmeticDirk-Jan C. Binnema
2024-06-05store-worker: temporarily revertDirk-Jan C. Binnema
Of course, after merging some problems come up. Let's fix those first. This reverts commit f2f01595a51380ae38aafb4cd11a0d3c17a33a10.
2024-06-03server: support doccount data requestDirk-Jan C. Binnema
So we can update doccount in mu4e after indexing
2024-06-03server: pass sexp-commmands through store workerDirk-Jan C. Binnema
To ensure all Xapian rw commands happen in the same thread.
2024-04-30draft: explicitly remove drafts after sendingDirk-Jan C. Binnema
This seems necessary in some cases.
2024-04-28mu-server: better handle msgid-not-found in moveDirk-Jan C. Binnema
It's opportunistic: messages referred to be msgid may not exist, and that's okay.
2024-04-10mu-server: get rid of the sent-handlerDirk-Jan C. Binnema
We no longer need it; we can handle mu4e's sending directly in mu4e-compose.
2024-03-15clang: fix some compiler warningsDirk-Jan C. Binnema
From CI.
2023-12-31server: perform_move: throw when message not foundDirk-Jan C. Binnema
Warning & continuing is not the right thing...
2023-12-29compose: remove server-side handlingDirk-Jan C. Binnema
It's no longer needed: composition happens on the mu4e side only (until a message is saved).
2023-12-22lib: move transaction handling to mu-xapianDirk-Jan C. Binnema
Instead of handling transactions in the store, handle it in xapian-db. Make the code a bit more natural / cleaner-out Handle transaction automatically (with a batch-size) and add some RAII Transaction object, which makes all database interaction transactable for the duration. So, no more need for explicit parameters to add_message while indexing.
2023-12-06lib: debug-log moving / unlinkingDirk-Jan C. Binnema
2023-09-24mu-move: add new move sub commandDirk-Jan C. Binnema
Add sub-command to move messages; add tests and docs. Fixes #157
2023-09-20server: properly delete output-stream filesDirk-Jan C. Binnema
logic inversion
2023-09-11lib: hide some code from coverage checkingDirk-Jan C. Binnema
Parts that are not easy / useful to unit-test
2023-09-10lib: move index/ into main lib/Dirk-Jan C. Binnema
simplify things a bit
2023-08-19better handle maildir cacheDirk-Jan C. Binnema
- get an updated maildir list after indexing - add mu4e-added items to the list opportunistically Remove mu4e-clear-caches / mu4e-cache-maildir-list to mu4e-obsolete.el Fixes #2537.
2023-08-17server: refactor allow-for-temp-file handlingDirk-Jan C. Binnema
Add a helper OutputStream class so both "normal" and temp-file code can be handled uniformly.
2023-08-17server: implement 'data' handler / maildirsDirk-Jan C. Binnema
Add a new command 'data' for getting kinds of 'data'. There's one kind for now: "maildirs". This retrieves the list as per Store::maildirs().
2023-08-17store: update "move" and some related APIsDirk-Jan C. Binnema
Update test cases as well.
2023-08-11server: fix contacts handlerDirk-Jan C. Binnema
Condition was b0rked; clean up code a bit.
2023-08-06server: tweak sexp generationDirk-Jan C. Binnema
2023-08-06lib/mu: use fmt-based time/date formattingDirk-Jan C. Binnema
For a small speedup
2023-08-04server: don't use structured-bindings / lambda for contacts_handlerDirk-Jan C. Binnema
Older clang doesn't like that.
2023-08-04server: don't use structured-bindings / lambdaDirk-Jan C. Binnema
Older clang doesn't like that.
2023-08-04server: attempt to appease clang (pair/tuple)Dirk-Jan C. Binnema
https://stackoverflow.com/questions/46114214/lambda-implicit-capture-fails-with-variable-declared-from-structured-binding
2023-08-04mu-server: use strings, not sexps object (optimization)Dirk-Jan C. Binnema
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)
2023-08-04mu-server: implement temp-file optimizationDirk-Jan C. Binnema
It can be faster to feed big mu -> mu4e data, such as contacts are message headers through a temp-file instead directly though stdout; implement this, and add the server parameter --allow-temp-file. Implement this the "contacts" and "find" commands.
2023-07-20migrate some more code to mu_format / join_pathsDirk-Jan C. Binnema
Let's modernize a bit.
2023-07-10store/server: centralize docids-for-msgidDirk-Jan C. Binnema
No need for two near-identical impls Remove some dead declarations.
2023-07-05update to use fmt-based apisDirk-Jan C. Binnema
Not complete, but a first big stab converting users of Mu::Error and various g_warning & friends, format to the new libfmt-based APIs.
2023-07-02all: update for API changes (config etc.)Dirk-Jan C. Binnema
Use the new & improved APIs.
2023-06-27lib: update for api changes, update testsDirk-Jan C. Binnema
With the new Sexp. And expand unit tests.
2023-04-11mu-server: improve error messageDirk-Jan C. Binnema
2023-04-11mu: improve error numbersDirk-Jan C. Binnema
Ensure they match what mu expects.