Weird bug only happening on certain devices.

We have this app build with Expo 40 that it is working well on most Android devices. However, im some devices, there is a moment when you can’t click a certain button. The first time you click on the button, it always work, but if you need to click more times on this button, nothing happens. You have to click a lot of times so that it works.

The devices where this bug happens don’t have a common pattern: the mark, model and Android version is always different.

Here is a video showing the problem: IMG_7796.mov - Google Drive (The button is called “Speichern”)

We have also put logs everywhere to see if there is some error or some function blocking it, but we found nothing at all. Im most devices works perfect, in some other devices it doesn’t work.

hi there! it’s best in these situations to try to create a minimal reproducible example: How to create a Minimal, Reproducible Example - Help Center - Stack Overflow. please share that here and we’d be happy to help investigate. try to keep any code that is not necessary to reproduce the problem out of the example

Hi Notbrent, thank you for your answer.

If we share the code here, everyone can see it or only the Expo Support Team?

If you share it on the forums anyone can see it. But perhaps you can create a private repository on GitHub and add one of the Expo team members to the repository with read-only access.

But if possible, share a small example that reproduces the problem rather than your whole app. It’s much easier to figure out what’s going on if you have a small example.

1 Like

Thanks Wodin.

I can create a private git repo. Can you tell me a GitHub username or email so that I can share the repo?

The app is already a very small app, it has almost no functions. I will exactly let you know where is the code that is buggy.

Thanks in advance

Hi again

Sorry to be a nuisance :slight_smile: but is there any way you can make a new app with just enough code to reproduce the problem? If you can share that publicly then it could also help other people who might have a similar problem.

If not, I could possibly try to have a look, although I’m not confident I will be able to tell you what the problem is. Also, I am not a member of the Expo team.

i really think it’s worth reading over the description of a minimal reproducible example and following that guide. it may seem a little annoying and cumbersome but you will almost certainly find out what the issue is in your own code in the process. if it turns out that there isn’t an issue in your code and it’s a bug in our code, then we have an example that perfectly demonstrates it, without anything superfluous.

if you don’t have time for that and you’d like someone to do it for you, here are our recommended consultants.

Ok, I have created a minimal reproducible example as described here How to create a Minimal, Reproducible Example - Help Center - Stack Overflow. The error keeps happening on certain devices.

Who can take a look?

I have done it. It is on GitHub, how can I share it with you?

1 Like

share a link to it here :slight_smile:

Here it is: KokoenGmbH/test-scanner (github.com)

Hello @notbrent

Did you have time to check?

hey there. is it possible to narrow this down further? a minimal reproducible example should include close to zero superfluous code, it should only have the code that is absolutely necessary to reproduce the issue. it should use the minimal amount of libraries needed. there is a lot of code in this repo and it would take me a while to read over, and go through the process of making it more minimal myself, and i don’t have time for this at the moment.

We already narrowed it further down as much as we could. There is no code in the app which is not used. Any anyway, even on the normal app and not this MRE, the function to check is well separated from the rest.

We really need help here.

hi again. did you maybe not push those changes from narrowing it down further? the last update was on may 20. there appears to be much unrelated code. please try to fit it all in one file, like App.js. we can’t provide free support for an issue that doesn’t have a minimal example, it would take far too much time.