Status | Assigned | Task | ||
---|---|---|---|---|
Resolved | cmollekopf | T1470 Functional Kube Mail Prototype | ||
Resolved | cmollekopf | T1826 Mark messages as read when viewed and allow to mark as unread again. |
I was wondering if it would be OK for me to take this on? (I've already got the read/unread button working properly in a local build, I still need to work on marking messages read when opening them.)
(I'm going to be travelling for 1 week starting tonight, so I probably won't be able to continue with things until 9 days from now though.)
Absolutely!
You're more than welcome to work on anything that doesn't seem to be very active, just let us know via phabricator (as you did now), and claim the task.
For UI parts it's probably best to first discuss with us how you want to implement it, but if you're prepared to get some change requests you can of course also just implement something and post the patch for review.
I have experimented with ways to determine the current mail, which can then be used to mark the mail as read and implemented a first version.
It's fairly difficult to achieve a system that works reliably though. The system as it currently is always has a single mail as current mail (and all other mails get slightly grayed out to indicate that). The current implementation only set's the current index based on the scrolling position, which becomes problematic when we have many small mails in the conversation view (especially at the beginning and the end):
At the beginning of the list the expected position for the current mail is on top. However, as we scroll down the natural position becomes the middle (to me at least), and at the end of the list the natural position seems to be the end.
I therefore implemented a sort of windowing function that gradually shifts the relevant screen position from top to bottom not unlike this filter function: filter function
This will likely require some tweaking but is generally not horrible. It however still doesn't cover the case where we can't scroll because of not enough mails. For such cases we'll need additional help from keyboard/mouse to set the focus.
I think we can get away with marking the whole thread as unread once the user clicked on it and stayed on it for a short time.
While that may be true I think we still have to fix the issue of focusing a single mail as it will be equally relevant for keyboard navigation/shortcuts.