Closed Bug 1132391 Opened 10 years ago Closed 10 years ago

Edit mode can freeze


(Firefox OS Graveyard :: Gaia::Homescreen, defect)

Not set


(blocking-b2g:2.2+, b2g-v2.2 verified, b2g-master verified)

2.2 S6 (20feb)
blocking-b2g 2.2+
Tracking Status
b2g-v2.2 --- verified
b2g-master --- verified


(Reporter: kgrandon, Assigned: kgrandon)


(Whiteboard: [systemsfe])


(2 files)

We see the following error: [JavaScript Error: "too much recursion"]

I think this might have something to do with trying to drag/drop a place holder, or single app within a group. Working on narrowing this down.
Probably want to block as this makes the home screen freeze.
blocking-b2g: --- → 2.2?
Whiteboard: [systemsfe]
Found an STR:

1 - Have a group at the top of the screen with only 1 icon.
2 - Long press the icon to enter edit mode and release.
3 - Long press and let go on an empty place after the first icon (a placeholder).
4 - Try to long-press on any icon, I think we are inside an infinite loop at this point.
Assignee: nobody → kgrandon
Comment on attachment 8563318 [details] [review]
[gaia] KevinGrandon:bug_1132391_placeholder_pointer_events > mozilla-b2g:master

Chris - you're right, after finding the STR it was a pretty simple fix.

I spent quite a long time trying to write a test for this, but ultimately failed. Following the STR in a test is quite easy, but I don't think we have good methods to easily follow the same path as our touch events do. If you have any ideas let me know, but I think we might just want to land this without a test. I don't think it would easily regress.
Attachment #8563318 - Flags: review?(
This also allows users to long-press on a placeholder to move the entire group which I think is a nice benefit.
Comment on attachment 8563318 [details] [review]
[gaia] KevinGrandon:bug_1132391_placeholder_pointer_events > mozilla-b2g:master

This is a conditional r+, because:

I think this rule will add weird behaviour if you long-press on a placeholder in a large group - the group would then collapse, but be very far from the user's finger...

So this is an r+ on the condition that you disable placeholders triggering group moves (I think a CSS rule that disabled pointer events on not:(.collapsed) group backgrounds/shadows would probably do the trick - likely there's already a rule that can be modified).
Attachment #8563318 - Flags: review?( → review+
Thanks. I've added a new selector to handle the existing pointer events rule for a lot of the grouping stuff. Starting the drag from the bottom of a large group did indeed screw up the experience.

In master:
Closed: 10 years ago
Resolution: --- → FIXED
Comment on attachment 8563318 [details] [review]
[gaia] KevinGrandon:bug_1132391_placeholder_pointer_events > mozilla-b2g:master

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #): Unsure, this likely group with some grouping work.
[User impact] if declined: The app can freeze, causing it to restart.
[Testing completed]: Manual testing - currently working on adding an integration test for this, but it's extremely difficult.
[Risk to taking this patch] (and alternatives if risky): Low risk as it's a simple CSS-only patch.
[String changes made]: No
Attachment #8563318 - Flags: approval-gaia-v2.2?(bbajaj)
blocking-b2g: 2.2? → 2.2+
Target Milestone: --- → 2.2 S6 (20feb)
Reverted because it was my best guess for what caused the Gu near-permafail starting on the below Bumper Bot push:

Resolution: FIXED → ---
Hmm, this seems to be intermittent on b-i somehow? Will investigate tomorrow.
Comment on attachment 8563691 [details] [review]
[gaia](reland) KevinGrandon:bug_1132391_reland > mozilla-b2g:master

This patch is to reland when/if things turn green.
Attachment #8563691 - Attachment description: [gaia] KevinGrandon:bug_1132391_reland > mozilla-b2g:master → [gaia](reland) KevinGrandon:bug_1132391_reland > mozilla-b2g:master
waiting for re-landing here before taking it on the branch.
*sigh* wasn't yours, so I'm back to the drawing board
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
Attachment #8563318 - Flags: approval-gaia-v2.2?(bbajaj) → approval-gaia-v2.2+
cannot find the error logs [JavaScript Error: "too much recursion"]

Build ID               20150326164141
Gaia Revision          6d0174e28576f2f93e696a43d1ac3b03340117f6
Gaia Date              2015-03-26 21:47:33
Gecko Revision
Gecko Version          37.0
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150326.201153
Firmware Date          Thu Mar 26 20:12:05 EDT 2015
Bootloader             L1TC000118D0

Build ID               20150326160206
Gaia Revision          525c341254e08f07f90da57a4d1cd5971a3cc668
Gaia Date              2015-03-26 16:34:16
Gecko Revision
Gecko Version          39.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150326.193247
Firmware Date          Thu Mar 26 19:32:58 EDT 2015
Bootloader             L1TC100118D0
You need to log in before you can comment on or make changes to this bug.