TheWidlarzGroup / rn-emoji-keyboard

Super performant, lightweight, fully customizable emoji picker 🚀
https://thewidlarzgroup.github.io/rn-emoji-keyboard/
MIT License
335 stars 63 forks source link

Unable to scroll & select emojis in some categories. #138

Closed crumb1e closed 1 year ago

crumb1e commented 1 year ago

Describe the bug Some of the categories are un-scrollable & unable to pick the top few rows of these categories. Can expand modal to cause the category to become scrollable.

To Reproduce I haven't done any tweaking besides setting a theme. So not many steps to reproduce apart from:

  1. install package
  2. use package

Expected behavior I'd expect to be able to scroll each category correctly

Screenshots emoji-menu-bug-2

This happens on both iOS and Android. Using Expo 48.

mateki0 commented 1 year ago

Hi, thanks for reporting. Can you add a minimal reproducible code here - https://snack.expo.dev/? I've tried to reproduce it by myself in 2 applications and I couldn't so it may be something specific to your project

yefim commented 1 year ago

I see this too. The first 2 default categories work and so does the last category. I can repro it in my app but not a basic template. It's definitely something in my app.

yefim commented 1 year ago

I'm trying to narrow it down and looks like the react emoji picker bugs out whenever a react-reanimated animation plays :(

Okelm commented 1 year ago

@yefim thanks for co-reporting, it seems that we might need to look into prioritizing reanimated integration in our roadmap

@crumb1e have you been able to find a solution in your case? Happy to look into it more carefully though we need more info first

crumb1e commented 1 year ago

@yefim thanks for co-reporting, it seems that we might need to look into prioritizing reanimated integration in our roadmap

@crumb1e have you been able to find a solution in your case? Happy to look into it more carefully though we need more info first

@Okelm Apologies been super busy, will see if I can get some more info tomorrow!

yefim commented 1 year ago

Hmmm I'm able to get it working with some react-native-reanimated animations but not others :/ this is very peculiar. See this working as expected Snack: https://snack.expo.dev/@yefim/emoji-picker-reanimated

yefim commented 1 year ago

It's bizarre that the first 2 and last categories work as expected.

When I expand the 3rd category, I am able to scroll the bottom half of the category (same as @crumb1e's video). This makes it seem as if there is something on top of the top half of the ScrollView but I cannot find anything there with the inspector. Only grabbing and scrolling the bottom half of the expanded category works. So bizarre

yefim commented 1 year ago

AHA! I have a Snack that can reproduce the issue! https://snack.expo.dev/@yefim/rn-emoji-keyboard-reaniamted-expo48?sdkVersion=48.0.0

yefim commented 1 year ago

The working Snack is using Expo 47, react-native-reanimated 2.12.0.

The broken one is using Expo 48, react-native-reanimated 2.14.4.

Apologies for all the comment spam!

yefim commented 1 year ago

Any ideas on a workaround? I can try downgrading our reanimated package

Okelm commented 1 year ago

Havent got a chance to reproduce and compare, any kind of investigation like this would be appreciated. Go ahead @yefim !

yefim commented 1 year ago

Did you check out the Snack I linked with the reproduction? https://github.com/TheWidlarzGroup/rn-emoji-keyboard/issues/138#issuecomment-1624387514

I'm not able to downgrade the react-native-reanimated library in my project :(

mateki0 commented 1 year ago

Hi, thanks for the repro @yefim I've been looking at it, but I haven't figure out how to fix it yet. For now I know that the problem are layout entering animations. So if u want an instant fix, you have to get rid of them for now, and I will try to find a fix as fast as possible :)

Edit: First working version of reanimated is 3.0.0-rc-10, everything higher will also work. So second possible fix for now is updating Expo SDK to 49 and Reanimated to 3.3, but it's possible only if u don't have Reanimated V1 code in your application. I'm still looking for proper fix :)

mateki0 commented 1 year ago

@yefim @crumb1e I have found a solution. You had problems only on iOS right? Because I couldn't reproduce it on Android. https://github.com/TheWidlarzGroup/rn-emoji-keyboard/pull/145

yefim commented 1 year ago

Yes, I'm only seeing this on iOS. We aren't currently building on Android. Thank you!!!

jakex7 commented 1 year ago

Hi @crumb1e @yefim Thanks for reporting this issue, it has been resolved by @mateki0 and released in the latest version 1.5.0. I highly encourage you to update and test if everything works properly. If there is something that still needs improvement, please let us know 😄

yefim commented 1 year ago

it works thank you !

OwenMelbz commented 1 year ago

On behalf of crumb1e, we've just updated to 1.5.0 so will keep an eye out :) thanks!