[imp] IMP does not mark the messages seen after the users reading them

Michael M Slusarz slusarz at horde.org
Wed Apr 8 16:58:35 UTC 2009


Quoting Xristos Karvouneas <kalamata12 at hotmail.com>:

> ok, found that on SuSE lists and I think it is what I am talking  
> about. I am quoting the conversation between a user and the author  
> of BincIMAP:
>
>
>
> <quote>
> On Tue, 2006-03-07 at 20:32 +0100, Andreas Aardal Hanssen wrote:
>> On Tue, 7 Mar 2006, Martin Ebourne wrote:
>> >Horde Imp (or the underlying PHP IMAP stuff) is breaking BincImap 1.2.13
>> >by sending this command:
>> >  0000000f UID STORE 1270 +Flags (\SEEN )
>> >  * NO Expected flag after SPACE
>> >What is the error about? Is it the trailing space after SEEN? Is this a
>> >bug in PHP/IMP or Binc?

If this is the problem, then this is not a Horde/IMP issue.  Horde/IMP  
does not send the IMAP commands - c-client does.

The code used to mark a message as seen is the following (from message.php):

if (!$use_pop && !$ob->seen && !$flagged_unseen) {
     require_once IMP_BASE . '/lib/Message.php';
     $imp_message = &IMP_Message::singleton();
     $imp_message->flag(array('seen'), $imp_mailbox, true);
}

So it is possible that the message will not be marked as seen if the  
seen flag is incorrectly set in the status object for the message (the  
$ob->seen) check.  This would also be a c-client issue. ($use_pop and  
$flagged_unseen is irrelevant for this analysis).  Additionally, as  
can be seen the flag function is called with the 'seen' argument - no  
trailing space.  You can look at the implementation of flag() in  
IMP_Message:: - there is no place where a trailing space can be/is  
added in IMP code.  Thus, this particular issue resides solely in  
c-client.

michael

-- 
___________________________________
Michael Slusarz [slusarz at horde.org]



More information about the imp mailing list