Closed Bug 1394469 Opened 2 years ago Closed 2 years ago

Push notification misbehave after sending a register for push from Leanplum

Categories

(Firefox for iOS :: General, defect, P1)

All
iOS
defect

Tracking

()

VERIFIED FIXED
Iteration:
1.29
Tracking Status
fxios 8.3 ---
fxios-v8.3 --- verified
fxios-v10.0 --- verified

People

(Reporter: SimonB, Assigned: jhugman)

References

Details

(Whiteboard: [MMA] [MobileCore])

Attachments

(1 file)

Build: b06b848a9f7406
Device: iPhone 7
iOS: 10.3.3

Steps to reproduce:
1. Launch Firefox
2. Log in to FxA on desktop and iOS (after logging in you will be prompted to allow notification)
3. Tap [Allow] when prompt to allow notifications
4. Go to Leanplum messages and send a 'Register for Push' action (No message will be received as the permission for notification was previously allowed.)
5. Background the app on iOS by tapping on the Home button
6. Go to Firefox desktop and send a tab to your iOS device. 

Actual results: 
- After step 6) 'Tap to Begin' notifications is displayed. The tab will also be received after tapping on the 'Tap to Begin' notification, backgrounding the app and tapping on the correct notification.

Expected results:
- No 'Tap to begin' notification should be displayed, only the notification for the received tab should be displayed.
Assignee: nobody → jhugman
Priority: -- → P1
Iteration: --- → 1.29
Whiteboard: [MMA] → [MMA] [MobileCore]
This is interesting, but please note the test case is a little forced. Specifically, we would never do a Step 4, as on Leanplum we know which users have a push token, so we would never send the 'Register for Push' action to someone who has a push token.

So it may be something to look into but I don't think it should be a blocker.
It's not clear what is happening here: there is an intersection with Leanplum.

The message coming from autopush is not being decrypted.

Likely steps – very high level:

1. Sign in for FxA, and enter the push registration flow.
2. The WebPush key material is generated.
3. Key material is given to FxA.
4. LeanPlum asks for a APNS token, and we enter the push registration flow again.
5. The WebPush key material is generated again.
6. Now: FxA has incompatible Key material.
I wonder if the intersection with LP is purely coincidental - if anyone (LP, native code, etc.) asked for an APNS token in step 4, would the incompatible key still result?
(In reply to Susheel Daswani from comment #3)
> I wonder if the intersection with LP is purely coincidental - if anyone (LP,
> native code, etc.) asked for an APNS token in step 4, would the incompatible
> key still result?

Yes, it's conceivable that Apple send us another APNS token without us asking for one.
Status: NEW → ASSIGNED
Attachment #8902851 - Flags: review?(fpatel) → review+
https://github.com/mozilla-mobile/firefox-ios/commit/b2dd97aa1b49683fd5ec640c2ed79a264f3479c0
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Verifying as fix on master 631c2932d3. The tab is sent correctly and the 'Tap to Begin' notification is no longer displayed.
Uplifted to v8.x.
uplifted to v9.x as well.
Verifying as fix on 8.3(5817).
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.