feat(app): status bar Update animation during update installation #13519
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.
Overview
This should be the last missing status bar animation. Without this PR, the robot server will start running the Update animation when it starts up after an update and starts updating the firmware images on the robot. However, we want the status bar to pulse while the robot is updating its software, which starts well before the robot has restarted.
This PR adds a couple of simple hooks in the
RobotUpdateProgressModal
to start the Updating animation on a Flex that is being updated. If an error occurs, the app changes to the "idle" animation.Test Plan
setStatusBar
command fails silently instead of interfering with operationChangelog
Review requests
Risk assessment
Pretty low as long as my understanding of javascript
catch
is correct - when updating a robot with software old enough to not recognize the animation commands, they should just be ignored.Otherwise, the biggest risk is some possibility of weird animation states on the robot if you start an update and then close your app in the middle of it. I think the only alternative here would be to manage this through the Update Server instead of the app. I'm a little wary about integrating this kind of functionality in the Update Server unless absolutely necessary, but I could be convinced.