Repository navigation
Conversation
A network error on the manager app config fetch left OrApp off the page, and an info response that isn't JSON left Manager.init waiting forever. Fall back to the default config, and reject on a response that isn't JSON.
|
Contributor
Author
|
We discussed we want to show a loading spinner after an initial request failure or when it takes several seconds to load. If it fails we want exponential backoff and after ~30-60s we want to show something like "could not load app, try again later". |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Description
Relates to #3526
The manager could stay on a blank page when a request failed during startup, for example while the backend restarts. It stayed blank after the backend was back, until a reload:
catch, so on a network errorOrAppwas never added to the page.loadManagerInfoparsed the response inside the XHRloadlistener. An HTML error page, such as a proxy's 503, threw there, soManager.initnever settled.A backend restart triggers this more often than expected. The UI files only carry
Last-Modified, so a new tab loadsindex.htmland the bundle from the browser cache and starts the app while the API is still down.Both cases were reproduced in Chromium on a staging server running
main, by failing these requests in the browser.Reproduction
https://<host>/api/master/configuration/manager.Failed to fetch. With it, the login page loads.Changelog
loadManagerInfowhen the info response isn't JSON, so initialization continuesChecklist