Closed Bug 1209137 Opened 9 years ago Closed 7 years ago

[Messages] It's possible to come up with completely broken UI if user quickly taps on various buttons while navigating to another view

Categories

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

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(b2g-v2.2 affected, b2g-master affected)

RESOLVED WONTFIX
Tracking Status
b2g-v2.2 --- affected
b2g-master --- affected

People

(Reporter: azasypkin, Unassigned)

References

Details

Just few possible STRs.

STR #1:

1) Open Inbox with at least one conversation;
2) Quickly tap on "New Message" button as many times as you can;

Expected result: user is forwarded to New Message view;

Actual result: user is forwarded to New Message View, but options dialog from Inbox is opened. So user can choose "Select threads" while being in New Message View that will completely break UI.

STR #2:

1) Open Conversation View;
2) Tap on back button and then quickly on Options button;

Expected result: user is either left in Conversation view and sees Conversation options dialog or forwarded to Inbox view;

Actual result: user is forwarded to Inbox view and sees Conversation options dialog. So user can choose "Add subject" that will break UI as well.

It doesn't look like a regression, as I can reproduce this on v2.2 as well.
Do you think we should have a "pointer-events: none" everywhere while transitioning ? (or an overlay on top of everything to catch clicks)
or (I'm thinking of it just now) capturing all clicks/touch by adding an event listener in "capture mode" to document.body.
> Do you think we should have a "pointer-events: none" everywhere while transitioning ?

That's what I had in mind, but we can try different approaches and see which one is better.
I'm thinking of "pointer-events: none" while transitioning as well for solving this issue once for all. Although capturing pointer event while transitioning might give users some benefit that they can change their mind in very short time, I think the percentage of unconscious touching is much higher then multi-touch on purpose and the effort of maintaining the events is much higher than simply disabling.
What I don't like with "pointer-events" is that it's easily overriden by children. As a result we add a class "disable-when-dialog-animates" to override this in some places...
That's why I think simply capturing the event works better...
See Also: → 1218374
Mass closing of Gaia::SMS bugs. End of an era :(
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
Mass closing of Gaia::SMS bugs. End of an era :(
You need to log in before you can comment on or make changes to this bug.