In our app, we decided to have the chat database present in AirTable rather than Adalo’s database. However, AirTable has a limit of retrieving only 100 records, but a chat can have more than 100 messages. I have seen some answers stating that a user could click some kind of ‘Next’ button which would retrieve the next 100 records, but this wouldn’t be applicable for chat of course - the user should only scroll.
Has anyone else managed to work around this?
Since you are using Airtable, you have to use Airtable API commands in your requests. Airtable limits the initial call to 100records and then to access more you are doing what is called “pagination”. In your Airtable you will see sample databases - one for them is called PR & Media CRM - if you look at the Airtable API documentation for that sample database Then look at the RELEVANT ARTICLES TABLE you will find documentation that talks about the retrieval of records like what you are trying to do. One of the things about no code is that some of the things that we are used to seeing in apps may not be exactly what we can produce in Adalo - or we have to come up with clever ways to accomplish the effect we want. You will have to manage the pagination in Adalo for the API call to Airtable. You will need to call make enough calls at 100 messagings at a time to get all the messages the user wants.
Thanks for replying! I will go ahead and check the sample databases.
To continue, what if the condition that all messages have to be shown is relaxed? Since we can only obtain 100 records, we are fine with our app showing only the last 90 messages (this is fine for our usecase). Any insights please on how this could be done?
We have tried sorting the data in AirTable in descending order of creation, but of course the messages received then would be in a kind of ‘upward chat’ with the latest message going to the top. It could have been solved if Adalo let us sort only the RECEIVED data (that is, once the 90 records have arrived).
Another thing we tried is numbering each message - and then when the records arrive, show only those whose numbers falls in the range ‘TOTAL MESSAGES - 90’. The value TOTAL MESSAGES is calculated using Count operation on the records, but it seems as if Adalo/AirTable is not able to calculate it quickly enough by the time the filter is applied…
Airtable can do a lot on thier end to sort and filter. That means you are not waiting on Adalo to do all that is needed.