[$250] Input lag and deletion issue in "Greater than" and "Less than" fields
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.56-3 Reproducible in staging?: Y Reproducible in production?: Y If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y If this was caught during regression testing, add the test name, ID and link from TestRail: N/A Email or phone of affected tester (no customers): [email protected] Issue reported by: Applause - Internal Team
Issue found when executing PR https://github.com/Expensify/App/pull/51202
Action Performed:
- Navigate to https://staging.new.expensify.com/
- Go to Search > Filter > Total
- In the Greater than field, try to type numbers quickly
- Enter a few numbers and then attempt to delete all of them by tapping and holding the backspace key
Expected Result:
When typing numbers quickly, the input should respond instantly, with no lag or delay. when holding down the backspace key, all characters should be deleted continuously without stopping until the field is empty
Actual Result:
Typing numbers quickly in the "Greater than" field causes noticeable input lag, with some characters being skipped. when holding down the backspace key to delete all characters, only a few are removed, and the deletion process stops, leaving some characters in the field.
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
- [ ] Android: Standalone
- [x] Android: HybridApp
- [ ] Android: mWeb Chrome
- [ ] iOS: Standalone
- [ ] iOS: HybridApp
- [ ] iOS: mWeb Safari
- [x] MacOS: Chrome / Safari
- [ ] MacOS: Desktop
Screenshots/Videos
Add any screenshot/video evidence
https://github.com/user-attachments/assets/5cfb4712-efe1-483e-a616-f6db7c076300
Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~021859064491105055020
- Upwork Job ID: 1859064491105055020
- Last Price Increase: 2024-11-20
- Automatic offers:
- rayane-djouah | Reviewer | 105000525
Issue Owner
Current Issue Owner: @Christinadobrzyn
Triggered auto assignment to @Christinadobrzyn (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.
We think that this bug might be related to #wave-control
This can be a regression from the linked pr tagging @s77rt
I'm not sure if it's a regression but I'm reverting that PR. We can re-test after the revert
Sounds good - @s77rt can you please keep us updated if we should restest this. Thanks!
@s77rt looks like https://github.com/Expensify/App/pull/51849 is merged, can you retest and let me know if this is resolved?
@Christinadobrzyn It's not clear how to test the hybrid app. Let's wait for the PR to hit staging and ask applause to retest
Sounds good - the PR is in staging so asking QA to test again - https://expensify.slack.com/archives/C9YU7BX5M/p1730873246313799
Monitoring QA review
bumping QA. https://expensify.slack.com/archives/C9YU7BX5M/p1731041562299329?thread_ts=1730873246.313799&cid=C9YU7BX5M
Hi @s77rt Just a follow-up that QA reported this is still happening.
I think we decided that issues with Hybrid would need to be internal right now. Unless you have access to test HybridApp issues?
https://github.com/user-attachments/assets/83a610fa-e6f3-4631-8ea3-baffe25c22b1
https://github.com/user-attachments/assets/7ac7ae9b-7c81-45f0-a161-0cec2d45e1fa
Right, this is Internal 👍
Awesome thanks for confirming @s77rt I'll check in with the team about this
Testing this, I can see the same thing happening in Safari.
Is this even a bug? I feel like this might not be worth fixing right now. @s77rt do you think this is important to fix? It doesn't seem like it.
https://github.com/user-attachments/assets/cf9ae045-29bd-42ff-a47c-6b3e3b0cf18f
I'm not able to reproduce the bug in Safari. The bug on the hybrid is worth investigation at least
Asking SWM if they might be able to investigate this. https://expensify.slack.com/archives/C04878MDF34/p1731651775392719
@Christinadobrzyn this issue was created 2 weeks ago. Are we close to a solution? Let's make sure we're treating this as a top priority. Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!
SWM is going to check schedules this week to see who has bandwidth this week to check this out.
Hi @Christinadobrzyn! Is it confirmed at this point that the issue is exclusive to HybridApp?
It seems like it is also reproducible on standalone NewDot app:
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y
Hi @Christinadobrzyn! Is it confirmed at this point that the issue is exclusive to HybridApp?
It seems like it is also reproducible on standalone NewDot app:
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y
A colleague from our team confirmed that this issue is exclusive to HybridApp. We'll prioritize it tomorrow morning
oh awesome! Thank you @mateuuszzzzz!
Hi! I have an update. I updated branches to be up to date. It seems like on the latest main branches this bug is still reproducible on pure NewDot app.
I suspect something might cause this regression to reappear, especially since we couldn’t reproduce it on the pure NewDot app yesterday. Since this is no longer a HybridApp issue, we could address it externally, but also someone from SWM should have time to handle this 👍
Job added to Upwork: https://www.upwork.com/jobs/~021859064491105055020
Triggered auto assignment to Contributor-plus team member for initial proposal review - @rayane-djouah (External)
Oh perfect! Thanks @mateuuszzzzz! Yes, let's move this external to free up your plate for other things.
@rayane-djouah please see the comment here in terms of a fix - not sure if we need to be extra observant of a regression for this.
Hi! I am Adam from SWM, an expert agency, and I'd like to work on this.
Update:
After investigating this issue for some time, I've found that it is connected to the keyboardType="decimal-pad" prop passed down to the React Native TextInput component. However, I was not able to pinpoint the root cause of this bug. After some testing, I can exclude issues related to React Native patches and the react-native-keyboard-controller library as the causes of this issue. This bug is complex and is directly connected to the React Native TextInput component, rather than any input components written within the app.
I see two possible approaches:
-
We can implement a workaround by using the
"number-pad"keyboard on Android and the"decimal-pad"keyboard on iOS to allow for decimal points. The'number-pad'and'decimal-pad'keyboards are very similar on Android, so no functionality would be lost. Unfortunately, this is a workaround and would not address the root cause of this issue. -
I can further investigate the issue to try and identify the root cause. After removing a considerable amount of code, the problem disappears, which suggests that it might be caused by certain interactions within the app—possibly events that remove focus from the keyboard. However, this will require more detailed investigation.
Please let me know which approach you think would be best moving forward.
📣 @rayane-djouah 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app!
Hi @289Adam289! Thanks for joining us - @rayane-djouah what do you think is best? Should we take this to the team to dicsuss
nudge @rayane-djouah for a review and thoughts - thanks!