New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Daylight saving causes recurring meetings to be 1 hour off #67
Comments
On 2017-04-02 04:58:38 UTC, phw198 commented: What version of OGCS are you on? Lots of timezone improvements in the recent Alphas... |
On 2017-04-06 16:31:42 UTC, mkjyhuniolkj commented: Hello, Last version - 2.3.0.0 |
On 2017-04-06 17:54:01 UTC, mkjyhuniolkj commented: Nothing changed with version 2.3.5. May be i should somehow resyncronize calendars. |
On 2017-04-11 18:35:51 UTC, mkjyhuniolkj commented: I removed Google calendar and re-synced from scratch. Outlook contain master data. Google events created without timezone. So in Google they are one our later that in Outlook. |
On 2017-04-21 16:55:28 UTC, mkjyhuniolkj commented: Still having this issue on 2.3.5 How can i help with it? |
On 2017-05-07 05:07:52 UTC, phw198 commented: Ah right, now I've reread your issue....and I don't think there's anything that can be done about it :( I had exactly the same problem: invites created for a recurring series by someone in the US and for the 2 weeks where our DSTs were off (the UK moved 2 weeks later than the US), the meetings were off by an hours in that period. Unfortunately, Outlook/Windows/MS calculates the local time of the calendar item into UTC when it arrives, with a timezone offset. This is what you see in step #3 of your opening post. The fact that this offset can change seems to be lost on MS and there's Can you confirm the issue was only apparent between 12 March (US DST) and 26 March (UK DST)? |
I have the same issue, but for me it is not temporary.... I live in a country with no DST, and have long-running appointments with people in the US. My google calendar is only correct half of the year for those appointments, sadly. Not sure if it helps at all, you could force outlook to return events in a specific timezone if using REST API (see https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations ). Or possibly you can get the original timezone? REST API docu says "You can use the OriginalStartTimeZone and OriginalEndTimeZone properties on the Event resource to find out the time zone used when the event was created." (Other APIs may have similar capabilities.) Not sure if you are using REST at all. If you are not, the above may not help. If the events could be formatted/written with the "original" event timezone instead of the timezone of the computer itself, that may resolve the issue. But I would assume that recurring events will need to be written as individual ones if they aren't already. Alternatively, the program could come with a DST database (or use Windows's inbuilt one, if it exists?) to re-calc dates, though it would have to loop through recurring calendar items to find out which ones to adjust. |
This same problem is easily demonstrable by modifying the system timezone of your Windows instance. It appears that the Outlook event time is being retrieved assuming the current Windows timezone setting, then stored into Google Calendar using the default Google Calendar timezone setting. If those timezones don't match for any reason, the times end up wrong. It doesn't seem to matter what timezone the actual event was scheduled in/for. For example, while I was traveling to a different timezone I had my Windows timezone set to the timezone I was in. A synchronization was performed and events were added to my Google Calendar using my default Google timezone, which was still set to my home timezone. As a result, all devices viewing my Google calendar events were showing the wrong time for the event since the devices themselves were also accounting for the difference in timezones between my home timezone and my current timezone. Events that had already been synchronized to the Google calendar prior to my travel were left at their original times, but any new events that were received while I was traveling, or events that entered the synchronization window while traveling, were added to Google calendar with the wrong times. This occurred for events that I scheduled while in my home timezone, events I scheduled while in the travelling timezone, and events received that were scheduled for very different timezones by the creator (meetings with coworkers on different continents). The problem persisted even after I returned to my home timezone; events that were first synchronized while I was travelling were never updated and were left with the wrong time. The only way I've found to resolve this incorrect synchronization problem is to delete the Google calendar being synchronized to, recreate it as empty, and perform a clean synchronization. This solves the problem after the travelling is complete, but does nothing for the problem while traveling is ongoing. I am/was using 2.5.0.0 with TimezoneDB 2017b when this occurred. While I'm not an expert in the specific API, the usual way to resolve these problems is to either a) always synchronize relative to a fixed timezone, or b) include the timezone information with the synchronization. If you're able to retrieve the timezone of the original event from Outlook, including that information when synchronizing the event to Google would solve the problem. If you're unable to retrieve/interpret the timezone from Outlook, detection of whether Outlook has converted the timezone to UTC (which apparently occurs whenever the timezone the event was created for doesn't match the timezone Windows is currently set for?) and setting the timezone to UTC+0 in Google would also solve the problem. All viewers of Google Calendars already implement conversion of Google calendar events to current timezone, so simply setting the Google calendar event timezone properly instead of leaving it at the Google setting-default-home timezone would solve the problem. Alternatively if there's a way to always query Outlook event times in UTC time, no timezone adjustment needs to be processed/performed by this tool as long as the resulting events added to Google calendar are always configured for UTC+0. |
Still an issue in 2.6.0.0 |
Still an issue in v2.7.0.0 |
Please confirm if the hotfix on #486 has resolved this (make sure you are already upgraded to v2.7.1 before applying the hotfix). |
@phw198 Unfortunately this did not fix it as the issue is with Daylight Savings Time. I am in South Africa where we do not observe DST. I have recurring meetings with clients in EST which added 1 hour this week for DST. |
@gconry18 Sorry, was thrown by @mtalexan's comment, which should be fixed by #486, but is different from the rest of this ticket. So to confirm, you are syncing to Google an Outlook meeting invite arranged by someone in EST? What happens if you manually make a change to this meeting (e.g. add a space to the subject, delete the space and hit |
@phw198 already tried a full resync and completely deleting the google calendar entry and resyncing. The meeting was created by my client in EST before DST was in effect. I think OGCS is using the time of the original recurring meeting and ignoring any timezone DST changes. This can most likely be fixed by setting the timezone of the entry on the meetings in google. Thoughts? |
@gconry18 OK, so here's my testing. Set my Windows timezone to EST and created an Outlook weekly recurring series starting on 4 March that also specified the EST timezone In Outlook this repeats every week at 12:00 as expected. I then changed my Windows timezone to UTC+2: Outlook shows the series at 19:00 on 4-Mar, and all subsequent weeks at 18:00. So as far as I can tell, it works as expected...? Are you sure you have the right timezone set in Google calendar? 😕 Do you get the same if you repeat my above test? The only fault in the test is it is not a meeting invite from an organiser in EST. I currently don't have a recurring meeting spanning the DST change from someone in that zone, but I could ask a colleague to maybe set me up a mock one... |
I am facing the same problem. Thanks for all the hard work. |
@phw198 Thanks for the testing. My google calendar is set to my timezone (Johannesburg). Looking at the recurring meeting in Google Calendar it comes through without the timezone information. Singular meetings that were created in EST are coming through to google calendar as Johannesburg time zone. I do not believe OGCS is sending correct timezone information when creating a meeting in Google Calendar. |
Found this forum post, which looks relevant and a MAPI attribute...so now I hopefully have something to work with 🙏
|
📦 And I think we're in luck! This should now be resolved with hotfix v2.7.4.1.zip (see instructions for applying). To test, either make an edit to the meeting invite in Outlook for which the time is wrong in Google and then do a normal delta sync, or perform a full sync by holding the Please let me know how it goes. |
@phw198 I gave this a test with my work calendar this morning. The same issue persists with one of my events but others have been corrected. |
@gconry18 So the one event remaining, does the Outlook appointment have the message "This meeting has been adjusted to reflect your current timezone" when you open it? And with OGCS logging at |
@phw198 The meeting in outlook does indeed have that message. Adding a space to the location and running a sync I see the following in the log file:
|
📦 Could you apply hotfix v2.7.4.3.zip (see instructions for applying) and repeat the test - it seems it's failing to convert a timezone name into a matching ID... |
Sorry, should have said v2.7.4.3 wouldn't fix it, just report the timezone that's got the problem (though I now see it's also in your screenshot 😳). 📦 Anyway, hotfix v2.7.4.5.zip should now fix it. |
@phw198 Success! Thank you so much! |
For me hotfix 2.7.4.5 resolves some of the cases for me, for the remaining ones I get the following logged:
Which looks like there's a problem determining what the timezone description means... This may be from webex sent invites... |
Thanks @dtucny, I will take a look as soon as I can. |
@dtucny So yes, a "timezone" with a GMT offset like that isn't a valid Windows timezone at all. However, "AUS Eastern Standard Time" on its own is, so I've taken the approach to strip any GMT offset (offsets if specified should always be UTC anyway). 📦 Therefore, please try with hotfix v2.7.4.7.zip (see instructions for applying). Let me know how it goes. |
Still not working for me on 2.8.2.0. Here is the log:
|
@X-dark that's because Though seriously, I guess it's possible that the country that OGCS picked with an offset of |
In Google, it is displayed as "(GMT+01:00) West Africa Standard Time - Lagos". I think the event has been created with Microsoft Teams. I don't choose the tools (or I would have stopped to use MSFT tools altogether...). |
OK, so Lagos apparently has never observed DST which is half of my suspicion confirmed. You said your Outlook calendar was in Paris timezone, but I need to know if the organiser of the appointment is in a DST timezone (which would cause the mismatch). Could you turn your logging up to Thanks |
💭 This issue already looks to be covered by #843 |
The organizer is in the same timezone. I'll get you some logs tomorrow (no access to this computer today). |
Use Outlook -> Google one way sync.
Outlook Google Calendar Sync create google events without timezone.
So after other countries change to light saving time, events in Google are nor
correct.
Steps:
Before light saving:
Look at Outlook: Event starts at 12:00
Look at Google: Event starts at 12:00
After light saving:
Look at Outlook: Event starts at ** 11:00 ** (!!!)
Look at Google: Event starts at 12:00
Possible solution: create events with origin time&zone.
Work Item Details
Original CodePlex Issue: Issue 485
Status: Proposed
Reason Closed: Unassigned
Assigned to: Unassigned
Reported on: Mar 28 at 9:16 AM
Reported by: mkjyhuniolkj
Updated on: May 6 at 10:07 PM
Updated by: phw198
The text was updated successfully, but these errors were encountered: