I had the pleasure of working with K-9 mail for the Google Summer of Code program in 2017. I have made several contributions to different parts of the project. These are outlined below :
Topic | Link | Summary |
---|---|---|
Refactor some IMAP code | PR-2582 | Split up IMAP commands before they exceed the length limit and get rejected by the server. |
Add support for CONDSTORE and QRESYNC | PR-2607 | These extensions help to optimize the synchronization process by letting a client selectively fetch data that has changed since a particular point in time. |
Rewrite ImapFolderPusher | PR-2671 | Trigger a simple mail synchronization on receiving an untagged response through IDLE and use a separate connection to do so. |
Add support for moving and copying messages across IMAP accounts | PR-2697 | Similar to the feature in Thunderbird, this allows movement of messages across folders residing in different servers. |
Rewrite expunge | PR-2701 | When expunging a folder, ensure that messages that unknowingly had the \Deleted flag set are not expunged. |
Add support for MULTIAPPEND | PR-2710 | This extension allows a client to append multiple messages to a remote mailbox in one go, thereby reducing the number of round trips required. |
Some improvements to search such as full text search and search suggestions are pending. I will continue working on these and other parts of the project in the coming months.
I would like to thank Google for running this great program and my mentor Vincent Breitmoser for his continued support and guidance in helping me carry out this project.