The registerSave callback should run when a setting is changed on another browser instance or device, so that it could be automatically applied as suggested on the README:
It is thus quite useful to automatically apply the option or send it to other parts of the browser extension, so they are notified that a the value of the option changed. This is a useful feature for your usability, because the AutomaticSetings module automatically saves all options, so they should also automatically be applied, so the user immediately sees the difference.
Currently the user would need to manually restart their browser for any changes to take effect.
This library could use the storage.onChanged event or with Firefox/Thunderbird 101 or greater, the storage.sync.onChanged event and then call the respective registerSave callbacks based on the changes argument.
Note that syncing is not currently supported by Firefox for Android (Bug 1595822) or Thunderbird (Bug 1427501).
The
registerSavecallback should run when a setting is changed on another browser instance or device, so that it could be automatically applied as suggested on the README:Currently the user would need to manually restart their browser for any changes to take effect.
This library could use the
storage.onChangedevent or with Firefox/Thunderbird 101 or greater, thestorage.sync.onChangedevent and then call the respectiveregisterSavecallbacks based on thechangesargument.Note that syncing is not currently supported by Firefox for Android (Bug 1595822) or Thunderbird (Bug 1427501).