From 5be8873ad5be47f3e2d3cbfe914ef0113ff5da80 Mon Sep 17 00:00:00 2001 From: julien vdb Date: Sun, 26 Jul 2026 19:57:34 +0200 Subject: [PATCH] docs: note that REST-populated relations need find permission MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Règle apprise en corrigeant les commentaires invisibles sur la page de détail d'une publication (0.13.16) : le sanitizer de l'API REST retire sans erreur les relations peuplées vers un content-type non lisible par le rôle. Les controllers custom qui répondent via ctx.send() ne passent pas par ce sanitizer et masquent le problème. Co-Authored-By: Claude Opus 5 --- CLAUDE.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 72b2f98..416dd7a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -72,6 +72,15 @@ Vue par domaine (34 au total, liste exhaustive dans `src/api/`) : Toute nouvelle route/action consommée par le front DOIT être ajoutée à ce fichier (et jamais cochée uniquement dans l'admin, sinon elle sera signalée comme non déclarée). +- ⚠️ **Une relation peuplée via l'API REST exige `find` sur le content-type + cible.** Le sanitizer de l'API REST retire silencieusement les relations + peuplées vers un content-type que le rôle n'a pas le droit de lire — pas + d'erreur, juste un champ vide. C'est ce qui rendait les commentaires + invisibles sur la page de détail d'une publication (corrigé en 0.13.16), + alors qu'ils s'affichaient dans le fil : les controllers custom qui + renvoient via `ctx.send()` ne passent pas par ce sanitizer, et masquent + donc le problème. Symptôme à reconnaître : « ça marche dans le fil, pas + dans le détail ». - Secrets uniquement en variables d'environnement. `.env` jamais commité ; `.env.example` maintenu à jour. Depuis le 26/07/2026, `config/plugins.ts` ne contient plus aucun secret (R2 et SMTP passent par `env()`).