Projects/PIM/KMail SoC regressions

< Projects‎ | PIM
Revision as of 19:24, 14 November 2008 by Pragma (Talk | contribs)

Jump to: navigation, search

This list is roughly ordered by priority

String freeze is on November 18th - All string changes need to be done until this date!



  • Sometimes infinite loop when jumping to next unread message. No clear way to reproduce yet.
Probably reproduced and tracked down to a 0 width/height rectangle passed to QPainter::drawRoundedRect() in OxygenStyle::renderScrollBarHandle(). Bug report sent to qt-bugs and maelcum is going to patch Oxygen to avoid passing a zero sized rect
--Pragma 22:30, 11 November 2008 (UTC)
  • In a folder with threaded messages, Ctrl-A then "Apply all Filters". Crash.
Very interesting. Fixed in trunk. By the way, it also shows that CTRL+J does a sort of "move out"+"move in" of the message if the target folder of the filter is the same as source folder. I suppose this could be avoided...or I'm missing something ?
--Pragma 05:53, 14 November 2008 (UTC)
There are two filtering systems in KMail (which of course is a big mess), KMFilterMgr and ActionScheduler. Both are used, depending on the situation. On IMAP, there is no "modify message" command, so the message needs to be downloaded, modified and uploaded (and the old message deleted), there is no way around this. The ActionScheduler deletes the original message only after the new filtered message has been uploaded, the KMFilterMgr does it before. Unnecessary downloads and uploads could indeed be prevented in many situations (such as when using local maildir instead of IMAP or when the filter doesn't require the whole message body), but that really requires a rewritten filter system, the current ones are a bit messy.
--TMG 10:00, 14 November 2008 (UTC)
Well.. I guess we'll have to live with it for a while.
--Pragma 19:23, 14 November 2008 (UTC)


Have to be fixed before 4.2

  • When jumping to the next unread message and the message is the one before the current selected message in the inbox, nothing happens [Possibly fixed in trunk, needs testing]
  • When jumping to the next unread message and messages are before the currently selected message, messages are selected from downwards and up. This makes reading threads near impossible. [Fixed in trunk]
  • Sort order of folders not saved
    • Sort order of folders should have a global/local flag, just like skin and aggregation
Needs some thinking since certain sort orders are not applicable to certain aggregations. As extreme example take the "Current Activity/Threaded" setting: it doesn't make sense to sort the groups by sender. This means that a global option can't work with folders that have a local aggregation and a local option may not work with folders that use the global aggregation. A (maybe questionable) idea might be to eventually change the default sort order of the currently selected aggregation. Another possibility is to store a sort order for each "folder/aggregation" pair.
--Pragma 05:20, 11 November 2008 (UTC)
Ok, so this is what I have in mind: If the folder uses global aggregation, enable the option to use global sort (and make the checked by default). This is the case for 90% of the users anyway. If the folder does not use global aggregation, first check if the global sort order is supported. If yes, enable the option to use the global sort. If not, disable/remove the checkbox for global sort and then we should indeed store the sorting for this folder only.
--TMG 13:25, 8 November 2008 (UTC)
  • Column sizes not saved
  • Shown/Hidden status of columns not saved (when enabling/disabling columns with the header context menu)
  • Clearing the quicksearch takes way too long, actually longer than loading a folder
callgrind says that 80% of the time is spent in QVector<QPersistentModelIndex>::remove(int) and the remaining 20% in the QPersistentModelIndex destructor... this is the cache of hidden items in QTreeView. Almost certainly thrashed because of in-the-middle removals from the vector. I guess that we either need a clever idea that does NOT use QTreeView or we need trolltech support for this. Last time we talked about these caches with Olivier he said something about a re-implementation using QSet, but it seems to be lost in hyperspace...
--Pragma 07:42, 11 November 2008 (UTC)
  • connect() errors during startup when embedded in Kontact [Fixed in trunk]

Annoying bugs

Should be fixed before 4.2

  • Threads with mails marked as important/action item are not expanded when entering the folder
  • Resizing column headers is very painful right now:
    • A horizontal scrollbar should never be shown (both for the folder tree and the message list)
    • When using "Fancy with clickable status", right-clicking the header and toggling the status column twice will move the status column outside of the view
    • Maybe the column which contains the subject should always be the one which shrinks/grows
  • Tab bar should be auto-hidden when only 1 tab is open, to save space. Opening a folder in a new tab could be done in the RMB menu. That would require that folders are not selected when right-clicking them (which is already a wish on b.k.o) [Partially fixed in trunk, no-selection-on-right-click not implemented yet]
  • Changing the sort order should not reload a folder if possible
  • The tooltips don't have a timeout. When leaving an item, the tooltip timer should be reset to that it takes some time until the tooltip for the next item appears
  • Tab displays "Empty" when loading IMAP folder and has unknown icon. Title should be "Loading..."
  • No longer able to search for custom tags

Normal bugs

  • When moving the folder tree/message list splitter to the right, the "Total" column of the folder tree expands instead of the "Name" column
  • Re-add the ability to hide the quick search.
  • Marking a message as important also marks the children as important. Only the "mark thread as..." should do this. Also, marking a message as important marks the first level children, but not the second level children.
  • No shortcuts for expanding/collapsing group headers
  • No shortcuts for tab handling (move to next/previous tab, open new tab, close current tab)
  • Aggregation should use localized date format instead of yyyy-mm-dd
  • When using the quick status filter with "Has Attachment" and then opening the real search, it uses the status "Important" instead
  • The "View Thread in Browser" and "Save as HTML" actions are incomplete. For example, they don't support encryption, embedded message or any other advanced feature from objecttreeparser. Consider removing those actions.
  • The whole "sender/receiver" thing seems broken, at least it doesn't work in my sent mail folder. But I think it was broken before the merge.
  • The "When entering a folder, jump to xy" setting not honored
  • Enabling the size column for the favorite folder view does not work
  • Quick search for unread messages doesn't work - it should show both unread+new mails
  • Quick search for "Any status" should be first in the list

Minor bugs

  • When entering the skin/aggregation dialog and clicking "Clone" immediately, nothing happens [Fixed in trunk]
  • When changing the name or the icon of a folder in the folder properties dialog, the tab title doesn't get updated
  • The toolbar buttons for next/previous unread message are not grayed out when there is no such message
  • In the skin dialog, when changing the background color of the group header, one first has to switch to "default", then back to "custom" in order to see the color chooser dialog. Some for other things in the dialog. [Fixed in trunk]
  • On startup, a favorite folder is selected (when it was selected when quitting), but nothing in the main folder tree is selected and no folder loaded
  • Middle-clicking a folder does two things: Open in new tab and new mail to mailinglist. Probably the later action can be removed.
  • When using left/right arrow to navigate the list and encountering a collapsed thread, the left arrow key does expand that thread, but the right arrow key does not. Using left/right arrow keys, threads should never be expanded (only when doing +/- for navigating unread messages)

UI polish

  • Add the ability to hide column names in the column properties editor, and use that for all status columns in the themes, since the column sizes are too small for that text anyway.
  • "Skin" should be renamed to something better [Renamed to Theme in trunk]
  • The comboboxes next to the quick search should probably go to the menu bar. Those in general need to be cleaned up a bit.
  • Re-evaluate the default skins and aggregations
  • In Skin Dialog: Rename "To Do Icon" to "Action Item Icon" (or something like that) for consistency
  • Same for message tooltip (Rename ToDo to Action Item)
  • There is probably not enough feedback about "folder still loading" when the tab bar is hidden.
  • Empty folders should not display a vertical scrollbar
  • The default group header color is IMHO to gray
  • Rename "Simple" skin to "Classic" and "Fancy" to something better (maybe "Modern")?
New installation will see the "Classic" skin instead of "Simple" from now on. So we go for "Modern" then ? "Fancy" isn't that bad...
--Pragma 07:02, 11 November 2008 (UTC)
  • Rename "Aggregation" to "Grouping" or similar
  • Inconsistency: In the aggregation dialog, the buttons say "Mode" instead of "Aggregation"
  • When deleting a message, select the previous message instead of the next, because many KMail users are used to that
Do you mean the message below instead of the one above ? If yes, then this is a duplicate of a solved entry in "Showstoppers" above.
--Pragma 07:02, 11 November 2008 (UTC)
  • Unchecking the "Folder always uses this Aggregation/Skin" option potentially confusing, since that changes the global aggregation/skin to the one of the current folder.
  • The "Folder always uses this Aggregation/Skin" needs better naming and be more intutive (see above)
  • Reconsider the default skin and aggregation
  • Default settings for "Fancy" skin: Include clickable icons as well?
  • Grouping by date should maybe create groups for whole months to avoid too many single-day groups
  • Can we get rid of the background styles of the group headers that are not joined or do people actually want that?
The spaces between the header items in a line give some visual feedback about the column sizes (which may be missing with left/right aligned text in these columns).
--Pragma 07:02, 11 November 2008 (UTC)
At least I think we should make the joined style the default
--11:26, 14 November 2008 (UTC)
  • When grouping by sender, group mails with the same e-mail address but with different names into one group
  • Empty subjects in the message list should be displayed as "No Subject" again
  • Default Aggregation should be either by date or standard mailing list

Coding Issues

  • Remove the dockwidget code, since it does not support all layouts KMail supports, and leaving unused code behind is never good
...but the dockwidgets look very koool...
--Pragma 06:22, 11 November 2008 (UTC)
  • Remove support for multiple mainwindows, since we have tabs for that now.
  • Either remove the commands/ subdirectory or split up kmcommands and mmove them there.
  • grep for TODOs and FIXMEs in the new code and fix them
  • convert some of the new global options to KConfigXT (GlobalSettings class)

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal