Как запретить Firefox удалять данные моего расширения при удалении отладочной версии? - PullRequest
0 голосов
/ 08 октября 2019

У меня есть расширение с настройкой идентификатора в манифесте, как это:

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

, который использует indexedDB (PouchDB). Я установил это расширение из addons.mozilla.org, отключил, установил временно версию для разработки, и Firefox удаляет данные обоих расширений (потому что они имеют одинаковый идентификатор) каждый раз, когда я удаляю только временно версию.

Это не происходит, когда я не устанавливаю идентификатор в манифесте (временно версия имеет случайный идентификатор в этом случае), но это не решение, потому что для некоторых API и версии Firefox для Android требуется, чтобы идентификатор устанавливался вручную

Как запретить Firefox удалять данные обычного расширения, когда я временно удаляю одно?

На всякий случай, если кто-то захочет воспроизвести проблему:

  1. Установите это расширение https://addons.mozilla.org/en-US/firefox/addon/tagit/?src=search
  2. Перейти на страницу расширения (кнопка с глазами на панели браузера)
  3. Перейти на страницу «Теги» и создать любой тег (написать что-нибудь и нажать Enter)
  4. Отключитьэто расширение на странице about: addons
  5. Клонируйте свой репозиторий и извлеките его, чтобы зафиксировать, где идентификатор указан в манифесте git clone https://github.com/DevAlone/tagit.git; git checkout 8e0d04201865fd7b7543b167279a045c89408d5c
  6. Установить зависимости и построить npm install; npm run build
  7. Установить это временнорасширение (build dir) на about: страница отладки
  8. Удалить это временное расширение на about: страница отладки
  9. Включить обычное расширение на about: страница дополнений
  10. Снова перейдите на страницу тегов, чтобы увидеть, что база данных исчезла

1 Ответ

0 голосов
/ 08 октября 2019

Вот решение https://support.mozilla.org/en-US/questions/1270250#answer-1257518

. Вы можете запретить браузеру очищать локальное хранилище при удалении, посетив «about: config» и установив для следующих двух параметров браузера значение true: «keepUuidOnUninstall»и "keepStorageOnUninstall". Эта функция предназначена для того, чтобы помочь разработчикам протестировать свои расширения. Сами расширения не могут изменять эти предпочтения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...