Hello James developers, My name is Quan and I am working on the “Implement Thread support for JMAP” topic for Apache James as my Google Summer of Code 2021 project. My topic is to implement the logic part of the thread in Apache James: emails that related to a topic should belong to a thread. As the first evaluation of Google Summer of Code is coming, I want to share my working progress with you also.
With the first half of Google Summer of Code past, I almost successfully implemented Thread/get with the InMemory module using SearchThreadIdGuessingAlgorithm. My next goal for the rest time of Google Summer of Code is to enable searching messages by thread using Search Engine to fasten the search time and then support Thread/get with the Distributed module. While Google Summer of Code will enable a basic User experience with threads on top of JMAP, several enhancements would likely not be covered due to lack of time. There is some work related to Threads topic that I will continue to contribute to Apache James after Google Summer of Code: - Implement Thread/changes - Push state changes for threads - Investigate ElasticSearch aggregation for collapse thread - Implement collapse thread option on top of the message search index - Implement collapse thread for memory - Email/query should expose thread options - Implement Thread support for IMAP maybe? If you are interested in this topic, please come here ( https://issues.apache.org/jira/browse/JAMES-3516) and have some discussion. I would be very appreciative. Wish you a good day! Best Regards, Quan Tran Hong