summaryrefslogtreecommitdiff
path: root/worker/notmuch/lib/database.go
AgeCommit message (Collapse)Author
2022-07-02notmuch: fix server-side threadsTim Culverhouse
Notmuch server-side threading added messages within a thread that didn't match the query into the uidstore. By doing so, several UI issues presented: * All "hidden" messages displayed at the bottom of the msglist * Selected messages wouldn't open properly This patch stops these messages from being put into the message store, thereby resolving the UI issues Signed-off-by: Tim Culverhouse <tim@timculverhouse.com> Acked-by: Koni Marti <koni.marti@gmail.com>
2021-12-11format: reformat code with go 1.17Robin Jarry
There was a change in how build tags are formatted. Use this as new reference. Link: https://go.dev/doc/go1.17#gofmt Signed-off-by: Robin Jarry <robin@jarry.cc>
2021-11-13messages: allow displaying email threadsy0ast
Display threads in the message list. For now, only supported by the notmuch backend and on IMAP when the server supports the THREAD extension. Setting threading-enable=true is global and will cause the message list to be empty with maildir:// accounts. Co-authored-by: Kevin Kuehler <keur@xcf.berkeley.edu> Co-authored-by: Reto Brunner <reto@labrat.space> Signed-off-by: Robin Jarry <robin@jarry.cc>
2020-12-02notmuch: remove gc close hooksReto Brunner
We frequently had issues with notmuch segfaulting and my guess is that this was due to the garbage collection magic used in the module. This changes to a fork that ripped the functionality out.
2020-09-24notmuch: close tag objectReto Brunner
2020-08-07notmuch: manually close notmuch objectsReto Brunner
There seems to be some race with the automatic closing that should happen in theory... close it manually where we can to avoid the issue
2020-02-16notmuch: avoid stale DBsReto Brunner
Opening a notmuch DB gives you a snapshot of the stage at that specific time. Prior to this, we only reopened the DB upon writing. However, if say a mail sync program like offlineimap is fetching new mail, we would never pick it up. This commit caches a db for a while, so that we don't generate too much overhead and does a reconnect cycle after that. I hardcoded a value as I don't think that having an option would be beneficial. Any write operation (meaning reading mail) anyhow flushes the DB by necessity. (we need to close to commit tag changes, which changing the read state is)
2019-12-21notmuch: emit LabelList eventReto Brunner
2019-09-16notmuch: sync maildir flagsReto Brunner
Syncs back special notmuch tag like unread to the underlying maildir store
2019-09-16notmuch: extract all notmuch db operations.Reto Brunner
For some reason the current code frequently segfaults due to an invalid C memory address. This commit mediates that by never keeping an object alive longer than absolutely necessary.