fix(web): n'envoie pas content-type json sans corps (DELETE conversation) (v0.36.1)

Fastify rejetait le body vide annoncé application/json
(FST_ERR_CTP_EMPTY_JSON_BODY) sur DELETE /api/conversations/:id.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016w5jRe87MGdd6AMvXQcHNi
This commit is contained in:
Kantin-Petit
2026-06-23 23:49:16 +02:00
parent 0da5e2aba1
commit a5545e5687
2 changed files with 10 additions and 1 deletions
+6
View File
@@ -6,6 +6,12 @@ incompatibles. Chaque ligne renvoie à un commit dédié (un artefact = un commi
## [Unreleased]
## [0.36.1] — 2026-06-23 — fix DELETE conversation (body vide)
### Fixed
- Client web `req()` : `content-type: application/json` n'est plus envoyé sur
les requêtes **sans corps** (DELETE) — Fastify rejetait le body vide
(`FST_ERR_CTP_EMPTY_JSON_BODY`). La suppression de conversation fonctionne.
## [0.36.0] — 2026-06-23 — conversations persistantes (mémoire multi-tour)
### Added
- **`conversations/store.ts`** : store SQLite (conversations + messages) avec
+4 -1
View File
@@ -37,7 +37,10 @@ export class ApiError extends Error {
}
async function req<T>(path: string, token: string | null, init?: RequestInit): Promise<T> {
const headers: Record<string, string> = { "content-type": "application/json" };
const headers: Record<string, string> = {};
// content-type seulement s'il y a un corps : sinon Fastify rejette un body
// vide annoncé en application/json (DELETE, etc.).
if (init?.body != null) headers["content-type"] = "application/json";
if (token) headers.authorization = `Bearer ${token}`;
const res = await fetch(`/api${path}`, { ...init, headers: { ...headers, ...(init?.headers as Record<string, string>) } });
if (!res.ok) {