Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Consider syncing themes over firefox sync

Ouverte
#535 0 commentaires 14 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
javascript
Domaine
frontend

Piste de recherche

Commencez par les getters de stockage dans src/extension/background.js aux lignes indiquées, puis suivez la manière dont les thèmes enregistrés sont conservés dans le localStorage de color.firefox.com et dont le site communique avec l’extension. Définissez la migration de localStorage vers browser.storage.sync, y compris pour les thèmes existants et les thèmes enregistrés. La tâche est terminée lorsque les thèmes et les thèmes enregistrés sont disponibles sur plusieurs instances de Firefox sans perdre les données existantes.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Priority: p3

Currently themes aren't synced between multiple firefox instances, which would be awesome :-). I think it might be possible to make this work by changing the storage getters to instead use browser.storage.sync (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync).

https://github.com/mozilla/FirefoxColor/blob/f4d2c1735d47a7006b56f26a94e995a7380f040b/src/extension/background.js#L149-L159

It would probably also be nice to sync the saved themes, which appear to currently be stored in color.firefox.com's localStorage. This could probably be moved to instead message the addon and store in sync as well :-)

There'd have to be migration logic too. I think it could look something like:

function getStorage(key) {
  let synced = browser.storage.sync.get(key);
  if (synced !== undefined) {
    return synced;
  }

  // Do migration :-)
  let local = browser.storage.local.get(key);
  browser.storage.sync.set({ [key]: local });
  return local;
}
Langage dominant
JavaScript
Étoiles
506
Forks
100
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de mozilla/FirefoxColor

Toutes les issues de mozilla/FirefoxColor

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.