Pesquisa por tag com caixa de seleção não mostra resultados no celular

:warning: Nota de agosto de 2023: Os exemplos anteriores neste tópico contêm referências a tags que não existem mais, no entanto, o problema com resultados em branco persiste.

Se eu visitar https://meta.discourse.org/tags/c/theme/61/theme-component no celular, tocar na lupa, pesquisar por exemplo por “topic” e tocar na caixa de seleção para “pesquisar a tag Theme component”, existem dois problemas.
Por um lado, você precisa tocar na caixa de seleção duas vezes até que a caixa seja marcada. Por outro lado, não há resultados de pesquisa após tocar na caixa de seleção uma ou duas vezes, enquanto há muitos, se você usar a pesquisa do desktop.

Pesquisando no celular sem tocar na caixa de seleção


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

Pesquisando no celular e toquei na caixa de seleção uma vez


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

Pesquisando no celular e toquei na caixa de seleção duas vezes


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

Pesquisando usando a visualização do desktop


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

Eu sei que poderia digitar Theme component na pesquisa para obter resultados no celular, mas acho que essa não é a ideia de oferecer a caixa de seleção.

3 curtidas

Olá, boa observação @moin. Acho que você pode ter encontrado dois bugs. :slight_smile:

  1. A caixa de seleção não funciona imediatamente e
  2. Escopo da pesquisa para uma tag cria uma rota que o Discourse serve com um 403

Caixa de seleção não está marcando

No celular, o link de pesquisa adiciona “contexto” à URL, o que revela a caixa de seleção a ser alternada em questão. Neste caso, a URL que estamos olhando é https://meta.discourse.org/search?context=tag&context_id=theme-component&skip_context=true.

Quando alternamos a caixa de seleção, alteramos a consulta de pesquisa onde skip_context muda de true para false e vice-versa. Isso também significa que você pode criar uma URL onde a caixa está marcada por padrão, como em <https://meta.discourse.org/search?context=category&context_id=1&skip_context=false>. Isso é importante, pois notei um comportamento diferente entre os dois estados quando eles carregam.

skip_context=true

O padrão no modo mobile, e a caixa não estará marcada. Interagir com a caixa de seleção, com toque ou teclado, muda a URL para skip_context=false, mas não marca a caixa de seleção. Clicar mais uma vez a marcará, mantendo “false” na URL.

Depois, ela pode ser alternada para frente e para trás, com as mudanças de URL correspondentes como esperado.

skip_context=false

Quando a pesquisa é carregada, a caixa de seleção está marcada e interagir com ela funciona como esperado: cada interação muda a caixa de seleção e a URL.


Notei separadamente que usar essas caixas de seleção também faz com que eu perca o foco da página, independentemente do valor de skip_context; espero que seja a mesma coisa que causa nosso problema de clique duplo. :slight_smile:

Reproduzi esse comportamento em modo seguro e em dispositivos móveis.

Ok, verei o que posso explicar sobre as tags que não estão com escopo em uma resposta de acompanhamento, para que seja mais fácil separá-las, se necessário.

4 curtidas

Escopo de tags na pesquisa retorna 403

Este me confundiu, pois quando tentei reproduzi-lo no meta, acidentalmente carreguei uma categoria em vez de uma tag no contexto da pesquisa. Isso foi sorte, pois quando percebi meu erro, pelo menos sabia como as consultas de pesquisa estavam sendo produzidas para esses contextos.

Usando Theme e Theme component como exemplos:

Quando usamos o contexto de pesquisa para tags, nossa solicitação fica assim: https://meta.discourse.org/search?q=topic&page=1&search_context[type]=tag&search_context[id]=theme-component, que retorna 403.

Quando usamos o contexto de pesquisa para categorias, nossa solicitação fica assim: https://meta.discourse.org/search?q=topic&page=1&search_context[type]=category&search_context[id]=61, que retorna resultados como esperado.

Alternativamente, se escolhermos uma tag nos filtros de pesquisa avançada, nossa solicitação fica assim: https://meta.discourse.org/search?q=tags:theme-component&page=1 e retorna resultados com essa tag.

Consigo reproduzir o caminho &search_context[type]=tag&search_context[id]=theme-component retornando um 403 em modo de segurança também.

Existem outros tipos de search_context? Dei uma olhada no código, mas não consegui determinar; se houver, podemos testá-los também.

3 curtidas

Continuando a discussão de Assinaturas do Discourse - permitir assinatura de duração predeterminada:

Eu ia vincular a postagens que criei com a tag de assinaturas, então fui para a página de listagem de tags e pesquisei a partir daí. Nenhum resultado - veja abaixo. Quando pesquiso na página principal, funciona bem. Pode ser que a caixa de seleção seja o problema, pois essa é uma diferença.

1 curtida

Posso confirmar isso. Acabei de tentar pesquisar na tag post-voting com a opção marcada e não encontrou nenhum resultado (mencionar ou outra palavra-chave regular)

Android/Chrome

(ainda não verifiquei no desktop) Verifiquei no desktop e funciona bem.

Esse é um dos problemas que relatei aqui?

2 curtidas

Eu não tive problema em marcar a caixa, mas a falta de resultados parece ser o mesmo problema.

Eu mesclei os tópicos. :+1: (e ajustei o OP um pouquinho).

Apenas para registrar aqui também; as tags de exemplo no OP não existem mais, embora o problema com os resultados de pesquisa em branco no celular que eles demonstraram ainda exista.

Meus passos básicos:

  • No celular, vá para a lista de tópicos post-voting
  • Abra a Pesquisa e marque a caixa Search the #post_voting tag
  • Digite algo que definitivamente daria um resultado (por exemplo, ‘comment’ ou ‘@JammyDodger’)
  • Pressione ‘Search’

Resultado: ‘Nenhum resultado encontrado

Resultado Esperado: Ele me encontra coisas

2 curtidas

Este é realmente um bug, obrigado pelo relatório, pessoal. Ele deve ser corrigido quando este PR for mesclado: FIX: Search by tag context was broken by pmusaraj · Pull Request #23006 · discourse/discourse · GitHub

2 curtidas

Isso foi mesclado :partying_face:

3 curtidas

Este tópico foi fechado automaticamente após 2 dias. Novas respostas não são mais permitidas.