1dd413e4bc
When ThreadListService is created it now immediately spawns a background task (via the client's TaskMonitor) that subscribes to the room event cache and listens for RoomEventCacheUpdate::UpdateTimelineEvents. For every incoming event that carries an m.thread relation pointing to a root we are already tracking, the service rebuilds a ThreadListItemEvent via the existing build_latest_event helper and replaces latest_event on the matching ThreadListItem and increments num_replies by 1