feat(privacy+extension): publier la page /privacy et préparer les builds Chrome/Firefox Store
- Nouvelle page /privacy bilingue (FR/EN) avec sélection par Accept-Language
ou ?lang=, sections complètes (données collectées, IA/BYOK, RGPD, sécurité,
contact). Style sombre aligné sur la landing (x.ai premium).
- Liens footer landing.footer.legal.* mis à jour vers /privacy dans les 15 locales.
- Extension Web Clipper rendue cross-browser :
* background.js détecte chrome.sidePanel vs browser.sidebarAction
* sidepanel.js ajoute un shim chrome<->browser pour Firefox
* manifest.json inclut sidebar_action + browser_specific_settings.gecko
+ optional_host_permissions (Chrome les ignore)
- Script scripts/build-firefox.mjs pour produire un .xpi signé pour AMO,
symétrique de build-chrome-store.mjs. Exclusion mutuelle des artefacts
Chrome/Firefox pour éviter la cross-contamination.
- Branding corrigé : 176 occurrences de 'Momento' -> 'Memento' dans le
bundle de traductions embarqué.
- Version bumpée 0.3.1 -> 0.4.0.
This commit is contained in:
@@ -1,8 +1,23 @@
|
||||
/** Service worker — ouvre le panneau latéral au clic sur l’icône. */
|
||||
chrome.runtime.onInstalled.addListener(() => {
|
||||
chrome.sidePanel.setPanelBehavior({ openPanelOnActionClick: true }).catch(() => {})
|
||||
})
|
||||
/** Service worker — ouvre le panneau latéral (Chrome Side Panel ou Firefox sidebar) au clic sur l'icône. */
|
||||
const extApi = (typeof browser !== 'undefined' && browser.sidebarAction) ? browser : chrome
|
||||
|
||||
chrome.runtime.onStartup.addListener(() => {
|
||||
chrome.sidePanel.setPanelBehavior({ openPanelOnActionClick: true }).catch(() => {})
|
||||
if (extApi.sidePanel?.setPanelBehavior) {
|
||||
// Chrome MV3 : Side Panel API
|
||||
extApi.sidePanel.setPanelBehavior({ openPanelOnActionClick: true }).catch(() => {})
|
||||
} else if (extApi.sidebarAction?.open) {
|
||||
// Firefox MV3 : sidebarAction
|
||||
extApi.action?.onClicked?.addListener?.(() => {
|
||||
extApi.sidebarAction.open().catch(() => {})
|
||||
})
|
||||
}
|
||||
|
||||
extApi.runtime?.onInstalled?.addListener?.(() => {
|
||||
if (extApi.sidePanel?.setPanelBehavior) {
|
||||
extApi.sidePanel.setPanelBehavior({ openPanelOnActionClick: true }).catch(() => {})
|
||||
}
|
||||
})
|
||||
extApi.runtime?.onStartup?.addListener?.(() => {
|
||||
if (extApi.sidePanel?.setPanelBehavior) {
|
||||
extApi.sidePanel.setPanelBehavior({ openPanelOnActionClick: true }).catch(() => {})
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user