Spinner hides correctly in AppGyver Previewer, but does not hide in built app

My app is fully usable in the AppGyver Previewer. However, I built for Android and loaded it onto my phone, and the spinner is not hiding in some instances.

While the spinner is running, I can see that the calls to the database were all successful. In the app, if I click the spinner once or twice, it will spin for another moment then go away, revealing the correct data on the page.

I need to ship the app, so I’m redesigning to use toast instead of spinners. However, I would be interested in working with the AppGyver team to troubleshoot this since a functional spinner would be a much better user experience.

Let me know if/when you guys would want to look into it and I’ll change it back to spinners for you.

This sounds like the problem i had where the UI goes to sleep if you do a database read or write from inside certain events (such as a button tap event in my case). To wake the app up required tapping the screen again. What was frustrating was this problem only occured in the Build versions (apk and ipa).

I was told that this has been a long-standing bug with React Native, and to get around it some users used toast messages to force a screen re-draw which woke the screen up.

I would like to see this resolved myself.

1 Like

Oh interesting. So spinner + toast might preserve the user experience. Interesting to hear that it’s potentially a React issue and not necessarily an AppGyver issue.

Thanks for sharing those insights, @JOHN_WORSHAM. That gives me something to go on.

@JOHN_WORSHAM, were you able to successfully implement the toast hack yourself? I just tried putting a hide spinner node and a toast node at the end of the process, but it’s still not triggering them until I tap the screen.

Do you know if I’m configuring this incorrectly?

No i never tried doing that. I had to completely move my Get Record and Update Record functions out of a login Button Tap event. The code was entering those flow functions and falling asleep inside them until you tapped the screen. But it only did that from inside Button Tap. Its weird and all i could figure to do was overhaul the logic flow completely to handle all database read/writes outside of that Button tap.

Wish i could be more helpful. The devs told me they are addressing the issue in the next beta

1 Like

@JOHN_WORSHAM

In case it’s helpful, I realized that I could bypass the issue (at least on my log in screen) by putting a spinner into a hidden container and un-hiding it when the user clicks to sign it. After auth is complete, they’re sent to another page anyway, so I don’t even have to unhide the container (except to show an error).

Here’s a tutorial on how to put the spinner in a container. No clue why this didn’t occur to me before:
https://docs.appgyver.com/tutorials/button-with-loading-indicator

1 Like

I lied. It still freezes up, even within the container.

Hi, @Erin_Wagner are you still experiencing this same issue? We updated/fixed the Hide spinner flow function few days ago so I started to wonder if it could have fixed your issue also.

Hi @Tomi_Laakso!

We are working right now to push out a version without the spinner. Once that’s live, I’ll circle back and try again with the spinner, and I’ll let you know what happens.

(Heads up: I am pressed for time for the coming two weeks, so it’s going to be a minute before I can circle back. (See what I did there?))

Hi Erin,
Have you solved your spinner issue, if so - then - how ?
thanks in advance for leaving some info :slight_smile:

Hi @Chris_Stefko!

I put in some substitutes and those are working well enough that I haven’t revisited it yet.

First, we were originally using third-party auth structure (sign in with Google & Apple) then switched to our own auth because we found users wanted to use phone numbers as their login. To keep things flexible (ability to switch back to third-party if we expand to another market segment that wants it), we’re doing our own auth in third-party style, which means we’re opening a login page on our own website (built on Webflow). So the first trick was to put the spinner on there since Webflow doesn’t have problems displaying it.

The second trick was that I made a “spinner” of my own. I put a dot icon on a page in a hidden container. When the page mounts, page logic loops through (show icon) - (delay ) - (hide icon) - (delay). When the user clicks, then the container with the blinking dot is shown.

The downfall of these two is that they don’t provide a cohesive design experience. However, at this early stage of the game, we just need it to work. We’ll worry about being fancy when there’s revenue to be fancy with :slight_smile:

Wish I had a better answer for you, but best of luck!

Hi, @Chris_Stefko do you have the same issue that the Spinner doesn’t hide on built standalone app, but hides correctly in AppGyver app? If so, have you updated the Show and Hide spinner Flow functions from marketplace?