Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 47a80fbd authored by Daniel Applebaum's avatar Daniel Applebaum
Browse files

Fixes Issue 1130

Fixes Issue 1308

Some IMAP servers seem not to provide an INTERNALDATE response.

parent d90e4020
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -1983,14 +1983,14 @@ public class MessagingController implements Runnable
                remoteFolder.fetch(new Message[] { remoteMessage }, fp, null);
                Date localDate = localMessage.getInternalDate();
                Date remoteDate = remoteMessage.getInternalDate();
                if (remoteDate.compareTo(localDate) > 0)
                if (remoteDate != null && remoteDate.compareTo(localDate) > 0)
                {
                    /*
                     * If the remote message is newer than ours we'll just
                     * delete ours and move on. A sync will get the server message
                     * if we need to be able to see it.
                     */
                    localMessage.setFlag(Flag.DELETED, true);
                    localMessage.setFlag(Flag.X_DESTROYED, true);
                }
                else
                {
@@ -2011,6 +2011,8 @@ public class MessagingController implements Runnable
                    {
                        l.messageUidChanged(account, folder, oldUid, localMessage.getUid());
                    }
		    if (remoteDate != null)
		    {
			remoteMessage.setFlag(Flag.DELETED, true);
			if (Account.EXPUNGE_IMMEDIATELY.equals(account.getExpungePolicy()))
			{
@@ -2019,6 +2021,7 @@ public class MessagingController implements Runnable
		    }
                }
            }
        }
        finally
        {
            if (remoteFolder != null)