Commit Graph

125 Commits

Author SHA1 Message Date
admin 87842c7585 0.13.18 : stop leaking password hash and tokens from /users/me
Le controller `me` renvoyait la ligne brute de `strapi.db.query`, sans
passer par le sanitizer utilisé par `findOne` : le hash du mot de passe,
`resetPasswordToken` et `confirmationToken` étaient envoyés au navigateur
à chaque appel — et /users/me est appelé sur presque toutes les pages.

Les trois champs sont retirés explicitement plutôt que via
`sanitizeUser` : le sanitizer de l'API de contenu retirerait aussi les
relations peuplées que le front consomme dans cette réponse.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 00:33:05 +02:00
admin 3da128278d 0.13.17 : make the Stripe webhook say when it credits nothing
Un abonnement premium souscrit en test aboutissait chez Stripe sans
qu'aucune commande ni aucun droit n'apparaisse en base — et sans la
moindre trace côté serveur.

- `metadata.userId` absent faisait sortir le handler en silence avec un
  200 : c'est désormais journalisé en erreur, avec l'id de session Stripe
- l'utilisateur est résolu une fois par `documentId` (ce que le front
  envoie) : la relation `user` d'une commande attend un id numérique,
  elle recevait un documentId
- un utilisateur introuvable est journalisé au lieu d'échouer plus loin
- les types d'événements ignorés sont tracés, pour distinguer « Stripe
  n'appelle pas » de « Stripe appelle sans checkout.session.completed »

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 00:32:19 +02:00
admin 883b827b0d docs: warn about custom create controllers bypassing files.<attr>
Piège rencontré sur la publication d'annonce : ad/post/group/chat-message
lisent ctx.request.files.<attribut> directement. Envoyer files.<attribut>
n'échoue pas, les fichiers sont simplement ignorés.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 00:15:35 +02:00
admin 5be8873ad5 docs: note that REST-populated relations need find permission
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 <noreply@anthropic.com>
2026-07-26 19:57:34 +02:00
admin 5a8a7d9f66 0.13.16 : grant read permission on comments
Build release Docker image / Build Docker Images (push) Successful in 7m56s
Les commentaires n'apparaissaient pas sur la page de détail d'une
publication, alors qu'ils s'affichent dans le fil.

`comment` n'avait aucune permission déclarée. Le fil passe par le
controller custom `feed`, qui renvoie ses résultats via ctx.send() sans
sanitizer d'API ; la page de détail passe par l'API REST standard, dont
le sanitizer retire les relations peuplées vers un content-type que le
rôle n'a pas le droit de lire.

Lecture seule : l'écriture reste passée par `post.addComment`, qui
contrôle l'auteur.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 19:36:34 +02:00
admin 126e9332ad 0.13.15 : default profileVisibility to public
`configuration.privacy.profileVisibility` n'avait pas de valeur par
défaut : un composant `privacy` créé sans choix explicite laissait le
champ nul, que la recherche d'utilisateurs traitait comme non-public.
L'écran de confidentialité du front affiche « public » dans ce cas —
le schéma s'aligne.

Ne rétroagit pas sur les utilisateurs existants, qui n'ont aucun
composant `privacy` : c'est le front (0.18.3) qui les traite comme
publics.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 19:15:08 +02:00
admin 8e672633dc 0.13.14 : fix media uploads, move plugin secrets to env vars
Build release Docker image / Build Docker Images (push) Successful in 7m54s
Tous les uploads échouaient depuis mai 2026 sur « Credential access key
has length 5, should be 32 ».

config/env/production/plugins.ts surchargeait l'upload avec l'ancien
MinIO auto-hébergé (accessKeyId "admin", 5 caractères, endpoint
container.harmonylab.ovh aujourd'hui injoignable). Strapi fusionnant les
surcharges d'environnement en profondeur, la config effective en prod
n'était ni l'une ni l'autre : endpoint R2 hérité de config/plugins.ts,
mais identifiants MinIO, le provider lisant s3Options.credentials en
priorité sur les options à plat.

- surcharge production supprimée : une seule config plugins, les
  différences d'environnement passent par les variables d'environnement
- upload en forme s3Options attendue par @strapi/provider-upload-aws-s3 5.x
  (à plat, le provider n'accepte plus qu'au prix d'une dépréciation)
- secrets R2 et SMTP sortis du fichier vers env(), .env.example à jour
- CSP de production : les médias étaient autorisés depuis
  container.harmonylab.ovh et 192.168.0.211:9000, jamais depuis le domaine
  R2 — l'hôte est désormais dérivé de R2_PUBLIC_URL
- la surcharge production des middlewares réduisait strapi::body à sa forme
  par défaut, perdant includeUnparsed nécessaire au webhook Stripe

⚠️ Déploiement : poser R2_* et SMTP_PASSWORD dans Dokploy AVANT de
déployer. Les clés historiques restent dans l'historique git : rotation
R2 et ZeptoMail à faire.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 18:44:58 +02:00
admin ca66bec45b 0.13.13 : fix Stripe entitlement loop (maxChoirs never credited)
Build release Docker image / Build Docker Images (push) Successful in 7m32s
- webhook : crédite maxChoirs selon le plan (pro=1, premium=5), écrit
  uniquement des champs existants du schéma (isPremium supprimé,
  subscriptionId -> stripeSubscriptionId)
- schéma user : ajout stripeCustomerId / stripeSubscriptionId (private)
- controller choral.create : contrôle du crédit côté serveur + décrément
  après création

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 04:14:52 +02:00
admin 51947d49e7 0.13.12 : sync users-permissions roles at bootstrap
Build release Docker image / Build Docker Images (push) Failing after 2m2s
- src/permissions-sync.ts : source de vérité versionnée des permissions
  (85 authenticated / 9 public, issues de l'audit AUDIT_PERMISSIONS.md) ;
  synchro additive et idempotente au démarrage, extras logués jamais supprimés
- plugin::users-permissions.user.update volontairement non accordé (sécurité)
- CLAUDE.md : doc du repo (stack, content-types, règles sécurité)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 00:47:04 +02:00
admin 30c4c4ed3c 0.13.11 : change register template an improve in user extension
Build release Docker image / Build Docker Images (push) Successful in 8m20s
2026-05-05 13:55:21 +02:00
admin ca2604d0fb Fix dokploy url
Build release Docker image / Build Docker Images (push) Successful in 5m21s
2026-05-04 21:46:09 +02:00
admin 574d81ac54 New upload way
Build release Docker image / Build Docker Images (push) Failing after 8m10s
2026-05-04 18:46:41 +02:00
admin 6034c4f07b Use zeptomail in prod
Build release Docker image / Build Docker Images (push) Failing after 10m38s
2026-05-04 09:43:59 +02:00
admin 945ad5d095 Fix strapi url
Build release Docker image / Build Docker Images (push) Failing after 13m22s
2026-05-04 01:05:48 +02:00
admin ce25ba2695 Change registry org
Build release Docker image / Build Docker Images (push) Failing after 7m58s
2026-05-03 22:41:10 +02:00
admin f7f0ee17d7 0.13.10 : add fiels on message and channel
Build release Docker image / Build Docker Images (push) Failing after 4m58s
2026-04-14 23:06:41 +02:00
admin 0648bf74bd 0.13.9 : change smartTags name 2026-04-13 21:56:07 +02:00
admin d469fc41e8 0.13.8 : invite by mail or contact and change mail provider on local 2026-04-07 22:15:59 +02:00
admin 5af0f28b39 Fix controller to remove upload 2026-04-06 16:42:54 +02:00
admin fd14d20dd0 fix 2026-04-06 00:52:32 +02:00
admin 7d020c33b6 Fix add logo 2026-04-06 00:52:13 +02:00
admin 1a3ea9e0c1 0.13.7 : add logo to choral 2026-04-06 00:10:27 +02:00
admin b0db6a5ddf 0.13.6 : change choral-membership 2026-03-15 19:37:44 +01:00
admin f13efb8707 0.13.5 : add roles 2026-03-15 10:48:07 +01:00
admin 75c90aa042 Change schema 2026-03-11 18:01:09 +01:00
admin 616b14edca 0.13.4 : add form-template 2026-03-08 16:07:54 +01:00
admin 42604b037b Fix quick dockerfile 2026-03-05 19:52:07 +01:00
admin 297dea3925 Dokerfile optim speed 2026-03-05 19:42:05 +01:00
admin 1f50e645ac Fix dockerfile 2026-03-05 19:21:14 +01:00
admin 56b913e888 Fix node version 2026-03-05 19:14:48 +01:00
admin ce9d05cd5c Fix dockerfile 2026-03-05 18:58:28 +01:00
admin d4e6a1192e Fix build 2026-03-05 18:53:07 +01:00
admin ba0c076f70 Fix build 2026-03-05 18:52:55 +01:00
admin 39046c8d35 Fix incorrect env vars 2026-03-05 18:35:01 +01:00
admin bc63c56da6 0.13.3 : add stripe and subscription plan 2026-03-05 18:19:34 +01:00
admin ce37fafddf Version 2026-02-26 14:00:08 +01:00
admin 04c4f7839f v0.13.2 : fix admin 2026-02-26 13:59:48 +01:00
admin c2a32f11b8 test package 2026-02-13 21:48:45 +01:00
admin fe0be2bfe2 Test fixing cookie 2026-02-13 21:14:03 +01:00
admin 67938c3584 Test fixing login 2026-02-13 20:52:44 +01:00
admin e2738072f1 Fix proxy 2026-02-13 20:29:01 +01:00
admin cf3e705193 0.13.1 : add legal pages 2026-02-12 23:31:47 +01:00
admin 178e229258 0.12.20 : add new voice and profil 2026-02-12 09:13:52 +01:00
admin e18a3fa092 0.12.19 : better notifications 2026-01-19 00:07:21 +01:00
admin 0bb06e0e2d 0.12.18 : add create message, conversation 2026-01-16 13:23:27 +01:00
admin 1186463e11 0.12.17 : change ad feature 2026-01-15 09:38:47 +01:00
admin 34a4f594ce 0.12.16 : add custom endpoints for contacts 2025-12-12 19:29:10 +01:00
admin e9505524bf 0.12.15 : add activity as a service 2025-12-11 17:32:27 +01:00
admin b33e04d9f4 0.12.14 : add notification on friend invite 2025-12-11 15:36:43 +01:00
admin 21b9302d7f 0.12.13 : add page mdx 2025-12-09 23:24:50 +01:00