Maker 포럼의 회원들은 여러 개의 이모지 반응을 사용할 수 있는 기능을 확실히 중요하게 여깁니다. retort가 더 이상 유지보수되지 않아 이전(migration) 과정에서 이 기능이 사라지게 된다면 매우 슬플 것입니다.
Retort는 앞으로도 Pavilion에서 유지보수될 예정입니다.
@Ahmed_Gagan 아래 사항에 대해 의견이 있으신가요?
우선순위가 있는 반응(retort)에 대해 다음을 사용할 수 있습니다.
SiteSetting.post_undo_action_window_mins = 허용되는 최대 분
ReactionManager.new(first_retort_reaction_at_priority, by_user, Guardian.new(by_user), post).toggle!
이것은 모든 것을 처리합니다. 사용자가 이미 해당 게시물을 좋아요한 경우 like를 제거하고 반응을 추가합니다.
네, 그렇게 할 수는 있겠네요. 다만 약간 해킹적인 방식이 될 것 같습니다. ![]()
그 워크어라운드가 시간이 지나도 계속 유효할 것이라고 단정 짓기는 어렵습니다. 또한 다소 위험할 수 있습니다. 예를 들어, 해당 코드를 그대로 실행하면 사용자의 post_undo_action_window_mins 사이트 설정이 변경된 상태로 남게 됩니다. 마이그레이션의 끝부분에서 이를 되돌릴 수는 있지만, 가디언을 우회하기 위해 이렇게 즉석에서 설정을 변경하는 것은 이상적이지 않습니다.
이상적으로는 ReactionManager 인터페이스를 약간 수정하여, 리포트(retorts)를 반응(reactions)으로 안정적으로 마이그레이션할 수 있도록 하는 것입니다. 현재는 클라이언트에서 오는 요청만 처리하도록 구성되어 있습니다.
이를 위한 한 가지 방법은 다음과 같습니다.
toggle!의 가디언을ensure_can_toggle메서드로 추상화합니다.ensure_can_toggle메서드에force옵션을 적용합니다.
이것은 Discourse의 다른 부분에서 마이그레이션이나 백엔드 가져오기를 처리할 때 일반적으로 취하는 접근 방식입니다(app/ 또는 lib/에서 force를 검색하면 몇 가지 예시를 볼 수 있습니다).
이해되시나요?
여기서는 해당 설정을 사용할 필요가 없다고 생각합니다. 이미 게시글에 생성된 좋아요에는 영향을 주지 않으므로, 이는 게시글에 새로운 리액션을 생성하는 것입니다. 이 경우 guardian.can_delete_reaction_user?는 항상 true가 됩니다. 제 생각에는 이 목적을 위해 ReactionManager.toggle만 사용하면 충분합니다.
Discourse는 신뢰 수준에 따른 좋아요 수 제한과 좋아요 기반 배지 부여 등 다양한 기능을 제공합니다.
반응(Reaction)을 추가하면 사용자 및 주제(Topic)의 좋아요 수에도 반영되나요?
이것이 새로운 공식 플러그인 Discourse Reactions 과 어떻게 상호작용하는지 별도로 질문할 수 있습니다.
하지만 Retort(좋아요 관련 신뢰 수준 및 배지와 상호작용하지 않으며, Discourse Reactions 플러그인과 달리 사용자가 게시물당 여러 반응을 할 수 있게 해주는 플러그인)는 좋아요 관련 신뢰 수준 및 배지와 전혀 상호작용하지 않습니다.
@gdpelican 이 내용은 https://meta.discourse.org/t/reaction-emoji-seem-to-have-no-verification/189108 에서 재게시한 것입니다. 이 이모지 반응 기능이 Discourse의 일부가 아닌 것 같아서 여기에 다시 올립니다:
버그를 발견한 것 같은데, 정확한 재현 방법은 없습니다. 다만 문제의 예시를 쉽게 보여줄 수 있고, 제 추측이 맞을 것 같습니다.
문제는 다음과 같습니다. 존재하지 않는 이모지를 게시물의 반응으로 추가할 수 있습니다. 그 결과 게시물에 :whateverYouWant: 같은 반응이 생성됩니다.
Manjaro 포럼에서 이를 확인할 수 있습니다. 특정 사용자의 게시물에 이러한 존재하지 않는 이모지가 자주 나타나는 것을 발견했습니다. 해당 사용자에게 몇 가지 질문을 한 결과, 브라우저에서 자동 번역 확장 프로그램을 사용하고 있으며, 이것이 이모지 :code:를 해당 언어로 번역하는 것 같다는 결론에 도달했습니다. 불행히도 해당 사용자에게 답변을 받지 못해 브라우저 설정에 대해 정확히 알 수 없었습니다. 제 추측을 뒷받침하기 위해, 아래 링크된 스레드에서 누군가를 인용한 경우를 보면, 인용된 원래 메시지가 번역되어 있는 것을 볼 수 있습니다.
Manjaro 포럼의 이 메시지/스레드를 확인하세요:
반응에서 예를 확인해 보세요. 유효한 반응들 옆에 있는 잘못된 이모지를 통해 문제를 명확히 볼 수 있습니다:
따라서 이모지 코드를 검증하지 않는 과정에서 사용자가 존재하지 않는 이모지를 전송할 수 있는 것으로 보입니다.
이 플러그인을 최신 discourse 코드와 호환되도록 업데이트했습니다.
@th21 특히 모바일 환경에서 긴 retort 목록을 더 잘 표시할 수 있도록 retort HTML 구조도 업데이트했습니다.
감사합니다, 잘 작동합니다!
반박문 컨테이너는 툴바 위 또는 아래에 위치해야 한다고 생각하는데, 가능하면 위에 두는 것이 CSS 작업 공간 확보에 훨씬 유리합니다.
데이터 탐색기나 콘솔을 사용해 가장 많이 사용된 이모지 목록을 찾을 수 있을까요?
plugin_store_rows 테이블을 살펴보았지만, 도움이 되는 정보를 찾지 못했습니다.
안녕하세요, 사용자가 반박으로 반응할 때 표시되던 툴팁이 모바일에서 깨져 있습니다. z-index를 조정해 보았지만 커스텀 CSS로 문제를 해결하지 못했습니다. 혹시 확인해 주실 수 있으신가요?
이 플러그인은 더 이상 지원되지 않습니다(end-of-life). Reactions 플러그인을 사용하세요.
Discourse Reactions는 하나의 중요한 이유로 인해 매우 부족한 대안입니다. 바로 게시물당 하나의 리액션만 허용하기 때문입니다. 이는 같은 게시물에 여러 리액션을 허용하는 Retort와 비교했을 때 리액션의 유용성이 크게 떨어지는 결과를 낳습니다.
이러한 이유로 Retort가 유지보수되기를 진심으로 바랍니다. 더 나은 해결책은 Discourse Reactions를 업데이트하여 여러 리액션을 허용하는 것입니다.
또 다른 큰 단점은, Retort는 사용 가능한 모든 이모지 중에서 선택할 수 있지만 Discourse Reactions의 경우 이모지 세트를 직접 정의해야 한다는 점입니다. Discourse Reactions에 이 두 가지 기능이 모두 갖추어진다면 저는 기꺼이 Retort를 포기하겠지만, 그렇게 되기 전까지는 95%의 이모지 반응에 대한 접근권을 잃는다고 사용자에게 알리면 그들은 만족하지 못할 것입니다.
약간 기대를 불러일으키는 Contribute > Feature 주제가 있습니다…
네, 이 모든 것이 구현된다면 사용자 기반을 쉽게 이주시킬 수 있다고 생각합니다. 다만, 이 기능이 완전히 제공되기 전에 대안을 폐기하는 것은 다소 아쉬운 점이 있습니다.

