aboutsummaryrefslogtreecommitdiffstats
path: root/worker/imap/worker.go
diff options
context:
space:
mode:
authorMoritz Poldrack <git@moritz.sh>2023-05-09 17:19:42 +0200
committerRobin Jarry <robin@jarry.cc>2023-05-16 13:56:58 +0200
commit2040fc1885ca4b4bea07d91e9fc6a0aaebfe7133 (patch)
tree0df09ba088414a5d74081e6a61c68afc2141c5a8 /worker/imap/worker.go
parent0eaf05d3fa6295e7df06793a967d3389d2a0f7d8 (diff)
downloadaerc-2040fc1885ca4b4bea07d91e9fc6a0aaebfe7133.tar.gz
imap: use delimiter from server
To accommodate servers that use a delimiter other than "/" ("." being a common alternative), the delimiter is fetched from the server when connecting. Signed-off-by: Moritz Poldrack <git@moritz.sh> Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'worker/imap/worker.go')
-rw-r--r--worker/imap/worker.go18
1 files changed, 13 insertions, 5 deletions
diff --git a/worker/imap/worker.go b/worker/imap/worker.go
index 1f61f458..f9a722e6 100644
--- a/worker/imap/worker.go
+++ b/worker/imap/worker.go
@@ -61,11 +61,12 @@ type imapConfig struct {
type IMAPWorker struct {
config imapConfig
- client *imapClient
- selected *imap.MailboxStatus
- updates chan client.Update
- worker *types.Worker
- seqMap SeqMap
+ client *imapClient
+ selected *imap.MailboxStatus
+ updates chan client.Update
+ worker *types.Worker
+ seqMap SeqMap
+ delimiter string
idler *idler
observer *observer
@@ -311,3 +312,10 @@ func (w *IMAPWorker) Run() {
func (w *IMAPWorker) Capabilities() *models.Capabilities {
return w.caps
}
+
+func (w *IMAPWorker) PathSeparator() string {
+ if w.delimiter == "" {
+ return "/"
+ }
+ return w.delimiter
+}