Opened 4 years ago

Closed 4 years ago

#3128 closed defect (fixed)

The default search engine is removed if it was one of those removed by #3047

Reported by: fhd Assignee: rjeschke
Priority: P2 Milestone: Adblock-Browser-for-Android-1.1.0
Module: Adblock-Browser-for-Android Keywords:
Cc: mario, vickyyu Blocked By:
Blocking: Platform: Adblock Browser for Android
Ready: yes Confidential: no
Tester: Shikitita Verified working: no
Review URL(s):

https://codereview.adblockplus.org/29329014/
https://codereview.adblockplus.org/29329018/

Description (last modified by fhd)

Environment

Adblock Browser revision ab1157fc19de.

How to reproduce

  1. Uninstall Adblock Browser, if it was installed.
  2. Install devbuild 1.0.0.20150906072827.
  3. Launch Adblock Browser.
  4. Change the default search engine to Bing.
  5. Install revision ab1157fc19de.
  6. Launch Adblock Browser.

Observed behaviour

The default search engine is DuckDuckGo.

Expected behaviour

The default search engine should still be Bing.

Analysis

We have changed the set of search engines that are available by default in #3047. The problem is that, if the user selected a search engine that is not in the list anymore as the default, he will have to re-add it manually, and set it as the default again.

The best way to address this is to partially revert #3047 - it should only set the order of the top five search engines, not remove any search engines. Instead, it suffices to ensure that only the top five search engines show up in the search activity.

This has one side effect: We do not overwrite the search engine orders for users that have made any changes to it, i.e. changed the default search engine. That is something we can live with.

Change History (21)

comment:1 Changed 4 years ago by fhd

  • Summary changed from Search engines that disappeared from the default list after #3047 disappear if set to the default, too to The default search engine is removed if it was one of those removed by #3047

comment:2 Changed 4 years ago by fhd

Not set to Ready - still not sure how it really should be.

comment:3 Changed 4 years ago by fhd

  • Priority changed from Unknown to P2
  • Ready set

comment:4 Changed 4 years ago by fhd

  • Owner set to rjeschke

Assigning to René, since he's actually working on it.

comment:5 Changed 4 years ago by fhd

  • Description modified (diff)

comment:6 Changed 4 years ago by rjeschke

I went with solution 2 in the end, now we have to revisit #3047 and come up with a better list of search engines.

(For that I will create a list of used search engines and orderings per (used) locale.)

comment:7 Changed 4 years ago by rjeschke

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:8 Changed 4 years ago by fhd

  • Description modified (diff)

Discussed it with René - not removing any search engines and instead solving #3047 by only showing the top five in the search activity is a lot simpler, and the behaviour is actually preferable, so we will go with that.

comment:9 Changed 4 years ago by rjeschke

  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:10 Changed 4 years ago by philll

  • Tester changed from Unknown to Shikitita

comment:11 follow-up: Changed 4 years ago by Shikitita

When using Bing as default search engine in ABB 1.0* with search suggestions enabled, then updating to ABB 1.1*, Bing is still listed in the installed search engines in settings, shown in the search activity list under the URL bar when typing some text (according to comment:8, philll guesses it shouldn't) and also in fact used as default search engine. Also, the order of search engines in the search activity list is Bing, DDG, Google, Yahoo, Amazon (Wikipedia missing and wrong order).

When using Bing as default search engine in ABB 1.0* with search suggestions disabled, then updating to ABB 1.1*, Bing is no longer displayed in settings, not displayed in the search activity under the URL bar and also not used as default search engine (DDG is instead). The order of search engines in search activity list is as specified in #3047.

With the Chinese locale but having Google as the default search engine, no matter if the Search Suggestions are enabled or disabled, after updating to the new build, Baidu is back to be the default search engine.

Last edited 4 years ago by philll (previous) (diff)

comment:12 Changed 4 years ago by Shikitita

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:13 in reply to: ↑ 11 ; follow-ups: Changed 4 years ago by fhd

Replying to Shikitita:

When using Bing as default search engine in ABB 1.0* with search suggestions enabled, then updating to ABB 1.1*, Bing is still listed in the installed search engines in settings, shown in the search activity list under the URL bar when typing some text (according to comment:8, philll guesses it shouldn't) and also in fact used as default search engine.

That is all how it should be: If the user had Bing as the default, it should still be the default, and still show up in the search activity.

Also, the order of search engines in the search activity list is Bing, DDG, Google, Yahoo, Amazon (Wikipedia missing and wrong order).

Yes, that's a problem, we're leaving the order alone now... I don't think it's critical, but worth discussing.

When using Bing as default search engine in ABB 1.0* with search suggestions disabled, then updating to ABB 1.1*, Bing is no longer displayed in settings, not displayed in the search activity under the URL bar and also not used as default search engine (DDG is instead). The order of search engines in search activity list is as specified in #3047.

That's weird, needs investigating. Shouldn't make a difference if search suggestions are disabled.

With the Chinese locale but having Google as the default search engine, no matter if the Search Suggestions are enabled or disabled, after updating to the new build, Baidu is back to be the default search engine.

Yes, that also needs investigating.

comment:14 Changed 4 years ago by mario

  • Cc mario added

comment:15 Changed 4 years ago by vickyyu

  • Cc vickyyu added

comment:16 Changed 4 years ago by Shikitita

Note also that, if Bing is added as a default search engine in ABB 1.0*, with Chinese locale and search suggestions enabled, and then the build is updated to ABB 1.1*, Bing will still be listed in the installed search engines in settings and also as default search engine.

However, if the search suggestions are disabled, Bing will still be listed as an installed search engine after updating to ABB 1.1*, but Baidu will then be the one marked as the default search engine.

Also, the behaviour regarding the search suggestions is different depending on the locale (maybe intended but it shouldn't). Even if Bing is the default search engine for Chinese locale and the search suggestions are enabled, they are not displayed in the search activity list. However, if Google or Baidu are the default search engines, the search suggestions are then displayed.

comment:17 in reply to: ↑ 13 Changed 4 years ago by fhd

Replying to fhd:

Replying to Shikitita:

With the Chinese locale but having Google as the default search engine, no matter if the Search Suggestions are enabled or disabled, after updating to the new build, Baidu is back to be the default search engine.

Yes, that also needs investigating.

Did that now. I've changed the language to simplified Chinese, then installed Adblock Browser: The default search engine is not DuckDuckGo, but Google. Therefore, if the user upgrades to a version that sets a different default search engine, they have their default search engine changed. That is exactly how it should be.

comment:18 in reply to: ↑ 13 Changed 4 years ago by fhd

  • Description modified (diff)

Replying to fhd:

Also, the order of search engines in the search activity list is Bing, DDG, Google, Yahoo, Amazon (Wikipedia missing and wrong order).

Yes, that's a problem, we're leaving the order alone now... I don't think it's critical, but worth discussing.

I discussed this a bit with René. Technically, we cannot overwrite the search engine order with an update if the user has already made changes, we would need some explicit migration code for that. René and I agree that this is by a long shot not worth the effort. I've clarified that above.

comment:19 Changed 4 years ago by rjeschke

As for the Bing issue, I could not reproduce it. Here's what I did:

  1. Locale is de_DE
  2. Uninstall ABB
  3. Install Adblock Browser for Android 1.0.0.20150906072827 https://downloads.adblockplus.org/devbuilds/adblockbrowser/adblockbrowser-1.0.0.20150906072827-arm.apk
  4. Start the browser
  5. Settings->...->Search: Change default to Bing
  6. Enable search suggestions (for the second test only)
  7. Try a search
  8. Apply automatic update
  9. Re-check

In both cases (with and without search suggestions enabled) I always end up with:

  1. Bing (default)
  2. Google
  3. Yahoo
  4. Amazon
  5. DuckDuckGo

This behaviour is expected. Here's the explanation why:

Firefox has two ways to determine the order of search engines and the default one. The first one is the built-in lists and the second one is user preferences.

If the user now changes the order of search engines or changes the default one, a user preference for this new ordering is created and will now have priority over built-in values. This means that the order does not change through the update, it now just displays only 5 engines instead of all.

There's also no clean way in changing this behaviour (e.g. by modifying the user preferences) as we can not determine which change is would be appropriate, as the user could have e.g added engines or re-ordered them and is fine with it.

comment:20 Changed 4 years ago by Shikitita

Replying to fhd:

Did that now. I've changed the language to simplified Chinese, then installed Adblock Browser: The default search engine is not DuckDuckGo, but Google. Therefore, if the user upgrades to a version that sets a different default search engine, they have their default search engine changed. That is exactly how it should be.

Replying to rjeschke:

Firefox has two ways to determine the order of search engines and the default one. The first one is the built-in lists and the second one is user preferences.

If the user now changes the order of search engines or changes the default one, a user preference for this new ordering is created and will now have priority over built-in values. This means that the order does not change through the update, it now just displays only 5 engines instead of all.

There's also no clean way in changing this behaviour (e.g. by modifying the user preferences) as we can not determine which change is would be appropriate, as the user could have e.g added engines or re-ordered them and is fine with it.


After what Felix and I observed on Wednesday, I tested this again but with a physical device and I can confirm:

  • First: the behaviour is as expected
  • Second: my first results were conditioned by the environment provided by Testobject

Therefore this ticket can be set again as closed.

comment:21 Changed 4 years ago by fhd

  • Milestone set to Adblock-Browser-for-Android-1.1.0
  • Resolution set to fixed
  • Status changed from reopened to closed

Awesome! I hope the issue reflects now how things are supposed to work.

Note: See TracTickets for help on using tickets.