angular / angular/angularfire

[Android] Firestore snapshot listeners is slow to retrieve data.

オープン
#3,513 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
7.8k
フォーク
2.2k
平均マージ
22時間 28分
マージ済み PR(30日)
6

説明

### Version info

**Angular:** 17.3.3

**Firebase:** 10.10.0

**AngularFire:** 17.0.1

**Other (e.g. Ionic/Cordova, Node, browser, operating system):**
Ionic:

Ionic CLI : 7.2.0 (/Users/user/.nvm/versions/node/v18.17.0/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/angular 7.8.2
@angular-devkit/build-angular : 17.3.2
@angular-devkit/schematics : 17.3.2
@angular/cli : 17.3.2
@ionic/angular-toolkit : 11.0.1

Capacitor:

Capacitor CLI : 5.7.4
@capacitor/android : 5.7.4
@capacitor/core : 5.7.4
@capacitor/ios : 5.7.4

Utility:

cordova-res : not installed globally
native-run : 2.0.1

System:

NodeJS : v18.17.0 (/Users/user/.nvm/versions/node/v18.17.0/bin/node)
npm : 10.5.0
OS : macOS Unknown

### How to reproduce these conditions

**Failing test unit, Stackblitz demonstrating the problem**

**Steps to set up and reproduce**

We have developed an Ionic Hybrid app for iOS, Android, and Web platforms, which has been functioning smoothly for the past two years. However, after multiple library updates, we have encountered an issue specific to Android devices. Retrieving the first fresh snapshot listener takes an exceptionally long time on Android, whereas iOS and web platforms retrieve the same snapshot listener in just 1 second on the same device. Android hybrid apps may take up to 60 seconds for this process.

Interestingly, restarting the app after the initial retrieval significantly improves the speed.

I am currently using the compat SDK instead of the Web modular SDK. I wonder if this choice affects the result.

**Sample data and security rules**

### Debug output

** Errors in the JavaScript console **

** Output from `firebase.database().enableLogging(true);` **

** Screenshots **

### Expected behavior

### Actual behavior

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、指定された Angular、Firebase、AngularFire、Ionic、Capacitor のバージョンを使って Android 上で最初の Firestore スナップショットリスナーを再現し、iOS および web と比較します。compat SDK が遅延とキャプチャのタイミング、またはデバッグ出力に影響するかを確認します。Android 固有の低速化が説明され、検証済みの修正または明確な upstream への引き継ぎが文書化されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
android, angular, firebase, typescript
領域
databases, mobile-dev
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
18/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。