I understand, but that means the 'Full Refresh' option no longer works like before. Because when it went directly, that would have been picked up.
So you don't store the datetime data for when a thread was last queried?
Otherwise you could compare it to the date value in the json result to see if it's been modified since.
of course it doesnt work like before, basically nothing works like before, it *cannot* work like before.
your f95checker client never talks to f95zone directly when it comes to getting thread info.
as stated in the github readme, now the full refresh means syncing data from the cache api. it doesnt force the cache api to recache the thread. if it did, we would be back at square 1: everyone forcing a full refresh and blasting f95zone till we DDoS it.
i do store the timestamp for last time a game was refreshed, on both sides:
- your client records the last time the thread data changed on the cache api. it works kinda like a "version" of cached data. any time the cache api updates the cached data, it saves the timestamp, then when your client refreshes it checks all the timestamps, if the cache api's cached data timestamp is different than what your client has saved, it syncs the whole thread info from the cache api.
- and on the cache api, i record when each thread was last fetched from f95zone, when the last time any of the contained data actually changed (this is to notify client that they should sync the new data, and avoids syncing if after cache expiration the new data is the exact same), and the time when cache is due to expire (not all threads have same cache expiry, like some errors can have as little as 15 minutes of cache, and non-existent threads are cached for 14 days)
Also, this was an actual update, wouldn't it had to have the thread parsed in that case anyways instead of relying on the expiration cycle?
yes. and it did. the issue is that mods pushed the update, someone refreshed the thread in f95checker, it was cached, and only *after* the downloads were changed. at that point, nothing changed that the cache api could detect.
its always human error. i cannot fix the 0.01%. sorry.