[OP-186] Windows Phones cannot send a change and receive one in the same request Created: 12/Mar/15  Updated: 30/Mar/15  Resolved: 16/Mar/15

Status: Closed
Project: Opush
Component/s: None
Affects Version/s: None
Fix Version/s: 3.1.0

Type: Bug Priority: Normal
Reporter: Thomas HILAIRE Assignee: Antoine DUPRAT
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File wp8-exchange-contact-create-modify-delete.pcap     File wp8-exchange-createFromDevice-same-time-as-a-modifyFromServer.pcap     File wp8-exchange-modification-both-side.pcap    
Issue Links:
Relates
relates to OP-163 A contact is recreated by Windows Pho... Open
Rank: 6795

 Description   

Pre-conditions

  1. Have usera synchronized with a WP8 without the label "Pas à jour" displayed. For that, create an account and remove the push mode by selecting "manual" as synchronization frequency.
  2. usera has a contact in its address book synchronized with its OBM account

Reproduction steps

  1. As usera with WP8, modify the contact synchronized with its OBM
  2. As usera with WP8, create a contact named "wp new"
  3. As usera with ui, create a contact named "ui new"
  4. As usera with WP8, synchronize

Current behavior

  1. NOK the device show the label "Pas à jour" on the account
  2. NOK if you force a new synchronization on the device, you can see in logs that it tries to create/modify again and again contacts
    
    14:04:02.951 [INFO ] {REQUEST.FULL} [t27681/cSync/r23278/thilaire@linagora.com] <?xml version="1.0" encoding="UTF-8"?><Sync>
    <Collections>
    <Collection>
    <SyncKey>1f33e6d1-6c9a-4035-b40c-ae802c570167</SyncKey>
    <CollectionId>16798</CollectionId>
    <WindowSize>25</WindowSize>
    <Commands>
    <Add>
    <ClientId>oid{6cb:30001:30}</ClientId>
    <ApplicationData>
    <Body>
    <Type>1</Type>
    <Data/>
    </Body>
    <FileAs>Ptod2, Wp</FileAs>
    <FirstName>Wp</FirstName>
    <LastName>Ptod2</LastName>
    </ApplicationData>
    </Add>
    <Add>
    <ClientId>oid{6cd:30001:30}</ClientId>
    <ApplicationData>
    <Body>
    <Type>1</Type>
    <Data/>
    </Body>
    <FileAs>Plus, Wp</FileAs>
    <FirstName>Wp</FirstName>
    <LastName>Plus</LastName>
    <MobileTelephoneNumber>3333333</MobileTelephoneNumber>
    </ApplicationData>
    </Add>
    </Commands>
    </Collection>
    </Collections>
    </Sync>
    

Expected behavior

  1. OK All changes are received from both sides
  2. OK There is no label "Pas à jour" on the account
  3. OK you force the synchronization again and again, it'll not try to perform changes on contacts

Additional informations



 Comments   
Comment by Thomas HILAIRE [ 12/Mar/15 ]

After few tests it seems that we only have to switch the order of Commands and Responses in the opush response.

Comment by Antoine DUPRAT [ 16/Mar/15 ]

QA: only check that modification on the server and on a device at the same times works.
Follow the given scenarii.

Impacts: only in the Sync response send by the server.

Comment by Jenkins Continuous Integration Server [ 16/Mar/15 ]

UNSTABLE: Integrated in opush-master #211
OP-186 Responses should be before Commands in Sync response (thilaire: 7a13e1e04222e134a73c6f60ec0ae1a7df4873da)

  • protocol/src/test/java/org/obm/push/protocol/SyncProtocolTest.java
  • captures/exchange/wp8-exchange-createFromDevice-same-time-as-a-modifyFromServer.pcap
  • captures/exchange/wp8-exchange-modification-both-side.pcap
  • captures/exchange/wp8-exchange-contact-create-modify-delete.pcap
  • protocol/src/main/java/org/obm/push/protocol/SyncProtocol.java
Comment by Stephane COLSON [ 30/Mar/15 ]

OK with Opush version 3.1.0~alpha0~git20150327.162644.3b1273a-1

Tested with Nokia Lumia 920 (Windows Phone 8.1) and checked the same steps with Nexus 7 (Android 5.1)

Generated at Fri Oct 18 08:15:13 CEST 2019 using JIRA 6.1.1#6155-sha1:7188aeec9a6b57d61ea04c52f235f15f55c105e2.