Moved password promting into imapserver.py. Passwords are now asked
for on-demand and typos will no longer crash the program (the user
will be re-prompted). Closes: #162672.
When an exception occurs, OfflineIMAP will attempt to print the last
50 debug messages, whether or not debugging was enabled for this
session. This way, even unexpected and non-repeatable errors stand a
chance of getting a more detailed log.
- Moved some code from offlineimap/init.py to new file
offlineimap/syncmaster.py to help dileneate between code that
performs different functions.
- Moved threadexited from offlineimap/init.py to
offlineimap/threadutil.py.
-d now takes a parameter to specify what kind of debugging to do.
imaplib now does debugging through the UI system. UIBase now has a
debugging process.
If a given Maildir folder is new, remove the associated local status
cache file, if any. That way, there will not be any chance of
propogating hordes of deletes and adds based on old status data.
Better handling of read-only folders. We will now warn if there is a
change, but not propogate it. New config variable ignore-readonly can
suppress the warnings. This fixes [complete.org #10] and, for Debian,
Closes: #154769. changelog: noted the change IMAP.py: trap
imapobj.readonly more often UIBase.py: new methods to handle the
warnings offlineimap.conf: new ignore-readonly variable.
Backed out check for . in account names for now. Will put it back in
when we have a consensus on what exactly to do. Doubt that anyone has
a foldername that would conflict with Blinkenlights anyway.
This is release 3.1.1. Fixed a typo in the manual: Tk.TKUI -> Tk.TkUI.
Noted the new version and release time in the changelog and in
version.py. Rebuilt the documentation. Feed the cats, watered the
plants, backed up /dev/null.
- Modified imaputil.py and folder/Maildir.py to run faster. Eliminated
many regular expressions; pre-compiled many others.
- Fixed threadutil's exitnotifyloop to always handle threads in the
order they exited, rather than sometimes in the inverse order. This
way, make sure to handle thread's exception messages before a thread
exited.