-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve new form
validation
#28821
Improve new form
validation
#28821
Conversation
Hey! I see that you made changes to our Form component. Make sure to update the docs in FORMS.md accordingly. Cheers! |
@kowczarz @luacmartins is this a regression or new PR? Does this require a C+ Review? |
@Santhosh-Sellavel yes, we spotted an issue with validation after previous changes. The second question is to @luacmartins |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I see that most of the logic is identical to what we currently do for Form.js
@luacmartins should we re-assign a C+ from #27025, or current C+ can proceed with the review? |
@Santhosh-Sellavel are you able to review this one today or @thesahindia since you reviewed the original PR too |
Sorry, I can't get to it today! |
Np! Gonna reassign to @situchan to get this merged and unblock the refactor PRs. |
Please fix conflict |
…lidation # Conflicts: # src/components/Form/FormProvider.js
@situchan I was already after hours, but now it's fixed |
@situchan are you available to review this PR today? |
reviewing now |
I can't reproduce it iOS screen recordingSimulator.Screen.Recording.-.iPhone.15.Pro.-.2023-10-13.at.12.05.35_H.265.mp4 |
@situchan Done |
Reviewer Checklist
Screenshots/VideosWebweb.movMobile Web - Chromemchrome.movMobile Web - Safarimsafari.movDesktopdesktop.moviOSios.movAndroidandroid.mov |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/luacmartins in version: 1.3.84-0 🚀
|
Performance Comparison Report 📊Significant Changes To Duration
Show details
Meaningless Changes To DurationShow entries
Show details
|
@Expensify/mobile-deployers 📣 Please look into this performance regression as it's a deploy blocker. |
we're ignoring e2e tests |
🚀 Deployed to production by https://github.com/francoisl in version: 1.3.84-10 🚀
|
🚀 Deployed to production by https://github.com/francoisl in version: 1.3.84-10 🚀
|
🚀 Deployed to staging by https://github.com/luacmartins in version: 1.3.85-0 🚀
|
🚀 Deployed to production by https://github.com/francoisl in version: 1.3.85-4 🚀
|
Details
Fixed Issues
$ #25397
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Web
web_H.265.mp4
Mobile Web - Chrome
android.web_H.265.mp4
Mobile Web - Safari
ios.web_H.265.mp4
Desktop
desktop_H.265.mp4
iOS
ios.native_H.265.mp4
Android
android.native_H.265.mp4