Closed Bug 802644 Opened 12 years ago Closed 12 years ago

Handle USSD session expiration

Categories

(Firefox OS Graveyard :: Gaia, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: brg, Assigned: ferjm)

References

Details

(Whiteboard: QARegressExclude)

Attachments

(2 files)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:15.0) Gecko/20100101 Firefox/15.0.1 Build ID: 20120905151427 Steps to reproduce: Testing USSD session. Actual results: When there is a USSD session timeout(i.e, because of inactivity), there is a messsage shown to the user that is not correct. The user has sent nothing during some time. Expected results: The USSD session is finished/closed by the timeout and the "MESSAGE SUCCESFULLY SENT" does not appear.
Assignee: nobody → ferjmoreno
blocking-basecamp: --- → ?
The issue here seems to be that we are not properly handling on the UI the USSDReceivedEvent triggered when an USSD session expires.
Summary: USSD session is not finished properly → Handle USSD session expiration
Blocks: MMI/Gaia
Please give us more informaiton about why this should be nommed.
blocking-basecamp: ? → ---
Comment 0 gives a clear explanation of the current behaviour. But lets put it this way: - The user dials *204# with a Vivo SIM card. - An USSD popup is shown with an interactive menu containing the following message: "Bem vindo a Plataforma USSD. Escolha uma opcao: 1.Letras Maiusculas 2.Caracteres Especiais 3.100 caracteres Return:*Exit:0" - After a few seconds, if the user does not enter a choice, the USSD session is closed on the network side and a wrong "MESSAGE SUCCESFULLY SENT" or "null" message is presented to the user. Which IMHO is pretty confusing and a bad UX. We should not be showing this erroneous information. (Note that some USSD messages has an associated cost)
Ugh, this is pretty messy... :( It seems that this bug might have been fixed in the UI, but reintroduced by Bug 794011. The reason is because after Bug 794011 |USSDReceivedEvent.message| *always* contains a value because 'null' and 'undefined' values seems to be parsed by the |ParseJSON| function introduced in Bug 797806. That makes the UI fail on the check at [1]. On the other hand, USSDs are currently broken in Aurora until Bug 804595 lands. And I have no time to clone and build Aurora right now with the fix for that and without the patch for Bug 794011 (which in fact has been backed out from Aurora! [2]), so I cannot verify that this it is actually fixed in Aurora with the latest Gaia. I'll check it tomorrow. So... now that Bug 794011 has been backed out from Aurora and once Bug 804595 lands, we might be good and have this issue fixed without any other modification. I am just guessing based on what I see in the code, cause, as I mentioned, before I cannot wait today for an Aurora build from scratch. The thing is that Bug 794011 is already in m-i and m-c, so I still need to upload the fix for the regression that it introduces or also back it out from m-c and m-i. [1] https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/ussd.js#L89 [2] https://bugzilla.mozilla.org/show_bug.cgi?id=794011#c31
Comment on attachment 674708 [details] Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/5988 NOTE: If blocking-basecamp+ is set, just land it for now. [Approval Request Comment] Bug caused by (feature/regressing bug #): User impact if declined: Testing completed: Risk to taking this patch (and alternatives if risky): I could finally test Aurora with the fix from bug 804595 (that should land in Aurora soon) and I could check that unfortunately this bug wasn't completely fixed by Bug 799443. The attached patch should solve the issue and adds a couple of extra fixes like hiding the send form when is not needed. If Bug 794011 is pushed again to Aurora, we could cover more edge cases regarding USSD sessions. [Approval Request Comment] Bug caused by (feature/regressing bug #): Bug 799443 User impact if declined: The USSD screen might show not valid information to the user ("null" or "undefined") and would also allow the user to send new USSD messages over an invalid session, causing a pretty bad user experience. Testing completed: Yes (apps/communications/dialer/test/unit/ussd_test.js) Risk to taking this patch (and alternatives if risky): Since this patch modifies only the code related to the Gaia USSD part, the risk (which is minimal) would be limited to the USSD screen. There are no alternatives so far, just live with the current UX.
Attachment #674708 - Flags: review?(francisco.jordano)
Attachment #674708 - Flags: approval-gaia-master?(21)
Sorry for the mess in my previous comment, the approval request form was introduced twice by bugzilla ¬¬...
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Attachment #674708 - Flags: review?(francisco.jordano) → review+
Comment on attachment 674708 [details] Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/5988 Francisco has the power to give approvals if he believe this is low risk and the phone can not be shipped without it.
Attachment #674708 - Flags: approval-gaia-master?(21) → approval-gaia-master?(francisco.jordano)
Attachment #674708 - Flags: approval-gaia-master?(francisco.jordano) → approval-gaia-master+
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Whiteboard: QARegressExclude
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: