Pesquisa parece não funcionar para tags com emoji

Tenho tags que contêm emojis, por exemplo, new-york-city-🇺🇸.
Ao usar a pesquisa e a pesquisa avançada, não obtenho os tópicos.

Aqui está um exemplo:
Consulta:
https://urbantech-forum.cornelltech.io/search?expanded=true&q=tags%3Anew-york-city-🇺🇸subway

E aqui está um tópico que deveria ser retornado:
https://urbantech-forum.cornelltech.io/t/subway-accessibility-info-and-elevator-escalator-status-alerts/139

1 curtida

Não tenho certeza se isso é solucionável. Qual é a sua opinião, @neil?

AFAIK, é apenas porque a regex que temos aqui:

não está permitindo emojis. Se isso estivesse correspondendo a emojis, funcionaria depois.

Podemos considerar usar algo como: GitHub - ticky/ruby-emoji-regex: 💎 A set of Ruby regular expressions for matching Unicode Emoji symbols. · GitHub para ter uma boa regex de emojis.

O que você acha, @sam?

1 curtida

Nossa, isso parece um monstro enorme para suportar um caso de borda importante. Já temos uma regex de validação na classe Tag?

1 curtida

Acho que não temos, mas posso estar errado. @neil provavelmente sabe melhor.

Pelo que sei, temos apenas essa função clean_tag:

Que foi meio que copiada no lado do cliente aqui:

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/select-kit/mixins/tags.js.es6#L80

Além disso, isso provavelmente seria útil em outros lugares, já que, por exemplo, geramos isso no lado do cliente: https://github.com/discourse/discourse/blob/master/app/assets/javascripts/pretty-text/emoji.js.es6#L24

2 curtidas

Duvido que tenhamos testes para nomes de tags de emojis. Talvez possamos investigar o suporte a isso na versão 2.5?

4 curtidas

Percebi que a busca retorna apenas um tópico ao usar apenas a tag (sem a palavra-chave subway) na pesquisa (não é o tópico publicado no OP):

https://urbantech-forum.cornelltech.io/search?expanded=true&q=tags%3Anew-york-city-🇺🇸

Também funciona com outras palavras-chave (mas apenas para aquele tópico retornado anteriormente):

https://urbantech-forum.cornelltech.io/search?expanded=true&q=tags%3Anew-york-city-🇺🇸%20personal

Se eu não usar tags, a busca retorna corretamente:

https://urbantech-forum.cornelltech.io/search?expanded=true&q=new-york-city-🇺🇸

O tópico retornado anteriormente, com a tag, é o primeiro ao usar uma palavra-chave com o nome da tag, mas a postagem é outra (embora possa ser apenas por causa de (talvez) metadados ou algo assim na postagem que seja capturado pela busca, e não a tag em si, mas não posso afirmar com certeza).