about summary refs log tree commit diff stats
path: root/worker/imap/worker.go
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-02-01 19:34:08 -0500
committerDrew DeVault <sir@cmpwn.com>2018-02-01 19:34:08 -0500
commitcc03f6f4c802ee0742520145e9cacbd88f78ed9a (patch)
tree4baed447fec0eb5a5c82fd38a52ec205e638e8da /worker/imap/worker.go
parent1767e4fab515cefba08345e6eb2c84f46daf4be1 (diff)
downloadaerc-cc03f6f4c802ee0742520145e9cacbd88f78ed9a.tar.gz
Implement (most of) mailbox listing
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
 	}