Closed Bug 1090843 Opened 10 years ago Closed 10 years ago

[Settings] Improve the time required for enabling the menu items of the root panel

Categories

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

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(tracking-b2g:+)

RESOLVED FIXED
2.1 S9 (21Nov)
tracking-b2g +

People

(Reporter: arthurcc, Assigned: arthurcc)

References

Details

(Whiteboard: [p=5])

Attachments

(1 file, 1 obsolete file)

There are a few bottle necks in the path of enabling the menu items.

- Too many modules for loading hardware information required in the module of the root panel.
- Too many query selectors in the init function of the root panel.
- There are many redundant setTimeouts in the panel navigation process.
- Some module required in main.js could be delay loaded.
- Radio related data could be retrieved earlier.
Status: NEW → ASSIGNED
Whiteboard: [p=3]
Target Milestone: --- → 2.1 S9 (21Nov)
Attached file WIP (obsolete) —
Hi EJ, could you help check the patch? Thanks.

I used separated commits to address the issues listed above. In addition to that, I also implemented cached user actions as what we discussed offline.
Attachment #8520451 - Flags: feedback?(ejchen)
Comment on attachment 8520451 [details]
WIP

looks nice to me (based on our offline discussions). f+
Attachment #8520451 - Flags: feedback?(ejchen) → feedback+
Hi Jared, may I know whether "findmydevice.ui.enabled" is still being used?
Flags: needinfo?(6a68)
Hi Arthur,

That pref is leftover from when we weren't sure if FMD would ship in 2.0 or not. 

You can safely remove the data-show-name attribute (and the hidden attribute, too), as well as the 'findmydevice.ui.enabled' pref in build/config/common-settings.json.

Let me know if you need anything else,

Jared
Flags: needinfo?(6a68)
Cool, thanks.
Depends on: 1092104
Comment on attachment 8520451 [details]
WIP

EJ, I addressed your comments. In addition, I modulalized startup.js to make it easier for unit testing. Could you help review it again? Thanks.
Attachment #8520451 - Flags: review?(ejchen)
Arthur, I think this patch is almost there, can you rebase to latest master ?
Flags: needinfo?(arthur.chen)
Done rebasing!
Flags: needinfo?(arthur.chen)
Comment on attachment 8520451 [details]
WIP

r+ with one last nit. Thanks Arthur +++
Attachment #8520451 - Flags: review?(ejchen) → review+
Thanks for reviewing, EJ!

master: 07e24e6f19271bedaa4bb0294e17eeefa9401997
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Whiteboard: [p=3] → [p=5]
This is breaking the Gaia-UI automated device tests

test_toggle_bluetooth_settings started to fail because of this:

Traceback (most recent call last):
File "/var/jenkins/1/workspace/flame-kk-319.b2g-inbound.ui.functional.sanity/.env/local/lib/python2.7/site-packages/marionette_client-0.8.4-py2.7.egg/marionette/marionette_test.py", line 264, in run
testMethod()
File "/var/jenkins/1/workspace/flame-kk-319.b2g-inbound.ui.functional.sanity/tests/python/gaia-ui-tests/gaiatest/tests/functional/settings/test_settings_bluetooth.py", line 30, in test_toggle_bluetooth_settings
bluetooth_settings = settings.open_bluetooth_settings()
File "/var/jenkins/1/workspace/flame-kk-319.b2g-inbound.ui.functional.sanity/tests/python/gaia-ui-tests/gaiatest/apps/settings/app.py", line 134, in open_bluetooth_settings
self._tap_menu_item(self._bluetooth_menu_item_locator)
File "/var/jenkins/1/workspace/flame-kk-319.b2g-inbound.ui.functional.sanity/tests/python/gaia-ui-tests/gaiatest/apps/settings/app.py", line 233, in _tap_menu_item
self._wait_for_parent_section_not_displayed(menu_item)
File "/var/jenkins/1/workspace/flame-kk-319.b2g-inbound.ui.functional.sanity/tests/python/gaia-ui-tests/gaiatest/apps/settings/app.py", line 228, in _wait_for_parent_section_not_displayed
lambda m: parent_section.location['x'] + parent_section.size['width'] == 0)
File "/var/jenkins/1/workspace/flame-kk-319.b2g-inbound.ui.functional.sanity/tests/python/gaia-ui-tests/gaiatest/apps/base.py", line 56, in wait_for_condition
Wait(self.marionette, timeout).until(method, message=message)
File "/var/jenkins/1/workspace/flame-kk-319.b2g-inbound.ui.functional.sanity/.env/local/lib/python2.7/site-packages/marionette_client-0.8.4-py2.7.egg/marionette/wait.py", line 143, in until
cause=last_exc)
TimeoutException: TimeoutException: Timed out after 30.0 seconds

Device firmware (date) 	27 Nov 2014 22:58:22
Device firmware (incremental) 	eng.cltbld.20141128.015811
Device firmware (release) 	4.4.2
Device identifier 	flame
Gaia date 	27 Nov 2014 22:16:05
Gaia revision 	07e24e6f1927
Gecko build 	20141127223240
Gecko revision 	71da97c6ca1d
Gecko version 	36.0a1

http://jenkins1.qa.scl3.mozilla.com/job/flame-kk-319.b2g-inbound.ui.functional.sanity/4264
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Blocks: 1105998
Let's fix the issue in bug 11059998.
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
Backed out the patch as it blocks QA tests.

revert: 400dfd7d81fcaa6f5032ba823a9348e4e16ed737
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
EJ, I've added a new commit fixing the problem of navigating to the bluetooth panel. Could you help check it? Thanks.
Attachment #8520451 - Attachment is obsolete: true
Attachment #8534222 - Flags: review?(ejchen)
Comment on attachment 8534222 [details]
Fix the bluetooth panel problem

Based on our offline discussion, let's fix the problem about the timing gap of loading low_priority_items & click events. 

Overall this patch is good to me ! Thanks Arthur.
Attachment #8534222 - Flags: review?(ejchen)
Comment on attachment 8534222 [details]
Fix the bluetooth panel problem

EJ, would you mind review it again? The newly added commits should address the issue as what we've discussed, thanks.
Attachment #8534222 - Flags: review?(ejchen)
Comment on attachment 8534222 [details]
Fix the bluetooth panel problem

Thanks Arthur, r+ with last comment waiting to be confirmed on Github.

:)
Attachment #8534222 - Flags: review?(ejchen) → review+
:Bebe, I've create a new PR addressing the issue. Would you mind running the test with the new PR? Thanks!
Flags: needinfo?(florin.strugariu)
I started a adhoc run on Jenkins:
test_settings_bluetooth:  http://jenkins1.qa.scl3.mozilla.com/job/flame-kk.ui.adhoc/427

All settings tests: http://jenkins1.qa.scl3.mozilla.com/job/flame-kk.ui.adhoc/428/
Flags: needinfo?(florin.strugariu)
Arthur All tests are passing as expected. Thanks for fixing this
Thanks for helping Bebe.

master: 19f12e8d9308f8d7fde3b97c7f8b7b58bd876222
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
Depends on: 1111712
Depends on: 1113028
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: