fix(extension): bannière visible dès l'injection + exclusion store-assets
Some checks failed
CI / Deploy production (on server) (push) Has been cancelled
CI / Lint, Unit Tests & Build (push) Has been cancelled

Bug réel : la bannière 'Surlignez le texte à clipper' n'apparaissait
jamais en pratique parce que le side panel envoyait SET_PICK_MODE
avant que le content script ne soit prêt (race condition MV3 entre
chrome.scripting.executeScript et la mise en place du listener
chrome.runtime.onMessage). Le retry PING dans ensureContentScript
ne suffisait pas : le listener sidepanel peut aussi être en retard.

Fix radical : content.js affiche la bannière IMMÉDIATEMENT à
l'initialisation, sans attendre SET_PICK_MODE. L'utilisateur voit
immédiatement que l'extension est active. Un bouton ✕ permet de
la fermer (state local au tab). Pas de dépendance sur le side panel
pour le feedback visuel.

+ manifest : retrait de optional_host_permissions (redondant avec
  host_permissions http://*/* et https://*/*, peut perturber Chrome
  en dev).
+ bannière rediseignée : max-width 640px responsive, animation
  slideIn, bouton ✕ accessible.
+ nouvelles clés i18n bannerDismiss dans les 15 locales.
+ build : exclusion de store-assets/ du zip et du xpi (sinon le
  package Store faisait 327 Ko au lieu de 47 Ko).
This commit is contained in:
Antigravity
2026-07-18 10:20:31 +00:00
parent d5c44aafb6
commit 1e9b1b30c9
70 changed files with 718 additions and 329 deletions

View File

@@ -189,6 +189,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "Dismiss"
}
},
"fr": {
@@ -379,6 +382,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "Ignorer"
}
},
"de": {
@@ -569,6 +575,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "Schließen"
}
},
"es": {
@@ -759,6 +768,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "Cerrar"
}
},
"it": {
@@ -949,6 +961,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "Chiudi"
}
},
"pt": {
@@ -1139,6 +1154,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "Fechar"
}
},
"nl": {
@@ -1329,6 +1347,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "Sluiten"
}
},
"pl": {
@@ -1519,6 +1540,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "Zamknij"
}
},
"ru": {
@@ -1709,6 +1733,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "Закрыть"
}
},
"zh": {
@@ -1899,6 +1926,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "关闭"
}
},
"ja": {
@@ -2089,6 +2119,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "閉じる"
}
},
"ko": {
@@ -2279,6 +2312,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "닫기"
}
},
"ar": {
@@ -2469,6 +2505,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "إغلاق"
}
},
"fa": {
@@ -2659,6 +2698,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "بستن"
}
},
"hi": {
@@ -2849,6 +2891,9 @@
"content": "$1"
}
}
},
"bannerDismiss": {
"message": "बंद करें"
}
}
}