Skip to content

[fix] Correction d'exceptions non trappées (emails invalides, souscription vide)#144

Merged
Mandrak-Kimigo merged 1 commit into
stagingfrom
mantis-346
Jun 20, 2026
Merged

[fix] Correction d'exceptions non trappées (emails invalides, souscription vide)#144
Mandrak-Kimigo merged 1 commit into
stagingfrom
mantis-346

Conversation

@Mandrak-Kimigo

@Mandrak-Kimigo Mandrak-Kimigo commented Jun 20, 2026

Copy link
Copy Markdown
Member

[fix] Correction d'exceptions non trappées (emails invalides, souscription vide)

Contexte

Deux erreurs non trappées remontaient en production :

  1. Dans SubscriptionAdmin, la création d'une souscription sans commande levait un throw "string" brut dans SubscriptionService.areVarOrdersValid() qui n'était pas attrapé par le catch (error:Error) du contrôleur (qui attend un tink.core.Error).

  2. Dans le cron /cron/hour, sugoi/mail/Mail.addRecipient() lève une exception pour les adresses email invalides (ex. yahoo.f), crashant l'ensemble de la tâche cron.

Solution

  • SubscriptionService : remplace les trois throw "string" par throw new Error(...) pour qu'ils soient correctement rattrapés par les contrôleurs.
  • Cron et VolunteerService : entoure chaque appel addRecipient() d'un try/catch (e:Dynamic) pour ignorer les adresses invalides sans interrompre l'envoi aux autres destinataires. L'adresse problématique est loggée.

Comment tester

  • Tenter de créer une souscription sans sélectionner de commande → message d'erreur affiché proprement au lieu d'une page d'erreur.
  • Vérifier que le cron hour s'exécute sans erreur même si un membre a une adresse email mal formée.

@Mandrak-Kimigo Mandrak-Kimigo changed the title Mantis 346 [fix] Correction d'exceptions non trappées (emails invalides, souscription vide) Jun 20, 2026
- SubscriptionService: throw new Error() instead of raw strings so the controller's catch (error:Error) block can trap them
- Cron, VolunteerService: wrap addRecipient() calls in try/catch to skip invalid email addresses without aborting the whole task
@Mandrak-Kimigo Mandrak-Kimigo merged commit 85a29ba into staging Jun 20, 2026
2 checks passed
Mandrak-Kimigo added a commit that referenced this pull request Jun 21, 2026
Mise en production de la version 3.0.7.

## Changements depuis v3.0.6

- [mantis-276] Export CSV des souscriptions sur la page Catalogues (#141)
- Fix exceptions non gérées sur emails invalides et commandes manquantes (#144)
- TYPE_CONSTORDERS : suppression d'une participation autorisée uniquement si aucune distribution passée (70f9c80)
- TYPE_CONSTORDERS : message d'erreur spécifique dans cancelParticipation (9510691)
- Bannière instance de test : étendue aux hôtes "local" (camap.local/minikube), message clarifié (b709747)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants