Operating System
macOS 26.3.1 (25D2128)
Environment (if applicable)
Safari 26.3
Firebase SDK Version
11.6.0
Firebase SDK Product(s)
Remote-Config, Auth, Functions, AppCheck, Database
Project Tooling
Next.js 15 (App Router), React 19, TypeScript
Detailed Problem Description
Our web app (skinape.com) uses Auth, Functions, RTDB, Remote Config, and App Check. We noticed that after keeping Safari open with ~15 tabs of our app, some Firebase services stop functioning. Checking at random intervals (sometimes after hours, sometimes overnight), we find that reloading a tab results in infinite loading states on various routes (/app, /app/earn, /app/shop/skins, /app/shop/giftcards).
The set of affected services varies between incidents — sometimes auth doesn't work but other services do, sometimes Functions and RTDB are broken but auth is fine, sometimes only Remote Config hangs, sometimes all four are affected.
No Firebase-related errors appear in the console. HAR file exports from the broken state show that the Firebase SDK doesn't make certain network requests at all — depending on the incident, this can be zero Function calls, zero auth token requests, zero RTDB connections, or any combination. HAR files from the same browser after recovery show all requests succeeding normally. We can provide these HAR files if helpful.
Closing and reopening the browser resolves the issue. In one case, closing most of the open tabs resolved it as well. Incognito mode works normally.
From our error tracking (Sentry), we see similar loading states reported not only on Safari but also on other systems like Windows with Edge. We haven't confirmed those are the exact same issue.
Changes we tried:
initializeAuth with browserLocalPersistence — suspected auth hang was blocking other services. Auth timeouts in error tracking reduced but not eliminated.
- Disabled
initializeAppCheck — issue first noticed Dec 10, two days after adding App Check (Dec 8). Disabled to test correlation.
- Both applied — in latest incident, Functions and auth worked but Remote Config still hung.
The varying broken states across incidents make it hard to attribute the problem to a single service. It appears that each Firebase service using IndexedDB can independently get stuck when Safari's IndexedDB enters a hung state. A way to handle this gracefully — so the application can degrade instead of hanging indefinitely without any error — would be very helpful.
Related issues: #7888, #8019, #8860
Steps and code to reproduce issue
- Open ~15 tabs of skinape.com in Safari on macOS
- Check at random intervals (try reloading several tabs every hour or so)
- At some point, one or more tabs will enter the broken state — infinite loading on
/app, /app/earn, /app/shop/skins, /app/shop/giftcards. No Firebase-related errors in console.
- Reproduction is not deterministic — it appears related to Safari's IndexedDB connection management across tabs over time
Our Firebase initialization and usage:
const app = initializeApp(firebaseConfig);
// Auth — switched to localStorage to work around IndexedDB hang (#7888)
const auth = initializeAuth(app, {
persistence: browserLocalPersistence,
popupRedirectResolver: browserPopupRedirectResolver,
});
// App Check — currently disabled for testing
// initializeAppCheck(app, {
// provider: new ReCaptchaV3Provider(siteKey),
// isTokenAutoRefreshEnabled: true,
// });
const db = getDatabase(app);
const functions = getFunctions(app);
const remoteConfig = getRemoteConfig(app);
// This promise never resolves when in the broken state
const remoteConfigReady = fetchAndActivate(remoteConfig);
// Every Remote Config read awaits this promise
const getValueRemoteConfig = async (key: string) => {
await remoteConfigReady;
return getValue(remoteConfig, key);
};
Operating System
macOS 26.3.1 (25D2128)
Environment (if applicable)
Safari 26.3
Firebase SDK Version
11.6.0
Firebase SDK Product(s)
Remote-Config, Auth, Functions, AppCheck, Database
Project Tooling
Next.js 15 (App Router), React 19, TypeScript
Detailed Problem Description
Our web app (skinape.com) uses Auth, Functions, RTDB, Remote Config, and App Check. We noticed that after keeping Safari open with ~15 tabs of our app, some Firebase services stop functioning. Checking at random intervals (sometimes after hours, sometimes overnight), we find that reloading a tab results in infinite loading states on various routes (
/app,/app/earn,/app/shop/skins,/app/shop/giftcards).The set of affected services varies between incidents — sometimes auth doesn't work but other services do, sometimes Functions and RTDB are broken but auth is fine, sometimes only Remote Config hangs, sometimes all four are affected.
No Firebase-related errors appear in the console. HAR file exports from the broken state show that the Firebase SDK doesn't make certain network requests at all — depending on the incident, this can be zero Function calls, zero auth token requests, zero RTDB connections, or any combination. HAR files from the same browser after recovery show all requests succeeding normally. We can provide these HAR files if helpful.
Closing and reopening the browser resolves the issue. In one case, closing most of the open tabs resolved it as well. Incognito mode works normally.
From our error tracking (Sentry), we see similar loading states reported not only on Safari but also on other systems like Windows with Edge. We haven't confirmed those are the exact same issue.
Changes we tried:
initializeAuthwithbrowserLocalPersistence— suspected auth hang was blocking other services. Auth timeouts in error tracking reduced but not eliminated.initializeAppCheck— issue first noticed Dec 10, two days after adding App Check (Dec 8). Disabled to test correlation.The varying broken states across incidents make it hard to attribute the problem to a single service. It appears that each Firebase service using IndexedDB can independently get stuck when Safari's IndexedDB enters a hung state. A way to handle this gracefully — so the application can degrade instead of hanging indefinitely without any error — would be very helpful.
Related issues: #7888, #8019, #8860
Steps and code to reproduce issue
/app,/app/earn,/app/shop/skins,/app/shop/giftcards. No Firebase-related errors in console.Our Firebase initialization and usage: