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

302 app.update.background.scheduling.enabled still in use? [A: yes, but deprecated in v96] #1325

Closed
yokoffing opened this issue Jan 9, 2022 · 10 comments

Comments

@yokoffing
Copy link

user.js/user.js

Lines 143 to 146 in 06b8d8b

/* 0302: disable auto-INSTALLING Firefox updates via a background service [FF90+] [WINDOWS]
* [SETTING] General>Firefox Updates>Automatically install updates>When Firefox is not running
* [1] https://support.mozilla.org/kb/enable-background-updates-firefox-windows ***/
user_pref("app.update.background.scheduling.enabled", false);

This is not an option in about:config for Firefox Nightly 97 and Beta/Dev 96.

If it is a pref the user needs to create, then we should add // [HIDDEN PREF] to the end.

@rusty-snake
Copy link
Contributor

/* 0302: disable auto-INSTALLING Firefox updates via a background service [FF90+] [WINDOWS]

Do you use Windows?

@yokoffing
Copy link
Author

Do you use Windows?

Yep. I was on my Windows 10 machine when I was looking into this.

@rusty-snake
Copy link
Contributor

Onl appearance in firefox' code base (without system extensions?):

    // To be thorough, remove any traces of the pref that used to control the
    // default value that we just set. We don't want any users to have the
    // impression that that pref is still useful.
    Services.prefs.clearUserPref("app.update.background.scheduling.enabled");

https://searchfox.org/mozilla-central/source/toolkit/mozapps/update/BackgroundUpdate.jsm#340

@Thorin-Oakenpants
Copy link
Contributor

Thorin-Oakenpants commented Jan 9, 2022

this was already on my radar. it's difficult, because I use portables. I do have two installed (Beta, Nightly) and I don't install any maintenance services - and there have been changes happening in the last several releases, ongoing

I don't actually think the pref does anything anymore, toggling the UI changes a different pref

  • app.update.background.previous.reasons which would be runtime (not suggesting to change this)

I think the pref to actually use is app.update.background.enabled

As I said, this is on my radar, but it's not high priority - except for ME I don't want my test-suite of portables moving forward to update. I already have issues with ESR78/91 32bit portables from retaining their JSON files

  • C:\ProgramData\Mozilla\updates\one-UUID-per-firefox\update-config.json
  • it just deletes the JSON file on close
  • in the end I just had to replace them with FF78/91 32bit (I like to have a few 32bit versions for FPing stuff)

All browsers are set to Check for updates but let you choose to install them. Here are some JSONs

FF65-95

{"app.update.auto":false}

Dev96 (portable)

{"__DEFAULTS__":{"app.update.background.enabled":true},"app.update.background.enabled":false,"app.update.auto":false}

Beta96 (installed)

{"__DEFAULTS__":{"app.update.background.enabled":true},"app.update.background.enabled":false,"app.update.auto":false}

Nightly

  • NOTE: the location of the JSON changed: e.g.
  • was in 96: C:\ProgramData\Mozilla\updates\6F193CCC56814779
  • now in 97: C:\ProgramData\Mozilla-1de4eec8-1241-4177-a864-e594e8d1fb38\updates\6F193CCC56814779
{"__DEFAULTS__":{"app.update.background.enabled":true},"app.update.background.enabled":false,"app.update.auto":false}

So as you can see there are changes, and I was waiting to see what rolls down into stable

What I could do is toggle app.update.background.enabled in Dev or Beta or Nightly and see what changes in the JSON. I would also want to make sure it worked from a user.js and is set correctly at runtime - both with and w/o maintenance service and I can't do that on this machine, unless I create new VMs


notes I have

DEV96 portable
app.update.background.scheduling.enabled = false

auto-update OFF
- with setting unticked
user_pref("app.update.background.previous.reasons", "[\"app.update.auto=false\",\"app.update.background.enabled=false\",\"no default profile exists\",\"not default profile\",\"the maintenance service registry key is not present\"]");

- with setting ticked
- user_pref("app.update.background.previous.reasons", "[\"app.update.auto=false\",\"no default profile exists\",\"not default profile\",\"the maintenance service registry key is not present\"]");

note the "the maintenance service registry key is not present\" part

@Thorin-Oakenpants
Copy link
Contributor

nightly 97 + beta 96 (both installed) and dev (portable) have the following

  • i.e the setting is present
  • nightly97installed
  • dev96portable

FF95, 94, 93 (all portables) do not that the setting: I will need to check back to when I added it and follow the bugzillas down the rabbi hole - maybe the UI is/was dependent on the release channel

It's weird because I always check settings exist: but maybe I added this before stable and relied on dev/beta/nightly

@Thorin-Oakenpants
Copy link
Contributor

This will be covered in FF95-FF96 diffs

In FF96+ there are four combinations (windows users) of the two values

  • note the background update is a sub-item
  • I will call them on and off

do not exist in about:config

  • app.update.background.scheduling.enabled
  • app.update.background.enabled

four combos

  • A: default
    • on + on
    • {"__DEFAULTS__":{"app.update.background.enabled":true}}
  • B: portable default (or at least a portable that updates)
    • off+on
    • {"__DEFAULTS__":{"app.update.background.enabled":true},"app.update.auto":false}
  • C: user manually unchecks subitem before unchecking parent
    • off+off
    • {"__DEFAULTS__":{"app.update.background.enabled":true},"app.update.background.enabled":false,"app.update.auto":false}
  • D: user just wants to stop background updates
    • on+off
    • {"__DEFAULTS__":{"app.update.background.enabled":true},"app.update.background.enabled":false}

In all the above tests, the ONLY difference in prefs between ALL four of them is

  • app.update.background.previous.reasons

case B is cosmetic, and if the user already has to manually change update settings in windows, then the sub-menu item can be done at the same time

The only thing left that I want to test is what the hidden pref app.update.background.enabled does when run from user.js

@Thorin-Oakenpants
Copy link
Contributor

app.update.background.enabled = false: test from about:config and from user.js

setup config to be no auto-installs but the submenu item for background is dimmed out but checked

  • added via about:config: does not change UI or JSON
  • added via user.js does not change UI or JSON

So the background update is the same as app.update.auto on windows - i.e the user must do it manually and the settings are stored on disk (per firefox)

closing, the pref in OP is deprecated in FF95-FF96 diffs, will do it there

@Thorin-Oakenpants Thorin-Oakenpants changed the title 302 app.update.background.scheduling.enabled still in use? 302 app.update.background.scheduling.enabled still in use? [A: deprecated in v96] Jan 12, 2022
Thorin-Oakenpants added a commit that referenced this issue Jan 12, 2022
also tidy the description to reflect that the setting is hidden
@Thorin-Oakenpants Thorin-Oakenpants changed the title 302 app.update.background.scheduling.enabled still in use? [A: deprecated in v96] 302 app.update.background.scheduling.enabled still in use? [A: yes, but deprecated in v96] Jan 12, 2022
@Thorin-Oakenpants
Copy link
Contributor

ugh, I guess I forgot to post this

  • yes the pref still works and yes the UI exists
  • it's just that the pref also controls the UI - the commit above tidied the description

Here's FF95 and I also checked ESR91
UI

@crssi
Copy link

crssi commented Jan 12, 2022

C: user manually unchecks subitem before unchecking parent

* off+off

* `{"__DEFAULTS__":{"app.update.background.enabled":true},"app.update.background.enabled":false,"app.update.auto":false}`

@Thorin-Oakenpants is there a "typo" in {"__DEFAULTS__":{"app.update.background.enabled":true},"app.update.background.enabled":false,"app.update.auto":false}, I mean this part or array {"app.update.background.enabled":true}

@Thorin-Oakenpants
Copy link
Contributor

there is no typos, the values were copy pasted from the JSON file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants