Nous avons un problème où le menu d’en-tête de la marque en haut à gauche ne se développe que partiellement sur mobile lorsqu’on tape dessus. Nous l’avons configuré pour ne pas afficher la barre sur mobile. Si je tape juste sur le menu hamburger, cela ressemble à ceci.
J’ai constaté que sur notre forum, lorsque je clique simplement sur le menu hamburger, la classe « slide-in » n’est pas ajoutée à la div « menu-panel ».
Pour autant que je sache, menu-panel et slide-in ne proviennent pas de notre thème. Mais il semble que slide-in soit important pour que cela fonctionne. Pourquoi slide-in ne serait-il pas ajouté lorsque le menu est ouvert ? Pourquoi le redimensionnement de la fenêtre du navigateur le ferait-il soudainement ajouter ?
Je n’ai pas eu à redimensionner pour obtenir cela, et lorsque je redimensionne, je n’obtiens pas du tout la classe slide-in…
Il semble que vous soyez sur Discourse 3.2, plutôt que sur la version actuelle 3.3. Il y a des mises à jour de ce composant qui dépendent de la version 3.3, vous ne les recevez donc pas pour le moment.
Il est possible que la mise à jour de Discourse et du composant résolve tous vos problèmes, mais sinon, il pourrait y avoir un conflit avec d’autres personnalisations.
Vous avez raison, nous utilisons Discourse 3.2.3. Je pensais avoir compris d’après ce post que le problème existait aussi dans la version 3.3 mais la vôtre semble correcte. Je vais vérifier s’il nous est possible de passer à la 3.3, ou peut-être d’installer une version plus ancienne du composant brand-header.
Est-il publié quelque part que le composant nécessite la version 3.3 ? Je ne vois rien de tel.
Savez-vous quand les mises à jour qui dépendent de la 3.3 ont été effectuées ? Ou quelle est la dernière version qui fonctionne avec la 3.2 ?
Il ne l’exige pas explicitement, mais parfois, lors de mises à jour, nous nous appuyons sur une fonctionnalité plus récente de Discourse, nous épinglons le composant de thème à une ancienne version de Discourse, ce qui l’empêchera de recevoir des mises à jour incompatibles.
Lorsque cela est fait, les détails se trouvent dans un fichier .discourse-compatibility :
Depuis ce changement, le code du composant a été entièrement refactorisé en raison des modifications apportées au fonctionnement de l’en-tête dans Discourse.
Je pense que cela met en évidence un bon problème à considérer, ces informations sont assez enfouies et techniques. Peut-être pouvons-nous ajouter un message dans le panneau d’administration indiquant que certains composants ont cessé de recevoir des mises à jour car ils nécessitent des fonctionnalités de la dernière version de Discourse.
J’ai bifurqué le composant, l’ai restauré au commit 12e6f76, et l’ai installé sur notre forum, mais le problème persiste. Cela ne devrait-il pas le résoudre ?
Je dois mal comprendre quelque chose. Nous n’avions pas ce problème auparavant. À un moment donné, le problème est survenu parce que le composant a apporté des modifications qui nécessitent Discourse 3.3 et nous avons mis à jour le composant mais nous utilisons toujours Discourse 3.2. Est-ce exact ? Si oui, la solution la plus simple ne serait-elle pas de revenir à la dernière version du composant qui fonctionne avec Discourse 3.2 ?
Le composant n’aurait pas reçu ces modifications pour la 3.3. Lorsqu’un composant est épinglé à une version spécifique de Discourse, il est essentiellement figé dans son état actuel jusqu’à ce que Discourse soit mis à jour.
Vous ne devriez donc pas avoir besoin de faire cela… l’épinglage devrait automatiquement le maintenir sur la dernière version compatible, mais il est possible que ce bug existait déjà dans la version du composant que vous utilisez.
Je comprends maintenant… malin. Peut-on supposer qu’il n’y aura aucun effort de la part du mainteneur pour que le composant fonctionne correctement avec la version 3.2 ?
J’ai fait une copie du forum et l’ai mis à niveau vers la version 3.3 et oui, cela résout le problème. Je vérifie avec notre administrateur pour voir s’il est possible de passer à la version 3.3 sur le forum principal.
Oui, malheureusement, nous n’avons que la bande passante nécessaire pour maintenir les composants de thème sur la dernière version de Discourse, donc cela peut arriver de temps en temps avec les anciennes versions.