ENG-3509: Fix custom field labels missing from privacy request payload#7970
Merged
gilluminate merged 5 commits intomainfrom Apr 20, 2026
Merged
ENG-3509: Fix custom field labels missing from privacy request payload#7970gilluminate merged 5 commits intomainfrom
gilluminate merged 5 commits intomainfrom
Conversation
Add hidden Form.Item for label property so Ant Design's form store includes it in submission. The Ant migration dropped labels because only .value had a bound Form.Item. Also add Cypress assertions on the request body to catch this regression. Fixes ENG-3509 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
jpople
approved these changes
Apr 20, 2026
Contributor
jpople
left a comment
There was a problem hiding this comment.
Tested locally, confirmed custom fields submit properly.
…ustom fields The Formik-to-Ant migration carried forward a filter bug that excluded plain text custom fields from validation rule generation. The filter `"field_type" in fieldInfo && fieldInfo.field_type !== "location"` only passed fields with an explicit field_type, silently dropping fields like required_field and hidden_field. Fixes the filter, adds proper type for select fields, renders select-type custom fields as dropdowns, adds location field validation rules, and adds unit tests for the helpers. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
gilluminate
added a commit
that referenced
this pull request
Apr 20, 2026
#7970) Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Ticket ENG-3509
Description Of Changes
The Ant Design form migration (ENG-3172) had two issues with the privacy request submission form:
Missing custom field labels -- Only
.valuehad a boundForm.Item, so Ant Design's form store didn't include.labelin the submitted data. The backendCustomPrivacyRequestFieldschema requires bothlabelandvalue, resulting in a 422.Missing required field indicators and validation -- A filter bug in
generateFormRulesFromActionexcluded plain text custom fields from rule generation. The filter"field_type" in fieldInfo && fieldInfo.field_type !== "location"only passed fields with an explicitfield_type, silently dropping fields likerequired_fieldandhidden_fieldthat have nofield_type. This meant required asterisks were missing and validation didn't fire.Code Changes
Form.Itemfor each custom field'slabelproperty inCustomFieldscomponentgenerateFormRulesFromActionto include fields withoutfield_typerequiredprop on custom fieldForm.Itemto restore asterisks for hidden+required fieldsSelectCustomPrivacyRequestFieldtype and render select-type custom fields as<Select>dropdownsLocationSelectFielddata-testidtoCopyPrivacyRequestLinkFormemail inputgenerateFormRulesFromActionandfindActionFromPolicyKey(15 tests)Steps to Confirm
/api/v1/privacy-request/authenticated-- verify each custom field entry includes bothlabelandvaluePre-Merge Checklist
CHANGELOG.mdupdatedmaindowngrade()migration is correct and works