New issue
Advanced search Search tips
Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Feb 6
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Sign in to add a comment

Issue 889943: Inactive push subscriptions should be removed from FCM

Reported by, Sep 27

Issue description

Steps to reproduce the problem:
Does FCM adopt any strategy to remove inactive push subscriptions?

For example, suppose that a browser or device is abandoned and thus it will never connect again to FCM. Do you mark the endpoints as "expired" after some time of inactivity? Or the endpoints will last forever?

Based on data collected in the following study (that I have published), it seems that you don't remove inactive subscriptions and this will create a steady decrement of delivery rates over time:

Basically it seems that unused subscriptions will last forever because:
- FCM keeps returning 2xx codes for old, inactive subscriptions
- Chrome does not provide expirationTime for push subscriptions

What is the expected behavior?
If a browser does not connect to FCM for a long time, then its push subscriptions should be removed (and the push service should return 410 Gone to the application server)

What went wrong?
Data collected show that unused push subscriptions last forever and are not removed properly by FCM

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version:   Channel: n/a
OS Version: 
Flash Version:

Comment 1 by, Sep 28

Labels: Needs-triage-Mobile

Comment 2 by, Oct 3

Labels: Triaged-Mobile
Requesting someone from Blink>PushAPI team to please have a look.


Comment 3 by, Oct 31

Can you please provide an update on this?

It is really important to delete subscriptions that belong to abandoned devices... otherwise the number of inactive subscriptions grows constantly over time and the average delivery rate for valid endpoints drops towards zero.

Also note that other push services properly remove the endpoint after some time of inactivity. For example Mozilla autopush (in non-proxy mode) marks the endpoints as expired (410 Gone) when the device does not connect for 2 months.

Comment 4 by, Feb 6

Status: WontFix (was: Unconfirmed)

Closing due to inactivity, feel free to reopen if needed.

Sign in to add a comment