supabase.auth.getUser and supabase.auth.updateUser across simultaneous server sessions

I'm storing provider_tokens inside the user metadata on supabase auth. My issue is that for 2 simultaneous requests that come in at time same time, if one request calls await supabase.auth.updateUser, and the second request waits and then calls
const supabase = await createClient();
const { data: { user } } = await supabase.auth.getUser();

The user from the second request, does not get the update from the 1st request.

Subsequent server calls seem to get the updated user--so it's really requests that started before the updateUser .

example:
Server process 1 (provider_token is bar)
        const { error: updateError } = await supabase.auth.updateUser({
          data: {
            provider_token: foo,
          },
        });

Second server process, that started the same time as server process 1, but waited for half a second for updateUser to get called
const supabase = await createClient();
const { data: { user } } = await supabase.auth.getUser();  // This getUser is still bar, not 

How can I get the second server process to get the correct user metadata form process 1's updateUser?
Was this page helpful?