OBM
  1. OBM
  2. OBMFULL-5922

T#10053 T#10377 Some events aren't synchronized from OBM to Lightning

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Normal Normal
    • Resolution: Fixed
    • Affects Version/s: 2.5.7
    • Fix Version/s: 2.5.8
    • Component/s: opush, ui
    • Labels:
      None
    • Similar Issues:
      Show 10 results 
    • Rank:
      6136

      Description

      Information

      We don't know which event types/details trigger the issue, but two of our major clients do reproduce the issue. It's at least worth trying to reproduce.

      Tosca

      https://www.08000linux.com/lstm/issues/10377
      https://www.08000linux.com/lstm/issues/10053-Ev-nements-non-visibles-dans-TB

      1. obm-connector-log.txt
        30 kB
        Ba Tuan NGO
      2. obm-sync&opushLog.txt
        13 kB
        Ba Tuan NGO

        Issue Links

          Activity

          Hide
          jeremie kornobis added a comment - - edited

          Test

          Before patch

          • Create exdate to recurrent event
          • Check in database, event exception have bad time (22H the day before the good day)

          After patch :

          • Check in database, event exception have good time setted, event exception works in TB : OK
          Show
          jeremie kornobis added a comment - - edited Test Before patch Create exdate to recurrent event Check in database, event exception have bad time (22H the day before the good day) After patch : Check in database, event exception have good time setted, event exception works in TB : OK
          Hide
          Jenkins Continuous Integration Server added a comment -

          SUCCESS: Integrated in poll-qa-25 308-54e6437102c74b9d1ee7f7c3700846aeea9f134a
          OBMFULL-5922 Good date and time format for removed exception (thilaire: 762d360c0ef812e58ee359b2b3fd29423982b5d6)

          • ui/php/calendar/calendar_index.php
          Show
          Jenkins Continuous Integration Server added a comment - SUCCESS: Integrated in poll-qa-25 308-54e6437102c74b9d1ee7f7c3700846aeea9f134a OBMFULL-5922 Good date and time format for removed exception (thilaire: 762d360c0ef812e58ee359b2b3fd29423982b5d6 ) ui/php/calendar/calendar_index.php
          Hide
          Stephane COLSON added a comment -

          With OBM 2.5.8-0.alpha0+git20140701_1725_54e6437, TB24 + connector 4.0.5s + ligthning 2.6.5

          Case 1 - Reproduction steps

          1. As usera with ui, create a recurrent event
          2. As usera with ui, click on the title of one occurence
          3. Edit this event
          4. Click on Delete

          Current behavior

          1. The event is deleted in ui OK
          2. The event is deleted in TBird OK

          Additional informations

          With version 2.5.7, the deleted occurence was not removed from TBird

          Case 2 - Reproduction steps

          1. As usera with ui, create a recurrent event
          2. As usera with iphone, open one occurence and delete it# Edit this event
          3. Synchronize

          Current behavior

          1. The occurence is deleted in ui OK
          2. The occurence is not deleted in TBird NOK

          Additional informations

          With version 2.5.7, the deleted occurence was not removed from TBird

          Additional informations

          Same behavior as with version 2.5.7. Apparently what is described in https://www.08000linux.com/lstm/issues/10377 is not correct

          If there is any other test case ? Please describe it here...

          Show
          Stephane COLSON added a comment - With OBM 2.5.8-0.alpha0+git20140701_1725_54e6437, TB24 + connector 4.0.5s + ligthning 2.6.5 Case 1 - Reproduction steps As usera with ui, create a recurrent event As usera with ui, click on the title of one occurence Edit this event Click on Delete Current behavior The event is deleted in ui OK The event is deleted in TBird OK Additional informations With version 2.5.7, the deleted occurence was not removed from TBird Case 2 - Reproduction steps As usera with ui, create a recurrent event As usera with iphone, open one occurence and delete it# Edit this event Synchronize Current behavior The occurence is deleted in ui OK The occurence is not deleted in TBird NOK Additional informations With version 2.5.7, the deleted occurence was not removed from TBird Additional informations Same behavior as with version 2.5.7. Apparently what is described in https://www.08000linux.com/lstm/issues/10377 is not correct If there is any other test case ? Please describe it here...
          Hide
          Ba Tuan NGO added a comment - - edited

          Reproduce Case 2:
          Impacts: The exception event is converted wrongly in opush

          Request From iphone to OPUSH:

          <?xml version="1.0" encoding="UTF-8"?><Sync>
          <Collections>
          <Collection>
          <SyncKey>bb874d35-19e6-49ba-944f-63cdbee00100</SyncKey>
          <CollectionId>1</CollectionId>
          <DeletesAsMoves/>
          <GetChanges/>
          <WindowSize>5</WindowSize>
          <Options>
          <FilterType>4</FilterType>
          <BodyPreference>
          <Type>2</Type>
          <TruncationSize>102400</TruncationSize>
          </BodyPreference>
          <Conflict>1</Conflict>
          </Options>
          <Commands>
          <Change>
          <ServerId>1:4</ServerId>
          <ApplicationData>
          <TimeZone>xP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAFAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAIAAAAAAAAAxP///w==</TimeZone>
          <AllDayEvent>0</AllDayEvent>
          <BusyStatus>2</BusyStatus>
          <DTStamp>20140901T153631Z</DTStamp>
          <EndTime>20140901T070000Z</EndTime>
          <MeetingStatus>0</MeetingStatus>
          <Sensitivity>0</Sensitivity>
          <Subject>daily test</Subject>
          <StartTime>20140901T060000Z</StartTime>
          <UID>373038626139376262386336613135633233333237633862393935326139303038636633336334623564613431373435653435323439346139343364356433356264663630313264366564356264626234353233353138396562623363343136303737356266393861633766396661613064626538313865616364663135666264376339633135626336653832323638</UID>
          <Attendees>
          <Attendee>
          <AttendeeName>user A</AttendeeName>
          <AttendeeEmail>usera@obmv2.lng</AttendeeEmail>
          <AttendeeType>1</AttendeeType>
          </Attendee>
          </Attendees>
          <Recurrence>
          <RecurrenceInterval>1</RecurrenceInterval>
          <RecurrenceType>0</RecurrenceType>
          </Recurrence>
          <Exceptions>
          <Exception>
          <ExceptionIsDeleted>1</ExceptionIsDeleted>
          <ExceptionStartTime>20140930T060000Z</ExceptionStartTime>
          </Exception>
          </Exceptions>
          </ApplicationData>
          </Change>
          </Commands>
          </Collection>
          </Collections>
          </Sync>

          ........................
          Request From OPUSH to OBM-SYNC:

          [t19/c/r39/] action /login/doLogin, request {origin=[o-push], login=[usera@obmv2.lng], password=[usera]}
          

          Response of OBM-SYNC to OPUSH:

          response <?xml version="1.0" encoding="UTF-8"?><token xmlns="http://www.obm.org/xsd/sync/token.xsd">
          <sid>dcbb6f9f-87af-4f38-bd3b-aa9017617ac1</sid>
          <version major="2" minor="5" release="8"/>
          <email>usera@obmv2.lng</email>
          <displayname>user A</displayname>
          <domain uuid="7135ef5f-13b6-3883-ec0f-0e2ce4f1bfdd">obmv2.lng</domain>
          <settings>
          <setting name="set_allday_opacity">TRANSPARENT</setting>
          <setting name="set_cal_display_days">1111111</setting>
          <setting name="set_cal_first_hour">8</setting>
          <setting name="set_cal_interval">2</setting>
          <setting name="set_cal_last_hour">20</setting>
          <setting name="set_commentorder">0</setting>
          <setting name="set_csv_sep">;</setting>
          <setting name="set_date">Y-m-d</setting>
          <setting name="set_date_upd">m/d/Y</setting>
          <setting name="set_day_weekstart">monday</setting>
          <setting name="set_debug">0</setting>
          <setting name="set_display">no</setting>
          <setting name="set_dsrc">0</setting>
          <setting name="set_lang">fr</setting>
          <setting name="set_mail">yes</setting>
          <setting name="set_mail_participation">yes</setting>
          <setting name="set_menu">both</setting>
          <setting name="set_public_fb">0</setting>
          <setting name="set_rows">20</setting>
          <setting name="set_theme">default</setting>
          <setting name="set_timeformat">24H</setting>
          <setting name="set_timezone">Europe/Paris</setting>
          <setting name="set_todo">event_priority</setting>
          </settings>
          <server-capabilities>
          <server-capability name="CONFIDENTIAL_EVENTS">true</server-capability>
          <server-capability name="CALENDAR_HANDLER_SUPPORTS_NOTALLOWEDEXCEPTION">true</server-capability>
          <server-capability name="ADDRESS_BOOK_HANDLER_SUPPORTS_STORECONTACT">true</server-capability>
          <server-capability name="CALENDAR_HANDLER_SUPPORTS_PAGINATION">true</server-capability>
          <server-capability name="CALENDAR_HANDLER_SUPPORTS_STOREEVENT">true</server-capability>
          <server-capability name="SERVER_SIDE_ANONYMIZATION">true</server-capability>
          </server-capabilities>
          </token>

          Request From OPUSH to OBM-SYNC:

           action /calendar/getEventFromId, request {id=[4], sid=[dcbb6f9f-87af-4f38-bd3b-aa9017617ac1], calendar=[usera]}

          Response of OBM-SYNC to OPUSH:

          response <?xml version="1.0" encoding="UTF-8"?><event xmlns="http://www.obm.org/xsd/sync/event.xsd" allDay="false" anonymized="false" id="4" isInternal="true" sequence="0" type="VEVENT">
          <timeupdate>1409585662745</timeupdate>
          <timecreate>1409585662729</timecreate>
          <extId>708ba97bb8c6a15c23327c8b9952a9008cf33c4b5da41745e452494a943d5d35bdf6012d6ed5bdbb45235189ebb3c4160775bf98ac7f9faa0dbe818eacdf15fbd7c9c15bc6e82268</extId>
          <opacity>OPAQUE</opacity>
          <title>daily test</title>
          <owner>usera</owner>
          <ownerEmail>usera@obmv2.lng</ownerEmail>
          <tz>Europe/Paris</tz>
          <date>1409551200000</date>
          <duration>3600</duration>
          <priority>2</priority>
          <privacy>0</privacy>
          <attendees>
          <attendee displayName="user A" email="usera@obmv2.lng" isOrganizer="true" percent="0" required="REQ" state="ACCEPTED"/>
          </attendees>
          <recurrence days="" freq="1" kind="daily">
          <exceptions/>
          <eventExceptions/>
          </recurrence>
          </event>

          Request From OPUSH to OBM-SYNC:

          action /calendar/modifyEvent, request {updateAttendees=[true], sid=[dcbb6f9f-87af-4f38-bd3b-aa9017617ac1], event=[<?xml version="1.0" encoding="UTF-8"?><event xmlns="http://www.obm.org/xsd/sync/event.xsd" allDay="false" anonymized="false" id="4" isInternal="true" sequence="0" type="VEVENT"><timeupdate>1409585791000</timeupdate><timecreate>1409585662729</timecreate><extId>708ba97bb8c6a15c23327c8b9952a9008cf33c4b5da41745e452494a943d5d35bdf6012d6ed5bdbb45235189ebb3c4160775bf98ac7f9faa0dbe818eacdf15fbd7c9c15bc6e82268</extId><opacity>OPAQUE</opacity><title>daily test</title><ownerEmail>usera@obmv2.lng</ownerEmail><tz>Europe/Paris</tz><date>1409551200000</date><duration>3600</duration><priority>2</priority><privacy>0</privacy><attendees><attendee displayName="user A" email="usera@obmv2.lng" isOrganizer="true" percent="0" required="REQ" state="ACCEPTED"/></attendees><recurrence days="" freq="1" kind="daily"><exceptions><exception>1412028000000</exception></exceptions><eventExceptions/></recurrence></event>], notification=[true], calendar=[usera]}

          Response of OBM-SYNC to OPUSH:

          response <?xml version="1.0" encoding="UTF-8"?><event xmlns="http://www.obm.org/xsd/sync/event.xsd" allDay="false" anonymized="false" id="4" isInternal="true" sequence="0" type="VEVENT">
          <timeupdate>1409585795985</timeupdate>
          <timecreate>1409585662729</timecreate>
          <extId>708ba97bb8c6a15c23327c8b9952a9008cf33c4b5da41745e452494a943d5d35bdf6012d6ed5bdbb45235189ebb3c4160775bf98ac7f9faa0dbe818eacdf15fbd7c9c15bc6e82268</extId>
          <opacity>OPAQUE</opacity>
          <title>daily test</title>
          <owner>usera</owner>
          <ownerEmail>usera@obmv2.lng</ownerEmail>
          <tz>Europe/Paris</tz>
          <date>1409551200000</date>
          <duration>3600</duration>
          <priority>2</priority>
          <privacy>0</privacy>
          <attendees>
          <attendee displayName="user A" email="usera@obmv2.lng" isOrganizer="true" percent="0" required="REQ" state="ACCEPTED"/>
          </attendees>
          <recurrence days="" freq="1" kind="daily">
          <exceptions>
          <exception>1412028000000</exception>
          </exceptions>
          <eventExceptions/>
          </recurrence>
          </event>

          Response From OPUSH to iphone:

          <?xml version="1.0" encoding="UTF-8"?><Sync>
          <Collections>
          <Collection>
          <Class>Calendar</Class>
          <SyncKey>b0c3683a-d2bd-49e2-8b46-c3abc2ec209c</SyncKey>
          <CollectionId>1</CollectionId>
          <Status>1</Status>
          <Commands>
          <Change>
          <ServerId>1:4</ServerId>
          <ApplicationData>
          <Calendar:TimeZone>xP///0gAZQB1AHIAZQAgAGQAJwBFAHUAcgBvAHAAZQAgAGMAZQBuAHQAcgBhAGwAZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAFAAMAAAAAAAAAAAAAAEgAZQB1AHIAZQAgAGQAJwDpAHQA6QAgAGQAJwBFAHUAcgBvAHAAZQAgAGMAZQBuAHQAcgBhAGwAZQAAAAAAAAAAAAMAAAAFAAIAAAAAAAAAxP///w==</Calendar:TimeZone>
          <Calendar:DTStamp>20140901T153635Z</Calendar:DTStamp>
          <Calendar:StartTime>20140901T060000Z</Calendar:StartTime>
          <Calendar:Subject>daily test</Calendar:Subject>
          <Calendar:UID>373038626139376262386336613135633233333237633862393935326139303038636633336334623564613431373435653435323439346139343364356433356264663630313264366564356264626234353233353138396562623363343136303737356266393861633766396661613064626538313865616364663135666264376339633135626336653832323638</Calendar:UID>
          <Calendar:OrganizerName>user A</Calendar:OrganizerName>
          <Calendar:OrganizerEmail>usera@obmv2.lng</Calendar:OrganizerEmail>
          <Calendar:Attendees>
          <Calendar:Attendee>
          <Calendar:AttendeeEmail>usera@obmv2.lng</Calendar:AttendeeEmail>
          <Calendar:AttendeeName>user A</Calendar:AttendeeName>
          <Calendar:AttendeeStatus>3</Calendar:AttendeeStatus>
          <Calendar:AttendeeType>1</Calendar:AttendeeType>
          </Calendar:Attendee>
          </Calendar:Attendees>
          <Calendar:EndTime>20140901T070000Z</Calendar:EndTime>
          <AirSyncBase:Body>
          <AirSyncBase:Type>1</AirSyncBase:Type>
          <AirSyncBase:EstimatedDataSize>0</AirSyncBase:EstimatedDataSize>
          </AirSyncBase:Body>
          <Calendar:Categories/>
          <Calendar:Recurrence>
          <Calendar:RecurrenceType>0</Calendar:RecurrenceType>
          <Calendar:RecurrenceInterval>1</Calendar:RecurrenceInterval>
          </Calendar:Recurrence>
          <Calendar:Sensitivity>0</Calendar:Sensitivity>
          <Calendar:BusyStatus>2</Calendar:BusyStatus>
          <Calendar:AllDayEvent>0</Calendar:AllDayEvent>
          <Calendar:Exceptions>
          <Calendar:Exception>
          <Calendar:ExceptionIsDeleted>1</Calendar:ExceptionIsDeleted>
          <Calendar:MeetingStatus>5</Calendar:MeetingStatus>
          <Calendar:ExceptionStartTime>20140930T060000Z</Calendar:ExceptionStartTime>
          </Calendar:Exception>
          </Calendar:Exceptions>
          <Calendar:MeetingStatus>0</Calendar:MeetingStatus>
          <AirSyncBase:NativeBodyType>1</AirSyncBase:NativeBodyType>
          </ApplicationData>
          </Change>
          </Commands>
          </Collection>
          </Collections>
          </Sync>

          Response of OBM-SYNC to ThunderBird:

          <updated><event allDay="false" anonymized="false" id="4" isInternal="true" sequence="0" type="VEVENT"><timeupdate>1409585795985</timeupdate><timecreate>1409585662729</timecreate><extId>708ba97bb8c6a15c23327c8b9952a9008cf33c4b5da41745e452494a943d5d35bdf6012d6ed5bdbb45235189ebb3c4160775bf98ac7f9faa0dbe818eacdf15fbd7c9c15bc6e82268</extId><opacity>OPAQUE</opacity><title>daily test</title><owner>usera</owner><ownerEmail>usera@obmv2.lng</ownerEmail><tz>Europe/Paris</tz><date>1409551200000</date><duration>3600</duration><priority>2</priority><privacy>0</privacy><attendees><attendee displayName="user A" email="usera@obmv2.lng" isOrganizer="true" percent="0" required="REQ" state="ACCEPTED"/></attendees><recurrence days="" freq="1" kind="daily"><exceptions><exception>1412028000000</exception></exceptions><eventExceptions/></recurrence></event></updated>

          Problem:
          Iphone send this event exception to opush 20140930T060000Z.
          Opush decoded and converted this event to OBMEvent but changed its start time to 0h00
          When ThunderBird synchronize, obm-sync sent the Exception time which is modified and is not matched with any event in the store of ThunderBird, so it can't do an update
          Solution:
          Revert MSEventToOBMEventConverterImpl in OBMFULL-4703 .

          Tested on:
          obm 2.5.7 on Debian Squeeze server
          obm 2.5.7 on Debian Wheezy server
          obm 3.0.0 with Opush 3 on Debian Wheezy server
          Tests done:
          Thunderbird synchronized all deleted events
          Addition Informations:
          The issue OBMFULL-4703 is resolved by CR-4960 of this ticket, moreover CR-2854 and CR-2870 caused the problem of this case. So i revert CR-2854 and CR-2870 to fix this issue
          Tested on SSII 4.1.2 and HTC ONE 4.4.2, IPhone 4 IOS 7, Ipad IOS 7, Iphone 3S IOS 6

          Show
          Ba Tuan NGO added a comment - - edited Reproduce Case 2: Impacts: The exception event is converted wrongly in opush Request From iphone to OPUSH: <?xml version= "1.0" encoding= "UTF-8" ?><Sync> <Collections> <Collection> <SyncKey>bb874d35-19e6-49ba-944f-63cdbee00100</SyncKey> <CollectionId>1</CollectionId> <DeletesAsMoves/> <GetChanges/> <WindowSize>5</WindowSize> <Options> <FilterType>4</FilterType> <BodyPreference> <Type>2</Type> <TruncationSize>102400</TruncationSize> </BodyPreference> <Conflict>1</Conflict> </Options> <Commands> <Change> <ServerId>1:4</ServerId> <ApplicationData> <TimeZone>xP ///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAFAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAIAAAAAAAAAxP///w==</TimeZone> <AllDayEvent>0</AllDayEvent> <BusyStatus>2</BusyStatus> <DTStamp>20140901T153631Z</DTStamp> <EndTime>20140901T070000Z</EndTime> <MeetingStatus>0</MeetingStatus> <Sensitivity>0</Sensitivity> <Subject>daily test</Subject> <StartTime>20140901T060000Z</StartTime> <UID>373038626139376262386336613135633233333237633862393935326139303038636633336334623564613431373435653435323439346139343364356433356264663630313264366564356264626234353233353138396562623363343136303737356266393861633766396661613064626538313865616364663135666264376339633135626336653832323638</UID> <Attendees> <Attendee> <AttendeeName>user A</AttendeeName> <AttendeeEmail>usera@obmv2.lng</AttendeeEmail> <AttendeeType>1</AttendeeType> </Attendee> </Attendees> <Recurrence> <RecurrenceInterval>1</RecurrenceInterval> <RecurrenceType>0</RecurrenceType> </Recurrence> <Exceptions> <Exception> <ExceptionIsDeleted>1</ExceptionIsDeleted> <ExceptionStartTime>20140930T060000Z</ExceptionStartTime> </Exception> </Exceptions> </ApplicationData> </Change> </Commands> </Collection> </Collections> </Sync> ........................ Request From OPUSH to OBM-SYNC: [t19/c/r39/] action /login/doLogin, request {origin=[o-push], login=[usera@obmv2.lng], password=[usera]} Response of OBM-SYNC to OPUSH: response <?xml version= "1.0" encoding= "UTF-8" ?><token xmlns= "http: //www.obm.org/xsd/sync/token.xsd" > <sid>dcbb6f9f-87af-4f38-bd3b-aa9017617ac1</sid> <version major= "2" minor= "5" release= "8" /> <email>usera@obmv2.lng</email> <displayname>user A</displayname> <domain uuid= "7135ef5f-13b6-3883-ec0f-0e2ce4f1bfdd" >obmv2.lng</domain> <settings> <setting name= "set_allday_opacity" >TRANSPARENT</setting> <setting name= "set_cal_display_days" >1111111</setting> <setting name= "set_cal_first_hour" >8</setting> <setting name= "set_cal_interval" >2</setting> <setting name= "set_cal_last_hour" >20</setting> <setting name= "set_commentorder" >0</setting> <setting name= "set_csv_sep" >;</setting> <setting name= "set_date" >Y-m-d</setting> <setting name= "set_date_upd" >m/d/Y</setting> <setting name= "set_day_weekstart" >monday</setting> <setting name= "set_debug" >0</setting> <setting name= "set_display" >no</setting> <setting name= "set_dsrc" >0</setting> <setting name= "set_lang" >fr</setting> <setting name= "set_mail" >yes</setting> <setting name= "set_mail_participation" >yes</setting> <setting name= "set_menu" >both</setting> <setting name= "set_public_fb" >0</setting> <setting name= "set_rows" >20</setting> <setting name= "set_theme" > default </setting> <setting name= "set_timeformat" >24H</setting> <setting name= "set_timezone" >Europe/Paris</setting> <setting name= "set_todo" >event_priority</setting> </settings> <server-capabilities> <server-capability name= "CONFIDENTIAL_EVENTS" > true </server-capability> <server-capability name= "CALENDAR_HANDLER_SUPPORTS_NOTALLOWEDEXCEPTION" > true </server-capability> <server-capability name= "ADDRESS_BOOK_HANDLER_SUPPORTS_STORECONTACT" > true </server-capability> <server-capability name= "CALENDAR_HANDLER_SUPPORTS_PAGINATION" > true </server-capability> <server-capability name= "CALENDAR_HANDLER_SUPPORTS_STOREEVENT" > true </server-capability> <server-capability name= "SERVER_SIDE_ANONYMIZATION" > true </server-capability> </server-capabilities> </token> Request From OPUSH to OBM-SYNC: action /calendar/getEventFromId, request {id=[4], sid=[dcbb6f9f-87af-4f38-bd3b-aa9017617ac1], calendar=[usera]} Response of OBM-SYNC to OPUSH: response <?xml version= "1.0" encoding= "UTF-8" ?><event xmlns= "http: //www.obm.org/xsd/sync/event.xsd" allDay= " false " anonymized= " false " id= "4" isInternal= " true " sequence= "0" type= "VEVENT" > <timeupdate>1409585662745</timeupdate> <timecreate>1409585662729</timecreate> <extId>708ba97bb8c6a15c23327c8b9952a9008cf33c4b5da41745e452494a943d5d35bdf6012d6ed5bdbb45235189ebb3c4160775bf98ac7f9faa0dbe818eacdf15fbd7c9c15bc6e82268</extId> <opacity>OPAQUE</opacity> <title>daily test</title> <owner>usera</owner> <ownerEmail>usera@obmv2.lng</ownerEmail> <tz>Europe/Paris</tz> <date>1409551200000</date> <duration>3600</duration> <priority>2</priority> <privacy>0</privacy> <attendees> <attendee displayName= "user A" email= "usera@obmv2.lng" isOrganizer= " true " percent= "0" required= "REQ" state= "ACCEPTED" /> </attendees> <recurrence days= "" freq=" 1 " kind=" daily"> <exceptions/> <eventExceptions/> </recurrence> </event> Request From OPUSH to OBM-SYNC: action /calendar/modifyEvent, request {updateAttendees=[ true ], sid=[dcbb6f9f-87af-4f38-bd3b-aa9017617ac1], event=[<?xml version= "1.0" encoding= "UTF-8" ?><event xmlns= "http: //www.obm.org/xsd/sync/event.xsd" allDay= " false " anonymized= " false " id= "4" isInternal= " true " sequence= "0" type= "VEVENT" ><timeupdate>1409585791000</timeupdate><timecreate>1409585662729</timecreate><extId>708ba97bb8c6a15c23327c8b9952a9008cf33c4b5da41745e452494a943d5d35bdf6012d6ed5bdbb45235189ebb3c4160775bf98ac7f9faa0dbe818eacdf15fbd7c9c15bc6e82268</extId><opacity>OPAQUE</opacity><title>daily test</title><ownerEmail>usera@obmv2.lng</ownerEmail><tz>Europe/Paris</tz><date>1409551200000</date><duration>3600</duration><priority>2</priority><privacy>0</privacy><attendees><attendee displayName= "user A" email= "usera@obmv2.lng" isOrganizer= " true " percent= "0" required= "REQ" state= "ACCEPTED" /></attendees><recurrence days= "" freq=" 1 " kind=" daily"><exceptions><exception>1412028000000</exception></exceptions><eventExceptions/></recurrence></event>], notification=[ true ], calendar=[usera]} Response of OBM-SYNC to OPUSH: response <?xml version= "1.0" encoding= "UTF-8" ?><event xmlns= "http: //www.obm.org/xsd/sync/event.xsd" allDay= " false " anonymized= " false " id= "4" isInternal= " true " sequence= "0" type= "VEVENT" > <timeupdate>1409585795985</timeupdate> <timecreate>1409585662729</timecreate> <extId>708ba97bb8c6a15c23327c8b9952a9008cf33c4b5da41745e452494a943d5d35bdf6012d6ed5bdbb45235189ebb3c4160775bf98ac7f9faa0dbe818eacdf15fbd7c9c15bc6e82268</extId> <opacity>OPAQUE</opacity> <title>daily test</title> <owner>usera</owner> <ownerEmail>usera@obmv2.lng</ownerEmail> <tz>Europe/Paris</tz> <date>1409551200000</date> <duration>3600</duration> <priority>2</priority> <privacy>0</privacy> <attendees> <attendee displayName= "user A" email= "usera@obmv2.lng" isOrganizer= " true " percent= "0" required= "REQ" state= "ACCEPTED" /> </attendees> <recurrence days= "" freq=" 1 " kind=" daily"> <exceptions> <exception>1412028000000</exception> </exceptions> <eventExceptions/> </recurrence> </event> Response From OPUSH to iphone: <?xml version= "1.0" encoding= "UTF-8" ?><Sync> <Collections> <Collection> < Class >Calendar</ Class > <SyncKey>b0c3683a-d2bd-49e2-8b46-c3abc2ec209c</SyncKey> <CollectionId>1</CollectionId> <Status>1</Status> <Commands> <Change> <ServerId>1:4</ServerId> <ApplicationData> <Calendar:TimeZone>xP ///0gAZQB1AHIAZQAgAGQAJwBFAHUAcgBvAHAAZQAgAGMAZQBuAHQAcgBhAGwAZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAFAAMAAAAAAAAAAAAAAEgAZQB1AHIAZQAgAGQAJwDpAHQA6QAgAGQAJwBFAHUAcgBvAHAAZQAgAGMAZQBuAHQAcgBhAGwAZQAAAAAAAAAAAAMAAAAFAAIAAAAAAAAAxP///w==</Calendar:TimeZone> <Calendar:DTStamp>20140901T153635Z</Calendar:DTStamp> <Calendar:StartTime>20140901T060000Z</Calendar:StartTime> <Calendar:Subject>daily test</Calendar:Subject> <Calendar:UID>373038626139376262386336613135633233333237633862393935326139303038636633336334623564613431373435653435323439346139343364356433356264663630313264366564356264626234353233353138396562623363343136303737356266393861633766396661613064626538313865616364663135666264376339633135626336653832323638</Calendar:UID> <Calendar:OrganizerName>user A</Calendar:OrganizerName> <Calendar:OrganizerEmail>usera@obmv2.lng</Calendar:OrganizerEmail> <Calendar:Attendees> <Calendar:Attendee> <Calendar:AttendeeEmail>usera@obmv2.lng</Calendar:AttendeeEmail> <Calendar:AttendeeName>user A</Calendar:AttendeeName> <Calendar:AttendeeStatus>3</Calendar:AttendeeStatus> <Calendar:AttendeeType>1</Calendar:AttendeeType> </Calendar:Attendee> </Calendar:Attendees> <Calendar:EndTime>20140901T070000Z</Calendar:EndTime> <AirSyncBase:Body> <AirSyncBase:Type>1</AirSyncBase:Type> <AirSyncBase:EstimatedDataSize>0</AirSyncBase:EstimatedDataSize> </AirSyncBase:Body> <Calendar:Categories/> <Calendar:Recurrence> <Calendar:RecurrenceType>0</Calendar:RecurrenceType> <Calendar:RecurrenceInterval>1</Calendar:RecurrenceInterval> </Calendar:Recurrence> <Calendar:Sensitivity>0</Calendar:Sensitivity> <Calendar:BusyStatus>2</Calendar:BusyStatus> <Calendar:AllDayEvent>0</Calendar:AllDayEvent> <Calendar:Exceptions> <Calendar:Exception> <Calendar:ExceptionIsDeleted>1</Calendar:ExceptionIsDeleted> <Calendar:MeetingStatus>5</Calendar:MeetingStatus> <Calendar:ExceptionStartTime>20140930T060000Z</Calendar:ExceptionStartTime> </Calendar:Exception> </Calendar:Exceptions> <Calendar:MeetingStatus>0</Calendar:MeetingStatus> <AirSyncBase:NativeBodyType>1</AirSyncBase:NativeBodyType> </ApplicationData> </Change> </Commands> </Collection> </Collections> </Sync> Response of OBM-SYNC to ThunderBird: <updated><event allDay= " false " anonymized= " false " id= "4" isInternal= " true " sequence= "0" type= "VEVENT" ><timeupdate>1409585795985</timeupdate><timecreate>1409585662729</timecreate><extId>708ba97bb8c6a15c23327c8b9952a9008cf33c4b5da41745e452494a943d5d35bdf6012d6ed5bdbb45235189ebb3c4160775bf98ac7f9faa0dbe818eacdf15fbd7c9c15bc6e82268</extId><opacity>OPAQUE</opacity><title>daily test</title><owner>usera</owner><ownerEmail>usera@obmv2.lng</ownerEmail><tz>Europe/Paris</tz><date>1409551200000</date><duration>3600</duration><priority>2</priority><privacy>0</privacy><attendees><attendee displayName= "user A" email= "usera@obmv2.lng" isOrganizer= " true " percent= "0" required= "REQ" state= "ACCEPTED" /></attendees><recurrence days= "" freq=" 1 " kind=" daily"><exceptions><exception>1412028000000</exception></exceptions><eventExceptions/></recurrence></event></updated> Problem: Iphone send this event exception to opush 20140930T060000Z. Opush decoded and converted this event to OBMEvent but changed its start time to 0h00 When ThunderBird synchronize, obm-sync sent the Exception time which is modified and is not matched with any event in the store of ThunderBird, so it can't do an update Solution: Revert MSEventToOBMEventConverterImpl in OBMFULL-4703 . Tested on: obm 2.5.7 on Debian Squeeze server obm 2.5.7 on Debian Wheezy server obm 3.0.0 with Opush 3 on Debian Wheezy server Tests done: Thunderbird synchronized all deleted events Addition Informations: The issue OBMFULL-4703 is resolved by CR-4960 of this ticket, moreover CR-2854 and CR-2870 caused the problem of this case. So i revert CR-2854 and CR-2870 to fix this issue Tested on SSII 4.1.2 and HTC ONE 4.4.2, IPhone 4 IOS 7, Ipad IOS 7, Iphone 3S IOS 6
          Hide
          Ba Tuan NGO added a comment - - edited

          added Thunderbird's log , obm-sync and opush' log

          Show
          Ba Tuan NGO added a comment - - edited added Thunderbird's log , obm-sync and opush' log
          Hide
          Matthieu EXT_BAECHLER added a comment -

          I agree opush shouldn't modify the hour to midnight but you have to check that OBMFULL-4703 fix still works.
          Maybe OBMFULL-4703 fix was wrong and deserves a new fix.

          Show
          Matthieu EXT_BAECHLER added a comment - I agree opush shouldn't modify the hour to midnight but you have to check that OBMFULL-4703 fix still works. Maybe OBMFULL-4703 fix was wrong and deserves a new fix.
          Hide
          Thomas HILAIRE added a comment -

          About the "opush set exception time at midnight" problem :
          When we developed that feature we just tried to clone the obm-ui behavior.
          What is wrong is that obm-ui has two different behaviors depending on the way used to create an exception.

          • at creation time: every exception start time is persisted as occurence.startTime in UTC
          • at modification time: every exception start time is persisted as occurence.midnightTime in UTC

          Exemple, in the database you can see exceptions of a daily recurrent event starting each 18h30 UTC+2:

          eventexception_parent_id eventexception_child_id eventexception_date
          109282   2014-09-14 16:30:00 exception created at event creation time by obm-ui (exception day 2014-09-14)
          109282   2014-09-10 22:00:00 exception created on already existing event by obm-ui (exception day 2014-09-11)

          Problem, obm-ui has two differents behaviors but it must have only one.
          Then opush and thunderbird must have the same behavior than obm-ui.
          I guess that the excepted behavior is to not set the exception date at midnight!

          Show
          Thomas HILAIRE added a comment - About the "opush set exception time at midnight" problem : When we developed that feature we just tried to clone the obm-ui behavior. What is wrong is that obm-ui has two different behaviors depending on the way used to create an exception. at creation time: every exception start time is persisted as occurence.startTime in UTC at modification time: every exception start time is persisted as occurence.midnightTime in UTC Exemple , in the database you can see exceptions of a daily recurrent event starting each 18h30 UTC+2: eventexception_parent_id eventexception_child_id eventexception_date 109282   2014-09-14 16:30:00 exception created at event creation time by obm-ui (exception day 2014-09-14) 109282   2014-09-10 22:00:00 exception created on already existing event by obm-ui (exception day 2014-09-11) Problem , obm-ui has two differents behaviors but it must have only one. Then opush and thunderbird must have the same behavior than obm-ui. I guess that the excepted behavior is to not set the exception date at midnight!
          Hide
          Jenkins Continuous Integration Server added a comment -

          SUCCESS: Integrated in poll-qa-25 339-7dfe1968f775d9d651dd190801603589e861b517
          OBMFULL-5922 revert OBMFULL-4703 ( CR-2854 and CR-2870) (jkornobis: 7dfe1968f775d9d651dd190801603589e861b517)

          • java/sync/opush/push-module/src/test/java/org/obm/push/calendar/MSEventToObmEventConverterRecurrenceTest.java
          • java/sync/opush/push-service/src/main/java/org/obm/push/calendar/MSEventToObmEventConverterImpl.java
          • java/sync/opush/push-module/src/test/java/org/obm/push/calendar/MSEventToObmEventConverterExceptionTest.java
          • java/sync/opush/push-module/src/test/java/org/obm/push/calendar/MSEventToObmEventConverterTest.java
          Show
          Jenkins Continuous Integration Server added a comment - SUCCESS: Integrated in poll-qa-25 339-7dfe1968f775d9d651dd190801603589e861b517 OBMFULL-5922 revert OBMFULL-4703 ( CR-2854 and CR-2870) (jkornobis: 7dfe1968f775d9d651dd190801603589e861b517 ) java/sync/opush/push-module/src/test/java/org/obm/push/calendar/MSEventToObmEventConverterRecurrenceTest.java java/sync/opush/push-service/src/main/java/org/obm/push/calendar/MSEventToObmEventConverterImpl.java java/sync/opush/push-module/src/test/java/org/obm/push/calendar/MSEventToObmEventConverterExceptionTest.java java/sync/opush/push-module/src/test/java/org/obm/push/calendar/MSEventToObmEventConverterTest.java
          Hide
          Stephane COLSON added a comment -

          Seems OK with version 2.5.8-0.alpha0+git20140916_1743_b83fdf6 but without clear and precise reproduction steps, we cannot be sure that there is not still any non working behavior.
          I tested OBMFULL-5304, OBMFULL-4703 and with obm 2.5.8-0.alpha0+git20140916_1743_b83fdf6 on CentOS:

          • daily recurrent not-allday event, modified by ui (created, delete exception, move exception, delete recurrence...) and checked on TB24, ipad, Fairphone FP1 Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8
          • allday weekly recurent event, modified by ui (created, delete exception, move exception, delete recurrence...) and checked on TB24, ipad, Fairphone FP1 Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8: See new OBMFULL-6115, OBMFULL-6116
          • daily recurrent allday event, modified with TB24 (created, delete exception, move exception, delete recurrence...) and checked on ui, ipad, Fairphone FP1 Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8: See new OBMFULL-6115, OBMFULL-6116
          • daily recurrent not-allday event, modified with TB24 (created, delete exception, move exception, delete recurrence...) and checked on ui, ipad, Fairphone FP1 Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8: See new OBMFULL-6115
          • daily recurrent allday event, modified with ipad (created, delete exception, move exception, delete recurrence...) and checked on ui, TB24, Fairphone FP1 Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8
          • daily recurrent allday event, modified with Fairphone FP1 (created, delete exception, move exception, delete recurrence...) and checked on ui, TB24, ipad, Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8
          Show
          Stephane COLSON added a comment - Seems OK with version 2.5.8-0.alpha0+git20140916_1743_b83fdf6 but without clear and precise reproduction steps, we cannot be sure that there is not still any non working behavior. I tested OBMFULL-5304 , OBMFULL-4703 and with obm 2.5.8-0.alpha0+git20140916_1743_b83fdf6 on CentOS: daily recurrent not-allday event, modified by ui (created, delete exception, move exception, delete recurrence...) and checked on TB24, ipad, Fairphone FP1 Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8 allday weekly recurent event, modified by ui (created, delete exception, move exception, delete recurrence...) and checked on TB24, ipad, Fairphone FP1 Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8: See new OBMFULL-6115 , OBMFULL-6116 daily recurrent allday event, modified with TB24 (created, delete exception, move exception, delete recurrence...) and checked on ui, ipad, Fairphone FP1 Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8: See new OBMFULL-6115 , OBMFULL-6116 daily recurrent not-allday event, modified with TB24 (created, delete exception, move exception, delete recurrence...) and checked on ui, ipad, Fairphone FP1 Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8: See new OBMFULL-6115 daily recurrent allday event, modified with ipad (created, delete exception, move exception, delete recurrence...) and checked on ui, TB24, Fairphone FP1 Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8 daily recurrent allday event, modified with Fairphone FP1 (created, delete exception, move exception, delete recurrence...) and checked on ui, TB24, ipad, Android 4.2.2, Samsung Galaxy SII Android 2.3.3, Windows Phone 8
          Hide
          Jenkins Continuous Integration Server added a comment -

          SUCCESS: Integrated in poll-next-30 574-27d7c252df8c018e78d651b8499c155f690f7cae
          OBMFULL-5922 Good date and time format for removed exception (jkornobis: 27d7c252df8c018e78d651b8499c155f690f7cae)

          • ui/php/calendar/calendar_index.php
          Show
          Jenkins Continuous Integration Server added a comment - SUCCESS: Integrated in poll-next-30 574-27d7c252df8c018e78d651b8499c155f690f7cae OBMFULL-5922 Good date and time format for removed exception (jkornobis: 27d7c252df8c018e78d651b8499c155f690f7cae ) ui/php/calendar/calendar_index.php
          Hide
          Jenkins Continuous Integration Server added a comment -

          FAILURE: Integrated in poll-master-31 42-937f529a0e51f50ef9d93e46c4a340b6ebe0ad71
          OBMFULL-5922 Good date and time format for removed exception (ddolcimascolo: ecc30efeb6c8c294106b1901c53b65c1315cbb65)

          • ui/php/calendar/calendar_index.php
          Show
          Jenkins Continuous Integration Server added a comment - FAILURE: Integrated in poll-master-31 42-937f529a0e51f50ef9d93e46c4a340b6ebe0ad71 OBMFULL-5922 Good date and time format for removed exception (ddolcimascolo: ecc30efeb6c8c294106b1901c53b65c1315cbb65 ) ui/php/calendar/calendar_index.php

            People

            • Assignee:
              jeremie kornobis
              Reporter:
              David Dolcimascolo
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: