Skip to content
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

Recurring Meeting Showing up in Creators Date not Receiver's Date (Timezone offset by 12-13 hours) #1962

Open
timmyk465 opened this issue Sep 5, 2024 · 18 comments

Comments

@timmyk465
Copy link

Checklist:-

  • Upgrade to the latest release (alpha if available) latest release
  • Reproduce the issue
  • Complete the information below
  • Provide your OGcalsync.log file (see how-to)

OGCS Version: v2.11.0.0
Edition: Portable
Sync Direction: O->G

Bug Description
A recurring meeting that is set in a different timezone (1 day ahead) gets placed in the original timezone's date instead of the receivers timezone date. The time is correct, but the date is off. The first occurrence of the meeting is also correct, just the subsequent meetings that are showing up one day later in Google.

It appears that the reoccurrence setting doesn't take into account timezone shift for the "BYDAY" portion:
RRULE:FREQ=MONTHLY;BYDAY=WE;BYSETPOS=1;UNTIL=20250808T003000Z

Steps to Reproduce the Issue

  1. Sync a meeting that was made by someone 12-13 hours ahead of users timezone (so that the meeting owner's date is 1 day ahead).
    OGcalsync.log

Any other information
Any additional information that may help troubleshoot the issue.
📎 Attach your OGcalsync.log file.

@timmyk465 timmyk465 added the bug Something's not working right label Sep 5, 2024
@phw198
Copy link
Owner

phw198 commented Sep 8, 2024

I can't replicate that as you describe for reproduction. Here's my test:-

  1. Create an recurring appointment in Outlook on Mon 9-Sep at 8am Austrlia/Sydney time (UTC+10), repeat on the first Monday of every month
  2. in October This appears on Sunday at 9pm BST in September; 8pm GMT
  3. Sync it to Google - appears in exactly the same way
2024-09-08 17:25:33,584 DEBUG 21 OutlookGoogleCalendarSync.Google.Calendar [554] -  Processing >> 01/09/2024 21:00 (R) => "Aussie"
2024-09-08 17:25:33,585 DEBUG 21 OutlookGoogleCalendarSync.Console [364] -  01/09/2024 21:00 (R) "Aussie"
2024-09-08 17:25:33,593 DEBUG 21 OutlookGoogleCalendarSync.Recurrence [33] -  Creating Google iCalendar definition for recurring event.
2024-09-08 17:25:33,624 FINE  21 OutlookGoogleCalendarSync.Recurrence [225] -  Building RRULE
2024-09-08 17:25:33,628 FINE  21 OutlookGoogleCalendarSync.Recurrence [228] -  Determining pattern for frequency olRecursMonthNth.
2024-09-08 17:25:33,646 FINE  21 OutlookGoogleCalendarSync.Recurrence [340] -  MONTHLY
2024-09-08 17:25:33,647 FINE  21 OutlookGoogleCalendarSync.Recurrence [348] -  DayOfWeekMask = olMonday
2024-09-08 17:25:33,648 FINE  21 OutlookGoogleCalendarSync.Recurrence [340] -  MO
2024-09-08 17:25:33,649 FINE  21 OutlookGoogleCalendarSync.Recurrence [340] -  1
2024-09-08 17:25:33,651 FINE  21 OutlookGoogleCalendarSync.Recurrence [301] -  Checking end date.
2024-09-08 17:25:33,652 FINE  21 OutlookGoogleCalendarSync.Recurrence [340] -  20250908T210000Z
2024-09-08 17:25:33,659 DEBUG 21 OutlookGoogleCalendarSync.Recurrence [49] -  RRULE:FREQ=MONTHLY;BYDAY=MO;BYSETPOS=1;UNTIL=20250908T210000Z
2024-09-08 17:25:33,672 FINE  21 OutlookGoogleCalendarSync.Outlook.OutlookNew [831] -  Timezone "(UTC+10:00) Canberra, Melbourne, Sydney" mapped to "Australia/Sydney"
2024-09-08 17:25:33,678 FINE  21 OutlookGoogleCalendarSync.Outlook.OutlookNew [831] -  Timezone "(UTC+10:00) Canberra, Melbourne, Sydney" mapped to "Australia/Sydney"
2024-09-08 17:25:33,684 FINE  21 OutlookGoogleCalendarSync.Settings [496] -  Using profile Forms.Main.Instance.ActiveCalendarProfile
2024-09-08 17:25:33,684 FINE  21 OutlookGoogleCalendarSync.Outlook.Categories+Map [76] -  Converted '#039BE5' to Color [A=255, R=3, G=155, B=229]
2024-09-08 17:25:33,690 FINE  21 OutlookGoogleCalendarSync.Google.CustomProperty [259] -  Set extendedproperty outlook_CalendarID=0000000099E5D537CEB2D74B8C7E116BFC60929E22810000
2024-09-08 17:25:33,691 FINE  21 OutlookGoogleCalendarSync.Google.CustomProperty [259] -  Set extendedproperty outlook_EntryID=0000000099E5D537CEB2D74B8C7E116BFC60929EA4A02100
2024-09-08 17:25:33,695 FINE  21 OutlookGoogleCalendarSync.Google.CustomProperty [259] -  Set extendedproperty outlook_GlobalApptID=040000008200E00074C5B7101A82E00800000000C028C71B1402DB010000000000000000100000008B96DEA205AABB4D8DC4AC411305535A
2024-09-08 17:25:33,695 DEBUG 21 OutlookGoogleCalendarSync.Google.CustomProperty [346] -  01/09/2024 21:00 (R) => "Aussie"
2024-09-08 17:25:33,696 DEBUG 21 OutlookGoogleCalendarSync.Google.CustomProperty [348] -  outlook_CalendarID=0000000099E5D537CEB2D74B8C7E116BFC60929E22810000
2024-09-08 17:25:33,696 DEBUG 21 OutlookGoogleCalendarSync.Google.CustomProperty [348] -  outlook_EntryID=0000000099E5D537CEB2D74B8C7E116BFC60929EA4A02100
2024-09-08 17:25:33,696 DEBUG 21 OutlookGoogleCalendarSync.Google.CustomProperty [348] -  outlook_GlobalApptID=040000008200E00074C5B7101A82E00800000000C028C71B1402DB010000000000000000100000008B96DEA205AABB4D8DC4AC411305535A
2024-09-08 17:25:34,286 INFO  21 OutlookGoogleCalendarSync.Sync.Engine+Calendar [640] -  Done.

What are you looking at your Google calendar on? Please confirm you are seeing the same issue on the web view at https://calendar.google.com.

Would be helpful to see the exact definition of the Outlook recurrence, as well as your Google time zones. Also I note the logs say you have exceptions to the series - what are these?

@phw198 phw198 added the more info needed Not enough detail provided to fully troubleshoot label Sep 8, 2024
Copy link

github-actions bot commented Oct 9, 2024

This issue has been marked dormant because the last update is at least 30 days ago. If no update is made with the next 7 days, the issue will be closed.

@github-actions github-actions bot added the dormant Issue has not been responded to over 30 days label Oct 9, 2024
@timmyk465
Copy link
Author

Sorry, kids and life man!

I'm looking at Google on the web view and on my phone app (android). My time zones are all Eastern time US. The meetings that have this error are Tokyo time zone origin.

I think there was only one exception for this meeting. It's typically on Tuesdays, but I believe a few meetings back we had to shift it to a Wednesday for one occurrence.

@timmyk465
Copy link
Author

timmyk465 commented Oct 9, 2024

Here is an example with two different calendar events having the issue. Outlook view (from desktop app):
image

Google view from web browser (Chrome):
image

Google view from Android App:
image

The two meetings on Tokyo time are both shifted over one day in my Google regardless of view. Meeting 1 is supposed to be every 1st Monday (with exceptions for Monday's that are holidays, or if one is rescheduled due to a conflict). Meeting 2 is supposed to be every Tuesday (with the same exceptions).

The interpretation line for Meeting 2 is set by someone on Easter Time, and it shows up on the right day.

@timmyk465
Copy link
Author

timmyk465 commented Oct 10, 2024

The strange thing is that individual meetings are OK. And the 1st meeting in the series is also OK. It's only the recurring ones that come later. Below is the very first time Meeting 2 was setup:

image

@timmyk465
Copy link
Author

timmyk465 commented Oct 10, 2024

Here is a snapshot of Meeting 2's recurrence in Outlook:
image

And at the top of the event I have this note:
image

@timmyk465
Copy link
Author

My time zone in Google:
image

@timmyk465
Copy link
Author

Sorry for all the comments, hopefully that covers everything you asked for. Please let me know if there is something else I can log or provide for you. Thank you for your support! And thank you for the great application, I've been using it since 2017!

@github-actions github-actions bot removed the dormant Issue has not been responded to over 30 days label Oct 10, 2024
@phw198
Copy link
Owner

phw198 commented Oct 13, 2024

I think we need to dig a little deeper on this one. Could you:

  1. Double-click the Meeting 2 in Outlook and open the series
  2. Go to File and Save As and save the .ics file
  3. Open the .ics file in a text editor and remove any personal data, but leave all the date and timezone related fields
  4. Upload it to this issue.

@timmyk465
Copy link
Author

I'll get on that when I get into the office tomorrow morning. Thanks!

@timmyk465
Copy link
Author

Meeting 2.zip

@phw198
Copy link
Owner

phw198 commented Nov 2, 2024

Unfortunately I still can't reproduce the issue. I don't see how it can be anything related to the recurrence rule, as this is a standard interpreted by Google and it can't be partly right only affecting certain occurrences of a series.

It's very difficult working without the full information or logs, but I see Meeting 1 on Mon 30-Sep is showing as an exception in Outlook, so it feels to me like the issue is with syncing the exceptions. I can't see on your screenshot if Meeting 2 Tues 1-Oct is an exception, but you've said earlier this series has been moved around, so I'm going to assume it also is. What is your sync window? At the time of screenshot it's 10-Oct and the instances are around 10 days earlier - are you syncing 10 days or more into the past? I've tested with a series that spans the date-line and moved an occurrence around between days and it all syncs fine.

I think let's go back to basics and replicate the issue:

  1. Set OGCS to O->G one-way (if not already)
  2. Delete the problematic series in Google
  3. Sync with OGCS and recreate the series

Does the problem persist? Can you provide the log section for that Google creation?

@timmyk465
Copy link
Author

Thanks for following up again! I've already done these steps (#1 is how I'm set up). Let me run again. What I did:

  1. Ran a sync
  2. Deleted both recurring meetings that are incorrect
  3. Reran sync (I'm setup for 1 day in the past and 200 days in the future)
    OGcalsync.log

In the OGcalsync.log file, I deleted everything before the manual sync. I also converted anything that seemed confidential or personal to ######. For the calendar events in question, I changed them to:

MONDAY MEETING ######
TUESDAY MEETING ######
TUESDAY MEETING ###### (Originally had a different name)

Let me know if there is anything else I can provide.

@timmyk465
Copy link
Author

I can confirm whatever the issue is, it also results in it not recognizing the shift after daylight savings ended. So not only are the events shifted a day later, they're also now showing up an hour later than they are supposed to be after the time change.

@timmyk465
Copy link
Author

timmyk465 commented Nov 5, 2024

I also confirmed I have this message at the start of sync:
Corporate policy/anti-virus is restricting certain functionality. This may prevent proper detection of meeting organiser time zones, resulting in incorrect local start times due to DST.

And even stranger. Instead of deleting the calendar invite in Google, I manually moved it and changed the recurrence settings. Now when it resyncs the events are still there and in the right place?

Nevermind, another sync and it caught the edit I made on the Google side:
image

@phw198
Copy link
Owner

phw198 commented Nov 7, 2024

Yep, that's your problem unfortunately and it's pretty clearly stated at the top of every sync:

Corporate policy/anti-virus is restricting certain functionality. This may prevent proper detection of meeting organiser time zones, resulting in incorrect local start times due to DST.

Nothing that can be done I'm afraid. Because Outlook is really poor, it holds the organiser's timezone in a plain text field that can be blocked by corporate policy. Without that information, it's impossible to work out the real time of the event.

I workaround might be to let OGCS sync it Google, then assign a category to the Outlook item that is out of scope for sync, but uncheck "Delete synced items if excluded". Now you should be able to manually adjust the items in Google without them being reset. Obviously, any further changes in Outlook for that appointment won't make it into Google.

@phw198 phw198 added timezones and removed bug Something's not working right labels Nov 7, 2024
@timmyk465
Copy link
Author

timmyk465 commented Nov 8, 2024

Would it be possible to give OGCS functionality for the user to set manually? Or is there a specific policy item that needs to be fixed (I might be able to get my corporate policy updated to allow the correct thing to be readable).

@phw198
Copy link
Owner

phw198 commented Nov 23, 2024

That's a fair idea actually - OGCS already has the ability to set a timezone mapping when there is a value in Outlook that it doesn't recognise, so I might be able to use some of this code for this particular situation.

I'll give it some thought...

@phw198 phw198 added enhancement New feature medium and removed more info needed Not enough detail provided to fully troubleshoot labels Nov 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

2 participants