对 Firebase Functions 的 XHR 请求在 Samsung Internet Browser 14 上保持挂起

XHR request to Firebase Functions stays hanging on Samsung Internet Browser 14

我们的应用程序使用 Firestore 和 Firebase 函数。为了保存订单,我们这样调用 https callable Firebase Function

try {

  const setMealplanOrder = fn.httpsCallable("setMealplanOrder");
  await setMealplanOrder(newOrder);

  return true;

} catch (error) {
  console.log(" ~ file: saveOrder.tsx ~ line 158 ~ save ~ error", error)
  Sentry.captureMessage("Error saving order, possibly on Android?" + error);
}

它可以在所有设备上运行,直到几天前三星更新到 Android 11 和三星互联网 14。现在,来自 await setMealplanOrder(newOrder) 的 XHR 请求被卡住了。控制台是空的,没有错误。

知道会是什么吗?或者如何调试?

补充说明:

已解决:Firebase 版本问题! 问题出在 firebase-messaging-sw.js Service Worker 中,我们将其用于 Firebase 云消息传递(推送通知)。 Service Worker 的版本已过时。

// Give the service worker access to Firebase Messaging.
// Note that you can only use Firebase Messaging here, other Firebase libraries
// are not available in the service worker.

importScripts('https://www.gstatic.com/firebasejs/7.17.2/firebase-app.js')
importScripts('https://www.gstatic.com/firebasejs/7.17.2/firebase-messaging.js')

...

更新 npm i firebase@latest 并将 importScripts 中的版本更改为 8.4.3 后,它可以正常工作。