[imp] IMP 4.2 (RC4) / Mail.app interaction - changes made in mail.app not reflected in imp
Michael M Slusarz
slusarz at horde.org
Fri Jun 6 19:18:07 UTC 2008
Quoting "Liam Hoekenga" <liamr at umich.edu>:
>>> I'm guessing it's some weird IMP message cache vs Mail.app message
>>> cache conflict.
>>>
>>> We're using 4.2RC4.
>>>
>>> Has anyone else seen something like this?
>>
>> Yeah, sure. You can turn of IMP's messagecache, but performance will suffer.
>
> Ok, I'm thinking outloud here...
>
> So here's what I think happens...
>
> Mail.app and IMP both cache email messages and mail indexes from the
> folders. I'm going to guess that the problem is most likely to
> manifest if you're using both clients at the same time. I'd expect it
> to, in fact.
>
> It /shouldn't/ if you're using one client and the other one is closed.
> Though, I wonder if it might if you...
> - use IMP, close your browser window (don't log out)
> - use Mail.app, delete some stuff.. quit
> - use IMP again, in the same browser
>
> If you haven't actually logged out of IMP, or quit your browser,
> you'll probably still have an active IMP session (one clue would be
> if you opened a new browser window, accessed IMP, and it didn't tell
> you the last time you logged in). So.. I wonder if you access IMP
> again using what it considers to still be an active session, if maybe
> it's not updating the cache like it should?
>
> Does IMP reconcile the cached version of the mailbox with what's on
> the server when a new session is created?
There is no way to determine if *IMAP flags* have changed for a
message without downloading all information about a message - which
defeats the whole purpose of caching. This is a limitation with the
current c-client library - the only way we can get flag information is
multiple imap_search calls (which queries the entire mailbox 4 times
to get the information needed), the imap_fetchstructure call (which
returns all the information we are caching - not to mention the
extremely inefficient way this function hits the IMAP server which
won't be discussed here), or the imap_fetchheader call (why a fetch
header call returns flag information is beyond me...). So we only
update flag information when a message is first inserted into the
cache or if the flag change is done via IMP/DIMP/MIMP.
michael
--
___________________________________
Michael Slusarz [slusarz at horde.org]
More information about the imp
mailing list