RaiderIO / raiderio-addon

RaiderIO AddOn
https://raider.io/addon
Other
38 stars 21 forks source link

[Bug] - RaiderIO is using expired data #190

Open tryallthethings opened 2 years ago

tryallthethings commented 2 years ago

Hey guys! I'm reporting an issue that I'm seeing for several months now. When I log in into WoW (Retail) Raider.io Addon complains that I'm using expired data: [12:52] RaiderIO is using expired data. Please update now to see the most accurate data: https://rio.gg/addon

chrome_2021-10-14_13-01-25

I'm updating the data almost daily via the Raider.IO desktop app, and the addon is ignored for updates within CurseForge. The update through the desktop app seems to work fine, and Raider.IO changes seem to be reflected ingame after installing the latest data.

RaiderIO_2021-10-14_13-06-21

image

Any idea what could cause this issue?

Thanks Stefan

WFrancois commented 2 years ago

Hey!

It does look like the addon is correctly up to date when we see the version in the config.

One thought would be that you on the RaiderIO Client you only download one region, but ingame you load all regions.

tryallthethings commented 2 years ago

Nice idea, but that isn't the case here:

image image

WFrancois commented 2 years ago

Hm, really weird then

Can you try to download everything, and enable everything ? Doing that, do you still have the issue?

tryallthethings commented 2 years ago

Okay, I tried downloading all regions / factions via the desktop app and don't get the notification about outdated data now.

I got the following theory on this issue: After installing the desktop app, all regions / factions are downloaded by default. When I went ahead and disabled all realms besides EU, the files for the other regions are kept in World of Warcraft\_retail_\Interface\AddOns\RaiderIO\db but are not getting updated anymore. If I understand the code correctly, the function CheckQueuedProviders checks all present db files (providers) if they are outdated. Since the addon most likely doesn't have access to the desktop app configuration and knows which realms to skip, it shows the warning to the player. So the addon either needs to check which raider.io realm addons are enabled and only check those, or the desktop app could just delete not updated realm files after they were deselected. The second solution is probably the easiest.

I've deleted all unnecessary realm files on my machine, which should fix the issue for me.

Vladinator commented 2 years ago

You are correct about this issue, in situations only a set of realms are downloaded, the untouched files will load old data that will dirty the dataset with their old timestamp.

One potential resolution could be to load the most recent timestamp and not the oldest one, then in situations like this the warning would not trigger, though we might in any case want to inform perhaps which region is up to date, and mention that the rest are out of date, or something, will look a bit into how to exactly we can improve this routine.

Thanks for your work narrowing down your issue! 👏