Os membros do Maker Forums definitivamente apreciam a capacidade de ter múltiplas reações com emojis. Seria muito triste perder isso em uma migração caso o retort deixasse de ser mantido.
O Retort continuará sendo mantido pelo Pavilion.
@Ahmed_Gagan, você tem alguma opinião sobre o abaixo?
Para uma reação de retórica com prioridade, você pode usar:
SiteSetting.post_undo_action_window_mins = minutos máximos permitidos
ReactionManager.new(first_retort_reaction_at_priority, by_user, Guardian.new(by_user), post).toggle!
Isso cuidará de tudo: removerá o like se o usuário já tiver curtido o post e adicionará uma reação.
Sim, eu poderia fazer isso. Seria um pouco uma gambiarra, porém ![]()
Não tenho certeza de que poderia assumir que essa solução alternativa permaneceria viável ao longo do tempo. Também é um pouco arriscado. Por exemplo, se eu apenas executar esse código, a configuração do site post_undo_action_window_mins do usuário permaneceria alterada. Você poderia reverter no final da migração, mas fazer alterações de configuração assim, na hora, para contornar um guardião não é ideal.
Idealmente, o que busco aqui é uma pequena alteração na interface do ReactionManager para tornar possível migrar retóricas para reações de forma confiável. Atualmente, ela está configurada apenas para lidar com solicitações do cliente.
Uma maneira de fazer isso seria:
- abstrair o guardião em
toggle!para um métodoensure_can_toggle - tornar o método
ensure_can_togglesujeito a uma opçãoforce
Essa é a abordagem normalmente adotada para lidar com migrações ou importações de backend em outras partes do Discourse (se você fizer uma busca em app/ ou lib/ por force, verá alguns exemplos).
Faz sentido?
Acho que não precisamos usar a configuração aqui, já que não estamos alterando os likes já existentes no post. Isso significa que estamos criando novas reações ao post. Nesse caso, guardian.can_delete_reaction_user? será sempre verdadeiro. Apenas usar ReactionManager.toggle será suficiente para esse fim, na minha opinião.
O Discourse faz muito com os Curtidas, como limitar o número de Curtidas por nível de confiança e conceder distintivos às pessoas com base nas Curtidas.
Adicionar uma reação também incrementa a contagem de Curtidas tanto para usuários quanto para tópicos?
Você pode perguntar separadamente sobre como isso interage com o novo plugin oficial Discourse Reactions
Mas o Retort (que permite múltiplas reações por postagem por usuário, ao contrário do plugin Discourse Reactions) não interage de forma alguma com os níveis de confiança e distintivos relacionados aos curtidas.
@gdpelican este é um repost de https://meta.discourse.org/t/reaction-emoji-seem-to-have-no-verification/189108, pois parece que a reação não faz parte do Discourse, então estou repostando aqui:
Acho que descobri um bug, mas não tenho uma reprodução adequada. No entanto, posso mostrar facilmente exemplos do problema e acredito que minha teoria pode estar correta.
O problema é que é possível adicionar emojis inexistentes às reações de postagens. Isso resulta em reações como :whateverYouWant: em postagens.
Você pode ver um exemplo disso no fórum do Manjaro, onde notei que as postagens de um usuário específico frequentemente apresentam esses emojis inexistentes. Após fazer algumas perguntas a ele, concluí que ele está usando algum tipo de extensão de tradução automática no navegador, que provavelmente traduz os emojis :code: para o idioma dele. Infelizmente, não obtive resposta desse usuário para saber exatamente como está configurado o navegador dele. Para embasar minha teoria, você pode ver que, quando ele citou alguém no tópico vinculado a seguir, a citação continha a tradução da mensagem original.
Veja esta mensagem/tópico no fórum do Manjaro:
Veja um exemplo nas reações: você vê claramente o problema com todas as reações válidas ao lado da inválida:
Parece, portanto, que um usuário pode enviar emojis inexistentes devido à falta de verificação do código do emoji.
Atualizei este plugin para funcionar com o código mais recente do Discourse.
@th21 Também atualizei a estrutura HTML do retort para melhor acomodar listas longas de retorts, especialmente em dispositivos móveis.
Obrigado, está funcionando!
Acho que o contêiner de respostas deve ficar acima ou abaixo da barra de ferramentas, de preferência acima. Isso nos dá muito mais espaço para trabalhar no que diz respeito ao CSS.
É possível usar o explorador de dados ou o console para encontrar a lista de emojis mais usada?
Eu estava olhando a tabela plugin_store_rows, mas não encontrei nada útil.
Olá, a dica de ferramenta com a qual os usuários reagiram com réplicas agora está quebrada no celular. Tentei mexer com o z-index, mas não consegui consertá-lo com CSS personalizado. Alguma chance de alguém dar uma olhada?
Este plugin está em #fim-de-vida. Por favor, use o Plugin de Reações.
Discourse Reactions é um substituto ruim por um motivo principal: limita as reações a uma por postagem. Isso é uma redução drástica na utilidade das reações em comparação com o Retort, que permite que as pessoas deem várias reações à mesma postagem.
Eu realmente gostaria que o Retort fosse mantido por esse motivo. A melhor solução seria atualizar o Discourse Reactions para permitir várias reações.
O outro grande déficit é que o Retort permite que você selecione entre todos os emojis disponíveis, enquanto você tem que definir um conjunto de emojis para as reações do Discourse. Se o Discourse Reactions tivesse ambos os recursos, eu largaria o Retort de bom grado, mas até que isso aconteça, meus usuários não ficarão felizes se eu disser que eles estão perdendo o acesso a 95% das reações de emoji.
Existe um tópico de Feature que mostra alguma promessa…
Sim, se tudo isso for implementado, acho que conseguiria convencer facilmente minha base de usuários a migrar. Só é ruim ter que desativar a alternativa antes que isso esteja totalmente disponível.

