提问人:HadiAlqattan 提问时间:11/13/2023 最后编辑:HadiAlqattan 更新时间:11/14/2023 访问量:20
Firebase RealtimeDB websocket 连接在客户端浏览器上超时
Firebase RealtimeDB websocket connection times out on clients browsers
问:
一夜之间,我在浏览器环境中遇到了 Firebase RealtimeDB 的 websocket 连接问题。
当我使用 Vite 构建一个 ReactJS 应用程序时,我像这样初始化数据库对象:
import { FirebaseApp, initializeApp } from 'firebase/app'
import { Auth, getAuth } from 'firebase/auth'
import { Database, getDatabase } from 'firebase/database'
const FIREBASE_API_KEY = import.meta.env.VITE_FIREBASE_API_KEY
// all field are filled in with real data but I replaced them with placeholders here.
const firebaseApp: Readonly<FirebaseApp> = initializeApp({
apiKey: FIREBASE_API_KEY,
authDomain: '<auth_domain>',
projectId: '<project_id>',
databaseURL: '<my_database_url_id>',
appId: '<my_app_id>',
measurementId: '<my_measurementId>'
})
const firebaseAuth: Readonly<Auth> = getAuth(firebaseApp)
const db: Readonly<Database> = getDatabase(firebaseApp)
export { firebaseAuth, db }
所以有人知道发生了什么吗?
该问题自 2023 年 11 月 10 日开始出现(根本没有更改我的代码 - 它发生在一夜之间)。
这种情况发生在使用不同设备和不同网络的多个用户身上。
一些用户说,如果他们使用Safari而不是Chrome,则不会出现此问题。
我使用的是 Firebase JS SDK 版本 10.6.0。
编辑1: 以下是导致出现错误的代码:
const aFunctionThatGetsCalledOnHomepageMounts = (...): Unsubscribe | null => {
...
return onValue(
ref(db, path, // db it the same db object mentioned in the code snippet above (imported).
(snapshot) => {
...
}
)
}
编辑2: 更多背景信息:
- 该问题似乎与Apple设备无关。
- 相反,这个问题似乎正在影响基于Chromium的浏览器(Google Chrome,Microsoft Edge)。
答: 暂无答案
评论