fix build page spamming api constantly when build is queued#301
Merged
Conversation
tkyi
reviewed
Jun 5, 2018
| @@ -1,4 +1,4 @@ | |||
| import { later, once } from '@ember/runloop'; | |||
| import { later, throttle } from '@ember/runloop'; | |||
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.

Context
When a build page is opened for a build that is still enqueued, the API will be spammed several times a second. This happens because the build-banner component calls
reloadBuild()when it is either queued or running during the willRender event of the component lifecycle. When the build info is fetched, it causes the willRender event to fire again, and this loop can be extremely short. The current reload event only allows firing once per render loop, but this loop is very fast.Objective
Hit the API only as often as
BUILD_RELOAD_TIMER, by throttling all requests to the reload handler.Misc
Fix tests broken in firefox due to nav-banner component writing a value after it has been destroyed.