mozilla-services / autopush

Python Web Push Server used by Mozilla
https://autopush.readthedocs.io/
Mozilla Public License 2.0
219 stars 30 forks source link

`verify_connection` appears to be returning an empty list for users with active subscriptions #1442

Closed jrconlin closed 4 years ago

jrconlin commented 4 years ago

See https://github.com/mozilla/application-services/issues/3314#issuecomment-712380496

Verify that users, particularly mobile users, channels are being registered correctly and are returned as part of the verify_connection() call. This is impeding work and analysis on Send Tab reliability.

rfk commented 4 years ago

Ref https://github.com/mozilla/application-services/issues/3314#issuecomment-713190223, I think that the server may be returning registered channels in cases where the client expects it to not, rather than not returning channels when the client expects that it should.

jrconlin commented 4 years ago

I'm not sure how this might happen, unless either the unsubscribe call failed for a given ChannelID and the client did not handle it properly, or if there might be some race condition where the unsubscribe was still pending and a verify was submitted.

We have a number of both unit and integration tests that check to ensure that a given channel is removed, while other channels remain in tact, during an unsubscribe. Still, chaos is ever present. I'm just not quite sure how to pursue this on the server.

jrconlin commented 4 years ago

De-prioritizing this bug since no work is currently required for the autopush server.

rfk commented 4 years ago

Based on discussion in the linked appservices issue, I believe the server is behaving as expected here.