about summary refs log tree commit diff stats
path: root/worker/imap/list.go
diff options
context:
space:
mode:
Diffstat (limited to 'worker/imap/list.go')
-rw-r--r--worker/imap/list.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/worker/imap/list.go b/worker/imap/list.go
index 5e282ef..552fb45 100644
--- a/worker/imap/list.go
+++ b/worker/imap/list.go
@@ -17,6 +17,19 @@ func (imapw *IMAPWorker) handleListDirectories(msg *types.ListDirectories) {
 				// no need to pass this to handlers if it can't be opened
 				continue
 			}
+			if len(imapw.config.folders) > 0 {
+				// apply user filter
+				found := false
+				for _, folder := range imapw.config.folders {
+					if folder == mbox.Name || imapw.selected.Name == mbox.Name {
+						found = true
+						break
+					}
+				}
+				if !found {
+					continue
+				}
+			}
 			imapw.worker.PostMessage(&types.Directory{
 				Message:    types.RespondTo(msg),
 				Name:       mbox.Name,