La recherche d'étiquette avec case à cocher n'affiche pas de résultats sur mobile

:warning: Note d’août 2023 : Les exemples précédents dans ce sujet contiennent des références à des balises qui n’existent plus, cependant le problème des résultats vides persiste.

Si je visite https://meta.discourse.org/tags/c/theme/61/theme-component sur mobile, que je tape sur la loupe, que je recherche par exemple « topic » et que je tape sur la case à cocher pour « rechercher la balise Theme component », il y a deux problèmes.
D’une part, il faut appuyer deux fois sur la case à cocher pour qu’elle soit cochée. D’autre part, il n’y a aucun résultat de recherche après avoir appuyé une ou deux fois sur la case à cocher, alors qu’il y en a beaucoup si vous utilisez la recherche sur ordinateur.

Recherche sur mobile sans toucher la case à cocher


https://meta.discourse.org/search?context=tag&context_id=theme-component&q=Topic&skip_context=true

Recherche sur mobile et appui une fois sur la case à cocher


https://meta.discourse.org/search?context=tag&context_id=theme-component&q=Topic&skip_context=false

Recherche sur mobile et appui deux fois sur la case à cocher


https://meta.discourse.org/search?context=tag&context_id=theme-component&q=Topic&skip_context=false

Recherche en vue bureau


https://meta.discourse.org/search?q=topic%20%23theme-component

Je sais que je pourrais taper Theme component dans la recherche pour obtenir des résultats sur mobile, mais je pense que ce n’est pas l’idée d’offrir la case à cocher.

3 « J'aime »

Salut, bonne trouvaille @moin. Je pense que tu as peut-être trouvé deux bugs. :slight_smile:

  1. La case à cocher ne fonctionne pas immédiatement, et
  2. La recherche par portée sur une balise crée une URL que Discourse sert avec un 403

La case à cocher ne coche pas

Sur mobile, le lien de recherche ajoute « context » à l’URL, ce qui révèle la case à cocher à basculer en question. Dans ce cas, l’URL que nous examinons est https://meta.discourse.org/search?context=tag&context_id=theme-component&skip_context=true.

Lorsque nous basculons la case à cocher, nous modifions la requête de recherche où skip_context passe de true à false et vice versa. Cela signifie également que vous pouvez créer une URL où la case est cochée par défaut, comme https://meta.discourse.org/search?context=category&context_id=1&skip_context=false. C’est important, car j’ai remarqué un comportement différent entre les deux états lors du chargement.

skip_context=true

Par défaut sur la vue mobile, et la case ne sera pas cochée. L’interaction avec la case à cocher, par toucher ou clavier, modifie l’URL en skip_context=false, mais ne coche pas la case. Cliquer une fois de plus la coche, en gardant « false » dans l’URL.

Ensuite, elle peut être basculée dans un sens puis dans l’autre, avec les modifications d’URL correspondantes comme prévu.

skip_context=false

Lorsque la recherche est chargée, la case est cochée, et l’interaction avec elle fonctionne comme prévu : chaque interaction modifie la case à cocher et l’URL.


J’ai remarqué séparément que l’utilisation de ces cases à cocher me fait également perdre la focalisation sur la page, quel que soit la valeur de skip_context ; j’espère que c’est la même chose qui cause notre problème de double-clic. :slight_smile:

J’ai reproduit ce comportement en mode sans échec et sur des appareils mobiles.

Ok, je vais voir ce que je peux expliquer sur le fait que les balises ne filtrent pas dans une réponse de suivi, pour qu’il soit plus facile de les séparer si nécessaire.

4 « J'aime »

Portée des balises dans la recherche renvoie 403

Celui-ci m’a dérouté, car lorsque j’ai essayé de le reproduire sur meta, j’ai accidentellement chargé une catégorie plutôt qu’une balise dans le contexte de recherche. C’était une chance, car lorsque j’ai réalisé mon erreur, je savais au moins comment les requêtes de recherche étaient produites pour ces contextes.

En utilisant Theme et Theme component comme exemples :

Lorsque nous utilisons le contexte de recherche pour les balises, notre requête ressemble à \u003chttps://meta.discourse.org/search?q=topic\u0026page=1\u0026search_context[type]=tag\u0026search_context[id]=theme-component\u003e, ce qui renvoie 403.

Lorsque nous utilisons le contexte de recherche pour les catégories, notre requête ressemble à \u003chttps://meta.discourse.org/search?q=topic\u0026page=1\u0026search_context[type]=category\u0026search_context[id]=61\u003e, ce qui renvoie les résultats comme prévu.

Alternativement, si nous choisissons une balise à partir des filtres de recherche avancée, notre requête ressemble à \u003chttps://meta.discourse.org/search?q=tags:theme-component\u0026page=1\u003e et renvoie les résultats avec cette balise.

Je suis capable de reproduire le chemin \u0026search_context[type]=tag\u0026search_context[id]=theme-component renvoyant un 403 en mode sans échec également.

Existe-t-il d’autres types de search_context ? J’ai jeté un coup d’œil au code mais je n’ai pas pu le déterminer ; si c’est le cas, nous pouvons également les tester.

3 « J'aime »

Continuant la discussion de Abonnements Discourse - permettre l’abonnement d’une durée prédéterminée :

J’allais lier des publications que j’avais créées avec la balise d’abonnements, alors je suis allé sur la page de liste des balises, et j’ai cherché à partir de là. Aucun résultat – voir ci-dessous. Lorsque je cherche à partir de la page principale, cela fonctionne correctement. Il se pourrait que la case à cocher soit le problème, car c’est une différence.

1 « J'aime »

Je peux confirmer cela. Je viens d’essayer de rechercher à partir de la balise post-voting avec l’option cochée, et je n’ai trouvé aucun résultat (mention ou autre mot-clé normal)

Android/Chrome

(pas encore vérifié sur ordinateur) J’ai vérifié sur ordinateur et cela fonctionne bien.

Est-ce l’un des problèmes que j’ai signalés ici ?

2 « J'aime »

Je n’ai eu aucun problème à cocher la case, mais le manque de résultats semble être le même problème.

J’ai fusionné les sujets. :+1: (et j’ai légèrement modifié le message d’origine).

Juste pour noter ici aussi ; les exemples de tags dans le message d’origine n’existent plus, bien que le problème des résultats de recherche vides sur mobile qu’ils ont démontré existe toujours.

Mes étapes très basiques :

  • Sur mobile, allez dans la liste des sujets post-voting
  • Ouvrez la recherche et cochez la case Rechercher dans le tag #post_voting
  • Entrez quelque chose qui donnerait certainement un résultat (par exemple, ‘comment’ ou ‘@JammyDodger’)
  • Appuyez sur ‘Rechercher’

Résultat : ‘Aucun résultat trouvé

Résultat attendu : Il me trouve des choses

2 « J'aime »

C’est effectivement un bug, merci pour le signalement, les amis. Il devrait être corrigé lorsque cette PR sera fusionnée : FIX: Search by tag context was broken by pmusaraj · Pull Request #23006 · discourse/discourse · GitHub

2 « J'aime »

Ceci a maintenant été fusionné :partying_face:

3 « J'aime »

Ce sujet a été automatiquement fermé après 2 jours. Les nouvelles réponses ne sont plus autorisées.