-
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
[$250] Android - Reports - Bottom part of expenses list is cutted off after renaming a saved search #56156
Comments
Triggered auto assignment to @dylanexpensify ( |
@dylanexpensify Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Job added to Upwork: https://www.upwork.com/jobs/~021886841740639100643 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @dukenv0307 ( |
@IuliiaHerets I can't reproduce on Android standalone, can you please try it on another device? |
@dukenv0307 Two testers can still repro this issue. One of them noticed that the issue can be repro when the saved search list is a little bit scrollable https://github.com/user-attachments/assets/19937513-93c1-4319-82a0-59bea159429c |
Looks like we keep this going |
@dylanexpensify, @dukenv0307 Huh... This is 4 days overdue. Who can take care of this? |
Still waiting for proposal... |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Same |
ProposalPlease re-state the problem that we are trying to solve in this issue.Reports screen is cut off after renaming a saved search. What is the root cause of that problem?There’s a short timing gap after When it initializes, the keyboard is open, so it sets const [initialHeight] = useState(() => -reanimated.height.value);
const [initialProgress] = useState(() => reanimated.progress.value);
const heightWhenOpened = useSharedValue(initialHeight);
const height = useSharedValue(initialHeight);
const progress = useSharedValue(initialProgress); The keyboard then closes, and only after that onMove: (e) => {
"worklet";
progress.value = e.progress;
height.value = e.height;
}, onEnd: (e) => {
"worklet";
isClosed.value = e.height === 0;
height.value = e.height;
progress.value = e.progress;
},
const relativeKeyboardHeight = useCallback(() => {
"worklet";
const keyboardY =
screenHeight - keyboard.heightWhenOpened.value - keyboardVerticalOffset;
return Math.max(frame.value.y + frame.value.height - keyboardY, 0);
}, [screenHeight, keyboardVerticalOffset]); ( const bottom = interpolate(
keyboard.progress.value,
[0, 1],
[0, relativeKeyboardHeight()],
); ( What changes do you think we should make in order to solve the problem?Initialize values in an effect right before calling const heightWhenOpened = useSharedValue(0);
const height = useSharedValue(0);
const progress = useSharedValue(0);
const isClosed = useSharedValue(true);
useEffect(() => {
const initialHeight = -reanimated.height.value;
const initialProgress = reanimated.progress.value;
heightWhenOpened.value = initialHeight;
height.value = initialHeight;
progress.value = initialProgress;
isClosed.value = initialProgress === 0;
}, []); What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?This needs manual testing. What alternative solutions did you explore? (Optional)Initialize values as the keyboard is closed. This approach is not recommended as it will bring back another issue: kirillzyusko/react-native-keyboard-controller#398. However, the issue only affects Android 10 or lower which Google no longer supports so it's not a big problem. const heightWhenOpened = useSharedValue(0);
const height = useSharedValue(0);
const progress = useSharedValue(0);
const isClosed = useSharedValue(true); |
Thanks for your proposal @QichenZhu
I don't understand this point. Can you please elaborate on the RCA with a detailed flow, reference and the value at each stage? |
Thanks for your reivew. @dukenv0307
Proposal updated.
I tested with production APKs built using
|
@dylanexpensify @dukenv0307 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! |
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: 9.0.93-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Yes, reproducible on both
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause Internal Team
Device used: Motorola MotoG60 - Android 12
App Component: Search
Action Performed:
Expected Result:
Expenses list should be fully visible after a saved search is rename and the filters are cleared.
Actual Result:
Bottom part of expenses list on "Reports" gets cutted of after renaming a saved search and tapping "Cancel" to clear all the filters. This issue reproduces when expenses list becomes scrollable and the user has between seven and nine expenses on the list.
Workaround:
Unknown
Platforms:
Screenshots/Videos
Bug6729485_1738322600127.Cutted.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @dukenv0307The text was updated successfully, but these errors were encountered: