Commit Graph
3 Commits
Author SHA1 Message Date
MichaelandClaude Haiku 4.5 9bf95b4ac9 security: sanitize episode HTML with DOMPurify (XSS)
Episode descriptions came from third-party RSS feeds and were rendered
via dangerouslySetInnerHTML without sanitization. Wrap with DOMPurify
using a whitelist of safe tags/attrs and an http(s)/mailto-only URI
regex.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-18 07:25:29 +02:00
MichaelandClaude Sonnet 4.6 84c5cd6363 Migre eslint v8 → v9 (flat config), supprime les dépréciations
- eslint 8 → 9, @typescript-eslint/* → typescript-eslint (package unifié)
- Remplace .eslintrc.json par eslint.config.mjs (backend) et eslint.config.js (frontend)
- Ajoute eslint-plugin-react, eslint-plugin-react-hooks, globals (frontend)
- Supprime rimraf@3, @humanwhocodes/* qui étaient des deps transitives d'eslint v8

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 11:27:46 +02:00
Michael 8df1161023 feat: initialize Podcastic project foundation - setup backend and frontend 2026-04-16 09:53:36 +02:00