Предисловие:
Это не совсем обновление плагина, а скорее горячее исправление. Оно не исправляет плагин для работы с новой системой, а лишь интегрирует удалённые части обратно в плагин. Это решение не является долгосрочным. И оно точно не исправит того, что команда Discourse сочла ежедневные сводки ненужным частным случаем, а не важной функцией для удержания пользователей, предпочитающих получать уведомления по электронной почте. Discourse больше нельзя использовать как замену рассылке, и если у вас есть возможность перейти на другую платформу — лучше это сделать. Также это не исправит позицию «нам не нужна документация или нормальные заметки о выпуске» < /rant>
Тем не менее. Мы используем это в продакшене, и всё работает. Это не идеально, но что поделать.
Как снова начать получать письма
- Примените исправление от @lkramer:
Restore Mailing List Mode Daily Summary - #52 by lkramer
Теперь вы снова можете переключать кнопку в интерфейсе.
- Верните метод apply_notification_styles
В файле engine.rb добавьте следующее в строку 11 (первый метод в классе):
def apply_notification_styles(email) email.html_part.body = Email::Styles.new(email.html_part.body.to_s).tap do |styles| styles.format_basic styles.format_html end.to_html email
Обратите внимание: исходная функция (см. коммит, который всё сломал, чтобы ознакомиться) использовала styles.format_notification вместо styles.format_html. Поскольку _notification был удалён, мы просто используем _html. Хорошая ли это идея? Нет. Работает ли это? Похоже, что да. По крайней мере, у нас есть небольшой шанс, что это не будет удалено при следующем обновлении.
- «Змеиное масло»
Я также обернул весь файл mailing_list.html.erb в тег Div с классом summary-email и отключил темизацию для сводных писем в настройках. Это было отчаянной попыткой, которая сначала не дала результатов. Скорее всего, вы обойдётесь и без этого, но я больше не буду трогать этот беспорядок, пока он снова не сломается. Поэтому, если у вас возникнут проблемы с форматированием, не стесняйтесь попробовать это.
Надеюсь, это поможет.