fix long text cut in iOS single line input - #14273
Conversation
|
Hey! I see that you made changes to our Form component. Make sure to update the docs in FORMS.md accordingly. Cheers! |
|
@yuwenmemon @mollfpr One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Reviewer Checklist
Screenshots/VideosWeb14273.Web-Safari.mov14273.Web-Chrome.movMobile Web - Chrome14273.mWeb-Chrome.movMobile Web - Safari14273.mWeb-Safari.movDesktop14273.Desktop.moviOS14273.iOS.movAndroid14273.Android.mov |
Co-authored-by: Luthfi <luthfi.ufi14@gmail.com>
|
So far so good! I'm surprised that my testing on the native app with increased font size doesn't break any input. 👍 Just need to complete the recordings and test one more time against the input refactoring PR. |
Maybe thanks to #10312 |
|
There's a side effect with removing the
cc @yuwenmemon |
yuwenmemon
left a comment
There was a problem hiding this comment.
One small comment (about a comment!)
| this.props.secureTextEntry && styles.secureInput, | ||
| !this.props.multiline && {height: this.state.height}, | ||
| !this.props.multiline && {height: this.state.height, lineHeight: undefined}, |
There was a problem hiding this comment.
I think lineHeight: undefined would look a bit odd to anyone coming across it randomly - can we add a comment explaining why it's here and what it's doing?
There was a problem hiding this comment.
+ // Remove `lineHeight` in single line input to fix long text cut issue on iOSHow about this?
There was a problem hiding this comment.
+ // Explicitly remove `lineHeight` from single line inputs so that long text doesn't disappear once it exceeds the input space (See https://github.com/Expensify/App/issues/13802)How about that?
|
Thanks! |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
Performance Comparison Report 📊Significant Changes To DurationThere are no entries Meaningless Changes To DurationShow entries
Show details
|
|
🚀 Deployed to staging by @yuwenmemon in version: 1.2.55-0 🚀
|
|
🚀 Deployed to production by @AndrewGable in version: 1.2.55-0 🚀
|
|
|
||
| // Explicitly remove `lineHeight` from single line inputs so that long text doesn't disappear | ||
| // once it exceeds the input space (See https://github.com/Expensify/App/issues/13802) | ||
| !this.props.multiline && {height: this.state.height, lineHeight: undefined}, |
|
|
||
| // Explicitly remove `lineHeight` from single line inputs so that long text doesn't disappear | ||
| // once it exceeds the input space (See https://github.com/Expensify/App/issues/13802) | ||
| !this.props.multiline && {height: this.state.height, lineHeight: undefined}, |
There was a problem hiding this comment.
When the lineHeight is set to 'undefined,' there is a noticeable shift in the input causing it to move by a pixel or two when emoji is added to the input.
Issue: #26735
Platform: Web/Safari


Details
Fixed Issues
$ #13802 (comment)
PROPOSAL: #13802
Tests
Miroslav.stevanovic12345's Workspacelongnametest test....should be added at the end.Offline tests
Miroslav.stevanovic12345's Workspacelongnametest test....should be added at the end.QA Steps
Miroslav.stevanovic12345's Workspacelongnametest test....should be added at the end.PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)Avataris modified, I verified thatAvataris working as expected in all cases)ScrollViewcomponent to make it scrollable when more elements are added to the page.Screenshots/Videos
Web
web.mov
Mobile Web - Chrome
mchrome.mp4
Mobile Web - Safari
msafari.mp4
Desktop
desktop.mov
iOS
ios.mp4
While testing on iOS, I noticed that Save button blinks when open & close picker while showing keyboard. This is not related to this issue and can be handled in a separate issue.
Android
android.mp4