feat: chat — suppression de post, messages privés, boîte compacte, link preview #191
CI / lint (push) Successful in 2m50s
CI / security (push) Successful in 1m35s
CI / test (push) Successful in 4m28s
CI / build (push) Successful in 1m28s
CI / e2e (push) Successful in 17m11s

This commit is contained in:
2026-10-08 22:33:29 -04:00
parent 55a9fcc0f4
commit f00a8bea8f
23 changed files with 946 additions and 66 deletions
+30 -1
View File
@@ -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.58.0**.
> [Unreleased](#unreleased). La dernière version livrée est **2.60.0**.
---
@@ -14,6 +14,35 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
---
## [2.60.0] — 2026-10-08
---
## [2.59.0] — 2026-10-08
### Ajouté
- **#191 - Chat : suppression de post, messages privés, boîte compacte, link preview**
- **Suppression d'un post** : bouton 🗑 sur ses propres messages (et sur
tout le monde pour un admin), confirmation, `DELETE /api/chat/{id}` et
`/api/chat/dm/{user}/{id}`, retrait en direct chez tous les clients
(SSE `chat_deleted`).
- **Messages privés 2 utilisateurs** : rangée de canaux au-dessus du fil
(« Général » + un bouton par utilisateur), conversations isolées
(vault `__dm__`, chemin `alice|bob` trié), placeholder dédié,
compteurs de non-lus par canal, `GET /api/chat/users` pour la liste
des destinataires (sans hash/mot de passe, sans soi-même).
- **Boîte d'édition compacte** : bouton d'envoi réduit à une icône
(panneau document + sidebar), la saisie garde toute la largeur.
- **Link preview** : métadonnées OpenGraph récupérées à l'envoi
(titre, description, image, site), carte cliquable esthétique,
garde SSRF réutilisée (host privé/loopback rejeté), cache borné
200 entrées, échec silencieux (URL morte → le message passe sans carte).
- Tests : pytest +13 (45 au total file_chat), JSDOM `filechat.test.mjs`
+5 (16).
---
## [2.58.0] — 2026-10-08
### Ajouté