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 :
|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.