[horde] ActiveSync client displays messages that were deleted in IMAP

Michael J Rubinsky mrubinsk at horde.org
Sat Aug 11 18:52:22 UTC 2018

Quoting Michael J Rubinsky <mrubinsk at horde.org>:

> Quoting Kevin <kevo at gatorgraphics.com>:
>>> On Aug 11, 2018, at 1:10 PM, Michael J Rubinsky <mrubinsk at horde.org> wrote:
>>> The ActiveSync protocol assumes either the use of a Trash mailbox  
>>> that messages are moved to when deleted or that messages are  
>>> expunged from the mailbox when deleted. This is one of those  
>>> things that is the result of the fact that it wasn't originally  
>>> designed to work against a "pure" IMAP server, but rather an  
>>> Exchange server.
>>> When using IMP, it is recommended to use a Trash folder.
>>> For messages that are just marked for deletion using another  
>>> client this is essentially just a change in flags. EAS does not  
>>> support a deleted flag, however, so the message does not appear to  
>>> be removed from the mailbox. IIRC, Z-push had some hack that sent  
>>> a delete command to the client for those messages that were  
>>> flagged as deleted. We choose not to do this as it's not an  
>>> accurate reflection of the mailbox state and leads to  
>>> inconsistencies when deleting items on the server vs deleting  
>>> items on the EAS client.
>> I see. Makes sense. I think I prefer Z-Push's behavior, but I  
>> suppose Mail could be set up as an ActiveSync client as well  
>> instead of IMAP.
> Unfortunately, it cannot. It can only connect using a traditional  
> exchange mapi connection.
>> Is ActiveSync very resource intensive for Horde? I suppose I would  
>> double the amount of ActiveSync load setting up all the computers  
>> to use that instead of plain IMAP, but if it's not that much extra  
>> resource usage it probably wouldn't matter. Or I could go to the  
>> trouble of setting up email, calendars, and contacts individually  
>> on the phones.
> It doesn't really increase load all that much. If you are using a  
> modern IMAP server that supports CONDSTORE/QRESYNC etc..., then  
> polling the imap server is fairly inconsequential. It can bump up  
> the database system's usage a bit, though.
>> It's kind of odd that trying to maintain a consistent state of  
>> things server side leads to inconsistency on the client side. One  
>> of the many quirks of tech.
> I would argue that it there is no inconsistency in this case. After  
> all, the message actually does exist in the mailbox. The only  
> difference is the EAS client doesn't mark that it's flagged with the  
> DELETED flag - because it doesn't know about such a flag.
> IMO, actually deleting the message over ActiveSync is inconsistent  
> since now the mailbox on the EAS client shows that the message is  
> actually NOT in the mailbox at all - you can't "show deleted" and  
> you can't remove the deleted flag. In clients that allow marking  
> message deleted, you still see them, or have the ability to show  
> them, in the mailbox, albeit marked with a deleted flag which you  
> have the ability to remove. You would have no such ability in the  
> eas client if it is "deleted" from the mailbox.
> Anyway, I do get what you are saying though :)

Another point to consider is that this leads to issues if there are  
changes to the email that is marked for deletion. Like adding/removing  
another flag, or actually expunging it. This triggers a change to be  
detected and sent to the client. If the message is "deleted" on the  
client it can't do anything with it in the best case and for  
not-well-behaved-clients, can cause crashes.  This would also require  
some workarounds when removing the deleted flag. Since it's just a  
change in a flag, this change would never be reflected on the client  
since the original message is no longer on the client. Anyway... I'm  
done now :)

The Horde Project
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-keys
Size: 9272 bytes
Desc: PGP Public Key
URL: <https://lists.horde.org/archives/horde/attachments/20180811/c0900f42/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 821 bytes
Desc: PGP Digital Signature
URL: <https://lists.horde.org/archives/horde/attachments/20180811/c0900f42/attachment-0003.bin>

More information about the horde mailing list