Commit Graph

67 Commits

Author SHA1 Message Date
admin ec1d9bc1a4 0.13.24 : move the conversations endpoint off a colliding path
Build release Docker image / Build Docker Images (push) Successful in 8m22s
/chat-conversation-members/mine pouvait être capté par le routeur cœur
comme un findOne avec id = "mine", selon l'ordre d'enregistrement des
routes — et les deux répondent 403 sans jeton, ce qui rendait le
diagnostic impossible. L'endpoint devient /api/my-chat-conversations.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 17:11:18 +02:00
admin a93d48cada 0.13.23 : return the caller's conversations without opening private messages
Build release Docker image / Build Docker Images (push) Successful in 7m47s
La messagerie affichait des conversations vides : ni nom, ni
interlocuteur, ni message. Le front peuplait `conversation` et ses
`messages` via l'API REST, dont le sanitizer retire toute relation vers
un content-type que le rôle ne peut pas lire — or ni
`chat-conversation.find` ni `chat-message.find` ne sont accordées.

Les accorder aurait suffi, mais aurait ouvert la lecture de TOUTES les
conversations et de TOUS les messages privés à n'importe quel compte
connecté. On ajoute donc une action dédiée :

- GET /api/chat-conversation-members/mine — conversations du seul
  appelant, avec interlocuteurs et messages, renvoyées via ctx.send
- mot de passe et jetons retirés des utilisateurs peuplés
- permission `mine` déclarée dans permissions-sync, avec la raison pour
  laquelle les deux `find` restent volontairement absentes

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 16:33:49 +02:00
admin 62064f053a 0.13.22 : tell a join request apart from an invitation
Build release Docker image / Build Docker Images (push) Successful in 8m5s
Le controller forçait `state = "pending_user_approval"` quel que soit le
sens — commentaire à l'appui : « On force le statut en attente peu
importe le type d'invité ». Une candidature déposée par un utilisateur
ressortait donc en invitation, et il recevait un email « vous avez été
invité » pour une chorale qu'il venait lui-même de demander à rejoindre.

- une adhésion créée par un utilisateur pour lui-même est une
  candidature : `pending_admin_approval`, à valider par un administrateur
- rôle imposé à `member` dans ce cas : sans cela, une candidature pouvait
  se déclarer `owner` de la chorale visée
- aucun email d'invitation n'est envoyé pour une candidature
- l'invitation, elle, garde son comportement : `pending_user_approval`,
  token pour un email externe, notification pour un compte existant

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 14:02:01 +02:00
admin e168b6c826 0.13.21 : create the owner membership when a choral is created
Build release Docker image / Build Docker Images (push) Successful in 7m57s
Le créateur d'une chorale n'avait aucune adhésion : la chorale
n'apparaissait pas dans « Mes chorales » et son créateur n'en était pas
propriétaire — il n'avait donc aucun droit sur ce qu'il venait de créer.
Seule la recherche la montrait.

Le controller crée désormais une choral-membership `owner` / `active`
après la création, et journalise l'anomalie si l'id de la chorale n'est
pas exploitable.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 11:51:36 +02:00
admin 57faa37e70 0.13.19 : tell apart the two causes of a Stripe signature failure
Build release Docker image / Build Docker Images (push) Successful in 8m27s
Un corps brut absent et un secret de signature erroné produisent des
messages Stripe proches, alors que les correctifs sont opposés. Le log
d'échec indique désormais si le corps brut est présent et sa taille, si
l'en-tête stripe-signature est là, et si STRIPE_WEBHOOK_SECRET est défini
(sa longueur, jamais sa valeur).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 00:39:07 +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 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 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 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 bc63c56da6 0.13.3 : add stripe and subscription plan 2026-03-05 18:19:34 +01:00
admin cf3e705193 0.13.1 : add legal pages 2026-02-12 23:31:47 +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
admin 460560bb89 0.12.12 : add mail templates as single type 2025-12-02 23:06:50 +01:00
admin 95ce447496 0.12.5 2025-11-16 18:09:48 +01:00
admin 2bc35b639b 0.11.21 : change on event and group 2025-11-11 02:04:43 +01:00
admin 14e013bac1 0.11.20 : modify event controller for group owner 2025-11-10 23:10:23 +01:00
admin 539c9cd104 0.11.19 : add simple notification 2025-11-10 14:53:54 +01:00
admin 1d6e8f3866 0.11.18 : new group structure 2025-11-09 22:06:57 +01:00
admin dba77a3b07 0.11.17 : add shared events 2025-11-09 14:48:50 +01:00
admin 90e43e0644 0.11.16 : change public to isPublic (strict keyword) 2025-11-07 15:31:23 +01:00
admin 4071000895 0.11.15 : add notification and private field on PostRelationship 2025-11-07 14:40:48 +01:00
admin c5e63ab92a 0.11.14 : Fix start and limit on event feed 2025-11-06 19:09:13 +01:00
admin d4bef1ab07 0.11.13 : add post link 2025-10-31 18:03:35 +01:00
admin 39c3a516cd 0.11.10 : add link post 2025-10-29 22:53:35 +01:00
admin 337293182b 0.11.9 : add create event and field changes 2025-10-24 12:40:15 +02:00
admin 4c5b72d0d9 0.11.8 : add create event 2025-10-23 09:52:27 +02:00
admin ad4c183234 Add delete event and husky lib 2025-10-21 18:37:10 +02:00
admin 8e5182afaa 0.11.6 : add event and export ICS 2025-10-20 23:52:37 +02:00
admin 089f8f3ee8 V 0.11.5 : addComment and fields 2025-10-14 22:21:53 +02:00
admin bfb630109f 0.11.4 : change on feed and save/hide 2025-10-05 22:06:23 +02:00
admin 755b49056c AJout du likePost et des taggedContacts 2025-10-03 16:48:19 +02:00
admin 641624fcb0 Add custom endpoint for contact and post 2025-10-02 21:35:04 +02:00
admin 2173ec6d0a Fix on save post params 2025-10-01 00:28:44 +02:00
admin 2964a58827 Change schema and feed 2025-09-30 23:32:18 +02:00
admin e7f91f1a7f Add modification for post logic and add fields on user / contact 2025-09-30 19:59:29 +02:00
admin a84fdbed9a Lastest objects for post, invite and add cron GNEWS 2025-09-26 13:22:07 +02:00