TODO 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. make SSL certificate validation more automatic.
  2. add deamon mode. primary goal: keep imap password in memory.
  3. add asynchronous operation to remote mailbox drivers. this is actually
  4. what prevents us from simply using c-client and thus becoming mailsync.
  5. handle custom flags (keywords).
  6. fix maildir_{open_store,list} to handle partial names (last char not slash).
  7. add a way to automatically create and sync subfolders.
  8. could store TUID even when UIDPLUS is supported. would avoid duplicated
  9. messages after abort before new UID arrives.
  10. decouple TUID search from append. that's a prerequisite for usable
  11. MULTIAPPEND, and is generally good for async. should be way faster, too,
  12. as it saves repeated mailbox rescans with single-file formats.
  13. use MULTIAPPEND and FETCH with multiple messages.
  14. create dummies describing MIME structure of messages bigger than MaxSize.
  15. flagging the dummy would fetch the real message. possibly remove --renew.
  16. don't SELECT boxes unless really needed; in particular not for appending,
  17. and in write-only mode not before changes are made.
  18. possibly request message attributes on a per-message basis from the drivers.
  19. considerations:
  20. - record non-existing UID ranges in the sync database, so IMAP FETCHes needn't
  21. to exclude anyway non-existing messages explicitly.
  22. - when detect unborn pairs and orphaned messages being gone? implied by expunge:
  23. with trashing, by local driver, or of messages we deleted in this run. the
  24. remaining cases could be handled by automatic periodical cleanup passes, an
  25. explicit --cleanup action, or be implied by one of the other actions.
  26. - the benefit of this is questionable, as fine-grained requests will result
  27. in sending huge amounts of data, and upstream is often way slower than
  28. downstream.
  29. maildir: possibly timestamp mails with remote arrival date.
  30. maybe throw out the ctx->recent stuff - it's used only for one info message.
  31. possibly use ^[[1m to highlight error messages.
  32. consider alternative trash implementation: trash only messages we delete,
  33. and trash before marking them deleted in the mailbox. downside: all other
  34. programs have to do the same. and what if the deleted flag is unset?
  35. items out of scope of purely UID based approach:
  36. - detect message moves between folders
  37. - recovering from UIDVALIDITY change (uw-imap < 2004.352 does this a lot)