Difficulté à comprendre le paramètre d'activation de la bannière de bienvenue

Quelqu’un peut-il m’aider à comprendre cela ? J’ai l’impression de rater quelque chose de très évident car je m’attendais à ce que le paramètre fonctionne dans l’autre sens.

La description dit :

Afficher une bannière sur vos pages de liste de sujets principales pour accueillir les membres et leur permettre de rechercher le contenu du site.

C’est pourquoi je m’attendais à :

Case cochée → bannière de bienvenue
Case non cochée → pas de bannière

Mais c’est le contraire qui se produit :

1 « J'aime »

C’est extrêmement étrange… Ça ne se reproduit pas pour moi. Vous n’auriez pas l’ancien composant installé par accident ?

1 « J'aime »

Je ne pense pas

Soit dit en passant : dans un cas sur ~5, l’activation/désactivation du paramètre fonctionne comme prévu, mais généralement, ce n’est pas le cas.

2 « J'aime »

@yuriy As-tu des idées sur ce qui pourrait causer cela ?

C’est un site hébergé par Discourse

J’ai pu reproduire sur Foundation, sans aucun composant

1 « J'aime »

J’ai l’impression de voir ce qui correspond à la configuration au moment de la mise à jour. J’ai activé la bannière il y a 20 heures, et il y a eu une mise à jour il y a 16 heures. J’ai ensuite eu des problèmes pour me débarrasser de la bannière. À un moment donné, cependant, cela s’est amélioré (il y a eu une autre mise à jour il y a 8 heures). Maintenant, j’ai du mal à faire apparaître la bannière. Donc, même si le paramètre est activé, il n’est souvent pas affiché.

De plus, l’activation et la désactivation rapide (ou l’inverse) semblent causer des problèmes.

Notre développeur a confirmé qu’il y a un problème avec celui-ci ; il s’en occupe. Tenez bon.

1 « J'aime »

C’est étrange que cela persiste même après un rafraîchissement dans l’application :thinking: Lorsque nous enregistrons ces valeurs sur le serveur, nous envoyons un message MessageBus au client ici, ce qui devrait mettre à jour l’interface utilisateur réactive :

Mais j’ai l’impression que vos paramètres ont été inversés entre vrai et faux ici ? Que voyez-vous si vous faites ceci dans la console Rails pour votre site ?

SiteSetting.theme_site_settings

Vous verrez quelque chose comme ceci, les nombres représentent l’ID du thème :

{1=>:enable_welcome_banner=>:false, :search_experience=>"search_icon"},
 -1=>:enable_welcome_banner=>:false, :search_experience=>"search_icon"},
 -2=>:enable_welcome_banner=>:false, :search_experience=>"search_field"}}

Essayez de le basculer et de voir quelles valeurs apparaissent (vous devrez fermer/rouvrir la console Rails chaque fois que vous modifiez la valeur).

Pouvez-vous ensuite essayer ceci :

SiteSetting.theme_site_settings_json(THEME_ID)

En remplaçant THEME_ID par celui qui pose problème.

Edit : Ah, je n’avais pas réalisé que c’était sur un site hébergé, je peux regarder :eyes:

2 « J'aime »

Il semble que cela se comporte correctement sur votre thème sur votre site hébergé pour le moment. C’est intéressant cependant :

Peut-être devrions-nous simplement garder un œil sur la situation et voir si cela continue ? N’hésitez pas non plus à m’envoyer un message privé si vous souhaitez discuter plus en détail des spécificités du site hébergé.

Je pense que je l’ai encore cassé. Je ne sais pas quand il se réparera tout seul

Sur Foundation, il est activé mais pas visible et sur le thème par défaut, il est désactivé mais visible

Je viens de me connecter à votre site et je ne le vois pas sur le thème par défaut, et je vois qu’il est désactivé sur /admin/customize/themes/1. Je l’ai activé puis désactivé et il est apparu puis disparu dans l’autre onglet.

Je ne le vois pas non plus sur Foundation, mais il est activé dans l’administration. Tenez bon, je vais voir si je peux identifier le problème.

Intéressant. J’ai pu le voir aussi lorsque je me suis connecté en tant qu’utilisateur de test. Peut-être que cela s’est corrigé tout seul.

D’accord, je l’ai actualisé et cela s’est également corrigé tout seul sans que je fasse quoi que ce soit :thinking:

Nous mettons en cache les paramètres du site de thème pour chaque thème individuel ici avec un cache de 30 minutes :

Cependant, cela est censé être effacé chaque fois que vous modifiez les paramètres du site d’un thème :

Alors peut-être y a-t-il un cas particulier où cela ne se produit pas ?

1 « J'aime »

J’ai réactivé la bannière sur le thème par défaut il y a trois heures pour voir ce qui se passerait après la prochaine mise à jour. Et elle était là, mais maintenant elle a de nouveau disparu. Le paramètre est toujours activé.

J’ai toujours l’impression qu’elle préfère le statut qu’elle avait lors de la mise à jour du site.

Modification : Maintenant, la bannière est de retour.

Modification 2 : Elle a disparu.

Modification 3 : Elle est de retour.

Modification 4 : disparue.

Modification 5 : de retour.

3 « J'aime »

Merci Moin… c’est très inattendu, et pour autant que je sache, vous êtes la seule personne à avoir rencontré cela jusqu’à présent. Je vais créer un site de test pour moi-même, y apporter des modifications + le déployer pour voir si je peux reproduire le problème, peut-être que cela aidera à le traquer.

Cela ressemble vraiment à un problème de mise en cache, surtout que vous dites que l’interface utilisateur elle-même bascule, mais que vous pouvez voir dans l’administration que le paramètre est toujours activé.

1 « J'aime »

Il semble que le premier changement en particulier ne fonctionne pas correctement.
Hier, j’ai activé la bannière sur Foundation et environ 25 minutes plus tard, la bannière était visible. C’est à peu près les 30 minutes que vous avez mentionnées.
Maintenant, j’ai réessayé. Je l’ai désactivée sur Foundation, elle a disparu, mais est réapparue après un rechargement. Et ce n’est pas seulement mon utilisateur qui a le problème ; je teste toujours avec un utilisateur test dans un onglet privé. Mais même après 30 minutes, elle est toujours là.

MISE À JOUR : Maintenant, elle a disparu. Cela a donc pris environ une heure.

1 « J'aime »

Eh bien, je ne suis pas sûr si c’est parce que 30 minutes se sont écoulées depuis que vous avez publié ceci :

image

Ou parce que j’ai d’une manière ou d’une autre modifié l’état en faisant ceci dans la console de votre site :

SiteSetting.theme_site_settings_json(-1)
=> "{\"enable_welcome_banner\":false,\"search_experience\":\"search_field\"}"

Mais oui, je l’ai vu visible, j’ai exécuté cela dans la console, et ensuite il a disparu :sweat_smile : Cela donne donc vraiment l’impression qu’il s’agit d’un problème de mise en cache…

1 « J'aime »

Pour l’instant, je ne parviens toujours pas à le reproduire sur mon propre site hébergé, même via des déploiements. C’est un problème délicat !

Je ne sais pas si c’est pertinent, mais j’avais désactivé « afficher la bannière de bienvenue » lorsque les paramètres du site personnalisables sont sortis. La valeur était donc différente du réglage par défaut. C’est peut-être ça la différence ? Si vous créez un forum maintenant, la valeur n’aura pas d’historique, ce sera juste la valeur par défaut.