angular / angular/angularfire

ServiceWorker registration fails in Facebook/Instagram in-app browser on iOS

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

説明

When using the Firebase Messaging service with Angular 19.1.4 in the Facebook/Instagram in-app browser on iOS devices, the following error occurs:
```typescript
TypeError: undefined is not an object (evaluating 'navigator.serviceWorker.addEventListener')
```

### Environment
- **Platform**: iOS
- **Browser**: Facebook/Instagram in-app browser
- **Framework**: Angular 19.1.4
- **Dependencies**:
- @angular/core: 19.1.4
- @angular/common: 19.1.4
- @angular/platform-browser: 19.1.4
- **Service**: Firebase Cloud Messaging

### Technical Details
The error occurs during the messaging service initialization when attempting to add an event listener to the ServiceWorker. The specific line causing the issue is:
```typescript
navigator.serviceWorker.addEventListener('message', e => messageEventListener(messaging as MessagingService, e));
```

### Root Cause
The Facebook/Instagram in-app browser on iOS does not support or properly expose the ServiceWorker API, causing `navigator.serviceWorker` to be undefined. This issue persists even with the latest Angular 19 framework.

### Impact
- Firebase Cloud Messaging service initialization fails
- Push notifications cannot be registered or received
- Affects only users accessing the Angular 19 application through Facebook/Instagram in-app browser on iOS devices

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

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

調査の方向性

Issue に示されている messaging-service の初期化呼び出しから始め、Facebook/Instagram の iOS アプリ内ブラウザーで再現します。navigator.serviceWorker へのアクセス方法を追跡します。API が利用できない場合でも初期化で例外が発生しなくなり、サポートされている環境では push の動作が検証されれば完了です。

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

評価

技術スタック
angular, firebase, typescript
領域
frontend
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

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

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