Re: Kronolith - Birthdays off by one day [SOLVED]
"John H. Bennett III" <[email protected]>
| Newsgroups | gmane.comp.horde.kronolith |
|---|---|
| Message-ID | <20141006165846.Horde.QAbEp8cngO19zdQzTHXGOA5@www.thebennetthome.com> |
Quoting Volker Then <[email protected]>: > Zitat von Michael J Rubinsky <[email protected]>: > >> Quoting Michael J Rubinsky <[email protected]>: >> >>> Quoting Volker Then <[email protected]>: >>> >>>> Zitat von Michael J Rubinsky <[email protected]>: >>>> >>>>> Quoting John H. Bennett III <[email protected]>: >>>>> >>>>>> Quoting Michael J Rubinsky <[email protected]>: >>>>>> >>>>>>> Quoting Volker Then <[email protected]>: >>>>>>> >>>>>>>> Zitat von "John H. Bennett III" <[email protected]>: >>>>>>>> >>>>>>>>> Quoting Michael J Rubinsky <[email protected]>: >>>>>>>>> >>>>>>>>>> Quoting Volker Then <[email protected]>: >>>>>>>>>> >>>>>>>>>>> Zitat von "John H. Bennett III" <[email protected]>: >>>>>>>>>>> >>>>>>>>>>>> Quoting Michael J Rubinsky <[email protected]>: >>>>>>>>>>>> >>>>>>>>>>>>> Quoting John H. Bennett III <[email protected]>: >>>>>>>>>>>>> >>>>>>>>>>>>>> Quoting Michael J Rubinsky <[email protected]>: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Quoting Volker Then <[email protected]>: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Zitat von Michael J Rubinsky <[email protected]>: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Quoting Michael J Rubinsky <[email protected]>: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Quoting John H. Bennett III <[email protected]>: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Quoting Michael J Rubinsky <[email protected]>: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Quoting John H. Bennett III <[email protected]>: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Quoting Simon Wilson <[email protected]>: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> I've stumbled across a problem that I don't >>>>>>>>>>>>>>>>>>>>>>> know what's going on. >>>>>>>>>>>>>>>>>>>>>>> I've added birthdays to some of my contacts, I >>>>>>>>>>>>>>>>>>>>>>> put them in with the >>>>>>>>>>>>>>>>>>>>>>> correct date, but some time in the future, I >>>>>>>>>>>>>>>>>>>>>>> look at them on the >>>>>>>>>>>>>>>>>>>>>>> Calendar, and some show a day off (ahead one >>>>>>>>>>>>>>>>>>>>>>> day). I edit them in >>>>>>>>>>>>>>>>>>>>>>> turba again, and again some time in the future >>>>>>>>>>>>>>>>>>>>>>> some are off a day. >>>>>>>>>>>>>>>>>>>>>>> This has happened 4 times in the last 2 weeks. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> I don't know what's triggering this. Anyone >>>>>>>>>>>>>>>>>>>>>>> else seeing this? What >>>>>>>>>>>>>>>>>>>>>>> can I look for to help try to explain this. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> John >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> There has been discussion on this in the past >>>>>>>>>>>>>>>>>>>>>> on the list... mostly around birthdays syncing >>>>>>>>>>>>>>>>>>>>>> incorrectly through ActiveSync and back. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> If this is due to ActiveSync, it should only >>>>>>>>>>>>>>>>>>>> affect the contacts that have been edited on the >>>>>>>>>>>>>>>>>>>> client. Is that what you are seeing? >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>> mike >>>>>>>>>>>>>>>>>>>> The Horde Project >>>>>>>>>>>>>>>>>>>> http://www.horde.org >>>>>>>>>>>>>>>>>>>> https://www.facebook.com/hordeproject >>>>>>>>>>>>>>>>>>>> https://www.twitter.com/hordeproject >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Hi Mike, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Yes, that is what I am seeing. I made a change to >>>>>>>>>>>>>>>>>>> my contact info on my Note 3, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Can you tell me what Android version you are using >>>>>>>>>>>>>>>>> on the Note? Did you take the KK update? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Here it is only with contacts that are edited on the >>>>>>>>>>>>>>>> client - and that happens (almost) every time the >>>>>>>>>>>>>>>> contact has been edited. Some of the birthdays >>>>>>>>>>>>>>>> shifted minus four days after a few edits. Nexus 5, >>>>>>>>>>>>>>>> Kitkat 4.4.4, Nine. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Can you test if this commit: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> https://github.com/horde/horde/compare/46ff2bea431aa99d82afc33d19cfb5cd23be90a4...b8a48c13b550d70754a9b3585912762683ff1ddc >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> fixes it for you? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Mike, >>>>>>>>>>>>>> >>>>>>>>>>>>>> That didn't fix it. The date still shows up one day earlier. >>>>>>>>>>>>>> >>>>>>>>>>>>>> I created 2 contacts with different birthdays. Edited >>>>>>>>>>>>>> one from my device, and one from turba, then did a >>>>>>>>>>>>>> sync. Contact edited on device, shows birthday one day >>>>>>>>>>>>>> early. Contact from turba, fine. Then did the >>>>>>>>>>>>>> opposite, and original contact edited from turba now >>>>>>>>>>>>>> shows birthday one day early. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Please let me know if you want to to try anything else. >>>>>>>>>>>>> >>>>>>>>>>>>> What timezone are you in? I want to set up my >>>>>>>>>>>>> environment the same as yours so I can trace this. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> mike >>>>>>>>>>>>> The Horde Project >>>>>>>>>>>>> http://www.horde.org >>>>>>>>>>>>> https://www.facebook.com/hordeproject >>>>>>>>>>>>> https://www.twitter.com/hordeproject >>>>>>>>>>>> >>>>>>>>>>>> I am in the Central Time Zone. >>>>>>>>>>>> >>>>>>>>>>>> from php.ini - date.timezone = "America/Chicago", horde >>>>>>>>>>>> prefs set to America/Chicago also. >>>>>>>>>>>> >>>>>>>>>>>> John >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> The commit didn't work for me either. I am in CEST. Horde >>>>>>>>>>> prefs set to Europe/Berlin. >>>>>>>>>> >>>>>>>>>> Ok. How about the lastest Git? >>>>>>>>>> >>>>>>>>>> >>>>>>>>> Still didn't work for me with my note3. >>>>>>>>> >>>>>>>>> I used the raw file from this link, >>>>>>>>> https://github.com/horde/horde/blob/master/framework/ActiveSync/lib/Horde/ActiveSync/Device.php >>>>>>>>> >>>>>>>>> John >>>>>>>> >>>>>>>> Same here. >>>>>>> >>>>>>> I reread the Android source code for the contacts sync >>>>>>> provider and revamped some code in Horde. The current code >>>>>>> (already released in PEAR) works for me on my various test >>>>>>> devices, and all the tests pass. If it doesn't work for you at >>>>>>> this point, I'm really not sure what else to tell you other >>>>>>> than you will need to trace the code to see where the date is >>>>>>> being shifted. >>>>>>> >>>>>> >>>>>> Still doesn't work for me. I turned on per device logging and >>>>>> have a log I can send to you personally, if that is OK? >>>>> >>>>> Sure, you can send it to me though I can't promise any miracles >>>>> since I can't reproduce. >>>>> >>>> >>>> Hi Mike, >>>> after all this seems not be an Android issue. I checked it now >>>> with my iOS test device (iPhone 4 iOS 7.1.2). After editing a >>>> contact on the client side (where the correct birthday was shown) >>>> the birthday shifts minus one day on the server side. >>>> I can't figure out what might be the time zone problem, if there >>>> is any, since all devices use time zone Europe/Berlin (iOS, >>>> Android, Horde prefs, server time: Mon Oct 6 15:40:40 CEST 2014). >>>> >>>> A birthday syncs to the phone like this: >>>> >>>> 2014-10-06T13:55:37+00:00 DEBUG: [26223] O <POOMCONTACTS:Birthday> >>>> 2014-10-06T13:55:37+00:00 DEBUG: [26223] O >>>> 1966-07-23T00:00:00.000Z >>>> 2014-10-06T13:55:37+00:00 DEBUG: [26223] O </POOMCONTACTS:Birthday> >>>> >>>> And after editing on the phone it goes back to the server like this: >>>> 2014-10-06T13:57:23+00:00 DEBUG: [26223] I <POOMCONTACTS:Birthday> >>>> 2014-10-06T13:57:23+00:00 DEBUG: [26223] I >>>> 1966-07-22T23:00:00.000Z >>>> 2014-10-06T13:57:23+00:00 DEBUG: [26223] I </POOMCONTACTS:Birthday> >>>> >>>> I wonder if this shifting has some something to do with daylight >>>> savings... >>> >>> You are correct in that the offset sent from the device is due to >>> DST, however this is exactly what is expected for an iOS device >>> running iOS 5 or greater. In code, the datetime is converted back >>> to to the user's date_default_timezone - which moves it back to >>> the correct day. I've added another test to the test suite for >>> this, and it passes for me. The only way I see this not working is >>> if one of the timezones in use is actually NOT Europe/Berlin. >>> Otherwise, you will need to trace the code to see where the >>> conversion is failing for you. >>> >>> Essentially, in your case >>> Horde_ActiveSync_Device::normalizePoomContactsDates() should >>> return a Horde_Date object that contains the UTC version of the >>> datetime (1966-07-23 23:00:00). So, this means that in >>> Turba_Driver::fromASContact() $message-birthday should be the UTC >>> time as well. We then change the timezone in a clone of that >>> object to the local timezone and format it as Y-m-d. This should >>> move the datetime back to the correct date in Turba. >> >> Actually, on second thought the offset looks incorrect for DST in >> Europe/Berlin. If I'm not mistaken, that should be a UTC+2 offset, >> right? So it's off by one hour. Regardless, the server side will >> still shift the date *ahead* in your timezone, so even if the >> offset is off by an hour, the resulting Y-m-d value will still be >> the correct value. > > OK, this is solved, my fault. I was quite sure that the PHP timezone > settings were correct, but they weren't! I set this to > date.timezone= "Europe/Berlin" > and the shifting is gone (as was already discussed on the list, as I > remember). Mike, sorry for your inconvenience and the unnecessary > tests you did! > John, please check your php.ini settings as well, thanks! > > Volker > > > I did, that info was in my second post to this thread. I am in the Central Time Zone. from php.ini - date.timezone = "America/Chicago", horde prefs set to America/Chicago also. more info, /etc/sysconfig/clock shows ZONE="America/Chicago", my device is set to use automatic time zone, but I also tried not setting automatic time zone, and manually choosing Central Time. Still shifts birthday. John -- kronolith mailing list Frequently Asked Questions: http://wiki.horde.org/FAQ To unsubscribe, mail: [email protected]