J’ai des balises qui contiennent des émojis, par exemple new-york-city-🇺🇸.
Lorsque j’utilise la recherche et la recherche avancée, je ne trouve pas les sujets.
Voici un exemple :
Requête :
https://urbantech-forum.cornelltech.io/search?expanded=true&q=tags%3Anew-york-city-🇺🇸subway
Et voici un sujet qui devrait être retourné :
https://urbantech-forum.cornelltech.io/t/subway-accessibility-info-and-elevator-escalator-status-alerts/139
1 « J'aime »
Je ne sais pas si cela est résoluble, qu’en penses-tu @neil ?
j.jaffeux
(Joffrey Jaffeux)
Février 13, 2020, 9:40
3
AFAIK, c’est uniquement parce que l’expression rationnelle que nous avons ici :
end
advanced_filter(/\Ain:unseen\z/i) do |posts|
if @guardian.user
posts.joins(
"LEFT JOIN post_timings ON
post_timings.topic_id = posts.topic_id
AND post_timings.post_number = posts.post_number
AND post_timings.user_id = #{ActiveRecord::Base.connection.quote(@guardian.user.id)}
",
).where("post_timings.user_id IS NULL")
end
end
advanced_filter(/\Awith:images\z/i) { |posts| posts.where.not(posts: { image_upload_id: nil }) }
advanced_filter(/\Acategor(?:y|ies):(.+)\z/i) do |posts, terms|
category_ids = []
matches =
terms
ne permet pas les emojis. Si elle correspondait aux emojis, cela fonctionnerait ensuite.
Nous pourrions envisager d’utiliser quelque chose comme : GitHub - ticky/ruby-emoji-regex: 💎 A set of Ruby regular expressions for matching Unicode Emoji symbols. · GitHub pour disposer d’une bonne expression rationnelle pour les emojis.
Qu’en penses-tu @sam ?
1 « J'aime »
sam
(Sam Saffron)
Février 13, 2020, 10:22
4
Oh là là, cela ressemble à un gros monstre à gérer pour un cas limite majeur. Avez-vous déjà une expression rationnelle de validation sur la classe Tag ?
1 « J'aime »
j.jaffeux
(Joffrey Jaffeux)
Février 13, 2020, 10:35
5
Je ne pense pas que ce soit le cas, mais je peux me tromper. @neil le sait probablement mieux.
À ma connaissance, nous avons juste cette fonction clean_tag :
model.errors.add(:base, msg)
return false
end
end
true
end
def self.validate_one_tag_from_group_per_topic(guardian, model, category, tags = [])
tags_cant_be_used = filter_tags_violating_one_tag_from_group_per_topic(guardian, category, tags)
return true if tags_cant_be_used.blank?
tags_cant_be_used.each do |_, incompatible_tags|
model.errors.add(
:base,
I18n.t(
"tags.limited_to_one_tag_from_group",
tags: incompatible_tags.map(&:name).sort.join(", "),
),
)
end
Qui est en quelque sorte copiée côté client ici :
https://github.com/discourse/discourse/blob/master/app/assets/javascripts/select-kit/mixins/tags.js.es6#L80
Cela serait probablement utile ailleurs aussi, car nous la générons par exemple côté client ici : https://github.com/discourse/discourse/blob/master/app/assets/javascripts/pretty-text/emoji.js.es6#L24
2 « J'aime »
neil
(Neil Lalonde)
Février 13, 2020, 4:25
6
Je doute que nous ayons des tests pour les noms de balises emoji. Peut-être pouvons-nous envisager de le prendre en charge dans la version 2.5 ?
4 « J'aime »
Je constate que la recherche ne renvoie qu’un seul sujet lorsque j’utilise uniquement le tag (sans le mot-clé subway) dans la recherche (ce n’est pas le sujet publié dans le message original) :
https://urbantech-forum.cornelltech.io/search?expanded=true&q=tags%3Anew-york-city-🇺🇸
Cela fonctionne également avec d’autres mots-clés (mais uniquement pour ce sujet renvoyé précédemment) :
https://urbantech-forum.cornelltech.io/search?expanded=true&q=tags%3Anew-york-city-🇺🇸%20personal
Si je n’utilise pas de tags, le résultat est correct :
https://urbantech-forum.cornelltech.io/search?expanded=true&q=new-york-city-🇺🇸
Le sujet renvoyé précédemment, avec le tag, est le premier résultat lorsque j’utilise un mot-clé correspondant au nom du tag, mais le message concerné est un autre (ce pourrait simplement être dû à des métadonnées ou quelque chose de similaire dans le message qui est détecté par la recherche, et non pas le tag lui-même, mais je ne peux pas en être certain).