Busca por tag com caixa de seleção não exibe 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 os resultados em branco persiste.

Se eu visitar https://meta.discourse.org/tags/c/theme/61/theme-component no celular, tocar no ícone de lupa, pesquisar, por exemplo, por “topic” e tocar na caixa de seleção para “search the tag Customization > Theme component”, há dois problemas.
Por um lado, você precisa tocar na caixa de seleção duas vezes até que ela 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 resultados se você usar a pesquisa no 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 tocando 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 tocando 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 de desktop


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

Eu sei, eu poderia digitar Customization > Theme component na pesquisa para obter resultados no celular, mas acho que não é essa 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 das tags nas buscas retorna 403

Isso me confundiu, porque ao tentar reproduzir o problema fora do Meta, acabei por carregar uma categoria em vez de uma tag no contexto de busca. Isso foi uma sorte, pois quando percebi o erro, já sabia como as consultas de busca são geradas para esses contextos.

Usando Customization > Theme e Customization > Theme component como exemplos:

Quando usamos o contexto de busca 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, o que retorna 403.

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

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

Consigo reproduzir o retorno de 403 no caminho &search_context[type]=tag&search_context[id]=theme-component também no modo seguro.

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.