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.
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.
Does it make sens or I miss something?