浏览代码

update TODO

Oswald Buddenhagen 7 年之前
父节点
当前提交
380ccdd43a
共有 1 个文件被更改,包括 32 次插入1 次删除
  1. 32 1
      TODO

+ 32 - 1
TODO

@@ -2,8 +2,21 @@ f{,data}sync() usage could be optimized by batching the calls.
 
 
 make SSL (connect) timeouts produce a bit more than "Unidentified socket error".
 make SSL (connect) timeouts produce a bit more than "Unidentified socket error".
 
 
+automatically resume upon transient errors, e.g. "connection reset by peer"
+or timeout after some data was already transmitted.
+possibly also try to handle Exchange's "glitches" somehow.
+
+add support for IMAP UTF-7 (for internationalized mailbox names).
+
 uidvalidity lock timeout handling would be a good idea.
 uidvalidity lock timeout handling would be a good idea.
 
 
+should complain when multiple Channels match the same folders.
+
+propagate folder deletions even when the folders are non-empty.
+- verify that "most" of the folders in the Channel are still there.
+- refuse to delete unpropagated messages when trashing on the remote side.
+- refuse to delete master if it has unpropagated messages. symmetry?
+
 add message expiration based on arrival date (message date would be too
 add message expiration based on arrival date (message date would be too
 unreliable). MaxAge; probably mutually exclusive to MaxMessages.
 unreliable). MaxAge; probably mutually exclusive to MaxMessages.
 
 
@@ -11,6 +24,21 @@ add alternative treatments of expired messages. ExpiredMessageMode: Prune
 (delete messages like now), Keep (just don't sync) and Archive (move to
 (delete messages like now), Keep (just don't sync) and Archive (move to
 separate folder - ArchiveSuffix, default .archive).
 separate folder - ArchiveSuffix, default .archive).
 
 
+add support for event notification callbacks.
+it would be also possible to report more differentiated exit codes, but
+that seems too limiting in the general case.
+
+make it possible to have different mailbox names for Master and Slave in
+Patterns.
+- use master:slave for the pattern
+  - for quoting, use more colons: the longest sequence of colons is the
+    separator
+- this makes Groups mostly useless, as they are mostly a workaround for this
+  function being missing so far
+- this is needed for move detection, which would work only within one Channel
+
+normalize INBOX capitalization received from IMAP, to avoid anomalies.
+
 kill the concept of an INBOX, it is a relic from single-channel operation.
 kill the concept of an INBOX, it is a relic from single-channel operation.
 if somebody needs it, he can have two stores with different Paths. the path
 if somebody needs it, he can have two stores with different Paths. the path
 can name a single (in-)box (curr. broken with maildir). an empty box name
 can name a single (in-)box (curr. broken with maildir). an empty box name
@@ -26,6 +54,7 @@ add daemon mode. primary goal: keep imap password in memory.
 also: idling mode.
 also: idling mode.
 
 
 parallel fetching of multiple mailboxes.
 parallel fetching of multiple mailboxes.
+TLS session resumption becomes interesting then as well.
 
 
 imap_set_flags(): group commands for efficiency, don't call back until
 imap_set_flags(): group commands for efficiency, don't call back until
 imap_commit().
 imap_commit().
@@ -49,6 +78,8 @@ and in write-only mode not before changes are made.
 problem: UIDVALIDITY change detection is delayed, significantly complicating
 problem: UIDVALIDITY change detection is delayed, significantly complicating
 matters.
 matters.
 
 
+some error messages are unhelpful in non-verbose mode due to missing context.
+
 possibly use ^[[1m to highlight error messages.
 possibly use ^[[1m to highlight error messages.
 
 
 consider alternative approach to trashing: instead of the current trash-before-
 consider alternative approach to trashing: instead of the current trash-before-
@@ -61,4 +92,4 @@ however, this implies a huge working set.
 
 
 consider optional use of messages-id (and X-GM-MSGID):
 consider optional use of messages-id (and X-GM-MSGID):
 - detection of message moves between folders
 - detection of message moves between folders
-- recovery from unmotivated UIDVALIDITY change, or total loss of sync state
+- recovery from loss of sync state, migration from other tools