Closed Bug 1632384 Opened 5 years ago Closed 5 years ago

Poll for missed FxA commands (eg, sent tabs) automatically

Categories

(Firefox :: Firefox Accounts, defect, P2)

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: markh, Unassigned)

References

(Depends on 1 open bug)

Details

We've recently had a bug whereby push wasn't working on Nightly. We do have a fallback polling mechanism to try and deal with that, but it's only executed when the user explicitly does a "sync now". The end result is that send tab appears to be completely broken for Nightly users who don't ever hit "send now".

Push server issues will hopefully be rare, but it will never have 100% reliability. Thus, we should poll for missed commands more often. The exact frequency is TBD, but I'd expect that once per session would have mitigated our recent issue significantly. "send tab is slow" is a much better bug report to get than "send tab doesn't work" :)

Just because things can never be simple, we should also investigate what telemetry we have for this and create a dashboard with alerts - we should never need to rely on user bug reports to tell us push is broken.

The priority flag is not set for this bug.
:markh, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(markh)
Flags: needinfo?(markh)
Priority: -- → P2

The severity field is not set for this bug.
:markh, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(markh)

Ryan and I also discussed that we should poll when we notice our push endpoint expired.

Flags: needinfo?(markh)
Severity: -- → S3

So a few passing notes:

  1. timed events on android can be... a lot more approximate than you'd prefer.
  2. There's also the potential that the app could be flagged for high battery use if it's considered "too active" or keeps the CPU from properly sleeping. (Mobile folks would know the details FAR better than I would)

It might be worth doing a daily check (say, first time that the app is used on a given day) to see if push is still valid. A bit trickier to do this under iOS, since APNS push notifications require user action IIRC.

Ryan and I also discussed that we should poll when we notice our push endpoint expired.

I think this would be a good place to start here FWIW, polling for missed commands if we're updating the device list and we notice that our push endpoint was marked as expired. There's a very good change we'll have missed commands in that case.

Depends on: 1649055

It turns out we do poll for missed commands once per day - we check if the period has expired every "scheduled" sync.

This seems to be working OK but might need more testing, because:

(In reply to Mark Hammond [:markh] [:mhammond] from comment #0)

We've recently had a bug whereby push wasn't working on Nightly. We do have a fallback polling mechanism to try and deal with that, but it's only executed when the user explicitly does a "sync now". The end result is that send tab appears to be completely broken for Nightly users who don't ever hit "send now".

There was anecdotal evidence at the time that the feature was truly broken rather than just delayed by 12 hours (12 hours should be the average time until the next poll after a tab is sent).

So yeah, there's nothing to do here.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.