Skip to content
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

Emoji Picker - Moving by arrow keys will eventually lose focus when reaching last row of emojis #2716

Closed
isagoico opened this issue May 6, 2021 · 11 comments
Assignees
Labels
Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor Improvement Item broken or needs improvement.

Comments

@isagoico
Copy link

isagoico commented May 6, 2021

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Expected result

Focus isn't lost even after reaching the last emoji on the list.

Actual result

After reaching the last emoji on the list, the focus is not visible anymore.

Action Performed

  1. Log in to expensify.cash
  2. Navigate to a conversation
  3. Click on the emoji icon
  4. Use the arrow keys to reach the bottom of the list

Platform

Web ✔️

Build: 1.0.36-0

Logs: https://stackoverflow.com/c/expensify/questions/4856

Notes/Images/Video

Bug5052011_20210503_160509.mp4

Expensify/Expensify Issue URL:

View all open jobs on Upwork


Reported while executing PR #2532 (comment)

@isagoico
Copy link
Author

isagoico commented May 9, 2021

Issue reproducible during today's KI retests

@jasperhuangg
Copy link
Contributor

jasperhuangg commented May 10, 2021

I am still looking into this, wasn't able to figure it out last week. There's a bizarre bug that might caused by React-Native, and may not be fixable on our end.

Essentially, the bug is caused by how a single call to FlatList::scrollToOffset triggers multiple onScroll events with the incorrect offsets. We can't throttle these calls since we also rely on the onScroll events to handle actual scroll events with a trackpad/mouse.

2021-05-10_12-18-45.mp4

@jasperhuangg jasperhuangg added Engineering Improvement Item broken or needs improvement. labels May 10, 2021
@jasperhuangg
Copy link
Contributor

I looked into it some more yesterday with @robertjchen and wasn't able to discern why the aforementioned bug was happening. I thought it may be an actual bug with React-Native, so I opened an issue in the React-Native repo:
facebook/react-native#31501

I also made a self-contained sandbox where you can reliably reproduce the bug:
https://codesandbox.io/s/flatlist-scrolltooffset-triggers-multiple-onscroll-events-with-incorrect-values-96q1v?file=/README.md

@jasperhuangg jasperhuangg removed their assignment May 31, 2021
@iwiznia iwiznia added Weekly KSv2 and removed Daily KSv2 labels May 31, 2021
@iwiznia
Copy link
Contributor

iwiznia commented Jun 25, 2021

Not sure why this was not labeled as external, doing that now.

@iwiznia iwiznia added the External Added to denote the issue can be worked on by a contributor label Jun 25, 2021
@MelvinBot
Copy link

Triggered auto assignment to @kevinksullivan (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

@MelvinBot MelvinBot added Daily KSv2 and removed Weekly KSv2 labels Jun 25, 2021
@parasharrajat
Copy link
Member

I think this issue needs to be retested as I made some changes recently to scroll Listener which could have affected it.

@iwiznia
Copy link
Contributor

iwiznia commented Jun 25, 2021

ok, @isagoico can you retest please to make sure it's still reproducible?

@MelvinBot
Copy link

@kevinksullivan Eep! 4 days overdue now. Issues have feelings too...

@MelvinBot
Copy link

@kevinksullivan Still overdue 6 days?! Let's take care of this!

@MelvinBot
Copy link

@kevinksullivan 10 days overdue. I'm getting more depressed than Marvin.

@kevinksullivan
Copy link
Contributor

Closing since we haven't seen follow up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor Improvement Item broken or needs improvement.
Projects
None yet
Development

No branches or pull requests

7 participants