Closed Bug 1112524 Opened 10 years ago Closed 9 years ago

[Flame][Settings]Device will back to previous page and the option will change to your choice, but you doesn't tap ok.

Categories

(Firefox OS Graveyard :: Gaia::System::Window Mgmt, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.2+, b2g-v2.0 unaffected, b2g-v2.0M unaffected, b2g-v2.1 affected, b2g-v2.2 verified, b2g-master verified)

VERIFIED FIXED
2.2 S9 (3apr)
blocking-b2g 2.2+
Tracking Status
b2g-v2.0 --- unaffected
b2g-v2.0M --- unaffected
b2g-v2.1 --- affected
b2g-v2.2 --- verified
b2g-master --- verified

People

(Reporter: liuke, Assigned: etienne)

References

Details

(Keywords: regression, Whiteboard: [systemsfe])

Attachments

(11 files, 1 obsolete file)

Attached file logcat_1616.txt
[1.Description]:
[Flame 2.1 & 2.2][Settings]Device will back to previous page and the option will change to your choice, but you tap the sapce between the displaying content and frame to replace ok button.
Found time:16:16
See attachment:1616.mp4 and logcat_1616.txt

[2.Testing Steps]: 
1.Launch Settings.
2.Tap "Date & Time" -> Time Format button.
3.Check another option, then tap the sapce between the displaying content and frame.

Note:This issue exsit in other sub pop up selection page.

[3.Expected Result]: 
3.The page should still display current page.

[4.Actual Result]: 
3.The page will back to previous page, and the option will change to your choice.

[5.Reproduction build]: 
Flame 2.1 version:
Gaia-Rev        79286eafe67707d1330966c1b1413b2d0de595d9
Gecko-Rev       https://hg.mozilla.org/releases/mozilla-2g34_v2_1/rev/222a62b532db
Build-ID        20141216001202
Version         34.0
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20141216.034704
FW-Date         Tue Dec 16 03:47:14 EST 2014
Bootloader      L1TC00011880

Flame 2.2 version:
Gaia-Rev        af3d2f89f391c92667e04676fc0ac971e6021bb7
Gecko-Rev       https://hg.mozilla.org/mozilla-central/rev/a3030140d5df
Build-ID        20141216040205
Version         37.0a1
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20141216.075002
FW-Date         Tue Dec 16 07:50:14 EST 2014
Bootloader      L1TC00011880

[6.Reproduction Frequency]: 
Always Recurrence,5/5
TCID: Free Test
Attached video 1616.MP4
This bug has been verified to fail on Flame 2.1, 2.2.
Issue steps:
1.Launch Settings.
2.Tap "Date & Time" -> Time Format button.
3.Check another option, then tap the sapce between the displaying content and frame.

Note:This issue exsit in other sub pop up selection page.

[3.Expected Result]: 
3.The page should still display current page.

[4.Actual Result]: 
3.The page will back to previous page, and the option will change to your choice.

See attachment: 1549.MP4 and logcat_1549.txt
Reproducing rate: 5/5
Found time:15:49

Flame 2.1 version:
Gaia-Rev        64db236bea9a0510567ab7ced2f2b4688737123c
Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/273f24a1d1fe
Build-ID        20150111001202
Version         34.0
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20150111.035122
FW-Date         Sun Jan 11 03:51:33 EST 2015
Bootloader      L1TC000118D0

Flame 2.2 version:
Gaia-Rev        f5e481d4caf9ffa561720a6fc9cf521a28bd8439
Gecko-Rev       https://hg.mozilla.org/mozilla-central/rev/bb8d6034f5f2
Build-ID        20150111010223
Version         37.0a1
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20150111.043244
FW-Date         Sun Jan 11 04:32:55 EST 2015
Bootloader      L1TC000118D0
Flags: needinfo?(echang)
Attached file logcat_1549.txt
Attached video 1549.MP4
The spots which dismiss the windows seem to be quite random, but they are all in the middle area between options and okay button.

2.2? for regression.
blocking-b2g: --- → 2.2?
Flags: needinfo?(echang)
Keywords: regression
QA Whiteboard: [COM=Gaia::Settings]
This issue is caused by the edges swipe detector, if we touach and drag from one of the edges the dialog is hidden. What we have to do is to detect that a dialog is opened and disable edge gestures like we did in [1]. Etienne could help here. I can fix it but I will like that Etienne would give me some advices about how we want to fix this issue.

[1] Bug 1097296
Flags: needinfo?(etienne)
(In reply to Manuel Casas Barrado [:mancas] from comment #6)
> This issue is caused by the edges swipe detector, if we touach and drag from
> one of the edges the dialog is hidden. What we have to do is to detect that
> a dialog is opened and disable edge gestures like we did in [1]. Etienne
> could help here. I can fix it but I will like that Etienne would give me
> some advices about how we want to fix this issue.
> 
> [1] Bug 1097296

I'm glad you asked! :)

Disabling the edge gestures should always be the last resort.
Originally alerts/selects/prompts weren't part of the app window element, so we had to cancel them when doing edge gestures.

But since bug 962434 landed we should now be able to safely remove the cancellation [1] and fix this bug.

[1] https://github.com/mozilla-b2g/gaia/blame/793773bb2944b42a85dd160049e605cbd880c4da/apps/system/js/value_selector/value_selector.js#L99-104
Flags: needinfo?(etienne)
Component: Gaia::Settings → Gaia::System::Window Mgmt
Whiteboard: [systemsfe]
blocking-b2g: 2.2? → 2.2+
Assignee: nobody → tclancy
Status: NEW → ASSIGNED
Attached file Bug-1112524-fx
This is basically what Étienne said in Comment 7.
Attachment #8560201 - Flags: review?(etienne)
Comment on attachment 8560201 [details] [review]
Bug-1112524-fx

Almost there, but this is causing a regression:

from the settings, with a value selector opened
- pressing home, then opening the settings back -> the value selector is still here
- but if I open the dialer instead then swipe back to settings -> the value selector isn't displayed and I can't open any value selector anymore...

It might be because in the case of a "swipein" we're not broadcasting _opening, but _opened right away.
Attachment #8560201 - Flags: review?(etienne) → review-
Hi Étienne,

Are you sure there's a regression? I'm not seeing it.

> pressing home, then opening the settings back -> the value selector is still here

I'm seeing this, but I also see this before my patch is applied (and the behaviour doesn't seem problematic to me). I can make you a video if you want.

> but if I open the dialer instead then swipe back to settings -> the value selector isn't displayed and I can't open any value selector anymore...

I'm not seeing this. Again, I can make you a video if you want.
Flags: needinfo?(etienne)
(In reply to Ted Clancy [:tedders1] from comment #10)
> Hi Étienne,
> 
> Are you sure there's a regression? I'm not seeing it.
> 
> > pressing home, then opening the settings back -> the value selector is still here
> 
> I'm seeing this, but I also see this before my patch is applied (and the
> behaviour doesn't seem problematic to me). I can make you a video if you
> want.

No this is completely alright.

> 
> > but if I open the dialer instead then swipe back to settings -> the value selector isn't displayed and I can't open any value selector anymore...
> 
> I'm not seeing this. Again, I can make you a video if you want.


This is very problematic, you can't access value selectors anymore.
But it's indeed happening on master now, I've file bug 1134710 (patch incoming, looks like it is the missing _opening event).
Flags: needinfo?(etienne)
Depends on: 1134710
Attachment #8560201 - Flags: review- → review+
Can you land this?
Flags: needinfo?(tclancy)
https://github.com/mozilla-b2g/gaia/commit/b07ddbbf0f0a0d406404053da80703e9b55b870c
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → 2.2 S7 (6mar)
Attached video verify_fail.MP4
Hi Eric,
Could you help with it? Thanks!
Per comment 14, this issue has fixed on Flame 3.0, but this issue has been verified fail on Flame 3.0
STR:
1.Launch Settings.
2.Tap "Date & Time" -> Time Format button.
3.Check another option, then tap the sapce between the displaying content and frame.
**The page will back to previous page, and the option will change to your choice.
See attachment:verify_fail.MP4
Rate:5/5

Flame 3.0 build:
Build ID               20150226010233
Gaia Revision          7894b929f1b0394f3c997f72a6482bc7813e758d
Gaia Date              2015-02-25 20:50:05
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/dd6353d61993
Gecko Version          39.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150226.043500
Firmware Date          Thu Feb 26 04:35:10 EST 2015
Bootloader             L1TC000118D0
Flags: needinfo?(echang)
QA Whiteboard: [COM=Gaia::Settings] → [COM=Gaia::Settings][MGSEI-Triage+]
FWD ni to RD.
Flags: needinfo?(echang) → needinfo?(tclancy)
Yep. This seems to be broken again.

I'll look into it.
Flags: needinfo?(tclancy)
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: 2.2 S7 (6mar) → ---
Hey Alive, here's a weird scenario:
- open dialer
- open UI Tests app
- open a select in the UI Tests app
- edge swipe to the dialer

=> A select ValueSelector is added to the dialer's AppWindow with the same content than the one from the UI Tests app.

Looks like we get a weird inputmethod-contextchange mozChromeEvent after the app change. Any idea what could cause this?

[opening the select in the ui tests apps]

I/GeckoConsole(27764): Content JS LOG: +++ something from chrome  {"type":"inputmethod-contextchange","inputType":"select-one","value":"","choices":"{\"multiple\":false,\"choices\":[{\"group\":
false,\"inGroup\":false,\"text\":\"Mozilla\",\"disabled\":false,\"selected\":false,\"optionIndex\":0},{\"group\":false,\"inGroup\":false,\"text\":\"B2G\",\"disabled\":false,\"selected\":false,\
"optionIndex\":1},{\"group\":false,\"inGroup\":false,\"text\":\"Gaia\",\"disabled\":false,\"selected\":false,\"optionIndex\":2},{\"group\":false,\"inGroup\":false,\"text\":\"Gecko\",\"disabled\
":false,\"selected\":false,\"optionIndex\":3},{\"group\":false,\"inGroup\":false,\"text\":\"Basecamp\",\"disabled\":false,\"selected\":false,\"optionIndex\":4}]}","min":"","max":""} 

[performing the edge swipe]

I/GeckoConsole(27764): Content JS LOG: +++ something from chrome  {"type":"inputmethod-contextchange","inputType":"blur"} 
I/GeckoConsole(28943): Content JS LOG: +++ something from chrome  {"type":"inputmethod-contextchange","inputType":"select-one","value":"","choices":"{\"multiple\":false,\"choices\":[{\"group\":
false,\"inGroup\":false,\"text\":\"Mozilla\",\"disabled\":false,\"selected\":false,\"optionIndex\":0},{\"group\":false,\"inGroup\":false,\"text\":\"B2G\",\"disabled\":false,\"selected\":false,\
"optionIndex\":1},{\"group\":false,\"inGroup\":false,\"text\":\"Gaia\",\"disabled\":false,\"selected\":false,\"optionIndex\":2},{\"group\":false,\"inGroup\":false,\"text\":\"Gecko\",\"disabled\
":false,\"selected\":false,\"optionIndex\":3},{\"group\":false,\"inGroup\":false,\"text\":\"Basecamp\",\"disabled\":false,\"selected\":false,\"optionIndex\":4}]}","min":"","max":""}
Flags: needinfo?(alive)
It might be because we mistakenly focus the original appWindow(UITest) while doing swipe navigation; could you check who is calling BrowserMixin.focus during the transition?
Flags: needinfo?(alive)
Okay I know what happen. When value selector closes, it will call this.app.focus() to make the focus back to the app mozbrowser iframe; Tim had tried to remove this but caused some regression so we took it back.

The fix should be simple: before calling this.app.focus(), check if this.app.isActive(). I think this could be done in BrowserMixin.focus or ValueSelector.

Lemme know if you need me to fix it.
(In reply to Autolander from comment #21)
> Created attachment 8579362 [details] [review]
> [gaia] etiennesegonzac:bug-1112524 > mozilla-b2g:master

Just want to run the tests, not finished yet.
Comment on attachment 8579362 [details] [review]
[gaia] etiennesegonzac:bug-1112524 > mozilla-b2g:master

What do you think?
This is preventing:
- hiding the value selector when an edge zone is tapped
- the injection of a bad value selector after an edge swipe

But I'm not sure if it's breaking anything (if it does it's not covered by a test :))
Attachment #8579362 - Flags: feedback?(alive)
Comment on attachment 8579362 [details] [review]
[gaia] etiennesegonzac:bug-1112524 > mozilla-b2g:master

But I doubt about removing 'blur' event because I think it's the only way to hide the value selector...?

NI Tim/Rudy to confirm.

If it's remove-able, do we need https://github.com/etiennesegonzac/gaia/blob/bug-1112524/apps/system/js/value_selector/value_selector.js#L179 ?
Flags: needinfo?(timdream)
Flags: needinfo?(rlu)
Attachment #8579362 - Flags: feedback?(alive) → feedback+
Comment on attachment 8579362 [details] [review]
[gaia] etiennesegonzac:bug-1112524 > mozilla-b2g:master

Hmmm....Changed my mind about isActive() part ;)
Attachment #8579362 - Flags: feedback+
We should not remove the blur part of the code. It's possible the app programmatically remove the focus and we would need to respond to that.
Flags: needinfo?(timdream)
Comment on attachment 8579362 [details] [review]
[gaia] etiennesegonzac:bug-1112524 > mozilla-b2g:master

I thought we were bluring because the system app stole the focus, but it was because we were forwarding events the the frame below.

Makes for a much cleaner fix :)
Attachment #8579362 - Flags: review?(alive)
Comment on attachment 8579362 [details] [review]
[gaia] etiennesegonzac:bug-1112524 > mozilla-b2g:master

Thanks!
Attachment #8579362 - Flags: review?(alive) → review+
Flags: needinfo?(rlu)
Assignee: tclancy → etienne
Comment on attachment 8583026 [details] [review]
[gaia] etiennesegonzac:bug-1112524 > mozilla-b2g:master

Opened a new pull request to (hopefully) get the try-server-hook to see it.
Carrying the r+.
Attachment #8583026 - Flags: review+
Attachment #8579362 - Attachment is obsolete: true
Keywords: checkin-needed
Autolander could not locate a review from a user within the suggested reviewer list. Either the patch author or the reviewer should be in the suggested reviewer list.
Autolander could not locate a review from a user within the suggested reviewer list. Either the patch author or the reviewer should be in the suggested reviewer list.
On master: https://github.com/mozilla-b2g/gaia/pull/29137
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
Please also uplift to 2.2 since it is a 2.2 blocker. Thanks.
Keywords: verifyme
Flags: needinfo?(etienne)
Target Milestone: --- → 2.2 S9 (3apr)
This issue Verified successfully on flame3.0:
Reproduce rate 0/5
Build ID               20150326160206
Gaia Revision          525c341254e08f07f90da57a4d1cd5971a3cc668
Gaia Date              2015-03-26 16:34:16
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/59554288b4eb
Gecko Version          39.0a1
Device Name            flame
Firmware(Release)      4.4.2
Comment on attachment 8583026 [details] [review]
[gaia] etiennesegonzac:bug-1112524 > mozilla-b2g:master

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #): edge gestures
[User impact] if declined: modal value selector displayed on the wrong app :/
[Testing completed]: all value selectors in the UI test app + this STR with the settings app
[Risk to taking this patch] (and alternatives if risky): low
[String changes made]: none
Flags: needinfo?(etienne)
Attachment #8583026 - Flags: approval-gaia-v2.2?
Attachment #8583026 - Flags: approval-gaia-v2.2? → approval-gaia-v2.2+
Needs rebasing for v2.2 uplift.
Flags: needinfo?(etienne)
New PR, test running...
Flags: needinfo?(etienne)
Hi Autolander,

The bug verified fail in latest Flame 2.2, and we have build new Flame 2.2 Image of patch(comment 38), but the bug still exist.

Fail rate:5/5
Found time:16:00
See attachment:1600.mp4 and logcat_1600.txt

Flame 2.2 version:
Build ID               20150402002500
Gaia Revision          1ceca464053dee4a8bf10ea5abeef724d68c2ff2
Gaia Date              2015-04-01 09:49:30
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/427b4da96714
Gecko Version          37.0
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150402.035057
Firmware Date          Thu Apr  2 03:51:09 EDT 2015
Bootloader             L1TC000118D0

Flame 2.2(Build):
Build ID               20150403145448
Gaia Revision          022eeb91197ba4a9adfd67bd6db5aa03cc69eb31
Gaia Date              2015-04-03 04:13:03
Gecko Revision         n/a
Gecko Version          37.0
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.rose.20150310.100223
Firmware Date          Tue Mar 10 10:02:48 CST 2015
Bootloader             L1TC000118D0
Status: VERIFIED → RESOLVED
Closed: 9 years ago9 years ago
Flags: needinfo?(bug.autolander)
Attached file logcat_1600.txt
Attached video 1600.MP4
Etienne, could you please take a look for 2.2? Thanks.
Flags: needinfo?(bug.autolander) → needinfo?(etienne)
Comment on attachment 8560201 [details] [review]
Bug-1112524-fx

This bug had 2 patches (one more reason to always open follow up bugs I guess).

This initial patch needs to be uplifted to 2.2 too, otherwise the bug is still happening as Comment 42 states.
Flags: needinfo?(etienne)
Attachment #8560201 - Flags: approval-gaia-v2.2?
Attachment #8560201 - Flags: approval-gaia-v2.2? → approval-gaia-v2.2+
v2.2 PR of the missing patch (needed rebasing) -> https://github.com/mozilla-b2g/gaia/pull/29389
Lance, could you verify 2.2?
Flags: needinfo?(liuke)
The problem is verified pass on latest Flame 2.2 build.

Fail rate:0/5
See attachment:1126.mp4

Device: Flame 2.2 version(Pass):
Build ID               20150409162502
Gaia Revision          df0e04acad7c8c993f6ffe07b0ccb0ec20ee50bb
Gaia Date              2015-04-09 22:35:05
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/091b1cc1240b
Gecko Version          37.0
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150409.200542
Firmware Date          Thu Apr  9 20:05:54 EDT 2015
Bootloader             L1TC000118D0

Leaving verifyme for 2.1 uplift/verification.
Flags: needinfo?(liuke)
Attached video 1126.MP4
Depends on: 1154429
Hi Josh,

This bug is a regression. Could you check whether to uplift to flame 2.1? 
Thanks.
Flags: needinfo?(jocheng)
Hi Etienne,
Could you help to raise 2.1 Uplift approval as this is regression issue?
Thanks!
Flags: needinfo?(jocheng) → needinfo?(etienne)
(In reply to Josh Cheng [:josh] from comment #53)
> Hi Etienne,
> Could you help to raise 2.1 Uplift approval as this is regression issue?
> Thanks!

Not sure what the process is here and what's expected of me.
The risky-ness of the patch was described for the 2.2 approval (Comment 36).

Isn't it a pure relman issue now?
Flags: needinfo?(etienne)
Status: RESOLVED → VERIFIED
Keywords: verifyme
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: