Re: [Evolution] mark_seen confusion



On Tue, 2014-05-13 at 15:44 -0400, Carl Schaefer wrote:
it's been bothering me that simply visiting a new folder will mark a
message in that folder as "seen", so I wandered into
mail/e-mail-reader.c to see if anything could be done.

This is in the EMailReaderPrivate structure, indicating that the
behavior that's bothering me isn't supposed to be happening:

      /* These flags work together to prevent message selection
       * restoration after a folder switch from automatically
       * marking the message as read.  We only want that to
       * happen when the -user- selects a message. */
      guint folder_was_just_selected : 1;
      guint restoring_message_selection : 1;
      guint avoid_next_mark_as_seen : 1;

As far as I can tell, these three fields represent two different ways to
keep a message from being marked "seen" (the first two are one approach,
and the third is another), but they don't seem to work in 3.12.2.

The whole mark-as-seen timeout logic in that file is very confusing and
brittle due to all the asynchronous activity going on and the multitude
of reasons a message list may be regenerated.

IIRC, there was a recent attempt to fix a corner case where if the
timeout value is zero, users expect messages to be marked as read
immediately even if the message hasn't fully rendered.  Whereas non-
zero timeouts only begin AFTER the message has fully rendered.

I'm speculating, but it could very well be that fixing that case broke
the case you're describing, as brittle as that logic is.

Matthew Barnes



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]