alecpl
2010-05-18 0e7b66357de62abad98dbd8b1c06ac5de3d4575c
THREADS
@@ -1,40 +1,15 @@
*** 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
    - better updating of threaded message list after message(s) deletion (?),
      in some cases  when some children rows has been removed threads needs
      to be reordered
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)
KNOWN ISSUES:
    - IE6: message, flag, attachment icons are not displayed in
      initially collapsed child rows