- Ajout vérification queryToken/queryType avant traitement ancien format
- Détection des erreurs dans le hash (lien expiré, access_denied, etc.)
- Message clair si lien expiré : affiche error_description du hash
- Évite 'Type d'activation non supporté: null'
- Message fallback si aucun paramètre valide trouvé
- Condition modifiée : accepte access_token + refresh_token sans vérifier type='invite'
- Ajout log pour afficher le type détecté
- Corrige le problème où l'activation tournait dans le vide
- Supprimé le bloc de vérification hasHashTokens/hasQueryTokens qui causait l'erreur
- Le code essaie maintenant directement les deux méthodes sans pré-validation
- Délai augmenté à 500ms pour lecture du hash fragment
- Les erreurs ne s'affichent que si les méthodes échouent réellement
- Plus de message 'Paramètres manquants' avant même de tenter l'activation
- Vérification unique au début : hasHashTokens OU hasQueryTokens
- Suppression des vérifications redondantes dans le code
- Erreur affichée seulement si AUCUN format valide trouvé
- Plus de message d'erreur temporaire lors de l'activation avec hash fragment
- Délai de 100ms → 300ms pour lecture hash fragment
- Condition modifiée : erreur seulement si AUCUN paramètre (ni hash ni query)
- Fix TypeScript : vérification queryToken non-null avant verifyOtp
- Évite message d'erreur temporaire lors de l'activation
- Créé sendInvitationWithActivationEmail() pour unifier les invitations
- Modifié /api/staff/users/invite pour utiliser generateLink + email
- Modifié /api/access/nouveau pour envoyer email d'activation
- Modifié /api/access POST pour remplacer pending_invites par système direct
- Template account-activation mis à jour :
* Titre 'Activez votre compte'
* Encart avec infos : invitant (statut), organisation, niveau d'accès
* Message de contact formaté comme autres emails
* Renommage 'Odentas Paie' → 'Espace Paie Odentas'
- Fix page /activate : délai 100ms pour hash fragment + redirection 1s
- Liens d'activation forcés vers paie.odentas.fr (tests depuis localhost)
- Messages UI cohérents : 'Invitation envoyée' au lieu de 'Compte créé'