metalfrom.eu/apps/api/src
Nicolas FRYDER da24d2a8a1 fix(admin): XSS stocké dans l'activité, timeout des requêtes, déblocage manuel
activitySummary() injectait crawl_run.error en innerHTML sans échappement. Ce
message provient d'exceptions du crawler, qui contiennent du contenu scrapé sur
Metal Archives — donc influençable depuis l'extérieur.

api() n'avait aucun timeout : une API muette (pool DB saturé, upstream nginx
silencieux) laissait la vue bloquée sur « Chargement… » indéfiniment.

reset-errors vise désormais aussi les lignes coincées en 'processing', en
forçage manuel du mécanisme d'auto-réparation du worker.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 16:44:07 +02:00
..
adminAuth.js feat(admin): dashboard admin complet (auth forte, API, monitoring) 2026-06-30 22:15:13 +02:00
adminRoutes.js fix(admin): XSS stocké dans l'activité, timeout des requêtes, déblocage manuel 2026-08-20 16:44:07 +02:00
app.js feat(qualité): outillage de test complet, CI locale, annulation réelle des runs 2026-08-18 10:05:40 +02:00
migrate.js fix: sync du point principal + verrou de migration, redis mort retiré, tests par propriétés 2026-08-18 21:03:17 +02:00
server.js feat(qualité): outillage de test complet, CI locale, annulation réelle des runs 2026-08-18 10:05:40 +02:00
validate.js feat(qualité): outillage de test complet, CI locale, annulation réelle des runs 2026-08-18 10:05:40 +02:00