Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Normal
-
Resolution: Fixed
-
Affects Version/s: 2.5.7
-
Fix Version/s: 2.5.8
-
Labels:None
-
Similar Issues:Show 10 results
OBMFULL-6043CLONE 3.0 - T#10053 T#10377 Some events aren't synchronized from OBM to Lightning OBMFULL-6113T#10053 T#10377 Some events aren't synchronized from OBM to Lightning (3.0) OBMFULL-3064An event deleted in obm-ui is not deleted in lightning synchronized calendar OBMFULL-2106Events created with TBird2 are not synchronized OBMFULL-4255If calendar frequency of synchronization is modified in lightning, it is done after 30 minutes OBMFULL-482 Invitation from ICS OBMFULL-4377Some database scripts are not run on a fresh install OBMFULL-4397Synchronization of event exceptions fail OBMFULL-2514Impossible to synchronize recurring events with an exception from Thunderbird OBMFULL-2490A modified accepted event is not renotified to attendee in lightning -
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
-
- obm-connector-log.txt
- 30 kB
- Ba Tuan NGO
-
- obm-sync&opushLog.txt
- 13 kB
- Ba Tuan NGO
Issue Links
- is cloned by
-
OBMFULL-6043 CLONE 3.0 - T#10053 T#10377 Some events aren't synchronized from OBM to Lightning
-
-
OBMFULL-6113 T#10053 T#10377 Some events aren't synchronized from OBM to Lightning (3.0)
-
- relates to
-
OBMFULL-5304 An occurence deleted in ui in edit form is not deleted after a synchronization in Thunderbird
-
Activity
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
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...
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
added Thunderbird's log , obm-sync and opush' log
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.
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!
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
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
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
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
Test
Before patch
After patch :