Thanks for reporting this but everything is behaving correctly.
Short Answer:
You get the warning because the episode listed are not available in the response from my backend because it got locked out of making requests to the official myanimelist website.
Longer Answer:
You see the whole process works like this and is not as trivial as it might seem:
If plex has found a series it will perform a search to get a list of accordances. This runs over my backend but the search is always direct so that I get the newest data. The highest accordances in terms of title matching but still over 80% will be used as the version for pulling metadata.
After plex has found a version to use for pulling metadata the agent will request my backend again but this time with the ID. The backend will cache each entry that was requested from myanimelist itself for 7 days, every request that is made will be checked if the “last updated” date is older than 7 days, if this is the case a new set of metadata is being parsed from myanimelist directly.
And here exactly are the problems: I produce a massive amount of requests to the myanimelist website because the official API is really not that great (and promises that it will get updated but never was over years) and to get all the data I need for Plex I only get through the website. For the Anime you have problems with I already need to do 3 (+1 for the search) requests just to get all the metadata I need. A lengthy anime like One piece or Naruto Shippuuden which episodes are in the hundreds I need even more requests because every 100 episodes need yet another request so One piece with 800 episodes would come in about 11 if not more requests.
That is all well and good if myanimelist wouldn’t block after a certain amount of requests and just doesn’t accept anything from that IP for a while. (I’m also in violation of myanimelists regulations of how many requests I can make, which would be 1 every 15 seconds but now imagine that with a lengthy anime like one piece and 800 episodes it would take 3 minutes just to get the whole package of metadata)
That is why it needs to be cached.
However that brings me to the next topic. Since the episodes are that lengthy I do them at last so that I get as much information as possible with the requests I got through. That means I still got details and pictures and maybe the first one or two pages before the website locks me out. However that doesn’t mean you are using the backend alone but everyone who uses the Agent will also use the backend. So if you update or refresh your metadata you might … no, you definitely will, use up all available requests to the website.
Now back to your “problem”. This is probably just a simple issue that the backend just couldn’t get the episodes before the website locked the backend out.
I deleted the entry in the database for the cache (but the cache of the server needs to be refreshed too) so the next request that comes through will refresh the data and, fingers crossed, will pull the episodes too.
I’m sorry that I don’t have a solution or a fix for this. It is how it is right now and the backend I wrote was always only a workaround to the official api. I created the Agent 4 years ago and so far I haven’t seen any changes to the official API at all.
Any solution that could be made requires a full redesign of the backend with better data storage, checking and not overwriting existing data with no data at all (which can happen at the moment) and maybe even reworking the whole parsing part. But I don’t have the time to put it into this.
Another thing is that I can’t test anything at the moment because my storage device decided to break and with no backup most of the data was lost. I am in the process of recovering this but without the data I can’t really test things out.
So yeah, the whole thing is not really fleshed out but it works. however I’m hugely limited on what I’m able to do.