Thomas Bruederli wrote:
Aleksander Machniak wrote:
We have two UI modes, with or without preview pane. In preview-pane mode on each keep_alive timeout is executed 'check-recent' action which searches for recent messages and sets unread counters on folder list, quota, etc. When we're working without preview pane on messages list we've got the same behaviour, but when switching to message view there executed is only 'keep-alive' action.
Proposition: Call 'check-recent'-like action instead of 'keep-alive'. We've got folders list which should be updated like in preview-pane mode.
This could be an option. I don't see any negative consequences here, except machine load.
But current behaviour is inconsistent. When you have a message opened (show action) you will be not informed when new mail will arrive, because keep-alive is not update counters on folders list. You must go back to messages list. When working with preview pane counters are updated, so I don't see problem to do this also in non-messages-list mode.
We have also a performance issue here, because 'getunread' action is called after each message preview which increases load and slows down moving from one message to another. When working in preview-pane mode 'getunread' is called only on folder selection.
Proposition: Don't call 'genunread' action when 'show' action was called.
The unread count is not added to the message list directly because this can slow down the page-load (getting unread count of all mailboxes can take several seconds). To increase the page-load time the unread count is fetched after the page loaded in order to update the folder list. This is called whenever there's a folder list. If you omit that, the folder list does not display ANY unread count.
Thomas, the point is that getunread is called too often when working without preview pane. It's called after each show action and that's performance issue what I'm talking about. When messages list is open only check-recent is called. So I think we can remove getunread calls also from show action. It's not problem for me, I use preview mode, but something is not right here. I can't explain better. My English not allows me to be more descriptive ;)