From abcd327359592ca7b552585a0f3837c930b126b4 Mon Sep 17 00:00:00 2001 From: Robin Jarry Date: Mon, 6 Dec 2021 23:45:58 +0100 Subject: [PATCH] maildir: watch for message renames Messages flags can also be changed without changing directories. Changing flags in maildirs means renaming the message files. Also take renames into account. Link: https://cr.yp.to/proto/maildir.html Fixes: f4d3c8fc77f9 ("maildir: watch for external changes") Signed-off-by: Robin Jarry --- worker/maildir/worker.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/worker/maildir/worker.go b/worker/maildir/worker.go index 099a85c..621b19e 100644 --- a/worker/maildir/worker.go +++ b/worker/maildir/worker.go @@ -71,8 +71,11 @@ func (w *Worker) handleAction(action types.WorkerMessage) { } func (w *Worker) handleFSEvent(ev fsnotify.Event) { - // we only care about files being created or removed - if ev.Op != fsnotify.Create && ev.Op != fsnotify.Remove { + // we only care about files being created, removed or renamed + switch ev.Op { + case fsnotify.Create, fsnotify.Remove, fsnotify.Rename: + break + default: return } // if there's not a selected directory to rescan, ignore