Mark messages as read when viewed and allow to mark as unread again.
Closed, ResolvedPublic

mbohlender added a subscriber: mbohlender.
mbohlender edited projects, added Kube (0.1); removed Kube.
ahunt added a subscriber: ahunt.EditedFeb 11 2017, 1:32 AM

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.)

cmollekopf reassigned this task from mbohlender to ahunt.Feb 11 2017, 2:11 PM

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.

Any new on this?

cmollekopf moved this task from 0.1 to 0.2 on the Kube board.Mar 3 2017, 1:14 PM
cmollekopf edited projects, added Kube (0.2); removed Kube (0.1).
cmollekopf moved this task from Backlog to In Progress on the Kube (0.2) board.Mar 22 2017, 3:47 PM
cmollekopf claimed this task.

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.

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.

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.

True

cmollekopf closed this task as Resolved.Apr 13 2017, 10:31 AM