- 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.
24 lines
925 B
JavaScript
24 lines
925 B
JavaScript
/** 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
|
|
|
|
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(() => {})
|
|
}
|
|
})
|