Having an issue with Thunkable app signing on with Google against a 500 line Airtable

When I first started the app, it was working fine, but now that I have 500 rows in my airtable user database Google Sign-In won’t work for most names. The people who have rows at the top are able to log in but anyone in the middle or bottom can’t. The screen just returns to the log in screen and freezes.

I was thinking that maybe I should either use some sort of index to search or sort the data and use binary search instead. However, even on a phone I don’t think that a linear search of 500 records should cause this issue.

Please advise.

Thanks,
Robin

Hello @appdev0e9d
Are you using the “Update Filter For” block?

We aren’t using that block. We don’t have a filter though.

@appdev0e9d Could you please share a screenshot of your blocks that stopped working after you added 500 rows?



This is the procedure. Thanks so much!

Hello @appdev0e9d
I created this testing project and there is no issue with having 500 rows on Google Sheets:
https://x.thunkable.com/projects/672b44817ac6e3c0f1b436fc/
Could you please check if the email address is retrieved after a user signs in by connecting to a label?

OK we will try it and let you know. Thanks.

Hi, @ioannis
So I tried signing in with an account that is at the top of the list and the bottom of the list in airtable. The one at the top of the list takes a few seconds. The one at the bottom of the list doesn’t happen/takes way to long

Retrieving (and setting to a label) the user row and email address works. but trying to get the name/display name takes a while or too long and doesn’t work (thats with an account at the bottom of the airtable). An account at the top takes a shorter amount of time

Hi @appdev0e9d
Thank you for sharing more information.
The delay is caused because each data source block is doing an API call.

There is also a limit set by Airtable on the API calls you can make.
https://support.airtable.com/docs/managing-api-call-limits-in-airtable

You can reduce the loading time by using variables.

Then you can use the get property block to set the value on each label.

Here is an example:

Thank you, but it still takes very long for the users at the bottom of the list
I suspect the issue may be the does list contain block of code