about summary refs log tree commit diff stats
path: root/worker
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-03-31 11:29:57 -0400
committerDrew DeVault <sir@cmpwn.com>2019-03-31 11:29:57 -0400
commit143289bbd0736d72553a3c2a080aa3d125366b38 (patch)
tree6a2e97db785db1385063323708764cb93388a4d0 /worker
parent1f23868652a2ce0e81bddd048e3e828efaff2d69 (diff)
downloadaerc-143289bbd0736d72553a3c2a080aa3d125366b38.tar.gz
Don't parse mail in worker; send a reader instead
Diffstat (limited to 'worker')
-rw-r--r--worker/imap/fetch.go12
-rw-r--r--worker/types/messages.go7
2 files changed, 5 insertions, 14 deletions
diff --git a/worker/imap/fetch.go b/worker/imap/fetch.go
index d229126..8052e13 100644
--- a/worker/imap/fetch.go
+++ b/worker/imap/fetch.go
@@ -2,7 +2,6 @@ package imap
 
 import (
 	"github.com/emersion/go-imap"
-	"github.com/mohamedattahri/mail"
 
 	"git.sr.ht/~sircmpwn/aerc2/worker/types"
 )
@@ -45,16 +44,9 @@ func (imapw *IMAPWorker) handleFetchMessages(
 			for _msg := range messages {
 				imapw.seqMap[_msg.SeqNum-1] = _msg.Uid
 				if reader := _msg.GetBody(section); reader != nil {
-					email, err := mail.ReadMessage(reader)
-					if err != nil {
-						imapw.worker.PostMessage(&types.Error{
-							Message: types.RespondTo(msg),
-							Error:   err,
-						}, nil)
-					}
 					imapw.worker.PostMessage(&types.MessageBody{
-						Mail: email,
-						Uid:  _msg.Uid,
+						Reader: reader,
+						Uid:    _msg.Uid,
 					}, nil)
 				} else {
 					imapw.worker.PostMessage(&types.MessageInfo{
diff --git a/worker/types/messages.go b/worker/types/messages.go
index b1d1485..803bb98 100644
--- a/worker/types/messages.go
+++ b/worker/types/messages.go
@@ -6,7 +6,6 @@ import (
 	"time"
 
 	"github.com/emersion/go-imap"
-	"github.com/mohamedattahri/mail"
 
 	"git.sr.ht/~sircmpwn/aerc2/config"
 )
@@ -137,13 +136,13 @@ type MessageInfo struct {
 
 type MessageBody struct {
 	Message
-	Mail *mail.Message
-	Uid  uint32
+	Reader io.Reader
+	Uid    uint32
 }
 
 type MessageBodyPart struct {
 	Message
-	Reader *io.Reader
+	Reader io.Reader
 	Uid    uint32
 }