Hi everyone, I’m having a strange issue using Supabase from a React SPA, but only in Firefox.
What happens
Frontend: React + Vite using @supabase/supabase-js directly in the browser
In Firefox, some Supabase REST/RPC calls fail with:
DevTools: Cross-Origin Request Blocked: CORS request did not succeed. Status code: (null)
JS error: TypeError: NetworkError when attempting to fetch resource
In my logs, these failed requests always die around 30 000 ms
I wrap fetch with a 30 s timeout using AbortController, so I know the abort is mine
The underlying problem is that, in Firefox, the request never completes before the timeout
Same code, same Supabase project:
Works perfectly in Chrome and Edge
Works perfectly in Firefox if I either
call Supabase through a backend proxy (Vercel), or
disable HTTP/3 in Firefox (about:config → network.http.http3.enabled = false)
So the bad combo seems to be: Firefox plus HTTP/3 plus calling Supabase REST/RPC directly from the browser.
What I already checked
CORS settings in Supabase, with correct dev and prod origins
Supabase API logs look normal, no obvious 4xx/5xx spikes
Tried a minimal client with plain createClient (no extra logic) and still see the issue in Firefox, while other calls keep returning 200 normally
Question
Has anyone seen this behavior before or has an idea how to handle it properly?
Is there any known issue with Firefox plus HTTP3 and Supabase REST or RPC?
Is there any recommended workaround, for example forcing HTTP2 somewhere, or any best practice on the client side for this case?
If anyone has already faced something similar or has a concrete workaround, I would really appreciate any help to unblock this.