Search engine favicon flicker/blinks/flashes after pressing "Show search suggestions" option in "Search" settings
Categories
(Firefox for Android Graveyard :: Settings and Preferences, defect, P3)
Tracking
(fennec+, firefox-esr52 unaffected, firefox-esr60 wontfix, firefox-esr6870+ verified, firefox53 unaffected, firefox54 wontfix, firefox55- wontfix, firefox56- wontfix, firefox60 wontfix, firefox61 wontfix, firefox62 wontfix, firefox63 wontfix, firefox64 wontfix, firefox65 wontfix, firefox66 wontfix, firefox67 wontfix, firefox68 wontfix, firefox69 wontfix, firefox70 verified)
Tracking | Status | |
---|---|---|
fennec | + | --- |
firefox-esr52 | --- | unaffected |
firefox-esr60 | --- | wontfix |
firefox-esr68 | 70+ | verified |
firefox53 | --- | unaffected |
firefox54 | --- | wontfix |
firefox55 | - | wontfix |
firefox56 | - | wontfix |
firefox60 | --- | wontfix |
firefox61 | --- | wontfix |
firefox62 | --- | wontfix |
firefox63 | --- | wontfix |
firefox64 | --- | wontfix |
firefox65 | --- | wontfix |
firefox66 | --- | wontfix |
firefox67 | --- | wontfix |
firefox68 | --- | wontfix |
firefox69 | --- | wontfix |
firefox70 | --- | verified |
People
(Reporter: sflorean, Assigned: brad.arant)
References
Details
(Keywords: regression, Whiteboard: [fennec68.2?])
Attachments
(1 file)
47 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-esr68+
|
Details | Review |
Environment: Device: Samsung Galaxy Note 4 (Android 5.0.1); Build: Nightly 55.0a1 (2017-04-23); Steps to reproduce: 1. Launch Fennec and go to Menu -> Settings -> Search; 2. Turn on/off Show Search suggestions 3-4 times; 3. Observe the search engines. Expected results: There is a visible flicker when "show search suggestions" are enabled/disabled. Actual result: Enabled/disabled of "show search suggestions" doesn't affect the installed search engines. Notes: Video: https://youtu.be/7GNTFZxA2dA Regression window: Last good build: 03-02 First bad build: 03-03 Pushlog: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=e91de6fb2b3dce9c932428265b0fdb630ea470d7&tochange=9732cd019a8b94c49a275661320c1b742635a3d6
Comment 1•7 years ago
|
||
https://dxr.mozilla.org/mozilla-central/rev/abdcc8dfc28397b95338245390e12c56658ad182/mobile/android/base/java/org/mozilla/gecko/preferences/GeckoPreferences.java#1247
Updated•7 years ago
|
Updated•7 years ago
|
Comment 2•7 years ago
|
||
Since this is 55+ for fennec, marking fix-optional for 54.
Comment 3•7 years ago
|
||
editing flags due to Bug 1370184
Comment 4•7 years ago
|
||
Wesley, I'm a bit hesitant to track this for 55 given this has been filed 2 months ago and there doesn't seem to be much progress yet. Is this still on track for a fix in early beta55?
Comment 5•7 years ago
|
||
I'll track this for 56 for now. The effect sounds minor. If we get a patch we could still uplift to 55.
Comment 6•7 years ago
|
||
Very likely the team won't have bandwidth to make it in 55. 56 is more practical.
Comment 7•7 years ago
|
||
Looking at this again it seems like a fairly minor regression and I don't think release management needs to track it - we can leave it to the Fennec team to fix when they have time.
[triage] Bulk edit from title: this is a non-critical issue. Please remove priority if you wish this to be re-triaged.
Reporter | ||
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Comment 9•6 years ago
|
||
Reproducible in the latest version of NIghtly 65.0a1 (2018-10-25) with OnePlus 5T (Android 8.1.0).
Comment 10•6 years ago
|
||
Marking fix-optional for 64. We could still take a patch for 65, and if it's verified and doesn't seem risky, could still take fixes for 64 as well.
Updated•6 years ago
|
Comment 11•5 years ago
|
||
Happy to take a patch in nightly; if it seems low risk enough please feel free to request uplift to 65 beta.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 12•5 years ago
|
||
Removing regression keyword since it has been around for many releases.
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 13•5 years ago
|
||
Easily visible on Samsung Note 8. The issue is a ListView object that is being refreshed upon every single update to the Gecko component to ensure that the list is reflective of the current state in the Gecko module.
I am developing a method to examine the newly retrieved list and only update the changed elements in the ListView similar to the recycler view. In essence emulating a ViewHolder so that upon re-display the ImageView will not need to re-fetch the image resource and thereby reduce or eliminate the visual artifacts caused by a completely reloaded list (flickering).
Assignee | ||
Comment 14•5 years ago
•
|
||
There is a call to dispatch the list of search engines when this checkbox is clicked, as follows:
} else if (PREFS_SEARCH_SUGGESTIONS_ENABLED.equals(prefName)) {
// Tell Gecko to transmit the current search engine data again, so
// BrowserSearch is notified immediately about the new enabled state.
EventDispatcher.getInstance().dispatch("SearchEngines:GetVisible", null);
}
This is causing the ListView to reload in the object hierarchy. I commented out the EventDispatcher so that it does dispatch the message and the flickering goes away and the search bar works the same as if I left this in there. Given that the preferences are being update and the BrowserSearch reads the preferences is this dispatch absolutely necessary? Comment indicates that the dispatch is needed to update the BrowserSearch but works even without it.
Is this dispatch absolutely necessary?
I will generate a test apk and submit to the testing group to see if there is any effects not handled by removing this else if group and it's contents.
Comment 15•5 years ago
|
||
Is this dispatch absolutely necessary?
Yes, it is, otherwise I wouldn't have added it.
Outside of the special case of the post-installation-prompt to enable or disable search suggestions, BrowserSearch takes the current state of search suggestions (enabled/disabled) only from the search engine data transmitted by Gecko.
I.e. the full cycle goes
- The preferences screen writes the settings value into Gecko preferences.
- Eventually, some browser.js-based search engine code reads that value and includes it in an update message sent to the Android app front-end, which also includes the complete current search engine data.
- BrowserSearch receives that message and among other things, also updates its "suggestions enabled" state from that message.
Because the intention was for bug 1342718 to be fixed as quickly as possible and to be uplifted as well, the simplest solution was to add a step "1a. Re-request a search engine data update from browser.js" instead of adding some additional code that would allow turning suggestions on/off directly on the Android app side without a full search engine data update.
Assignee | ||
Comment 16•5 years ago
|
||
Assignee | ||
Comment 17•5 years ago
|
||
When the dispatch response is received I added logic to include the DiffUtil array comparison functionality to apply only the changes to the list preventing the reloading of the detail items thereby eliminating the flicker.
Appears to work smoothly. Ready for review and testing.
Comment 18•5 years ago
|
||
Even if old, this is still a regression, so adding back the keyword for consistency.
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Comment 19•5 years ago
|
||
Pushed by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/62e1b5ea9cab
Apply diffutil to search list updates for smoother ui experience.;r=petru
Comment 20•5 years ago
|
||
bugherder |
Comment 21•5 years ago
|
||
I'm thinking we can just leave this fix for GeckoView-based apps and wontfix for Fennec. Sound OK to you, Chris?
Comment 22•5 years ago
|
||
Both the bug and the patch are Fennec-only.
Comment 23•5 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #21)
I'm thinking we can just leave this fix for GeckoView-based apps and wontfix for Fennec. Sound OK to you, Chris?
Since this bug is about showing the list of search suggestions, I think this bug only affects Fennec, not GeckoView apps. If we don't uplift this fix to ESR 68, then it will never reach Fennec users.
@ Ryan, it would be nice to uplift the fix so we don't lose Brad's work, but OTOH the bug doesn't sound super bad. (It is a P3, after all.) Can we take this fix in ESR 68.2a1 after we ship ESR 68.1 (September 3). That would give us plenty of beta bake time.
@ Brad, is there a specific list of Fennec bugs you're working through? I'll follow up with Ashley Thomas (the new Product Manager for Fennec) to make sure we prioritize the most important bugs.
Comment 24•5 years ago
|
||
Yeah, let's punt on this until 68.2 at this point.
Assignee | ||
Comment 25•5 years ago
|
||
In response to Comment 23.
I am working from the list provided to me to find actionable items. If you have priorities then I would be glad to work whatever list you can provide.
I am currently educating myself on the video functions required in Bug 1548116.
Comment 26•5 years ago
•
|
||
Hi, verified as fixed with Firefox Nightly 71.0a1 (2019-09-03) with devices:
- Google Pixel 3 XL (Android 9)
- Samsung Galaxy Note9 (Android 8.1.0)
- Sony Xperia Z5 (Android 7.0)
Comment 27•5 years ago
|
||
Thanks for verifying, Diana!
Brad, now that Diana has verified your fix and the Fennec ESR 68.2 Beta cycle has begun, you can request uplift to the mozilla-esr68 repo for the Fennec ESR 68.2 (2019-10-22 release date).
Assignee | ||
Comment 28•5 years ago
|
||
[Tracking Requested - why for this release]:
Assignee | ||
Comment 29•5 years ago
|
||
Comment on attachment 9077405 [details]
Bug 1359363 - Apply diffutil to search list updates for smoother ui experience.;r?VladBaicu
ESR Uplift Approval Request
- If this is not a sec:{high,crit} bug, please state case for ESR consideration: Resolves annoying flicker in user experience.
- User impact if declined: UI issue - search icon flicker.
- Fix Landed on Version: 71.0a1
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Very local to small component and verified by QA team.
- String or UUID changes made by this patch:
Updated•5 years ago
|
Comment 30•5 years ago
|
||
Comment on attachment 9077405 [details]
Bug 1359363 - Apply diffutil to search list updates for smoother ui experience.;r?VladBaicu
Fixes a Fennec flicker bug. Approved for Fennec 68.2b4.
Comment 31•5 years ago
|
||
bugherder uplift |
Comment 32•5 years ago
|
||
I tested the issue on Beta 68.2b4 using a Samsung Galaxy S8+ (Android 8.0.0) and the issue no longer occurs, I will mark it accordingly.
Updated•3 years ago
|
Description
•