-
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
fix: Task description is covered by the keyboard pop up #50544
Conversation
I am a little stuck on the iOS builds, will add later |
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.
@nkdengineer I have left some comments. Please have a look. Thanks.
src/pages/home/report/ReportActionCompose/ComposerWithSuggestions/ComposerWithSuggestions.tsx
Outdated
Show resolved
Hide resolved
return !isComposerCoveredUp; | ||
}, [isMenuVisible, modal, isFocused]); |
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.
Wouldn't removal of modal
from dependencies fail to trigger update of checkComposerVisibility
when isVisible
or willAlertModalBecomeVisible
change? I think we should keep it simple by reusing modal
itself.
return; | ||
} | ||
isVisibleRef.current = !!modalArg.isVisible; | ||
willAlertModalBecomeVisibleRef.current = !!modalArg.willAlertModalBecomeVisible; |
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.
Why don't we use the pattern of useState
as used here? Using useRef
would not help in re-render which we may want to do with the change in modal
.
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.
@rojiphil I checked this pattern but not sure why the perf-test still fails when I use this.
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.
I checked this pattern but not sure why the perf-test still fails when I use this.
@nkdengineer Can you please merge main again and check? A recent PR was merged about 6 hours ago to update the npm
and node
version which could be causing this.
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.
A recent PR was merged about 6 hours ago to update the npm and node version which could be causing this.
@rojiphil It happened when we started the PR.
I merged the latest main.
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.
It happened when we started the PR.
@nkdengineer Yeah. That's right. Looks like the rendering is happening quite often and we need to avoid unnecessary renders.
Do you think the following can help here?
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.
Ideally, we would want the fix for the performance issue. But if we want to merge, we may not want to merge with the performance issue. Instead, it may be better to revert the migration changes of withOnyx
to useOnyx
. I think this will help resolve the performance
issue although this will bring up the lint
issue. But this may be acceptable as we would have fixed the issue impacting the CRITICAL flow as mentioned here.
I will let @lakchote weigh in here and advice on the way ahead.
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.
We for sure want to fix the performance issue.
Instead, it may be better to revert the migration changes of withOnyx to useOnyx.
Let's do that if that fixes the issue. But it doesn't look like it does (ebb488e).
When you merged main
(a1803bc) tests did pass @nkdengineer.
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.
But it doesn't look like it does (ebb488e).
This commit has changes related to migration from withOnyx
to useOnyx
. That's why it gives a problem.
When you merged
main
(a1803bc) tests did pass @nkdengineer.
That's correct but that commit still has issues as mentioned in #50544 (comment) and is incomplete with respect to migration.
Instead, it may be better to revert the migration changes of withOnyx to useOnyx.
Let's do that if that fixes the issue.
@lakchote Sure. Let's do this.
@nkdengineer Let us include only the fix required for this issue and revert the changes to bring back the original withOnyx
implementation. Would this not work?
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.
Thanks for the details @rojiphil. I misinterpreted what you were saying about revert the migration changes of withOnyx to useOnyx.
.
Let's do it! @nkdengineer if you could do it in a timely manner, it'd be greatly appreciated.
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.
I misinterpreted what you were saying about
revert the migration changes of withOnyx to useOnyx.
.
Oh! Got it. Wrong sentence formation. My bad
Ah! Nice. Thanks @nkdengineer for the changes. |
@rojiphil The test is fixed. Sometimes it's out of the limited time of the test. |
@nkdengineer The keyboard shows up for android native platform. Here is a test video demonstrating this. 50346-android-issue.mp4 |
Reviewer Checklist
Screenshots/VideosiOS: mWeb Safari50346-mweb-safari-001.mp4Android: Native50346-android-native-002.mp4Android: mWeb Chrome50346-mweb-chrome-001.mp4iOS: Native50346-ios-native-001.mp4MacOS: Chrome / Safari50346-web-safari-001.mp4MacOS: Desktop50346-desktop-001.mp4 |
@rojiphil Because we can reuse this variable and don't need to add another Onyx data. |
@rojiphil I updated. |
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.
@nkdengineer Thanks for the changes. But I have few NAB observations as below:
a. Please update the following test steps as that would help QA understand better:
Note: The tests are applicable only for mWeb and native platforms.
- Sign up with a new account
- Complete onboarding step using
Track and budget expenses
- Navigate to Concierge DM if needed
- Tap on
Track an expense
task to navigate to the task report - Verify that the keyboard is not displayed
b. The test videos for iOS native and mWeb platforms are missing. Please include them.
@lakchote The changes LGTM and tests well too. This will fix the issue at hand.
Over to you for review. Thanks.
The lint
issue would remain as mentioned before due to the migration issue of withOnyx
. Maybe we can create another issue and invite proposals to address this.
@lakchote looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
Not an emergency, there is a lint test failing because we're not using Given the critical impact of the issue, we need to get this fix merged. I've created another issue (#51562) so that we can use |
✋ 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/lakchote in version: 9.0.55-0 🚀
|
🚀 Deployed to production by https://github.com/Beamanator in version: 9.0.55-10 🚀
|
Details
Fixed Issues
$ #50346
PROPOSAL: #50346 (comment)
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 methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.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
Android: Native
android.mov
Android: mWeb Chrome
android-mweb.mov
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop