feat: chat — les posts affichent le markdown rendu comme un document, code coloré #193
This commit is contained in:
+27
-1
@@ -6,7 +6,7 @@ Format basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/),
|
||||
et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
> **En cours de développement** : les changements à venir sont listés dans la section
|
||||
> [Unreleased](#unreleased). La dernière version livrée est **2.62.0**.
|
||||
> [Unreleased](#unreleased). La dernière version livrée est **2.63.0**.
|
||||
|
||||
---
|
||||
|
||||
@@ -14,6 +14,32 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
---
|
||||
|
||||
## [2.63.0] — 2026-10-09
|
||||
|
||||
### Ajouté
|
||||
|
||||
- **#193 — Chat : un post s'affiche comme un document markdown**
|
||||
- Le rendu vient du **serveur** : `backend/file_chat.py` ajoute un champ
|
||||
`html` à chaque message en réutilisant le pipeline des documents
|
||||
(`backend/render.py::_render_markdown` → mistune + wikilinks + masquage des
|
||||
secrets + **sanitizer BUG-021**). Pas de second moteur markdown côté client,
|
||||
donc pas de nouvelle surface XSS.
|
||||
- Titres, listes, tableaux, citations, notes, listes de tâches et **blocs de
|
||||
code colorés** : le front injecte le HTML dans un `.md-content` puis passe
|
||||
`safeHighlight()` (highlight.js + alias de langages) sur chaque `pre code`,
|
||||
exactement comme la visionneuse de documents.
|
||||
- Le `html` est calculé **à la lecture** (et à l'ajout, pour l'écho SSE) :
|
||||
rien n'est persisté dans `data/chats/*.json`, un message reste du texte.
|
||||
- Repli conservé : sans `html`, le texte brut + liens cliquables s'affichent
|
||||
comme avant ; un échec de rendu n'emporte jamais le message.
|
||||
- CSS : `.file-chat-md` annule le `pre-wrap` de la bulle (sinon les retours à
|
||||
la ligne du HTML source devenaient des lignes vides) et compacte
|
||||
`.md-content` (tailles, `pre`/`table` défilants) pour une bulle de chat.
|
||||
- Tests : pytest `TestMarkdownRendering` +7 (54 → **61** dans
|
||||
`test_file_chat.py`), JSDOM `filechat.test.mjs` +2 (25 → **27**).
|
||||
|
||||
---
|
||||
|
||||
## [2.62.0] — 2026-10-09
|
||||
|
||||
### Modifié
|
||||
|
||||
Reference in New Issue
Block a user