when I update the new value of an airtable cell, it remains the old one when I retrieves it. why indeed?
Iāve seen this before, just. tested and can confirm. I will be filing an internal bug report. thank you
as a workaround, i tested the Get Row Object block which returned updated values as expected. You can use it like this by using the get property of object block. the property will be the cell name (exactly as it is written in airtable)
Glad to hear youāre filling an internal bug report. The Get Row Object block does seem more consistent but Iāve had problems with it recently, too, so I hope your engineers will also put it through its paces with Airtable and Google Sheets.
Hey!
I did some digging and it seems to be a bug that was initially fixed and has recently started again. The āGet Valueā and āGet row objectā blocks with Googles Sheet Data Source only update if you close the whole app. When you stay on the app, the data remains in cache and does not update.
Do any of you have the same issue?
I just checked and I can see get row
block works
These are the blocks that reads the existing values
These are the blocks to change and test
There is an open bug for that block
You can use the get row block. Here is an example app showing that use case
@Jared_Gibb @domhnallohanlon Where are we with this bug? Itās been months now and it seems like itās still not a reliable block. I just tried to Get Value from a Google Sheet and it kept retrieving a cached value. If I get the row object, it has the correct data but Iād really like to be able to use Update/Get Value blocks as intended.
Hi all,
Ive been having this same issue. Ive tried as suggested and i have used āget objectā instead but still using old data not live data.
Im trying to create a multiplayer quiz with answers stored on google sheets, so when some clicks a button that says reveal answers if the answers are not all submitted it will say āplease waitā but once answers are completed on google sheets then it will present them. This works the first time you click if all answers are in, but if it fetches answers and then you click again to fetch new data it cannot tell that it is complete as it is using old data.
Any suggestions as to what i might be doing wrong would be very helpful and any work arounds as well would be good.
Iāve been really hesitant to use Google Sheets or Airtable because of this issue. Iāve spent hours debugging what I thought must have been a coding mistake only to realize that itās just due to old data values.
I wish Thunkable Staff would give a definitive answer about this bug. Iāve seen it mentioned as being fixed but itās not. It still happens with both the Get Value block and the Get Row block.
So my solution isnāt great but itās to rely completely on Firebase. Itās fast and reliable but the learning curve is kind of steep.
Thank you. Yeah, it is kind of a big problem they need to solve. Excuse my ignorance, but does that mean get value/get object works with firebase or that you need other methods with firebase to make it work?
You need other methods. You donāt use the Data Source blocks at all. You just set/get Firebase values using cloud variable blocks. You can see some examples of that here:
I donāt use the RealtimeDB blocks, I just use the variable blocks with Firebase.
Thank you so much, and i really appreciate your time. I have been looking through all that this morning and starting to make sense to me. Just one last question if you dont mind. When i save data to firebase using cloud variable, will that save to the database linked to the app or will it save to an individual database linked to the whichever user has signed in to the app. Sorry if that is stupid question!
The way Firebase works is that data is stored in key:value pairs as JSON. Beyond that, you can organize it however you like since itās not a row/column formatted database.
To allow each user to store their own data, users will need to authenticate (sign in). See this: Email Sign In by Firebase - Thunkable Docs
Great, thank you! That makes sense. Ive set up a sign in for users for firebase already, so will now look into how i save data for app and on individual user accounts as well, as i need users to share certain data, which i will do on main database and keep some private stuff too. Will play around next couple of days.
I have spent weeks debugging my app only to realise, having now read this thread, that the app will read cached airtable values rather than the Airtable value, unless you quit the app and re-start.
Has this issue still not been fixed? I see that this has been an outstanding problem for years. If so, it makes the Airtable connectivity of limited value, and I would expect there to be some warning in the documentation to this effect.
My app reads exchange rate data in columns from a web service and saves these in a table which the app then accesses. The app is pointed to columns labelled with three letter currency abbreviations, and row number. Is there any easy way to replicate this using Firebase, which I understand from @tatiangās message above, is not a row/column formatted database?
Very frustrating.
Hello @slothball
Thank you for sharing more information. Unfortunately, with the get value block, this is by design (i.e., we donāt want to refresh the database every time you use the āGet valueā block) since all the Data Sources (Google Sheets, Airtable, and Webflow) have limits for the number of times the API can be called.
You could use the Web API and Authorization header for blocks to get the new data.
Hi @ioannis - thanks for this. In relation to the Web API and authorisation header, I thought that Web API and Airtable no longer worked because it had been deprecated? Apologies if I have misunderstood this.
Hi @slothball , Yes Airtable blocks have been deprecated but we created the Authorization header for block.
You can find more information here: Airtableās API keys will be deprecated by Airtable - Announcements - Community
Hi @ioannis - thanks for this explanation, but I am now confused!
My app originally used the Web API blocks for my app. I had a question about about this, which you answered here:
As a result, I have been reworking the part of my app that relates to using Airtable and then I stumbled across this problem with the cache, which is really problematic.
Am I right to understand that I could actually retain my former WebAPI blocks for Airbase but use this āauthorisation headerā to make it work? If so, do I have to insert this header before each older Web API blocks to make it work?
Thanks for your help - I have managed to get really confused with this, when it seems the solution to my original problem might be quite easy?