Discourse Retort

Огромная благодарность :pray: спонсору @Hifihedgehog и сообществу:

https://forum.tabletpc.review/

Теперь всё снова совместимо и больше не работает со сбоями в версии 3.2.

Важно: согласно информации от The Team и Сэма, планируется, что плагин Reactions в будущем возьмёт на себя дополнительные функции этого плагина (в основном возможность множественных реакций), и, как мы надеемся (пока не подтверждено), это будет включать также инструмент миграции.

9 лайков

Кажется, тут может быть проблема :sweat_smile: — я сейчас посмотрю.

3 лайка

Исправление объединено:

8 лайков

Для тех, кто заинтересован, также работает этот форк, поддерживаемый сотрудниками сообщества SJTU Shuiyuan: (:warning: установка этой версии также уничтожит данные, использованные в основном репозитории :warning:, см. пост @merefield ниже)

Почему не было Pull Request?

Кроме того, хочу отметить, что в этом форке отсутствуют:

  • Тесты фронтенда
  • Рабочие тесты бэкенда
  • GitHub workflow
  • Современные конфигурации линтинга

В то время как в основном репозитории они уже реализованы :+1:

:warning: Также установка этой версии уничтожит ваши данные, использованные в основном репозитории :warning:

В README об этом предупреждения нет.

Поэтому я не могу рекомендовать людям даже пробовать этот форк, если только это не чистый экземпляр без истории или если вы планируете полагаться на автора в плане поддержки в будущем…

3 лайка

Возможно, это студенты, которые не являются полными энтузиастами открытого исходного кода, или просто ленивые? :sweat_smile:

Хм… без сомнения, в это было вложено немало усилий, но отсутствие активного общения и обмена этой работой с сообществом не является идеальным решением, так как это приводит к определенному уровню дублирования, а в данном случае — к уничтожению данных, используемых в основном репозитории! Само по себе это должно было стать веской причиной для создания pull request, чтобы подход можно было рассмотреть и согласовать между форками. Теперь эти форки несовместимы, и если вы установите этот, пути назад уже не будет! :man_facepalming:

11 лайков

Я использую этот плагин уже много лет.

Произошло изменение, которое всё испортило: они переместили ответы в одну строку с элементами управления постом. Это сломало отображение на мобильных устройствах. Если бы контейнер с ответами оставался над элементами управления постом, как в этом посте Discourse Retort - #383 by Vaping_Community, всё было бы замечательно. Возможность отвечать несколько раз была функцией, которую ценили все.

Новый плагин реакций хорош, но он показывает только одну реакцию.

Это ли строка в коде, которая определяет, где размещать контейнер с ответами?

api.decorateWidget("post-menu:before-extra-controls", (helper) => {

На мобильных устройствах это должно быть что-то вроде этого?
api.decorateWidget("post-contents:after-cooked", (helper) => {

Пытался что-то сделать с помощью CSS, но безрезультатно

Ладно, я сделал кое-что, но понятия не имею, что именно делаю… Я использую этот плагин с 2018 года.

@merefield, пожалуйста, подскажите, как указать авторство в моём GIT, я вообще не понимаю, как всё это работает.

Ссылка на Git: https://github.com/GrubbyVc/Retort-Reloaded

Я клонировал плагин Retort и отредактировал его, чтобы retort-container снова отображался над элементами управления. Это позволяет использовать несколько ретортов на мобильных устройствах. Я хотел изменить это только для мобильных устройств, но не знал как.

Примечание: Это единственное изменение, которое я внес

Изменение

Изменена эта строка в retort-init.js.es6

api.decorateWidget("post-menu:before-extra-controls", (helper) => {

На эту

api.decorateWidget("post-contents:after-cooked", (helper) => {

Десктоп

Мобильные

CSS

Общие

.topic-post.retort, button.post-retort {
    padding: 8px !important;
}

.post-retort {
    border: none;
    padding: 2px !important;
    background: rgb(0, 0, 0, 0);
    
    &:hover .post-retort__tooltip {
    opacity: 1;
  }

  &__tooltip {
       opacity: 0;
    transition: .5s opacity;
    position: absolute;
    bottom: 65px;
    font-size: 12px;
    text-align: center;
    min-width: 125px;
    max-width: 150px;
    background: var(--primary);
    color: var(--secondary);
    font-weight: bold;
    padding: 5px;
    border-radius: 5px;
    word-wrap: normal;
    left: auto;
    transform: translate(-50%, 0);
    z-index: 1;
    pointer-events: none;
    word-break: break-word;
    &:after {
      content: " ";
      width: 7px;
      height: 7px;
      bottom: -5px;
      left: 44%;
      transform: rotate(45deg) translate(-50%, 0);
      position: absolute;
      background: var(--primary);
    }
}

&__count {
    font-size: 12px;
    padding: 1px;
    position: relative;
    bottom: 1px;
    left: 1px;
    font-weight: bold;
    color: var(--primary-medium);
  }
}

.post-retort-container {
    background: rgb(0, 0, 0, 0);
}

.emoji-picker.opened.has-limited-set {
    height: 159px;
    background-color: #333 !important;
}

Мобильные

.emoji-picker.opened.has-limited-set {
    top: 400px;
}
1 лайк

Как правило, создавать новый репозиторий с новым именем — это плохая практика.

Вместо этого стоит сделать форк основного репозитория (это легко: есть простая кнопка), внести изменения в свой форк, а затем, когда вы будете полностью довольны результатом и посчитаете, что изменения могут быть полезны другим, отправить запрос на слияние (PR) в основной репозиторий. Кто-то (обычно «майнтейнер») рассмотрит ваш PR, возможно, предложит некоторые правки, даст вам возможность обновить PR, а затем объединит его с основным репозиторием.

Это и есть лучшая практика.

5 лайков

Ага, я разберусь с этим как можно скорее, спасибо за совет :+1:

1 лайк

Главная причина этого в том, что тогда вся деятельность по техническому обслуживанию может быть сосредоточена на одном репозитории, что гораздо эффективнее. (Вы, возможно, обнаружите это, когда произойдёт критическое изменение!)

4 лайка

Это очень логично

2 лайка

Всем привет. Мы большие поклонники Retort в моём сообществе. Последние версии Discourse делают этот плагин несовместимым. Смотрите здесь. Я пытаюсь, постепенно, внести правильные обновления в плагин, но JavaScript — не моя сильная сторона, поэтому мне трудно заставить его работать.

В рамках наших постоянных усилий по улучшению кодовой базы Discourse мы удаляем использование устаревшей системы рендеринга «widget» и заменяем её компонентами Glimmer.

Может ли кто-нибудь взглянуть на плагин и это уведомление и прокомментировать/подсказать, что необходимо? Возможно, я сам разберусь, но хотел бы обратить внимание на то, что этому плагину требуется внимание и доработка. Любая помощь или вклад будут очень кстати. Не уверен, что сделал всё правильно, но у меня есть черновик PR, который определённо находится в процессе разработки.

1 лайк

Насколько я понимаю, официальная функция «Реакции» до сих пор не поддерживает несколько реакций от одного пользователя. Как некоторые из нас и утверждали с самого начала, это было ошибочным решением с самого старта. Люди должны иметь возможность выражать несколько реакций, и инструменты, которые это позволяют, обеспечивают просто лучший опыт.

Пока это не будет исправлено в «Реакциях» каким-либо образом, потеря «Реторта» будет трагедией. Надеюсь, кто-нибудь сможет обновить его, чтобы он продолжал работать. Просто хочу поблагодарить всех, кто работает над этим или только рассматривает такую возможность…

Это действительно зависит от ситуации. Многие платформы имеют только одну прямую реакцию на пост. В зависимости от сообщества это предпочтительнее, чтобы избежать хаоса из эмодзи.

Лично мне нравится функция «Ответ» (Retort), так как в то время она давала преимущество по сравнению с простыми и скучными лайками. У меня даже были одновременно и реакции, и функция «Ответ» на одном из моих форумов. Это работало хорошо, поскольку большинство пользователей сдержанно использовали эмодзи.

Пост выше вашего, если у вас есть знания, которые ему нужны, может помочь снова запустить Retort.
Я уверен, что команда, заявив о планах добавить несколько реакций, со временем это реализует. Просто это может не быть в приоритете для внедрения прямо сейчас, так как другие проекты имеют более высокий приоритет.

Обновление официального #плагина, #темы, #компонента-темы и даже ядра с учетом необходимых крупных изменений требует значительных ресурсов для соблюдения внутренних сроков.

2 лайка

Отличительная черта Retort в том, что сообщества могут установить ограниченное количество значимых реакций. За их пределами люди могут использовать любые эмодзи в обычном ответном сообщении.

Таким образом, выбор не сводится к дилемме «одна реакция» или «шведский стол».

Я очень надеюсь, что официальная поддержка множественных реакций появится. Переход к такой системе для тех, кто рискует потерять Retort, может оказаться крайне неудобным. Огромная благодарность всем, кто уже помог и кто сможет помочь в будущем.

1 лайк

Есть ли у нас шанс, что эти плагины когда-нибудь вернутся?

@gdpelican, этот MR заблокирован чем-то конкретным? Нужна помощь? Updates based on new post menu in discourse. https://meta.discourse.o… by dtraleigh · Pull Request #92 · gdpelican/retort · GitHub

Новая система реакций в Discourse выглядит очень печально по сравнению с этой.

Что ж, был открыт PR для добавления этой функции:

На мой взгляд, то, что сделало Retort необходимым, — это не какой-то один эмодзи, а несколько реакций на одного пользователя. Сама идея, согласно которой пользователь может оставить только одну реакцию, — это очень плохой дизайн. Я видел, что намерение в будущем добавить официальную поддержку реакций было заявлено, но для этого потребуется серьёзная переработка, поскольку изначально система не была спроектирована для этого.

3 лайка