Unify mobile notification delivery diagnostics across APNs and FCM
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
The cross-platform audit of #10416 found that APNs has delivery-attempt records and queue tracing, while FCM primarily records the delivered aggregate and uses generic delivery results. This makes equivalent failures harder to investigate on Android.
Follow-up scope:
- Define shared delivery outcomes for queued, sent, skipped, invalid-token, and retryable failures while preserving existing wire compatibility.
- Give FCM queue processing the same trace context and safe device/environment/job annotations as APNs.
- Exercise equivalent retry, preference, freshness, and token-rotation cases through both adapters.
The current Android review fixes preserve immediate transport causes. This issue tracks the broader diagnostics work separately from shipping the Android adapter.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with PR #10416 and compare APNs delivery-attempt records and queue tracing with FCM's aggregate and generic delivery results. Trace both adapters' queue processing and the retry, preference, freshness, and token-rotation cases; done means shared outcomes, equivalent safe annotations, and preserved wire compatibility.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- firebase, typescript
- Domain
- backend, mobile, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100