8ae4acdc00
This is half of the work: this will load the threaded receipt for each thread, every time we add/update a timeline item for an event that had a thread summary. Since we don't know which of the private or the public receipt is the most advanced, we simply pass both, to start with; it's expected that this code dies later, when we fold it in into the event cache. The second half will consist in updating the thread summaries when a new read receipt event happens.