I created a backend and an API that I bring into Adalo as an external collection (this feature is awesome once I understood how to use it). So the only collection I’m using Adalo for is the Users collection. I use the currently-logged-in user’s email address as their primary identity and I fetch external collections based on that. However, I ran into a pretty big problem.
After creating a new account, I immediately fetch associated collections for the user. I’ve noticed that this initial request doesn’t populate the user email field. Here’s an example from my server:
As soon as I reload the page or log out/log in, then this “owner_member_email” value is populated, but it isn’t populated immediately after a newly created user lands on the page (as the default action after account creation). I can work around this for the moment as a new user doesn’t have any created objects yet, but I WOULD like to record the email of the user right after they create their account in Adalo. If this value is null then I can’t do that and I have to insert some “filler” page after account creation to give Adalo a chance to popular the field before invoking the API.
Have others seen this issue? Is this a known issue that’s on Adalo’s radar?
I’m glad to know that I’m not the only one seeing this. @Ben is there a willingness to reconsider this being a parallel/nonblocking process? By the time a new user is created and inside the app, I think the app should be able to count on the record being “complete” and ready to reference. Thoughts?
I need to do some tests, but it would be interesting to see if it were possible to delay a page load enough to wait for the user to be created.
If it is indeed a race condition then the workarounds for user creation are merely luck rather than function. So could break if user creation starts taking slightly longer.
I ran into another problem related to this. My application I’m building shows a user’s groups they’ve created as soon as they log in (using an external collection). As soon as the user logs in, it makes the request to get the user’s groups but since the logged in user isn’t set yet, it gets back ALL groups instead of only the user’s groups. This is obviously a problem since a user should only see their groups, not all groups. This is a privacy/security concern in some application use cases. This should make addressing this a high priority as it breaks some important use cases.
Yes, this seems to have got worse recently as well.
I have tried to be defensive, and not show things if the input could be “null” but that is slower than whatever does the group display. It looks really bad.