Closed IuliiaHerets closed 4 days ago
Triggered auto assignment to @mjasikowski (DeployBlockerCash
), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.
Triggered auto assignment to @muttmuure (Bug
), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.
:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
on it
per conversation with @mountiny, demoting this one since it's minor UI issue which can be worked around (the user can tap on the composer field to bring the keyboard back up) and this occurs on a single platform only
Job added to Upwork: https://www.upwork.com/jobs/~021831977574854649069
Triggered auto assignment to Contributor-plus team member for initial proposal review - @fedirjh (External
)
Upwork job price has been updated to $125
Modify the view lifecycle methods to handle layout recalculations. Listen to keyboard notifications (UIKeyboardWillShowNotification, UIKeyboardWillHideNotification) to adjust the composer’s frame.
📣 @ryalinikhil! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>
Contributor details Your Expensify account email: sameernikhil123@gmail.com Upwork Profile Link: https://www.upwork.com/freelancers/~01af3c66ed0d7d2779?mp
✅ Contributor details stored successfully. Thank you for contributing to Expensify!
@mjasikowski, @fedirjh, @muttmuure Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
@ryalinikhil thank you for your submission! Please make you're familiar with our contributor guidelines and submit your proposals with the the proposal template
Update: Awaiting on proposals.
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
Still waiting for proposals
@mjasikowski, @fedirjh, @muttmuure Whoops! This issue is 2 days overdue. Let's get this updated quick!
Update: Awaiting on proposals.
@mjasikowski, @fedirjh, @muttmuure Whoops! This issue is 2 days overdue. Let's get this updated quick!
Same Update
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
@mjasikowski @fedirjh @muttmuure this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!
Hi, I've got forbidden error when sending invoice.
Asking in slack:
https://expensify.slack.com/archives/C01GTK53T8Q/p1727076209941879
Please inform me if anyone knows how to solve it.
Checking if still reproducable
Tester is still able to reproduce.
https://github.com/user-attachments/assets/278d526a-6417-4cf6-8cd9-17cf847ccff4
@mjasikowski, @fedirjh, @muttmuure Whoops! This issue is 2 days overdue. Let's get this updated quick!
Still waiting for proposals
Upwork job price has been updated to $250
@mjasikowski, @fedirjh, @muttmuure Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
The keyboard avoiding padding area is visible even when the keyboard is closed.
The KeyboardAvoidingView
component is not aware of the keyboard changes while it is unmounted after navigating two screens away.
Here’s what happens:
KeyboardAvoidingView
component subscribes to the keyboard events in componentDidMount
.The keyboard opens.
The component receives the event and updates the padding size.
The component unsubscribes from the keyboard events when it is unmounted after navigating two screens away.
The keyboard closes.
The component doesn’t receive the event because it unsubscribed from it in step 4.
When navigating back, the component is remounted, but the padding size remains unchanged as if the keyboard is still open.
There is a related upstream issue https://github.com/facebook/react-native/issues/36287 where the padding area should show but doesn’t, which is the opposite of our issue.
Inspired by PR https://github.com/facebook/react-native/pull/44652, we could add a patch to insert the code below before line 184 of node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js
.
if (!Keyboard.isVisible()) {
this._setBottom(0);
}
N/A
@mjasikowski, @fedirjh, @muttmuure Still overdue 6 days?! Let's take care of this!
@fedirjh are you available to review this please?
Hi @mjasikowski! It's on my list of tasks for today.
@QichenZhu Can you please elaborate more on the root cause specifically this point?
- The component doesn’t receive the event.
Also, can you replicate this bug in a separate snack?
There is a related upstream https://github.com/facebook/react-native/issues/36287 and a https://github.com/facebook/react-native/pull/44652, but neither has been processed for a long time.
I have applied the patch from that PR, and the bug still persists on our App. Are we sure there aren't any changes required on our side?
@fedirjh Thanks for the review and testing!
Can you please elaborate more on the root cause specifically this point?
The component doesn’t receive the event.
The KeyboardAvoidingView
component unsubscribes from the keyboardWillChangeFrame
event in the componentWillUnmount
hook, so it no longer receives the event.
Also, can you replicate this bug in a separate snack?
I'm trying to create a minimal repro in Snack.
I have applied the patch from that PR, and the bug still persists on our App. Are we sure there aren't any changes required on our side?
https://github.com/facebook/react-native/issues/36287 is related but not the same as our issue, it's actually the opposite (the padding area should show but doesn't). My proposed solution is inspired by but different from the PR https://github.com/facebook/react-native/pull/44652.
@fedirjh Here is a minimal reproducer:
https://github.com/QichenZhu/reproducer-react-native-keyboard-avoiding-view
cd ReproducerApp
yarn
bundle install
cd ios
RCT_NEW_ARCH_ENABLED=1 pod install
cd ..
yarn ios
Click Show Keyboard, and ensure the soft keyboard is visible. If not, enable it in the simulator menu: I/O -> Keyboard -> Toggle Software Keyboard.
Click Freeze, Hide Keyboard, Unfreeze buttons in sequence.
Expected result: No blank area under the grey section.
Actual result: A blank area appears under the grey section.
https://github.com/user-attachments/assets/d6765f8b-e297-4fef-ad4d-c443843663e2
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
@mjasikowski @fedirjh @muttmuure this issue is now 4 weeks old, please consider:
Thanks!
@fedirjh over to you again
@mjasikowski, @fedirjh, @muttmuure Huh... This is 4 days overdue. Who can take care of this?
@QichenZhu Your proposal makes sense to me. Can you create an upstream PR to fix it?
@fedirjh Sure thing!
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
@mjasikowski, @fedirjh, @muttmuure Eep! 4 days overdue now. Issues have feelings too...
Not overdue.
@QichenZhu Have you made any progress with the upstream fix? Did you open a pull request for us to follow along?
@fedirjh I opened an upstream issue https://github.com/facebook/react-native/issues/46942 and a PR https://github.com/facebook/react-native/pull/46952. The PR has been approved but not yet merged.
Update: The upstream PR https://github.com/facebook/react-native/pull/46952 was merged.
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: 9.0.30-7 Reproducible in staging?: Y Reproducible in production?: N Issue was found when executing this PR: https://github.com/Expensify/App/pull/48014 Email or phone of affected tester (no customers): applausetester+kh010901@applause.expensifail.com Issue reported by: Applause Internal Team
Action Performed:
Precondition:
Expected Result:
There will not be a blank area under the composer if keyboard is not up.
Actual Result:
There is a blank area under the composer when keyboard is not up after returning from workspace page.
Workaround:
Unknown
Platforms:
Screenshots/Videos
https://github.com/user-attachments/assets/46c266b9-7430-47b7-9c46-087a1f54f797
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @muttmuure