Closed Bug 1170357 Opened 7 years ago Closed 7 years ago

[Aries][Notifications] Tapping notification banners do not redirect user to appropriate screen


(Firefox OS Graveyard :: Gaia::System::Status bar, Utility tray, Notification, defect)

Gonk (Firefox OS)
Not set


(blocking-b2g:2.5+, b2g-master verified)

FxOS-S1 (26Jun)
blocking-b2g 2.5+
Tracking Status
b2g-master --- verified


(Reporter: bzumwalt, Assigned: apastor)




(Keywords: regression, smoketest, Whiteboard: [3.0-Daily-Testing],[spark][systemsfe])


(3 files)

Attached file Logcat
When a notification banner appears on top of users screen, tapping the banner does not take user to relevant page. The user stays on screen and is not taken to a new page. This happens on email, screenshot, and calendar notifications among others.

Repro Steps:
1) Update a Xperia Z3 Compact (B2G) to 20150601153918
2) Send an SMS from different device to device under test
3) When notification banner appears at top of screen tap one or more times on banner

User actions have no response on device. User remains on same screen.

When user taps on notification they are taken to appropriate page.

Environmental Variables:
Device: Xperia Z3 Compact (B2G) 3.0
Build ID: 20150601153918
Gaia: Unknown
Gecko: 666b584fb521
Gonk: Could not pull gonk.  Did you shallow Flash?
Version: 41.0a1 (3.0)
User Agent: Mozilla/5.0 (Mobile; rv:41.0) Gecko/41.0 Firefox/41.0

Repro frequency: 3/3, 100%
See attached: Youtube video clip & logcat
Youtube video link:
Issue does NOT reproduce on Flame 3.0

When user taps on notification they are taken to appropriate page.

Device: Flame 3.0
Build ID: 20150528010203
Gaia: 05380df3158fa39e1dde1687c0bf11a71f8c6868
Gecko: baa9c64fea6f
Gonk: 040bb1e9ac8a5b6dd756fdd696aa37a8868b5c67
Version: 41.0a1 (3.0)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:41.0) Gecko/41.0 Firefox/41.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(pbylenga)
[Blocking Requested - why for this release]:
Functional regression from Flame behavior, would also fail smoke tests.
blocking-b2g: --- → spark?
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(pbylenga)
Keywords: smoketest
Etienne, could you take a look at this please?
blocking-b2g: spark? → spark+
Flags: needinfo?(etienne)
See Also: → 1170863
I'm nearly 100% sure this has been like this for months on multiple devices: Xperia Z3/Z3c/ZR, Flame and Nexus S.
Gregor, could you help us get some eyes on this please?
Flags: needinfo?(anygregor)
That's odd Alexandre.  I don't see issue on a flame that has spark gaia on top of it.

Build ID               20150604010200
Gaia Revision          65369b217faac7d70c1a29100c4208c6d1db16e3
Gaia Date              2015-06-04 20:28:16
Gecko Revision
Gecko Version          41.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150604.043446
Firmware Date          Thu Jun  4 04:34:57 EDT 2015
Bootloader             L1TC000118D0
Attached file logcat.txt
logcat on aries when taking a screenshot and tapping on the banner.

On the flame device it will show "Got a mozContentEvent: activity-choice" after tapping on the banner and will take you to the gallery.  On Aries it completely ignores any signs that it was tapped.  Seems like the touch event is ignored.
Note: I tried with the software home button and spark gaia on top of a flame device and it still functions correctly.  It seems aries specific.
Kats, do you think this has anything to do with APZ?
Flags: needinfo?(anygregor) → needinfo?(bugmail.mozilla)
It's possible; there isn't enough information here to say for sure. And I don't have an aries device so I can't reproduce locally. Getting branch checks and a regression window if appropriate would be helpful.
Flags: needinfo?(bugmail.mozilla)
Can we get a device for Kats?
Flags: needinfo?(jgong)
Don't know this code, but notification_screen.js uses the 'tap' event, that, IIRC is synthesized by DJF's gesture_detector.js library.
And looks like there's no mention of devicePixelRatio in this file, so might be the issue.
Flags: needinfo?(etienne)
(In reply to Etienne Segonzac (:etienne) from comment #12)
> Don't know this code, but notification_screen.js uses the 'tap' event, that,
> IIRC is synthesized by DJF's gesture_detector.js library.
> And looks like there's no mention of devicePixelRatio in this file, so might
> be the issue.

That looks to be a good lead, what I have been able to observe up to now comparing a Z3 and a Flame is that:
 - the issue on Z3 comes from the fact that NotificationScreen's code to detect tap gets lurred into touchmove
 - on a Flame I am able to reproduce but the rate is much lower, probably because of the screen
So, Alberto, I think it will be faster if you handle this one :). So on Z3 and Z3 Compact (and I suspect other higher screen density devices), we get much more easily touchmove events when tapping the notification banner. We then enter the touchmove section of NotificationScreen, where we hit since the "displayed" class has been set (since we are displaying the toaster). That makes us setting this._touching to false.

Hence, later, when entering in the touchend section, we have !this._thouching which is true and we do not generate the 'tap' event :)
Blocks: 1061854
Flags: needinfo?(apastor)
Keywords: regression
Assignee: nobody → apastor
Flags: needinfo?(apastor)
Whiteboard: [3.0-Daily-Testing],[spark] → [3.0-Daily-Testing],[spark][systemsfe]
Alberto, do you have a WIP patch for this? We're pulling in temporary fixes for a release candidate and it would be nice to have this.
Flags: needinfo?(apastor)
Unfortunately I'm on PTO, so I won't be able to submit a patch till Monday. Sorry about that
Flags: needinfo?(apastor)
We are not using anymore the GestureDetector library on the notifications. The problem here is that in the flame we don't receive touchmove events at all when tapping. Etienne, could you please take a look? Thanks!
Attachment #8622410 - Flags: review?(etienne)
Comment on attachment 8622410 [details] [review]
Link to Pull Request:

r=me with the 'tapping on the toaster' test (in notification_screen_test.js) updated to use a sequence of events with touchstart/touchmove/touchend instead of faking a 'tap' directly.
Attachment #8622410 - Flags: review?(etienne) → review+
Closed: 7 years ago
Resolution: --- → FIXED
Issue is VERIFIED FIXED on master for Aries devices
Results: Tapping a notification banner redirects user to appropriate screen
Environmental Variables:
Device: Aries 3.0
BuildID: 20150619021036
Gaia: fcce826ab790d074e88e055ae7f2ab4fb0f01903
Gecko: 8a8307ba002f07c6a36668c65f6f39083bd30703
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 41.0a1 (3.0) 
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:41.0) Gecko/41.0 Firefox/41.0
Results: 5/5
QA Whiteboard: [QAnalyst-Triage?]
blocking-b2g: spark+ → 2.5+
Target Milestone: --- → FxOS-S1 (26Jun)
(In reply to Gregor Wagner [:gwagner] from comment #11)
> Can we get a device for Kats?

This program has been closed. No need to get a device to Kats.
Flags: needinfo?(jgong)
You need to log in before you can comment on or make changes to this bug.