Asmor / 5e-monsters

Kobold Fight Club
http://kobold.club/fight
MIT License
257 stars 112 forks source link

Content is missing #218

Open Truthwatcher10 opened 3 years ago

Truthwatcher10 commented 3 years ago

I went through a few similar issues that had been posted here but wasn't able to solve this. Currently no creatures show up

image

I checked the Set Source Material page but no sources were listed

image

I am on google chrome and the website seems to work just fine when I tested it in incognito mode, so I assumed it was a cache problem. I cleared my cache and tried the "clear local storage" button on the support page but that didn't solve the problem. I checked the console and I am getting a 404 error saying it can't load the google sheets document and following the link from the console (copied below) just leads to a Page Not Found from google sheets

https://spreadsheets.google.com/feeds/worksheets/1I5W-x8QOcP2siGCPIhWWzKGWt4vyBivYLbmkv_G1B24/public/full?alt=json-in-script&callback=__jsonpcallback0

I'm not sure what else to try or if I missed something obvious. Any help would be appreciated.

Syzrgy commented 3 years ago

I have also had this issue

Asmor commented 3 years ago

I'm unable to reproduce this. Have tried incognito mode in Chrome and private mode in Firefox.

I did get a 404 on the link you posted (https://spreadsheets.google.com/feeds/worksheets/1I5W-x8QOcP2siGCPIhWWzKGWt4vyBivYLbmkv_G1B24/public/full?alt=json-in-script&callback=__jsonpcallback0) in private mode on Firefox once, but I haven't been able to reproduce that, and I've never had KFC fail to load properly in private/incognito mode while trying to reproduce this issue.

From everything you've experienced, it seems like it's a networking issue, either on Google's end or somewhere in the tubes between you and Google. I've looked around a bit to see if there's been any mention of instability or whatnot with google docs, but I haven't found anything.

Unfortunately, there's not really anything I can do here.

okiyama commented 3 years ago

I'll toss in I'm getting the same issue, but that incognito fixed it. Consistent 404s in both Chrome and Firefox:

GET https://spreadsheets.google.com/feeds/worksheets/1x6xC8fHZ6N6M2wOuwPTNdn0ObCPtdqeIBtXaLjHBMYQ/public/full?alt=json-in-script&callback=__jsonpcallback2 net::ERR_ABORTED 404 getSheetsJsonp @ app-a04a87739c.js:2945 loadIndex @ app-a04a87739c.js:2976 load @ app-a04a87739c.js:3022 loadLive @ app-a04a87739c.js:3067 insertSheet @ app-a04a87739c.js:3138 (anonymous) @ app-a04a87739c.js:3212 (anonymous) @ app-a04a87739c.js:3206 processQueue @ angular.js:16606 (anonymous) @ angular.js:16622 $eval @ angular.js:17913 $digest @ angular.js:17727 $apply @ angular.js:18021 bootstrapApply @ angular.js:1806 invoke @ angular.js:4762 doBootstrap @ angular.js:1804 bootstrap @ angular.js:1824 angularInit @ angular.js:1709 (anonymous) @ angular.js:32379 mightThrow @ jquery-3.1.1.js:3570 process @ jquery-3.1.1.js:3638 setTimeout (async) (anonymous) @ jquery-3.1.1.js:3676 fire @ jquery-3.1.1.js:3305 fireWith @ jquery-3.1.1.js:3435 fire @ jquery-3.1.1.js:3443 fire @ jquery-3.1.1.js:3305 fireWith @ jquery-3.1.1.js:3435 ready @ jquery-3.1.1.js:3915 completed @ jquery-3.1.1.js:3925 app-a04a87739c.js:2945 GET https://spreadsheets.google.com/feeds/worksheets/1I5W-x8QOcP2siGCPIhWWzKGWt4vyBivYLbmkv_G1B24/public/full?alt=json-in-script&callback=__jsonpcallback0 net::ERR_ABORTED 404 getSheetsJsonp @ app-a04a87739c.js:2945 loadIndex @ app-a04a87739c.js:2976 load @ app-a04a87739c.js:3022 loadLive @ app-a04a87739c.js:3067 insertSheet @ app-a04a87739c.js:3138 (anonymous) @ app-a04a87739c.js:3212 (anonymous) @ app-a04a87739c.js:3206 processQueue @ angular.js:16606 (anonymous) @ angular.js:16622 $eval @ angular.js:17913 $digest @ angular.js:17727 $apply @ angular.js:18021 bootstrapApply @ angular.js:1806 invoke @ angular.js:4762 doBootstrap @ angular.js:1804 bootstrap @ angular.js:1824 angularInit @ angular.js:1709 (anonymous) @ angular.js:32379 mightThrow @ jquery-3.1.1.js:3570 process @ jquery-3.1.1.js:3638 setTimeout (async) (anonymous) @ jquery-3.1.1.js:3676 fire @ jquery-3.1.1.js:3305 fireWith @ jquery-3.1.1.js:3435 fire @ jquery-3.1.1.js:3443 fire @ jquery-3.1.1.js:3305 fireWith @ jquery-3.1.1.js:3435 ready @ jquery-3.1.1.js:3915 completed @ jquery-3.1.1.js:3925 app-a04a87739c.js:2945 GET https://spreadsheets.google.com/feeds/worksheets/1YR8NBDp8BP4Lz-CWChh6-8dOPN7aYV_dRD6g9ZBvNqM/public/full?alt=json-in-script&callback=__jsonpcallback1 net::ERR_ABORTED 404

Asmor commented 3 years ago

Try clearing your cache and cookies. Make sure you set the time range to clear everything! image

jesshaleth commented 3 years ago

I also had this issue. Clearing the cache didn't make a difference. Still works in incognito mode. It happened on both my laptop and my phone, using Chrome.

notrealdan commented 3 years ago

I'm having this issue also. I noticed that if I refresh the page (https://kobold.club/fight/#/encounter-builder) a few times in a row, the list of sources varies all on its own. The number of pages of monsters also varies accordingly. This is with no filters and leaving everything as default. I think it's intermittently unable to load some or all of the sources, so it gets a different list of monsters loaded each time.

solorpgdm commented 3 years ago

I'm having the same problem as well both on my laptop, ipad and phone using Chrome. I also tried with Safari and I only have access to community or third party content.

insertcleverid commented 3 years ago

Same happening to me. Works in Incognito but clearing cache doesn't help. Set sources looks like this, which seems wrong.

image

Asmor commented 3 years ago

I understand that this is frustrating, but there's nothing I can do. If it works in incognito mode, then it works. The only difference between incognito and standard is that you're using what is basically a fresh new browser. And the fact that it doesn't work outside incognito is evidence that the problem is something to do with your browser's state/configuration.

BiraN2019 commented 3 years ago

Also have this exact issue. Occurs in both chrome and edge. Opening in incognito only works in edge, no change in chrome. Clearing cache/cookies makes no difference. No idea what the source of this is. Console says the same 404 error as previously reported. It suggests: "Audit usage of navigator.userAgent, navigator.appVersion, and navigator.platform."

Could it be some interaction with my adblock? I disabled it but it didn't help.

xionon commented 3 years ago

This happens consistently in private browsers for me now, as well. It's not all the sources and it's not all the time; they will randomly come in and out between refreshes or cache clears.

Example from the console:

The resource from “https://spreadsheets.google.com/feeds/worksheets/1I5W-x8QOcP2siGCPIhWWzKGWt4vyBivYLbmkv_G1B24/public/full?alt=json-in-script&callback=__jsonpcallback0” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).

The thing is, the spreadhseet URLs often work. If you go to that URL, you're likely to get the expected JSONP callback.

Other times, it returns an HTML page instead of the JSONP callback, with the message

Sorry, unable to open the file at this time. Please check the address and try again.

I personally suspect Google has started rate-limiting these requests; either because the sheets have crossed some popularity threshold, or because they've changed the algorithm behind rate-limiting. Even doing a regular cmd/ctrl+r refresh causes wacky behavior; sheets that were previously loaded properly will vanish, sheets that hadn't loaded properly will pop up.

Unfortunately that leaves KFC basically unusable.

Is there a way to get KFC to retry loading failed sheets without a full refresh, or keeping them cached between refreshes?

MisatoMilk commented 3 years ago

Having the exact same issue. Have tested on Vivaldi, Firefox, and Edge, plus the mobile version of Chrome for my LG V35 Thinq. Disabled extensions, cleared cookies & cache, tried two separate internet connections, and nothing.

Asmor commented 3 years ago

I personally suspect Google has started rate-limiting these requests; either because the sheets have crossed some popularity threshold, or because they've changed the algorithm behind rate-limiting. Even doing a regular cmd/ctrl+r refresh causes wacky behavior; sheets that were previously loaded properly will vanish, sheets that hadn't loaded properly will pop up.

Unfortunately that leaves KFC basically unusable.

Is there a way to get KFC to retry loading failed sheets without a full refresh, or keeping them cached between refreshes?

That would definitely explain it.

Oddly enough, I do cache the sheets. When you load KFC, it makes a request to a lighter-weight endpoint which says when the sheet was last updated. I compare that timestamp against the sheet I've cached in local storage and only request the full data if the sheet's been updated since it was cached.

If this is a rate limiting issue, ironically that might be making the situation worse since a fresh load is going to require twice as many requests.

Hypothetically, it shouldn't be all that difficult to get KFC working with another data source. Hell, originally it was just using a JSON file. The reason I moved to google sheets as a poor man's database was mostly just for ease of maintenance, and that also gave the bonus of giving a relatively simple way for other people to add content as well.

In practice, this probably isn't going to get fixed. I've barely got the will and spoons to do the bare minimum of keeping KFC running at this point. Pull requests aren't going to help, either, for the same reason (it's more effort than I'm willing/able to give to vet and deploy PRs, and I'm unwilling to give anyone else the access that would be required to deploy new versions).

Who knows, maybe this problem will correct itself. If it is a rate limiting issue and enough people get pissed off to stop using it, the usage rate will drop. :)

xionon commented 3 years ago

In practice, this probably isn't going to get fixed. I've barely got the will and spoons to do the bare minimum of keeping KFC running at this point.

I can't say that's the answer I hoped for, but I completely understand. Thanks for doing what you have.

jesshaleth commented 3 years ago

In practice, this probably isn't going to get fixed. I've barely got the will and spoons to do the bare minimum of keeping KFC running at this point.

That's completely fair, it's a free site, thank you for all your work.

LMTIC commented 3 years ago

I feel like this issue is already "resolved" but I just wanted to input that I can not load any monsters on Chrome, Edge, and Firefox as well as my phone. It does not matter if I'm in Incognito or not.

Asmor commented 3 years ago

We've got a working theory as to the cause, but it's not fully confirmed and even if it were there's no solution so this ticket isn't resolved and will remain open.

Plus, if I were to close it then in an hour or two someone else would open an identical ticket.

matt-kendall commented 3 years ago

Hypothetically, it shouldn't be all that difficult to get KFC working with another data source.

If you want a second set of hands moving to a different database (something like CosmosDB with a daily Google Sheets import maybe?), I'd be happy to help keep a well-loved resource up and running (as I'm sure would many others).

Pull requests aren't going to help, either, for the same reason (it's more effort than I'm willing/able to give to vet and deploy PRs, and I'm unwilling to give anyone else the access that would be required to deploy new versions).

... but I totally understand that, in which case thanks for creating a fantastic resource.

Silkenmeerkat commented 3 years ago

@Asmor First of all, Thank you for building the site it's one of the most beloved tools in the 5e world for a reason. Second, would you have any objections to forking the repo and someone else setting up a copycat?

Asmor commented 3 years ago

@Asmor First of all, Thank you for building the site it's one of the most beloved tools in the 5e world for a reason. Second, would you have any objections to forking the repo and someone else setting up a copycat?

I encourage it.

corvec commented 3 years ago

Oddly enough, I do cache the sheets. When you load KFC, it makes a request to a lighter-weight endpoint which says when the sheet was last updated. I compare that timestamp against the sheet I've cached in local storage and only request the full data if the sheet's been updated since it was cached.

It sounds like you cache the sheets locally only. Do you have a server-side caching layer? I would think that would fully resolve the issue.

stevebull1984 commented 3 years ago

I don't think it's going to be that useful, but adding my voice mainly so I can keep an eye on the thread. I just transferred to a brand new PC. It was a blank slate. The very first time I tried to use KFC on Chrome with this new PC, I'm having this exact same issue. Cache was as empty as it could possibly be, and Incognito didn't work either. If anyone has found a work-around, I'd love to know!

ssm2130 commented 3 years ago

As of 12:46 PM ET 08/16/2021:

There is zero monster content showing in Chrome, Firefox, Edge and Chrome on my phone. Cache cleared and retried. Https version tried and same result. Added Kobold content and that did not work either.

Cybst0rm commented 3 years ago

I am getting the same thing. These are the errors I see in the console.

This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. fight The resource from “https://spreadsheets.google.com/feeds/worksheets/1x6xC8fHZ6N6M2wOuwPTNdn0ObCPtdqeIBtXaLjHBMYQ/public/full?alt=json-in-script&callback=__jsonpcallback2” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff). fight Loading failed for the Githubissues.

  • Githubissues is a development platform for aggregating issues.