aboutsummaryrefslogtreecommitdiff
path: root/worker/worker.go
diff options
context:
space:
mode:
authorBen Burwell <ben@benburwell.com>2019-07-16 13:53:33 -0400
committerDrew DeVault <sir@cmpwn.com>2019-07-17 17:29:11 -0400
commit6473848d87de099b31812f20c7eb181d5c0c3c51 (patch)
treeda24e6f265cb1b01463e7538c7bdb20ff9e9e389 /worker/worker.go
parentdfc048fe285939d9de3b5753f723c935d042cc2b (diff)
maildir: Watch for new messages
When a directory is opened, start watching its "new" subdirectory for incoming messages using the fsnotify library. When creation events are detected, run the Unseen routine to move the message from new to cur and add new UIDs to the store, updating the UI's list of directory contents as we go.
Diffstat (limited to 'worker/worker.go')
-rw-r--r--worker/worker.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/worker/worker.go b/worker/worker.go
index dd14a23..a37927e 100644
--- a/worker/worker.go
+++ b/worker/worker.go
@@ -29,7 +29,11 @@ func NewWorker(source string, logger *log.Logger) (*types.Worker, error) {
case "imaps":
worker.Backend = imap.NewIMAPWorker(worker)
case "maildir":
- worker.Backend = maildir.NewWorker(worker)
+ if w, err := maildir.NewWorker(worker); err != nil {
+ return nil, fmt.Errorf("could not create maildir worker: %v", err)
+ } else {
+ worker.Backend = w
+ }
default:
return nil, fmt.Errorf("Unknown backend %s", u.Scheme)
}