847 show feedback when writing multiple params#848
Merged
1Blademaster merged 9 commits intomainfrom Nov 17, 2025
Merged
Conversation
Member
Author
Member
Author
|
I also would like to add a cross to close the modal or a button to close the modal, this will also act as a "cancel" action |
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR adds progress tracking and better error handling for setting multiple parameters on a drone. Users can now see real-time progress while parameters are being written, and receive detailed feedback about which parameters succeeded or failed.
Key changes:
- Added progress callback mechanism to report parameter write status in real-time
- Improved error handling to continue processing remaining parameters even if some fail
- Modified UI to show progress modal during writes and failure modal for unsuccessful parameters
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| radio/app/endpoints/params.py | Added progress callback type definition and function, updated set_multiple_params to pass callback |
| radio/app/controllers/paramsController.py | Enhanced setMultipleParams with progress callback support and better error handling; refactored setParam to return saved_param status and reduce timeout |
| gcs/src/redux/slices/paramsSlice.js | Added state management for write progress tracking and failed parameter handling |
| gcs/src/redux/middleware/socketMiddleware.js | Added handling for progress updates and differentiated success/warning/error notifications based on results |
| gcs/src/redux/middleware/emitters.js | Triggered progress modal when emitting set_multiple_params |
| gcs/src/params.jsx | Added two new modal components for displaying write progress and failures |
| gcs/src/helpers/notification.js | Added warning notification support with yellow color |
| gcs/src/components/params/valueInput.jsx | Fixed appendModifiedParams call to pass array instead of object |
| gcs/src/components/params/paramsWriteModal.jsx | New component showing progress bar while writing parameters |
| gcs/src/components/params/paramsFailedToWriteModal.jsx | New component showing table of parameters that failed to write |
Comments suppressed due to low confidence (2)
radio/app/controllers/paramsController.py:187
- The docstring is missing documentation for the
progress_update_callbackparameter that was added to the function signature.
params_list (list[IncomingParam]): The list of parameters to set
radio/app/controllers/paramsController.py:190
- The return type documentation is outdated. The function now returns a
Responsedictionary, not a boolean.
bool: True if all parameters were set, False if any failed
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.

Uh oh!
There was an error while loading. Please reload this page.