How to prevent Firefox from removing my extension's data when I remove debug version?

I have an extension with id setup in manifest like this:

"browser_specific_settings": {
    "gecko": {
      "id": "{e3ec45ef-43ba-499d-8469-6d0e2f06921f}",
      "strict_min_version": "42.0"

which uses indexedDB(PouchDB). I installed that extension from, disabled, installed temporarily version for developing and Firefox removes data of both extensions(cuz they have the same id) every time I remove only temporarily version.

This does not happen when I don’t set id in manifest(temporarily version has random id in this case), but it’s not a solution cuz some API’s and Android version of Firefox requires id to be set manually

How to prevent Firefox from removing data of normal extension when I remove temporarily one?

Just in case someone wants to reproduce the issue:

  1. Install this extension
  2. Go to extension’s page (button with eyes on browser’s panel)
  3. Go to “Tags” page and create any tag(write something and press Enter)
  4. Disable this extension on about:addons page
  5. Clone its repository and checkout to commit where id is in manifest git clone; git checkout 8e0d04201865fd7b7543b167279a045c89408d5c
  6. Install dependencies and build npm install; npm run build
  7. Install that temporarily extension(build dir) on about:debugging page
  8. Remove that temporarily extension on about:debugging page
  9. Enable normal extension on about:addons page
  10. Go to the Tags page again to see that database is gone
1 Like

Here is the solution

you can prevent the browser from clearing local storage on uninstall by visiting “about:config” and setting the following two browser preferences to true: “keepUuidOnUninstall” and “keepStorageOnUninstall”. This feature is provided to help developers test their extensions. Extensions themselves are not able to change these preferences.