From b1eb7ad18d2e0bbeecaf61a58825bbc794ceb40c Mon Sep 17 00:00:00 2001 From: Srivathsan Murali Date: Mon, 25 May 2020 16:59:48 +0200 Subject: Set AnsweredFlag on successful reply --- worker/notmuch/worker.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'worker/notmuch/worker.go') diff --git a/worker/notmuch/worker.go b/worker/notmuch/worker.go index 9929648..b226269 100644 --- a/worker/notmuch/worker.go +++ b/worker/notmuch/worker.go @@ -363,6 +363,33 @@ func (w *worker) handleFetchFullMessages(msg *types.FetchFullMessages) error { return nil } +func (w *worker) handleAnsweredMessages(msg *types.AnsweredMessages) error { + for _, uid := range msg.Uids { + m, err := w.msgFromUid(uid) + if err != nil { + w.w.Logger.Printf("could not get message: %v", err) + w.err(msg, err) + continue + } + if err := m.MarkAnswered(msg.Answered); err != nil { + w.w.Logger.Printf("could not mark message as answered: %v", err) + w.err(msg, err) + continue + } + err = w.emitMessageInfo(m, msg) + if err != nil { + w.w.Logger.Printf(err.Error()) + w.err(msg, err) + continue + } + } + if err := w.emitDirectoryInfo(w.currentQueryName); err != nil { + w.w.Logger.Printf(err.Error()) + } + w.done(msg) + return nil +} + func (w *worker) handleReadMessages(msg *types.ReadMessages) error { for _, uid := range msg.Uids { m, err := w.msgFromUid(uid) -- cgit v1.2.3