J’ai un site où l’option « autoriser les sujets non catégorisés » est désactivée, pourtant la catégorie « non catégorisé » apparaît pour un utilisateur déconnecté (ou connecté en tant qu’administrateur) sur mobile Android. Je viens de procéder à une reconstruction. Les composants du thème n’expliquent pas ce phénomène. Le problème persiste en mode sans échec. Seules des extensions officielles sont installées.
Je ne constate pas ce problème sur ordinateur de bureau.
Ouais ! C’est juste le sujet « À propos », rien d’autre. Je n’arrive pas vraiment à comprendre comment c’est même possible avec les spécifications que je suppose être en place. Et c’est uniquement sur mobile, pas sur ordinateur.
Je ne pense pas que nous attendions que le sujet « À propos » reste dans la catégorie Non classé lorsqu’il est désactivé. L’avertissement dans la description du paramètre du site « autoriser les sujets non classés » indique (mise en évidence ajoutée) :
AVERTISSEMENT : S’il y a quelques sujets non classés, vous devez les reclasser avant de désactiver cette option.
Pouvez-vous essayer de déplacer le sujet « À propos » vers une catégorie active ? Cela a semblé fonctionner sur mon site de test.
C’est assez déroutant, car il est normalement interdit de supprimer un sujet « À propos » (mais je suppose que ce n’est pas vraiment un sujet à propos car ce n’est pas vraiment une catégorie). Mais je l’ai fait, et maintenant « Non classé » n’apparaît plus. Et j’ai dû le faire depuis mon téléphone, car je n’aurais pas pu le trouver autrement.
« Non classé » est très déroutant car ce N’EST PAS une catégorie. Je pense vraiment qu’il devrait être désactivé par défaut.
Non, car je ne crois pas à l’imposition d’une classification artificielle « Animal, Végétal, Minéral » à chaque instance dans le monde dès le départ. Désolé.
Tenez compte de l’avertissement présent là pour une raison :
AVERTISSEMENT : S’il existe quelque sujet non catégorisé, vous devez les recatégoriser avant de désactiver cette option.
Cela étant dit, pouvons-nous normaliser ce comportement @zogstrip afin qu’il soit cohérent entre mobile et bureau ?
Oui. Je comprends cet argument et j’étais autrefois d’accord, mais je pense qu’une catégorie par défaut aurait plus de sens qu’une absence de catégorie. Cependant, j’essaierai de ne plus le suggérer, sauf peut-être un jour si nous nous retrouvons dans le même espace avec .
@nbianca, peux-tu ajouter à ta liste d’investigation la raison pour laquelle la catégorie « non classé » s’affichait sur mobile alors qu’elle ne s’affichait pas sur bureau ?
Sur ordinateur, nous affichons les catégories et les sujets séparément, tandis que sur mobile, nous les affichons combinés. En gardant cela à l’esprit, c’est cette ligne qui provoque le bug :
c.displayable_topics.blank? est toujours vrai sur ordinateur car nous chargeons les sujets séparément, donc displayable_topics est toujours vide. Sur mobile, il n’est vrai que s’il n’y a vraiment aucun sujet dans cette catégorie.
Nous avons deux solutions ici :
afficher « non catégorisé » s’il y a au moins un sujet, quelle que soit la valeur du paramètre « autoriser les sujets non catégorisés »
masquer « non catégorisé » même s’il y a un sujet, si « autoriser les sujets non catégorisés » est désactivé
La deuxième solution est plus simple à mettre en œuvre car elle signifie simplement que nous supprimons la deuxième partie de la condition.
Je pense que cacher les sujets non classés est (étrangement) moins déroutant que de ne pas les cacher lorsque l’on active ce paramètre. Je pense que si vous désactivez la catégorie non classée, vous remarquerez immédiatement que tous ces sujets ont disparu, mais si rien ne se produit lorsque vous désactivez cette catégorie, cela semble être un dysfonctionnement.
J’ai soumis une correction pour le bug dans le premier message :
J’ai opté pour la première solution car c’est celle qui supprime du code de Discourse. L’autre ajoutait en réalité du code pour déterminer s’il existe au moins un sujet dans la catégorie non catégorisée.
J’ai également passé en revue toutes les utilisations de category.uncategorized? et j’ai repéré quelques endroits qui pourraient ne pas être nécessaires si nous rendions la catégorie « Non catégorisée » moins spéciale et plus comme une catégorie ordinaire :
Ce sont des éléments qui n’interfèrent pas avec d’autres fonctionnalités, ce qui rend les modifications moins risquées, mais elles restent néanmoins complexes.