From d1a9bb6669c3a5d12ead562c1e7066a7f01bd584 Mon Sep 17 00:00:00 2001 From: Brendan Cully Date: Tue, 13 Dec 2005 06:37:52 +0000 Subject: [PATCH] Updated todo/bug list for IMAP --- imap/BUGS | 25 ++----------------------- imap/TODO | 37 +++++++++++++++++++------------------ 2 files changed, 21 insertions(+), 41 deletions(-) diff --git a/imap/BUGS b/imap/BUGS index cb27ba9e..ed4fdec0 100644 --- a/imap/BUGS +++ b/imap/BUGS @@ -1,34 +1,13 @@ In no particular order: -* ~h searches download the entire folder, setting everything to \Seen in - the process. - --> Use SEARCH? or at least try to use .PEEK when doing scans. I've been - thinking of going to always PEEK anyway, but then you'd have to store - updates for every message you touched. Maybe a config option? - * No checks are performed on long commands to make sure that they are still correct after they've been made to fit in their buffers. - Tagged message sets can exceed the fixed space we've allocated for - them in large mailboxes. Time to move to dynamic string allocation, - at least for these commands. -* Mutt doesn't handle timeouts or dropped connections gracefully. You - may see occasional segfaults. Solving this cleanly requires some major - architectural updates. Until that happens, I recommend you keep - backup copies of messages you're composing from within your editor. - Tommi Komulainen's keepalive patch for edit sessions may work for you, - though. Committed to CVS late November 1999, I think. +* Mutt doesn't handle timeouts or dropped connections gracefully. * Mutt is uninterruptible during socket calls. We should handle SIGINT. -* Server copy currently doesn't take into account uncommitted changes in - messages about to be copied. Sync first. - --> walk tagged or individual message looking for changes, sync those? - may require further additions to imap_make_msg_set and breaking up - imap_sync_mailbox, otherwise shouldn't be too bad. Not currently a - major priority, though - noone's gotten bit by this. - * The mutt_pretty routines don't work well when the delimiter isn't '/'. Brendan Cully -Updated 20000731 +Updated 20051212 diff --git a/imap/TODO b/imap/TODO index c27817bd..c27264ff 100644 --- a/imap/TODO +++ b/imap/TODO @@ -14,16 +14,24 @@ IMAP enhancements, by priority: PRIORITY: [***] +* Interruptible socket calls, preferably without having to abort the + connection. For example large downloads could be chunked. + [ -- browsing -- ] * We should maybe add a new imap_format string for IMAP browsing, without all the stat variables but with tags like how many messages are in the folders, how many subfolders, that weird \Marked tag, etc. - PRIORITY: [** ] +* Namespace handling needs to be thrown out and rewritten [ -- speed -- ] +* Partial index loading, using server-side threading and sorting + +* Partial message loading, including parsing BODYSTRUCTURE for the + view-attachments menu + * Persistent caching of data. I think the nicest way to do this is to store local copies like IMAP does, with an invisible control message at the top, and extra invisible headers in the message (for UID/dirty bits). This does @@ -38,25 +46,18 @@ IMAP enhancements, by priority: the server changes its file format, bad things might happen. Could be worked around with a specific Mutt header in all messages, probably. - PRIORITY: [* ] - -* Instead of testing for the existence of a mailbox for APPEND, just append - and create/retry on failure. This is only a small bandwidth savings, but - it should be easy. - - PRIORITY: [* ] - -[ -- new features -- ] - -* Commands for creating/deleting folders on the server, since users may not - otherwise be able to do this on IMAP servers. - Delete done, still must implement create. +* More aggressive command pipelining - PRIORITY: [** ] +[ -- new mail detection -- ] -* Implement the x (quit without saving changes) command. +* Possibly opening multiple connections for mailbox polling, now that + we have IDLE support. - PRIORITY: [** ] +* using UIDNEXT/UIDVALIDITY to find new messages instead of relying on + the ephemeral RECENT tag or the unchanging UNSEEN one. If we could + cache it between sessions we might have a nice way to properly + handle OLD messages too (UID less than cached UIDNEXT, but still + UNSEEN). Brendan Cully -Updated: 20000704 +Updated: 20051212 -- 2.40.0