DennisRas / WeeklyKnowledge

Track your profession knowledge across your characters
https://www.curseforge.com/wow/addons/weeklyknowledge
8 stars 1 forks source link

Events in the calendar may start/end differently for other timezones #43

Open DennisRas opened 2 months ago

DennisRas commented 2 months ago

Issue: Events such as Darkmoon Faire may still be available for people locally hitting the day after the event is supposed to end.

Solution: Not sure. Use server time to check the calendar events? There's currently a PvP Brawl event ongoing at the time of this issue that can be used for testing.

From Curseforge:

Darkmoon Faire tracking is having some issues due to server vs event time. In the NA region, events open & shut based off US-Pacific time - which is not the same as server time for most servers. For the US servers this means central & eastern timezones are out by a couple of hours, for Oceanic servers this means the addon thinks the DMF is over at 11:59pm Saturday when in reality it's still running until 4:59pm Sunday (currently - both timezones also have daylight savings kick in at times). I assume something similar happens in Europe but I'm not sure which is the "official" timezone there.

Currently this means anyone playing on OCE can't see whether they've done DMF because the addon has decided the event is over based off server time, and is hiding its records (which was a great change btw, just problematic with these events). If you log onto a US based character you can still see the DMF status of all characters so it's not completely broken, it's just not properly differentiating server vs region time.

lakhpache commented 2 months ago

Following on from your reply on curseforge:

I wasn't aware that events in the calendar could start/extend differently for players in a different timezone. So what you're saying is that the event is server based which means the event could technically be longer for people hitting the next day. Now my question is, what does the Calendar show you when you reach Sunday and the event is still live for you even though you're past Saturday?

All of Blizzard's own in-game calendar events are in region-time (i.e. which in NA is their local time, so California time for all US, Oceanic & Brazilian servers irrespective of local server time).

So as I'm posting today, at ~10:20am on the 10th September in Australian Eastern timezone, the calendar highlights my local date as the current date. But i'm seeing events listings that Nerub-ar Palace opens (opened?) at 8:00am, World Quest Bonus Event begins at 8:00, and the PVP Brawl for Warsong Scramble begins - because at 8am on the 10th in California time all those things will have happened, despite none of them actually being active now.

A slightly awkward & hacky solution would potentially be using C_DateAndTime.GetSecondsUntilWeeklyReset - because the weekly reset is always on the region time. With both Blizzard calendar events & the weekly reset on the regional time, it should should be a fixed & predictable period.

There's probably a better solution, but my programming doesn't make it much past butchering weakauras. I'm only aware of this because it's a common issue with any addon that tries to handle event dates & it's glaringly obvious if you play on OCE.