[release-1.9] fix(orchestrator): orchestrator 1.9 backport#2876
[release-1.9] fix(orchestrator): orchestrator 1.9 backport#2876karthikjeeyar merged 1 commit intoworkspace/orchestratorfrom
Conversation
* fix(orchestrator): preserve nested extraErrors and async validation errors (#2818) * fix(orchestrator-form): Review step with empty form data (#2834) Empty pruned form data (e.g. display-only ActiveText) made generateReviewTableData return undefined and NestedReviewTable throw. Return {} from generateReviewTableData and guard NestedReviewTable. Add regression test and changeset. Made-with: Cursor * fix(orchestrator-form-react): fix ui styling issues in workflow results page (#2808) --------- Co-authored-by: Karthik Jeeyar <karthik@redhat.com>
Code Review by Qodo
1. Invalid types import path
|
|
Review Summary by QodoFix orchestrator 1.9 backport: nested errors, empty forms, and UI styling
WalkthroughsDescription• Fix nested extraErrors and async validation errors in multi-step forms
- safeSet now correctly handles deep paths (e.g., step.x.y) by recursing on remainder instead of
truncating
- useGetExtraErrors runs async callbacks sequentially to prevent lost updates on shared error object
- toRootExtraErrors wraps active step errors for RJSF root schema compatibility
• Fix Review step crash with empty form data
- generateReviewTableData returns {} instead of undefined for empty data
- NestedReviewTable guards against undefined data parameter
• Fix UI styling issues in workflow results page
- Update Alert/AlertTitle imports from @material-ui/lab for consistency
- Fix Divider sx prop specificity with && selector for proper margin application
- Add flexbox layout to WorkflowDescriptionModal title for better alignment
Diagramflowchart LR
A["Multi-step Form Validation"] --> B["safeSet Deep Paths"]
A --> C["Sequential Async Callbacks"]
A --> D["toRootExtraErrors Wrapper"]
B --> E["Preserve Nested Field Errors"]
C --> E
D --> E
F["Review Step"] --> G["generateReviewTableData"]
G --> H["Handle Empty Form Data"]
H --> I["NestedReviewTable Guard"]
J["UI Components"] --> K["Import Updates"]
J --> L["Divider Styling Fix"]
K --> M["Consistent Material-UI Usage"]
L --> M
File Changes1. workspaces/orchestrator/plugins/orchestrator-form-widgets/src/utils/safeSet.ts
|



Cherrypick of below PR's
fix(orchestrator): preserve nested extraErrors and async validation errors (fix(orchestrator): preserve nested extraErrors and async validation errors #2818)
fix(orchestrator-form): Review step with empty form data (fix(orchestrator-form): Review step crash when form data is empty #2834)
fix(orchestrator-form-react): fix ui styling issues in workflow results page (fix(orchestrator-form-react): fix ui styling issues in workflow results page #2808)
Hey, I just made a Pull Request!
✔️ Checklist