summaryrefslogtreecommitdiff
path: root/THREADS
blob: 95a0af83fa05ea7d8483fed7412519235d6522f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

*** 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)