Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

firefox suggest #1257

Closed
Thorin-Oakenpants opened this issue Sep 27, 2021 · 21 comments
Closed

firefox suggest #1257

Thorin-Oakenpants opened this issue Sep 27, 2021 · 21 comments

Comments

@Thorin-Oakenpants
Copy link
Contributor

moving to a separate topic for v92

fxbrit said

FIY: quicksuggest aka "Firefox Suggests"

  • browser.urlbar.quicksuggest.enabled controls wether the UI is shown or not (screenshot to follow). I think it works as a master switch for the whole feature but I haven't done any in depth testing.
  • the above pref is also controlled by browser.urlbar.quicksuggest.scenario which can be set to online, offline or history, and which enables the quicksuggest experiment (I call it experiment cause that's what firefox calls it in its source code). even if I set browser.urlbar.quicksuggest.enabled to false with a .cfg file (both defaultPref and pref) that value would be changed to true based on the scenario.
  • couldn't bother doing any super in depth testing but after a few fresh installs with different .cfg files I found that the only way to prevent that experiment from being enabled was to set the scenario to an empty string using pref (otherwise overwrote, but it doesn't matter for user.js files and I was just being precise). so browser.urlbar.quicksuggest.scenario = "", which guarantees that browser.urlbar.quicksuggest.enabled = false.
  • browser.urlbar.suggest.quicksuggest and browser.urlbar.suggest.quicksuggest.sponsored control the checkboxes in the UI (again screenshot to follow)
  • browser.urlbar.groupLabels.enabled didn't do anything for me, although I've read online a few times that it is used to control firefox suggests. no idea.

finally the screenshot (Settings > Privacy & Security > Address Bar) :

screen

when the experiment is enabled "Address Bar" name changes to "Address Bar - Firefox Suggests".

@Jee-Hex
Copy link

Jee-Hex commented Sep 27, 2021

  • browser.urlbar.groupLabels.enabled didn't do anything for me, although I've read online a few times that it is used to control firefox suggests. no idea.

Flipping this to false hides the "Firefox Suggest" label in the address bar in FF92.

https://www.ghacks.net/2021/09/09/how-to-disable-firefox-suggest/

@silverwings15
Copy link

  • browser.urlbar.groupLabels.enabled didn't do anything for me, although I've read online a few times that it is used to control firefox suggests. no idea.

Flipping this to false hides the "Firefox Suggest" label in the address bar in FF92.

ghacks.net/2021/09/09/how-to-disable-firefox-suggest

right, and it requires a reset to take effect. as a FYI, you can also hide it via CSS

.urlbarView-row[label="Firefox Suggest"]::before{ display: none !important; }
.urlbarView-row[label="Firefox Suggest"]{ margin-top: 0 !important; }

@Thorin-Oakenpants
Copy link
Contributor Author

Thorin-Oakenpants commented Oct 4, 2021

browser.urlbar.quicksuggest.enabled controls wether the UI is shown or not (screenshot to follow). I think it works as a master switch for the whole feature but I haven't done any in depth testing.

So is this the master switch or not? Anyone? Feel free to look at the source, otherwise I'll see if I can get around to it in the next four weeks and then put out a v92 - TIA

edit: what I had as a working draft, last edited 10 days ago

  • IDK if this is 93+ or 92+ or if we need all these prefs, just posting what I had
/* xxxx: disable contextual suggestions [FF92+]
 * [SETTING] Privacy & Security>Address Bar>Contextual Suggestions
 * [1] https://support.mozilla.org/en-US/kb/navigate-web-faster-firefox-suggest ***/
user_pref("browser.urlbar.suggest.quicksuggest", false);
   // user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);

user_pref("browser.urlbar.quicksuggest.enabled", true);

@Thorin-Oakenpants
Copy link
Contributor Author

Thorin-Oakenpants commented Oct 6, 2021

On the two checkboxes

user_pref("browser.urlbar.suggest.quicksuggest", false);  // <- top checkbox

This is enough AFAICT. This is the top checkbox, the sponsored child checkbox is shown as unchecked at runtime. The value in about config is simply it's state should you flip the parent on.

user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
  // ^^ sub-checkbox (IF the parent checkbox is checked)

We could add the sponsored one as a pair

The sponsored checkbox one remembers it's state, but if the top one is unchecked (either manually or via user.js on startup), when you look at settings in runtime, both are unchecked

@Thorin-Oakenpants
Copy link
Contributor Author

AFAICT ....

  • we don't need to worry about browser.urlbar.groupLabels.enabled
  • we don't need to worry about browser.urlbar.quicksuggest.enabled which shows/hides the UI
    • I would rather users see the UI if firefox has this on for them
    • may/may not be a master switch: not willing to rely on it
  • we don't need to worry about any rollouts
    • which are currently limited to en-US (I think it uses regional prefs?) as the user is prompted and can just opt out
  • we uncheck both checkboxes
    • regardless of any rollout or opt-in or scenarios or display of the UI, this is all that matters IMO
    • if the user allows the top checkbox, at least the sponsored default is false (see below about diff between types)
  • this seems like a better link
  • I'm not 100% sure on outgoing and data, but let's try
    • any data sent is sanitized/de-anonymized/lean (read that how you like) and restricted internally (and mozilla is not interested in you individually) but there are 3rd parties involved
    • there is a difference between suggestions and sponsored ones
    • there is a difference between them just showing and clicking one
    • whatever combo of type and interaction/use changes what is sent if anything
      • reddit threads indicate that nothing is sent unless clicked, it's just local keywords

I don't really care about the last point, because we're turning off the two types at a lower level, which seems simplest and reliable, and AFAIK nothing can ever be sent until you are enrolled and opt-in - sorry, can't be fked trying to find the comment which quoted some doc/code

@Thorin-Oakenpants
Copy link
Contributor Author

https://bugzilla.mozilla.org/show_bug.cgi?id=1729776#c3 explains what they flip/do

@Thorin-Oakenpants
Copy link
Contributor Author

@Jee-Hex
Copy link

Jee-Hex commented Oct 10, 2021

right, and it requires a reset to take effect. as a FYI, you can also hide it via CSS

I tested this on 94beta again and I don't think I need a restart to kill the label, at least on en-US builds.

it's important it is enabled so the type is show in the urlbar dropdown

The pics only showed segregation between live suggestions from search engines and (presumably) contextual suggestions from Firefox. What they didn't show is that other "suggestions" from Firefox (e.g. your own bookmarks, history, opened tabs, synced tabs etc...) will also be shown under the same label, so mozilla's product team were effectively rebranding their browser urlbar dropdown. And this user.js disables live search suggestions by default (in 0804?) anyway so IMO those pics do not tell the entire story.

@Thorin-Oakenpants
Copy link
Contributor Author

The pics only showed

The first pic clearly shows a Firefox Suggest group label, the second image clearly shows a Sponsored label for eBay under the item listed in the Firefox Suggest group

I don't really care about if a restart is required or not, because the pref is useless for our purposes. If you want contextual (which is from a local list), then at least let that shit be labeled :)

@Thorin-Oakenpants
Copy link
Contributor Author

sums it up nicely for now: https://old.reddit.com/r/firefox/comments/q5ipc5/firefox_suggest_gets_me_confused/hg5vk9n/

Looking at https://bugzilla.mozilla.org/show_bug.cgi?id=1729776#c3 .. it's not clear if users will get an onboarding dialog - I DIDN'T (I am en-US and region US), emphasis mine - but that's because no-one has been given "online" except in testing - and the patch and blogs explicitly say onboarding is for online, so that clears that up, phew

US region & en locales

The Firefox Suggest offline scenario should be enabled by default for users in the US region using en builds. Both sponsored and non-sponsored suggestions should be enabled. No Firefox Suggest onboarding dialog should appear


This is my issue, we can't set scenario (see OP) and I'm not 100% certain the user.js changes stick for the first run after an update. How often does browserglue run? Surely they have to respect users decisions (in my FF93 which is en-US and US region, they were both enabled after I updated, but once added to user.js they stick)

https://hg.mozilla.org/mozilla-central/rev/04a89fcd7400

With Nimbus, there were two essential mechanisms that restricted the scenario to the desired population: the browser.urlbar.quicksuggest.enabled pref, which is a global toggle for Firefox Suggest suggestions regardless of region and locale, and a Nimbus recipe that enabled the pref for US en-* users only.

We're opted out of experiments, so my only concern would be default update changes and runtime

Without Nimbus, we have only the browser.urlbar.quicksuggest.enabled pref. We can't rely on a server-side solution to target a specific population, so we need to do it in the client. This patch keeps the default false value of browser.urlbar.quicksuggest.enabled in firefox.js, and then it sets a new default-branch value for the pref for the US en-* population on app startup.

Anyone have anything else to offer? I don't think we can set the scenario, and setting quicksuggest.enabled will just get flipped at runtime as do the two in the user.js, except this must be a one off, see my comment about how it sticks for me

@Thorin-Oakenpants
Copy link
Contributor Author

¯\_(ツ)_/¯

@fxbrit
Copy link
Collaborator

fxbrit commented Nov 19, 2021

new UI from 94.0.2:

oof

  • first switch is controlled by browser.urlbar.suggest.quicksuggest.nonsponsored, default true once opted in.
  • second switch is controlled by browser.urlbar.suggest.quicksuggest.sponsored, default true once opted in.
  • third switch is controlled by browser.urlbar.quicksuggest.dataCollection.enabled, default false once opted in.
  • UI can still be hidden using browser.urlbar.quicksuggest.enabled.
  • browser.urlbar.quicksuggest.remoteSettings.enabled might stop the automatic opt in? the previous workaround that I reported (with browser.urlbar.quicksuggest.scenario did not do the trick).

@Thorin-Oakenpants
Copy link
Contributor Author

@fxbrit
Copy link
Collaborator

fxbrit commented Nov 19, 2021

yup. unless you want to block suggestions from firefox or enforce the dataCollection pref the current setup is good.

also, not very relevant for arkenfox but as a follow up to my previous comment, neither of the above prefs could prevent opt-in my later tests. I evened tried with browser.urlbar.quicksuggest.scenario = history but it got set back to offline, which means opted in without on boarding dialog being presented (see here for scenario-prefs combinations).

@Thorin-Oakenpants
Copy link
Contributor Author

I'm happy with the prefs we set so far. I've monitored my test FFs to see what happens, and my main FF - e.g. i can't find it now, but I noticed one of my profiles has a bunch of files for categories of suggestions. So far nothing like that has been downloaded in my main arkenfoxed FF, and I haven't been prompted to opt in

I noticed that bugzilla a few days ago, and was going to address it in FF96 diffs, but happy to reopen this as a reminder

@Thorin-Oakenpants
Copy link
Contributor Author

https://bugzilla.mozilla.org/show_bug.cgi?id=1735976 was added to beta, and will be handled in 94-95 diffs

@qupig
Copy link

qupig commented Apr 29, 2024

browser.urlbar.suggest.quicksuggest.nonsponsored
browser.urlbar.suggest.quicksuggest.sponsored
browser.urlbar.quicksuggest.dataCollection.enabled
browser.urlbar.quicksuggest.enabled

For the record, these four prefs are all false by default in Firefox 115/126.0b4

@qupig
Copy link

qupig commented Apr 29, 2024

user.js/user.js

Lines 310 to 315 in 33a84b6

/* 0803: disable live search suggestions
* [NOTE] Both must be true for the location bar to work
* [SETUP-CHROME] Override these if you trust and use a privacy respecting search engine
* [SETTING] Search>Provide search suggestions | Show search suggestions in address bar results ***/
user_pref("browser.search.suggest.enabled", false);
user_pref("browser.urlbar.suggest.searches", false);

[NOTE] Both must be true for the location bar to work

There seems to be something wrong with the description here, it doesn't cause the location bar not to work, not that scary, it's just limited to urlbar "suggest".

@Thorin-Oakenpants
Copy link
Contributor Author

There seems to be something wrong with the description here

The "work" refers to "live search" - and AFAICT this is real time search results from the search engine - that's what "LIVE" search means.

I just tested. Both prefs off .. silence ... one pref on .. silence ... both prefs on live results per keystroke

@qupig
Copy link

qupig commented Apr 30, 2024

I mean:

[NOTE] Both must be true for the location bar to work --> Tend to mislead and scary..
[NOTE] Both must be true for the location bar suggestions to work --> Better inheritance context
[NOTE] Both must be true for the location bar live search to work --> Better inheritance context

Please forgive my nitpicking.

@Thorin-Oakenpants
Copy link
Contributor Author

so using some common sense ... we are setting at least one of the prefs to false .. so by your logic we are deliberately breaking the location bar so it can't be used

Thorin-Oakenpants added a commit that referenced this issue Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

5 participants