diff --git a/package.json b/package.json index b53d77f..ac49c0b 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "axe-logger": "~0.0.2", "crypto-lib": "~0.2.1", "dompurify": "~0.4.2", - "imap-client": "~0.5.0", + "imap-client": "https://github.com/whiteout-io/imap-client/tarball/dev/WO-660", "jquery": "~2.1.1", "mailreader": "~0.4.0", "ng-infinite-scroll": "~1.1.2", diff --git a/src/js/dao/email-dao.js b/src/js/dao/email-dao.js index 8c89ba6..3000f73 100644 --- a/src/js/dao/email-dao.js +++ b/src/js/dao/email-dao.js @@ -585,7 +585,8 @@ EmailDAO.prototype.setFlags = function(options, callback) { folder: folder, uid: options.message.uid, unread: options.message.unread, - answered: options.message.answered + answered: options.message.answered, + flagged: options.message.flagged }, function(err) { if (err) { done(err); @@ -612,6 +613,7 @@ EmailDAO.prototype.setFlags = function(options, callback) { // set the flags var storedMessage = storedMessages[0]; storedMessage.unread = options.message.unread; + storedMessage.flagged = options.message.flagged; storedMessage.answered = options.message.answered; storedMessage.modseq = options.message.modseq || storedMessage.modseq; diff --git a/test/integration/email-dao-test.js b/test/integration/email-dao-test.js index 570a098..de4c63c 100644 --- a/test/integration/email-dao-test.js +++ b/test/integration/email-dao-test.js @@ -321,11 +321,13 @@ describe('Email DAO integration tests', function() { it('should receive new messages', function(done) { emailDao.onIncomingMessage = function(messages) { expect(messages.length).to.equal(1); - expect(messages[0].answered).to.be.false; + expect(messages[0].answered).to.be.true; + expect(messages[0].flagged).to.be.true; + expect(messages[0].unread).to.be.false; done(); }; - imapServer.appendMessage('INBOX', ['$My$Flag'], false, 'Message-id: \r\nSubject: new message\r\n\r\nhello world!'); + imapServer.appendMessage('INBOX', ['\\Flagged', '\\Seen', '\\Answered'], false, 'Message-id: \r\nSubject: new message\r\n\r\nhello world!'); }); it('should delete a message', function(done) { @@ -391,6 +393,7 @@ describe('Email DAO integration tests', function() { var message = inbox.messages[1]; message.unread = false; message.answered = true; + message.flagged = true; emailDao.setFlags({ folder: inbox, diff --git a/test/unit/email-dao-test.js b/test/unit/email-dao-test.js index 646aac6..4c86eed 100644 --- a/test/unit/email-dao-test.js +++ b/test/unit/email-dao-test.js @@ -728,7 +728,8 @@ describe('Email DAO unit tests', function() { folder: inboxFolder, uid: message.uid, unread: message.unread, - answered: message.answered + answered: message.answered, + flagged: message.flagged }).yieldsAsync(); localListStub.withArgs({