-
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
[HOLD for payment 2024-03-11] [HOLD for payment 2024-02-19] [$500] mWeb - Workspace - "Next" button's placement has a delay after the keypad disappears #33546
Comments
Job added to Upwork: https://www.upwork.com/jobs/~01241daac204a80575 |
Triggered auto assignment to @bfitzexpensify ( |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @shubham1206agra ( |
When adding a new member, the button lags whenever the keypad is opened or closed, regardless of whether a checkbox is selected. |
📣 @maazakn! 📣
|
Contributor details ProposalPlease re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem?Mismatch in timing of the keyboard's retraction animation and button's position update A similar behaviour can be observed in the following routes:
What changes do you think we should make in order to solve the problem?QuickSet
Long TermIncorporate the KeyboardAvoidingView component, along with appropriate padding and animation configurations, to automatically adjust the layout when the keyboard is visible. Disclaimer - this is a trial and error approach, mostly due to my limited familiarity with the codebase now. What alternative solutions did you explore? (Optional)
|
✅ Contributor details stored successfully. Thank you for contributing to Expensify! |
Proposal in #33546 (comment) ready for review when you get a moment @shubham1206agra |
ProposalPlease re-state the problem that we are trying to solve in this issue.mWeb - Workspace - "Next" button's placement has a delay after the keypad disappears What is the root cause of that problem?The What changes do you think we should make in order to solve the problem?This issue also happen on a lot of page has const [windowHeight, setWindowHeight] = useState(height);
const handleFocusIn = (event: FocusEvent) => {
const targetElement = event.target as HTMLElement;
if (targetElement.tagName === "INPUT" || targetElement.tagName === "TEXTAREA") {
setWindowHeight(cachedViewportHeight);
}
}
useEffect(() => {
if (!Browser.isMobileSafari()) return;
window.addEventListener('focusin', handleFocusIn)
return () => {
window.removeEventListener('focusin', handleFocusIn)
}
},[]);
const handleFocusOut = (event: FocusEvent) => {
const targetElement = event.target as HTMLElement;
if (targetElement.tagName === "INPUT" || targetElement.tagName === "TEXTAREA") {
setWindowHeight(initalViewportHeight);
}
}
useEffect(() => {
if (!Browser.isMobileSafari()) return;
window.addEventListener('focusout', handleFocusOut)
return () => {
window.removeEventListener('focusout', handleFocusOut)
}
},[])
useEffect(() => {
// check is mobile browser and portrait mode
if (Browser.isMobileSafari() && height > windowWidth) {
if (height < initalViewportHeight) {
cachedViewportHeight = height;
}
}
setWindowHeight(height);
}, [windowWidth, height]) We also can update condition useWindowDimensions at const {windowHeight, isSmallScreenWidth} = useWindowDimensions({shouldHandleKeyboardOpenHeight: shouldEnableMaxHeight && Browser.isMobileSafari()}); full implementation at this commit POC: After fixScreen.Recording.2023-12-26.at.10.54.29.movBefore fixScreen.Recording.2023-12-26.at.08.31.04.movWhat alternative solutions did you explore? (Optional) |
@suneox The proposal looks promising (I just need to test it on few different cases). I have some questions about it Why can't we do the fix upstream in this case? |
We should fix it inside the app implementation because we have a specific use case. Currently, this hook is used on a lot of pages so we don't have the context to make the assumption I have cleanup the code lint for my change at this commit could you please check-out it to verify? |
@bfitzexpensify, @shubham1206agra Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Thoughts on #33546 (comment) @shubham1206agra? |
Sorry @bfitzexpensify. I haven't tested this yet. I will test this today. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@bfitzexpensify, @shubham1206agra Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Any update here @shubham1206agra? |
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.46-2 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2024-03-11. 🎊 For reference, here are some details about the assignees on this issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
Switching this to Daily so that I'm on top of payment |
Payment due Monday |
@suneox, @techievivek, @bfitzexpensify, @shubham1206agra Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Payment complete for @suneox @shubham1206agra, I had to re-issue your contract, that's been sent now. Also, a bump on the BZ checklist - thanks! |
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
@bfitzexpensify Can you hold my payment temporarily as per https://expensify.slack.com/archives/C02NK2DQWUX/p1710150138788529? |
Sure - flicking this to Weekly. @shubham1206agra just bump the issue when you're ready for payment to be processed. |
@bfitzexpensify I have discussed this internally. You may close this issue as I am keeping track of payment internally and will ask to pay once the issue is resolved. Just write in the payment summary that I have not been paid yet. |
Sure thing. Payment summary: @suneox due $500 for contributor work (paid via Upwork ✅) |
@bfitzexpensify Can you process payment here now? |
I think the old offer might have expired - just sent a new one to you @shubham1206agra |
Accepted |
Thanks! Paid out, closing this out. |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: 1.4.16.3
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:
Expected Result:
There shouldn't be a delay.
Actual Result:
"Next" button's placement has a delay after the keypad disappears.
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6324864_1703334991241.QBAP2569.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @shubham1206agraThe text was updated successfully, but these errors were encountered: