Bug with PWA on iOS with Firestore


My app has the following features: it’s a PWA, using Firebase for Auth and DB (Firestore).

When I pin it to my dashboard on iOS, if I open the app, then switch to another app, the switch back to it, Firestore crashes with the following error: FIRESTORE (7.7.0) INTERNAL ASSERTION FAILED: AsyncQueue is already failed. Then, the only solution is to kill the app, and restart it. And since it’s systematic, that means you always have to kill the app before using it.

Some of my observations:

  • No issue with Android (you can close, reopen, no bug) or on a browser
  • The issue started with iOS 13 (before iOS 13, the PWAs were killed 5 seconds after being closed so the “reopening bug” didn’t appeared)
  • No issue if the app is used directly in Safari (you can switch tabs, switch from Safari to another app, come back: it will not crash)

This bug has been shared with the Firestore team (by myself and others), but it seems that the Firestore team’s actions have corrected the issue for the others, but not for me:

I decided to reproduce the bug with the smallest app I could.

Simple PWA / Vue.js / Vuex / Firestore / Vuexfire -> HAS FAILED 2 TIMES
I made a PWA Vue App, with Firestore and Vuexfire.
I started from this template: https://github.com/erisu/pwa-vue-app-1/tree/pwa
I forked and added the Firestore/Vuexfire part: https://github.com/Pitouli/pwa-vue-app-1
I published it on the web: https://debug-and-test-env.firebaseapp.com/
I have observed the bug, but only 2 times on 50 attempts

Framework7 PWA / Vue.js / Vuex / Firestore / Vuexfire -> FAIL
I started with the Framework7 CLI
Then I simply added the same Firestore/Vuexfire part than in the other: https://github.com/Pitouli/debug-ios-vuexfire
I published it on the web: https://debug-ios-vuexfire.firebaseapp.com/
It fails every time

Since it seems that the main difference between the 2 versions is Framework7, I thought it could be interesting to see on the Framework7 forum if someone is in the same situation than me.

Thanks in advance for any help you could provide!

PS: if it’s too hard to correct the bug, I’am also interested by a template which uses F7 / PWA / Firestore which has not the bug