Quelque part lors de la mise à niveau de 2.4.0.beta1 vers 2.4.0.beta2 puis vers 2.4.0.beta4 (je ne suis pas certain de la version exacte), la fenêtre modale d’inscription a cessé de s’afficher pour les nouveaux utilisateurs.
Nous utilisons le plugin OpenID Connect pour authentifier nos utilisateurs. La connexion est requise, les connexions locales sont désactivées et les nouvelles inscriptions sont autorisées. Désactiver l’exigence de connexion ou activer les connexions locales « résout » le problème et les utilisateurs peuvent à nouveau s’inscrire. Cependant, les connexions locales doivent rester désactivées et nous souhaitons que la connexion reste obligatoire.
Le journal OIDC est normal et affiche une réponse d'informations utilisateur récupérée avec les identifiants du nouvel utilisateur, bien qu’aucune fenêtre modale ne s’affiche. J’ai essayé de passer à une installation neuve et de restaurer la sauvegarde, mais le problème persiste. Sans restaurer ma sauvegarde, la fenêtre modale s’affiche, ce qui signifie que quelque chose dans ma sauvegarde provoque ce problème
Notre version actuelle de Discourse est 2.4.0.beta6, où le problème est également présent.
Fantastique, vous aviez raison ! La suppression du composant Knowledge Base du thème a fait réapparaître la fenêtre modale ! J’ai évidemment installé ce composant entre l’une de ces mises à jour.
Étrangement, cela ne se produit qu’après avoir restauré la sauvegarde ; une installation propre ne présente aucun problème avec le composant activé. Je vais simplement le désactiver, de toute façon, nous ne l’utilisions pas.
C’est vraiment étrange. Vous souvenez-vous d’avoir vu des erreurs spécifiques liées à ce composant, par exemple dans la console de développement du navigateur ?
De plus, on observe 8 fois une erreur TypeError: E.idMap(...) is undefined, mais sans aucune mention du composant Knowledge Base. Voici la trace d’appel correspondante (URL : https://<HOST>/assets/application-301651b1c7400a000974a9cecafd44ad3304cf647cf17bcfa7af68e9ed1ac4b7.js, Ligne : 9, Colonne : 20924, Emplacement de la fenêtre : https://<HOST>/login) :
J’ai quelques idées sur ce qui pourrait en être la cause.
Je suis curieux, cependant — aviez-vous des catégories répertoriées dans le paramètre de thème kb categories pendant qu’il était activé ? Je vois un cas dans le code où cela pourrait causer un problème si aucune catégorie n’est sélectionnée.
MODIF : J’ai poussé une correction qui, je pense, pourrait résoudre le problème.
En effet, je n’avais aucune catégorie répertoriée. Mais la fenêtre modale ne s’affiche pas même après en avoir choisi une.
Peut-être lié, ou peut-être tout à fait différent : le paramètre default to kb view n’a aucun effet tant que la catégorie est affichée, et je dois cliquer alternativement sur le bouton KB et le bouton Latest pour activer la vue KB.
edit : J’ai mis à jour le composant et il se comporte désormais comme suit : avec une liste de catégories vide, la fenêtre modale s’affiche . Cependant, une fois que je choisis une catégorie, la fenêtre modale ne s’affiche plus.