[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sup-devel] Adding backward synchronization for Maildir sources



Sup Damien,

I cut over to your branch, plus one patch of my own making.

THE GOOD NEWS

It works!  Whereby, messages are marked read in my webmail client and
deleted messages go away.

THE BAD NEWS

It makes Sup very crashy and there's some strange behavior.  This is probably
the sixth time I'm composing this message (yeah, haven't learned my
lesson.) In more detail...

* You want the following OfflineImap patch, because otherwise the massive
  changes to labels that will surely be induced by backwards syncing will
  cause OfflineImap to CRAWL.

diff --git a/offlineimap/folder/LocalStatus.py b/offlineimap/folder/LocalStatus.py
index 157989d..7f4dc5b 100644
--- a/offlineimap/folder/LocalStatus.py
+++ b/offlineimap/folder/LocalStatus.py
@@ -33,7 +33,7 @@ class LocalStatusFolder(BaseFolder):
         self.messagelist = None
         self.repository = repository
         self.savelock = threading.Lock()
-        self.doautosave = 1
+        self.doautosave = 0
         self.accountname = accountname
         BaseFolder.__init__(self)

  Though, you probably want to undo this patch when you're done.  Autosaving
  means partial progress is saved.

* Backwards syncing appears to make old deleted mail show up again; I'm not
  sure if it's because touching the Maildir causes Sup to pick up on deleted
  tags again or something, but I had to go back and delete lots of deleted mail.

* When Sup is deleting messages, it is /extremely/ unsafe to iterate over
  a list of all messages in the index and query them for info: the threading means
  that any given message might not exist anymore.  I had a hook that kept triggering
  this bug, and earlier on in the process drawing functions would also frequently
  Nil error.  This is probably under-tested codepaths in Sup that we should track
  down; unfortunately I didn't have the presence of mind to record traces until
  later (and the ones I got all look like my hooks fault).

* In a similar vein, while messages are going away, '@' will occasionally return
  no messages (pressing again usually fixes it).  Messages that are labelled inbox
  will show up in 'U', but not in the inbox view without a Sup restart.

I haven't done a code review yet.

Cheers,
Edward
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel