-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve KML network error handling #8722
Comments
I agree better error logging is a valuable investment! |
Would the team support adding a simple |
@thw0rted I honestly thought we already had one, but apparently it's the |
It's been a while! I was going through some old tickets to see if I could close them out, so I started trying to recreate some error conditions to see if I have all the information I need to give good user feedback on failure. I found another problem right away: when It occurred to me that if RequestErrorEvent were required to include a |
Sandcastle example: here
Browser: any
Operating System: any
The Sandcastle example makes a simple NetworkLink-based KML data source then "breaks" the network resource to simulate a real error. There are a couple of issues with how this plays out:
RequestErrorEvent
structure but it's empty.Resource
, which does not (but probably should?) have atoString
method.Ideally, any failed network calls performed by the KmlDataSource should fire an error event that tells us what failed to load and (if known) why. Each event type should pass one type of argument to the callback, not a mix of structures (RequestErrorEvent) and strings.
Note that my example doesn't simulate e.g. loading a billboard image from a bad URL, but that would be a good further test case to ensure consistency.
Also, note that if the network link fails to load once, the only way to "get back on track" is to call
load()
again. Failure to set up the NetworkLink means that this element is ignored. It would be nice to have a method we could call that would retry failed links without a full reload.The text was updated successfully, but these errors were encountered: