Widget: support CSP nonces for injected styles
I maintainer di solito rispondono entro 1 giorno
@piyusshhjangid ci sta già lavorando.
Dal 29/10/2026.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
Direzione di ricerca
Start by locating the loader and the code that creates styles for the chat panel and lazy pre-chat form; the issue does not name files or tests. Trace how script-tag installs can read the script nonce and how ESM configuration is defined, then inspect existing widget tests. Done means every created style element accepts the host nonce, nonce-based tests cover the loader, panel, and lazy pre-chat styles, and behavior without a nonce remains unchanged.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What problem would this solve?
The widget injects <style> elements into its shadow roots for the launcher, chat panel, and pre-chat form. On sites with a strict Content Security Policy that blocks inline styles, those styles can be rejected, leaving the widget unstyled or unusable. This affects both the initial loader and styles added when the pre-chat form loads.
What would you like to happen?
Let the widget apply a host-provided CSP nonce to every style element it creates. For script-tag installs, it could use the nonce on the ChatCops script; ESM users should have a configuration option to provide one. Document the setup and add tests covering the loader, panel, and lazy pre-chat styles under a nonce-based policy. Keep the existing behavior unchanged when no nonce is configured.
Contributing
- I'd like to work on this myself
- Lingua principale
- TypeScript
- Stelle
- 13
- Fork
- 7
- Merge medio
- 3h 39m
- PR unite (30g)
- 275
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di codercops/chatcops
-
Widget: fetch signed-in visitor tokens when a session is requestedForse già presa @piyusshhjangid l’ha presa oggi. Apertaenhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 63/100
codercops/chatcops#461 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Server: validate `rateLimit.windowMs` before creating the limiterForse già presa @ashutoshpalhare l’ha presa oggi. Aperta
codercops/chatcops#452 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Widget: a "New reply" button when the visitor has scrolled upForse già presa @srujankaleru2007 l’ha presa 1 giorno fa. Apertaenhancement hacktoberfest widget
codercops/chatcops#420 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
chatcops test: --url to test a deployed serverForse già presa @srujankaleru2007 l’ha presa 1 giorno fa. Apertaenhancement hacktoberfest testing
codercops/chatcops#419 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
chatcops test: GitHub Actions reporterForse già presa @mohithreddydonala37 l’ha presa 1 giorno fa. Apertaenhancement hacktoberfest testing
codercops/chatcops#417 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di codercops/chatcops
Issue simili
-
area:desktop area:ui bug platform:macos
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
anthropics/claude-code#106183 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
feature:App-Tour feature:Chat ready Web
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
digitalfabrik/integreat-app#4523 · 2 reazioni ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Required Lexical field accepts two empty paragraphsForse già presa @lazerg l’ha presa oggi. ApertaBug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
payloadcms/payload#19222 ·
I maintainer di solito rispondono entro 1 giorno