General discussion on installation and configuration of SOGo

Text archives Help


Re: [SOGo] ActiveSync on Android Lollipop


Chronological Thread 
  • From: Daniel van Ham Colchete < >
  • To:
  • Subject: Re: [SOGo] ActiveSync on Android Lollipop
  • Date: Fri, 26 Jun 2015 07:06:41 -0300

(Copying to the list)

Thomas,

the second patch worked! No workarounds are necessary anymore! I didn't have that much time yesterday to test the first patch but a colleague here tested it and it didn't work for him, the work-around was still necessary. Currently my pilot test group have about 7 users all of them with different versions of iOS (7 and 8), Android (4.0, 4.3 and 5.0), and Outlook (2013 and 2016). I'll give it a big test today and I'll let you know the results.

Thank you very much! A lot!

Best,
Daniel

On Fri, Jun 26, 2015 at 5:34 AM, Thomas Fuehrer < > wrote:

Am Donnerstag, 25. Juni 2015 14:41 CEST, "Thomas Fuehrer" < > schrieb:

>
> > I was wondering if anyone woud have any tip on the SyncKey problem. We seem
> > to be sending something take makes Android's Exchange code CPU-busy for
> > long seconds, eating a lot of battery, for up to one minute. Then it gets
> > back to a previous state where the error happens. I couldn't figure out
> > what it is. I'm thinking about opening another bug but I would like to have
> > at least a patch or to understand the problem better before doing that.
>
> I traced outlook.com when it is talking to Lollipop.
> > it sends an empty response to the first FolderSync with SyncKey=0 and then the folderlist to the next request with SyncKey=0
>
>
> Can you try this on (if it works with lollipop, please try it with any client you have to make sure that this doesn't break foldersync)
>
> diff --git a/ActiveSync/SOGoActiveSyncDispatcher.m b/ActiveSync/SOGoActiveSyncDispatcher.m
> index 64a0071..99736db 100644
> --- a/ActiveSync/SOGoActiveSyncDispatcher.m
> +++ b/ActiveSync/SOGoActiveSyncDispatcher.m
> @@ -725,10 +725,18 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>
>    if ([syncKey isEqualToString: @"0"])
>      {
> -      first_sync = YES;
> -      syncKey = @"1";
> +      if ([[metadata objectForKey: @"FolderSyncKey"] isEqualToString: @"0"])
> +        {
> +          first_sync = YES;
> +          syncKey = @"1";
> +        }
> +      else
> +        {
> +          [self _setFolderSyncKey: @"0"];
> +          return;
> +        }
>      }
> -  else if (![syncKey isEqualToString: [metadata objectForKey: @"FolderSyncKey"]])
> +  else if (![[metadata objectForKey: @"FolderSyncKey"] isEqualToString: @"0"] && ![syncKey isEqualToString: [metadata objectForKey: @"FolderSyncKey"]])
>      {
>        // Synchronization key mismatch or invalid synchronization key
>        //NSLog(@"FolderSync syncKey mismatch %@ <> %@", syncKey, metadata);
>

Maybe this will give a better results while having less impact to other device types:

diff --git a/ActiveSync/SOGoActiveSyncDispatcher.m b/ActiveSync/SOGoActiveSyncDispatcher.m
index 64a0071..2c51244 100644
--- a/ActiveSync/SOGoActiveSyncDispatcher.m
+++ b/ActiveSync/SOGoActiveSyncDispatcher.m
@@ -728,7 +728,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
       first_sync = YES;
       syncKey = @"1";
     }
-  else if (![syncKey isEqualToString: [metadata objectForKey: @"FolderSyncKey"]])
+  else if (!metadata])
     {
       // Synchronization key mismatch or invalid synchronization key
       //NSLog(@"FolderSync syncKey mismatch %@ <> %@", syncKey, metadata);
--


Regards,
Thomas






Archive powered by MHonArc 2.6.18.

Top of page