*** Current status of THREADS implementation *** CHANGES IN RELATION TO ORIGINAL PATCH - don't add nested messages into selection on collapse if parent message is in selection - some changes in messages highlighting - re-written all changes in rcube_imap.php - temporary removed threads caching (see TODO) - use depth=0 for roots - thread expand state is not stored anywhere - removed imap_thread_algorithm option, we're using the best algorithm supported by server and implement REFS sorting in Roundcube - use underlined subject for root with unread children (icon is still supported) - on deleting messages the whole list isn't refreshed - added 'expand unread' button TODO (must have): - threads caching - updating threaded message list on message delete - don't reload messages list on check_recent KNOWN ISSUES: - on new message (check_recent) the whole list is reloaded - css issues on IE6 TODO (other): - performance: fetching all messages for list in "expand all" state only, if "expand all" is disabled we should fetch only root messages and fetch children on-demand (on expand button click), Notice: this is not so simple, because we need to fetch children to set "unread_children", but we can fetch only flags instead of all headers for each child - button in #listcontrols to mark all messages in current thread (with selected root or child message), - icons for thread tree structure TODO (by the way): - use jQuery.inArray instead of find_in_array() (common.js)