When moving a mail to another folder, it is duplicated using cyrus-imapd 3.0.1 (and 3.0.3, too). However, the server has only one copy of the message, it is only duplicated in the destination folder in Outlook 2013.
syncroton version:
kolab-syncroton-2.3.6-4.1.el7.kolab_16.noarch
I'm not sure about the EAS protocol, but there is a move message:
[23-Aug-2017 08:43:15 +0200]: [DEBUG] Syncroton_Server::_handlePost::127 xml request:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE AirSync PUBLIC "-AIRSYNCDTD AirSync//EN" "http://www.microsoft.com/">
<Moves xmlns="uri:Move">
<Move> <SrcMsgId>38b950ebd62cd9a66929c89615d0fc04::59677</SrcMsgId> <SrcFldId>38b950ebd62cd9a66929c89615d0fc04</SrcFldId> <DstFldId>c8262d968102ed0635c686a27d036b6a</DstFldId> </Move>
</Moves>
then added/deleted events:
[23-Aug-2017 08:43:16 +0200]: [INFO] Syncroton_Command_Sync::getResponse::697 found (added/changed/deleted) 0/0/1 entries for sync from server to client
[23-Aug-2017 08:43:16 +0200]: [INFO] Syncroton_Command_Sync::getResponse::941 current synckey is 69
[23-Aug-2017 08:43:16 +0200]: [DEBUG] Syncroton_Command_Sync::getResponse::954 update syncState for collection: 38b950ebd62cd9a66929c89615d0fc04
[23-Aug-2017 08:43:16 +0200]: [DEBUG] kolab_sync_transaction_manager::startTransaction::102 startTransaction request
[23-Aug-2017 08:43:16 +0200]: [DEBUG] kolab_sync_transaction_manager::commitTransaction::132 commitTransaction request for 7d1c02c26cd905e00e10b59034dd8c33496fa908
[23-Aug-2017 08:43:16 +0200]: [INFO] Syncroton_Command_Sync::getResponse::941 current synckey is 4
[23-Aug-2017 08:43:16 +0200]: [INFO] Syncroton_Command_Sync::getResponse::941 current synckey is 4
[23-Aug-2017 08:43:16 +0200]: [INFO] Syncroton_Command_Sync::getResponse::697 found (added/changed/deleted) 1/0/0 entries for sync from server to client
Here's the full log:
https://pastebin.com/fsrM9s94