Uploaded image for project: 'Z-Push'
  1. Z-Push
  2. ZP-1239

WP 8.1 sends client changes and fetch in one request

    Details

    • Type: Bug
    • Status: QA
    • Priority: Medium
    • Resolution: Fixed
    • Affects Version/s: 2.3.6, 2.3.7 beta1
    • Fix Version/s: 2.3.8 beta1, 2.3.8
    • Component/s: None
    • Labels:
      None

      Description

      Seen on WP 8.1 Update 2 (Lumia 640) where changes (read flags) and fetch is requested together.
      Z-Push answers with the Replies (MS docu: Responses) first and returns then Perform (MS docu: Commands).

      The docu suggests that Perform should be executed before Replies are sent.
      https://msdn.microsoft.com/en-us/library/dn292991(v=exchg.80).aspx

      Request

      AwFqAEVcT0sDezdmNjg1MDRjLTI1M2EtNDYzZS1hMmJlLWJhNTJjNTBiMWQzM30xOTQAAVIDVTYxZmZkAAFeAzAAAVUDMjUAAVZITQNVNjFmZmQ6NzkxYTFhZWUxMzRhNGQyZjg4ZmE3ZWUzN2FmZmQ1MWE3ZjUwMDIwMDAwMDAAAV0AAlUDMQABAQEAAEhNA1U2MWZmZDo3OTFhMWFlZTEzNGE0ZDJmODhmYTdlZTM3YWZmZDUxYTgzNTAwMjAwMDAwMAABXQACVQMxAAEBAQAASE0DVTYxZmZkOjc5MWExYWVlMTM0YTRkMmY4OGZhN2VlMzdhZmZkNTFhOGY1MDAyMDAwMDAwAAFdAAJVAzEAAQEBAABITQNVNjFmZmQ6NzkxYTFhZWUxMzRhNGQyZjg4ZmE3ZWUzN2FmZmQ1MWE4YzUwMDIwMDAwMDAAAV0AAlUDMQABAQEAAEhNA1U2MWZmZDo3OTFhMWFlZTEzNGE0ZDJmODhmYTdlZTM3YWZmZDUxYWJiNTAwMjAwMDAwMAABXQACVQMxAAEBAQAASk0DVTYxZmZkOjc5MWExYWVlMTM0YTRkMmY4OGZhN2VlMzdhZmZkNTFhODM1MDAyMDAwMDAwAAEBAQEBJgE=
      

      Decoded

        <Synchronize>
         <Folders>
          <Folder>
           <SyncKey>
            {7f68504c-253a-463e-a2be-ba52c50b1d33}194
           </SyncKey>
           <FolderId>
            U61ffd
           </FolderId>
           <DeletesAsMoves>
            0
           </DeletesAsMoves>
           <WindowSize>
            25
           </WindowSize>
           <Perform>
            <Modify>
             <ServerEntryId>
              U61ffd:791a1aee134a4d2f88fa7ee37affd51a7f5002000000
             </ServerEntryId>
             <Data>
              <POOMMAIL:Read>
               1
              </POOMMAIL:Read>
             </Data>
            </Modify>
            <Modify>
             <ServerEntryId>
              U61ffd:791a1aee134a4d2f88fa7ee37affd51a835002000000
             </ServerEntryId>
             <Data>
              <POOMMAIL:Read>
               1
              </POOMMAIL:Read>
             </Data>
            </Modify>
            <Modify>
             <ServerEntryId>
              U61ffd:791a1aee134a4d2f88fa7ee37affd51a8f5002000000
             </ServerEntryId>
             <Data>
              <POOMMAIL:Read>
               1
              </POOMMAIL:Read>
             </Data>
            </Modify>
            <Modify>
             <ServerEntryId>
              U61ffd:791a1aee134a4d2f88fa7ee37affd51a8c5002000000
             </ServerEntryId>
             <Data>
              <POOMMAIL:Read>
               1
              </POOMMAIL:Read>
             </Data>
            </Modify>
            <Modify>
             <ServerEntryId>
              U61ffd:791a1aee134a4d2f88fa7ee37affd51abb5002000000
             </ServerEntryId>
             <Data>
              <POOMMAIL:Read>
               1
              </POOMMAIL:Read>
             </Data>
            </Modify>
            <Fetch>
             <ServerEntryId>
              U61ffd:791a1aee134a4d2f88fa7ee37affd51a835002000000
             </ServerEntryId>
            </Fetch>
           </Perform>
          </Folder>
         </Folders>
         <Partial/>
        </Synchronize>
      

      Our response is correct in theory, but we answer the fetch first.
      There are now also new mails on the server that are being sent to the phone (already in loop mode, this is why there is only one).

        <Synchronize>
         <Folders>
          <Folder>
           <SyncKey>
            {7f68504c-253a-463e-a2be-ba52c50b1d33}195
           </SyncKey>
           <FolderId>
            U61ffd
           </FolderId>
           <Status>
            1
           </Status>
           <Replies>
            <Fetch>
             <ServerEntryId>
              U61ffd:791a1aee134a4d2f88fa7ee37affd51a835002000000
             </ServerEntryId>
             <Status>
              1
             </Status>
             <Data>
              <POOMMAIL:To>
               "Sebastian Kummer" <email@example.com>
              </POOMMAIL:To>
              <POOMMAIL:From>
               "Agency" <agency@mail1.ebla.com.br>
              </POOMMAIL:From>
              <POOMMAIL:Subject>
               Como não blabla
              </POOMMAIL:Subject>
              <POOMMAIL:DateReceived>
               2017-06-18T21:31:42.000Z
              </POOMMAIL:DateReceived>
              <POOMMAIL:DisplayTo>
               Sebastian Kummer
              </POOMMAIL:DisplayTo>
              <POOMMAIL:Importance>
               1
              </POOMMAIL:Importance>
              <POOMMAIL:Read>
               1
              </POOMMAIL:Read>
              <POOMMAIL:MessageClass>
               IPM.Note
              </POOMMAIL:MessageClass>
              <POOMMAIL:InternetCPID>
               65001
              </POOMMAIL:InternetCPID>
              <AirSyncBase:Body>
               <AirSyncBase:Type>
                2
               </AirSyncBase:Type>
               <AirSyncBase:EstimatedDataSize>
                115654
               </AirSyncBase:EstimatedDataSize>
               <AirSyncBase:Truncated>
                1
               </AirSyncBase:Truncated>
               <AirSyncBase:Data>
                <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'><html xmlns='http://www.w3.org/1999/xhtml'>
      			... some more HTML ...	
               </AirSyncBase:Data>
               <AirSyncBase:Preview>
                <http://click.mail1.bblablabla.com/klaflajflasd
               </AirSyncBase:Preview>
              </AirSyncBase:Body>
              <POOMMAIL:ContentClass>
               urn:content-classes:message
              </POOMMAIL:ContentClass>
              <POOMMAIL:Flag/>
              <AirSyncBase:NativeBodyType>
               2
              </AirSyncBase:NativeBodyType>
             </Data>
            </Fetch>
           </Replies>
           <MoreAvailable/>
           <Perform>
            <Add>
             <ServerEntryId>
              U61ffd:791a1aee134a4d2f88fa7ee37affd51ad85002000000
             </ServerEntryId>
             <Data>
              <POOMMAIL:To>
               "Sebastian Kummer" <email@example.com>
              </POOMMAIL:To>
              <POOMMAIL:From>
               "Some Spam" <notnice@blablaaz.com.br>
              </POOMMAIL:From>
              <POOMMAIL:Subject>
                Subject
              </POOMMAIL:Subject>
              <POOMMAIL:DateReceived>
               2017-06-19T22:32:47.000Z
              </POOMMAIL:DateReceived>
              <POOMMAIL:DisplayTo>
               Sebastian Kummer
              </POOMMAIL:DisplayTo>
              <POOMMAIL:Importance>
               1
              </POOMMAIL:Importance>
              <POOMMAIL:Read>
               0
              </POOMMAIL:Read>
              <POOMMAIL:MessageClass>
               IPM.Note
              </POOMMAIL:MessageClass>
              <POOMMAIL:InternetCPID>
               65001
              </POOMMAIL:InternetCPID>
              <AirSyncBase:Body>
               <AirSyncBase:Type>
                2
               </AirSyncBase:Type>
               <AirSyncBase:EstimatedDataSize>
                46144
               </AirSyncBase:EstimatedDataSize>
               <AirSyncBase:Truncated>
                1
               </AirSyncBase:Truncated>
               <AirSyncBase:Data>
                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      		  ..... HTML email .....
               </AirSyncBase:Data>
               <AirSyncBase:Preview>
                <http://click.andsomemorestuff/here-bla
               </AirSyncBase:Preview>
              </AirSyncBase:Body>
              <POOMMAIL:ContentClass>
               urn:content-classes:message
              </POOMMAIL:ContentClass>
              <POOMMAIL:Flag/>
              <AirSyncBase:NativeBodyType>
               2
              </AirSyncBase:NativeBodyType>
             </Data>
            </Add>
           </Perform>
          </Folder>
         </Folders>
        </Synchronize>
      

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Sebastian Sebastian Kummer
                Reporter:
                Sebastian Sebastian Kummer
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: