<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet href="/h/themes/default/feed-rss.xsl" type="text/xsl"?> 
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> 
 <channel> 
  <title>Horde_SyncMl_Device_Synthesis corrupts sync data</title> 
  <pubDate>Tue, 21 May 2013 14:44:00 +0000</pubDate> 
  <link>http://bugs.horde.org/ticket/10942</link> 
  <atom:link rel="self" type="application/rss+xml" title="Horde_SyncMl_Device_Synthesis corrupts sync data" href="http://bugs.horde.org/ticket/10942/rss" /> 
  <description>Horde_SyncMl_Device_Synthesis corrupts sync data</description> 
 
   
   
  <item> 
   <title>Horde_SyncMl_Device_Synthesis is a class that provides funct</title> 
   <description>Horde_SyncMl_Device_Synthesis is a class that provides functionality that is specific to the Synthesis.ch SyncML clients. The original class seems to have been writter just to workaround some old limitations for the windows mobile client:
- the inability to use DateTime in vTodo's DUE attribute, stripping off the Time part;
- the use of custom values in the PRIORITY attribute (1,2,3 instead of 0-9);

Using any recent synthesis syncml client (i tested the iphone and the android ones), these limitations doesn't exists anymore; but since they are forced anyway, the resulting vTodo gets corrupted:
- every vTodo's due date is changed to time 00:00;
- every vTodo's priority is changed to either 1,2,3;

I tried to comment out all of the class's methods, and syncs started working flawless.
Unfortunately i had no WindowsMobile or Palm devices to test this change with, but is suppose that since all the synthesis's products are based on the same library, the limitation is gone for all of these devices. 

</description> 
   <pubDate>Thu, 26 Jan 2012 13:55:17 +0000</pubDate> 
   <link>http://bugs.horde.org/ticket/10942#t69936</link> 
  </item> 
   
  <item> 
   <title>Without some way to determine broken from fixed versions, we</title> 
   <description>Without some way to determine broken from fixed versions, we cannot simply remove those workarounds.</description> 
   <pubDate>Fri, 27 Jan 2012 11:57:48 +0000</pubDate> 
   <link>http://bugs.horde.org/ticket/10942#t69961</link> 
  </item> 
   
  <item> 
   <title>While i generally agree with your objection, i'd like to not</title> 
   <description>While i generally agree with your objection, i'd like to note that:
- the code actually assumes that every synthesis client is window mobile, with a single exception (when $GLOBALS['backend']-&gt;state-&gt;deviceInfo-&gt;Mod contains 'palm'); the same workaround could be applied to other devices, or the check could be inverted: apply the workarounds only if the device model is &quot;windows mobile&quot;.
- keeping the code untouched we'll probably avoid a regression on 7-years old devices running an obsolete version of window mobile+synthesis (who's still using these?), but actually break syncronization on all existing ios and android devices (hundreds of millions devices in use). 

I'll try to retrieve the $GLOBALS['backend']-&gt;state-&gt;deviceInfo for ios and android devices so that the check can be improved.
</description> 
   <pubDate>Sat, 28 Jan 2012 09:53:21 +0000</pubDate> 
   <link>http://bugs.horde.org/ticket/10942#t69969</link> 
  </item> 
   
  <item> 
   <title>I'm waiting for feedback from Synthesis to get some definite</title> 
   <description>I'm waiting for feedback from Synthesis to get some definite answer about the affected versions and platforms.</description> 
   <pubDate>Mon, 30 Jan 2012 12:34:49 +0000</pubDate> 
   <link>http://bugs.horde.org/ticket/10942#t69981</link> 
  </item> 
   
  <item> 
   <title>Here's the DeviceInfo header for iphone/Synthesis Todo+Cal+S</title> 
   <description>Here's the DeviceInfo header for iphone/Synthesis Todo+Cal+Sync:

Horde_SyncMl_DeviceInfo::__set_state(array(
   'VerDTD' =&gt; '1.2',
   'Man' =&gt; 'Synthesis AG',
   'Mod' =&gt; 'SySync Client iPhone Contacts+TodoZ',
   'OEM' =&gt; 'Synthesis AG',
   'FwV' =&gt; 'iPhone OS/5.0.1',
   'SwV' =&gt; '3.4.0.38',
   'HwV' =&gt; 'iPhone',
   'DevID' =&gt; 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
   'DevTyp' =&gt; 'pda',
      ))

Here's the DeviceInfo for ipad/Synthesis SyncML Pro:
Horde_SyncMl_DeviceInfo::__set_state(array(
   'VerDTD' =&gt; '1.2',
   'Man' =&gt; 'Synthesis AG',
   'Mod' =&gt; 'SySync Client iPhone Contacts+Calendar',
   'OEM' =&gt; 'Synthesis AG',
   'FwV' =&gt; 'iPhone OS/5.0.1',
   'SwV' =&gt; '3.4.0.38',
   'HwV' =&gt; 'iPad',
   'DevID' =&gt; 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
   'DevTyp' =&gt; 'pda',
      ))

I'll be testing android as soon as i can get my hands on it.
</description> 
   <pubDate>Mon, 30 Jan 2012 13:54:09 +0000</pubDate> 
   <link>http://bugs.horde.org/ticket/10942#t69991</link> 
  </item> 
   
  <item> 
   <title>Here's the DeviceInfo header for android/SyncML Pro, that fa</title> 
   <description>Here's the DeviceInfo header for android/SyncML Pro, that fails hard identifying itself as a pocket pc..

Horde_SyncMl_DeviceInfo::__set_state(array(
   'VerDTD' =&gt; '1.2',
   'Man' =&gt; 'Synthesis AG',
   'Mod' =&gt; 'SySync Client PocketPC PRO',
   'OEM' =&gt; 'Synthesis AG',
   'FwV' =&gt; 'Android/2.2.1',
   'SwV' =&gt; '3.4.0.33',
   'HwV' =&gt; 'Android GT-S5570',
   'DevID' =&gt; 'xxxxxxxxxxxx-xxxxxxxxxxxxxxx',
   'DevTyp' =&gt; 'pda',
      ))</description> 
   <pubDate>Mon, 30 Jan 2012 14:27:01 +0000</pubDate> 
   <link>http://bugs.horde.org/ticket/10942#t69993</link> 
  </item> 
   
   
 
 </channel> 
</rss> 
