summary refs log tree commit diff stats
path: root/worker/imap/worker.go
diff options
context:
space:
mode:
Diffstat (limited to 'worker/imap/worker.go')
-rw-r--r--worker/imap/worker.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/worker/imap/worker.go b/worker/imap/worker.go
index 9fbaf0c..d6337bc 100644
--- a/worker/imap/worker.go
+++ b/worker/imap/worker.go
@@ -78,6 +78,7 @@ func (w *IMAPWorker) verifyPeerCert(msg types.WorkerMessage) func(
 func (w *IMAPWorker) handleMessage(msg types.WorkerMessage) error {
 	switch msg := msg.(type) {
 	case types.Ping:
+	case types.Unsupported:
 		// No-op
 	case types.Configure:
 		u, err := url.Parse(msg.Config.Source)
@@ -145,9 +146,8 @@ func (w *IMAPWorker) handleMessage(msg types.WorkerMessage) error {
 
 		c.Updates = w.updates
 		w.client = &imapClient{c, idle.NewClient(c)}
-
-		// TODO: don't idle right away
-		go w.client.IdleWithFallback(nil, 0)
+	case types.ListDirectories:
+		w.handleListDirectories(msg)
 	default:
 		return errUnsupported
 	}