Skip to content

Conversation

@mxgnr
Copy link
Contributor

@mxgnr mxgnr commented Aug 25, 2025

WIP -> #236

Adaptation de l'extension pour la compatibilité ManifestV3 (MV3) suite à la dépréciation de la MV2 par le navigateur Google Chrome.

@mxgnr
Copy link
Contributor Author

mxgnr commented Aug 25, 2025

Le build PR semble ne pas fonctionner à cause du module web-ext utilisé pour le lint :
Bien que l'extension peut contenir à la fois la déclaration "service_worker": "background.js" (support MV3 pour Chrome) et "scripts": ["background.js"] (fallback MV2 pour FF), le linter voit ça comme un alerte (car FF ne supporte pas la prop "service_worker" pour le moment).

2 solutions possibles pour valider les runs pour le MV3 :

  • Désactiver le flag --warnings-as-errors
  • Créer un fichier de conf .web-ext-config.js en ignorant les champs non supportés dans le manifest.json
module.exports = {
  lint: {
    warningsAsErrors: false,
    ignore: ['MANIFEST_FIELD_UNSUPPORTED']
  }
};

@lovasoa
Copy link
Owner

lovasoa commented Aug 25, 2025

Je serais plutôt pour garder warningsAsErrors: true et ignorer juste ce warning là.

Et peut-être remonter le problème à web-ext eux-mêmes ? Si c'est le seul moyen de faire une extension compatible avec ff et chrome, il ne faudrait pas que ça casse le linter.

@lovasoa
Copy link
Owner

lovasoa commented Aug 25, 2025

En fait je ne comprends pas: quel que soit le navigateur, ce n'est pas valide d'avoir un "scripts": ["background.js"] si l'extension est déclarée comme MV3, si ?

@mxgnr
Copy link
Contributor Author

mxgnr commented Aug 25, 2025

En fait je ne comprends pas: quel que soit le navigateur, ce n'est pas valide d'avoir un "scripts": ["background.js"] si l'extension est déclarée comme MV3, si ?

Le support inter-navigateur est très particulier, comme souvent lorsque le dev de la fonctionnalité (ici MV3) est faite par un seul acteur sans standard global du W3C, les différences sont détaillées ici : https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/background#browser_support

Ici c'est la prop service_worker qui est supportée par Chrome et Safari mais pas Firefox (toujours le cas aujd).

@mxgnr
Copy link
Contributor Author

mxgnr commented Aug 27, 2025

Hello,

Pour rappel, une des fonctionnalités à tester suite à la migration est celle de l'auth via referer, comme avec les provider suivants : Blibliothèques du Val d'Oise / RéVOdoc, E-medi@s Savoie Mont Blanc, Toulouse Métropole - MaBM. Si vous en avez sous la main, je peux tester voir si tout fonctionne correctement.

Si vous avez également des identifiants BNF, je peux également les tester étant donné qu'il y a des constantes particulières sur certains services.

@Write
Copy link
Collaborator

Write commented Nov 17, 2025

Hello @kvnco, je me souviens que tu m'avais prêté ton accès MaBM pour fixer un problème très spécifique avec MaBM.

Je me demandais s'il tu étais prêt à prêter tes identifiants à @mxgnr pour qu'il puisse vérifier si son intégration pour le Manifest V3 fonctionne correctement. Nous n'avons malheureusement pas de meilleur solution pour tester ces intégrations.

Ceci permettrait d'être compatible avec le navigateur Google Chrome.

@mxgnr, Si Kevin répond positivement, pourrais-tu lui fournir une adresse de contact ?

Merci à vous deux !

@Write
Copy link
Collaborator

Write commented Nov 27, 2025

Sans réponse, je serais d'avis que dans tous les cas on passe en MV3.

L'extension n'est pas disponible sur Chrome alors que c'est le navigateur le plus utilisé au monde.

Je trouve que cela serait plus pertinent pour étendre l'accès d'usage de cette extension dans tous les cas, et ce, même si MaBM et consort ne fonctionnent pas à la release de la MV3.

Est-ce qu'autrement, tout est ok pour un build firefox & chrome pour toi @mxgnr ?

Merci !

@mxgnr
Copy link
Contributor Author

mxgnr commented Dec 26, 2025

Sans réponse, je serais d'avis que dans tous les cas on passe en MV3.

L'extension n'est pas disponible sur Chrome alors que c'est le navigateur le plus utilisé au monde.

Je trouve que cela serait plus pertinent pour étendre l'accès d'usage de cette extension dans tous les cas, et ce, même si MaBM et consort ne fonctionnent pas à la release de la MV3.

Est-ce qu'autrement, tout est ok pour un build firefox & chrome pour toi @mxgnr ?

Merci !

Hello, je vais rebase ma branche avec celle par défaut histoire d'être à jour et refaire quelques tests.

Je ne suis pas contre l'idée de publier ce PoC mv3, en revanche je recommanderai de bumper la release en version majeure (3.0) et de la publier en Bêta tant que le système d'auth en referrer n'a pas été pleinement testé et éprouvé, dans un premier temps sur le Chrome Web Store. On peut également publier une release 3.0 Bêta pour Firefox mais étant donné que le store Firefox add-ons n'accepte pas la distribution de versions Bêta, elle ne sera disponible que sur ce repo, à installer manuellement.

Qu'en pensez-vous ?

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants