fix(orchestrator-form): Review step crash when form data is empty#2834
Conversation
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
Code Review by Qodo
1. Prop type/usage mismatch
|
Changed Packages
|
|
Review Summary by QodoFix Review step crash with empty form data
WalkthroughsDescription• Prevent Review step crash when form data is empty • Return empty object instead of undefined from generateReviewTableData • Guard NestedReviewTable against undefined data with fallback • Add regression test for display-only ActiveText scenarios Diagramflowchart LR
A["Empty Form Data<br/>e.g. display-only ActiveText"] -->|"processSchema returns undefined"| B["generateReviewTableData"]
B -->|"Before: undefined"| C["NestedReviewTable crashes"]
B -->|"After: empty object"| D["NestedReviewTable handles safely"]
D -->|"safeData = data ?? {}"| E["Review step renders"]
File Changes1. workspaces/orchestrator/plugins/orchestrator-form-react/src/utils/generateReviewTableData.ts
|
…loper#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): 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>
* 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>
* 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: Lokananda Prabhu <102503482+lokanandaprabhu@users.noreply.github.com>



Hey, I just made a Pull Request!
PR description
Problem
On workflow execute, moving to the Review step could throw when formData was effectively empty—for example input schemas with only display-only ActiveText (no onChange, so nothing is submitted) or when every visible value is filtered out for review (e.g.
ui:hidden).generateReviewTableDatacould return undefined, andNestedReviewTablecalled Object.entries on that value.Solution
generateReviewTableData: always return a root payload object; use {} when the processed root is missing.NestedReviewTable: treat missing data as {} so the table never receives undefined.-----BEFORE-----
----AFTER-----
Use below schema for testing
✔️ Checklist