In my current build of Trojita I am noticing that loading an INBOX or other folder is slow when there are a lot of messages. This manifests taking a while to (a) see the list appear and then (b) see the subjects/senders appear. This is a problem for GMail where you basically don't delete messages and keep everything in your INBOX. It seems like a better solution would be to load messages in batches of 100 and load more with scroll events.
Discussed this with jkt on IRC. It seems that this is only slow the first load of an INBOX and the Ubuntu UI ideally needs a spinner until the messages appear.
These two bits are needed: - the delegate for each message should show something else when the message is still loading (there's a custom role for that, see Harmattan) - an indication should probably be added to hint that even the list of messages is still being determined For the record, the expected behavior of Trojita is that a mailbox with 50k messages should be opened in three seconds during the initial sync, and in well under one second upon subsequent visits, even after an app exit. That's how the desktop version behaves, and anything worse means that there's a bug in the QML bits or the plumbing layers.
Git commit ab0eb333426ce46718a44b3eb70c204caa66a4bf by Jan Kundrát, on behalf of Boren Zhang. Committed on 12/06/2014 at 04:19. Pushed by jkt into branch 'master'. Ubuntu indicate progress on MessageListPage - Show task on the bottom - Message delegate show loading and unavailable REVIEW: 118513 M +1 -0 src/Imap/Model/Model.cpp M +2 -0 src/Imap/Model/MsgListModel.cpp M +12 -0 src/Ubuntu/qml/trojita/MessageListPage.qml A +76 -0 src/Ubuntu/qml/trojita/TaskProgressBar.qml [License: GPL (v2/3)] http://commits.kde.org/trojita/ab0eb333426ce46718a44b3eb70c204caa66a4bf