Итак, когда я устанавливаю для категории параметр «Следить за первым сообщением» («Вы будете уведомлены о первом сообщении в каждой новой теме в этих категориях»), я получаю push-уведомления на телефоне при создании темы в категории, а также получаю push-уведомления и на последующие ответы.
Однако, когда я устанавливаю для категории параметр «Следить» («Вы будете уведомлены обо всех новых сообщениях и темах»), push-уведомления не приходят.
Изучив код, я обнаружил условие NOTIFIABLE_TYPES.include?(type).
NOTIFIABLE_TYPESвключаетwatching_first_post и posted, но не включает watching_category_or_tag.
Это сделано намеренно? Я всегда считал, что режим «Следить» является надмножеством режима «Следить за первым сообщением»?
РЕДАКТИРОВАНИЕ: В настоящее время я управляю несколькими форумами, которые использую сам, с помощью модифицированной версии, в которую добавлено watching_category_or_tag. При установке параметра «Временное окно push-уведомлений (мин)» в значение 0 мой пользовательский опыт улучшился с «так себе» до «отлично». Так что, если это не ошибка, рассмотрите это как запрос на добавление новой функции
Отлично подмечено, конечно, тип привязан к переводу! Но… мне интересно, какой текст лучше. Тот, что для watching_first_post, приведён ниже. Мне кажется, перевод должен быть «X создал новый пост», а не «X создал новую тему», поскольку это может быть новая тема, но скорее всего это ответ.
Чтобы сделать строку более изощрённой, нам придётся изменить PushNotificationPusher. Пока я создам PR с моим предложением, а затем мы можем обсудить улучшения.
watching_first_post: '%{username} создал новую тему «%{topic}» — %{site_title}'
watching_category_or_tag: '%{username} создал новый пост «%{topic}» — %{site_title}'
Я только что отправил ещё один коммит, который немного улучшает текст push-уведомлений. Из описания PR:
Теперь для новых тем будет отображаться:
username создал новую тему «title here!» - Marks' Discourse
А для новых сообщений:
username опубликовал сообщение в «title here!» - Marks' Discourse
После изучения кода стало ясно, что изменить текст так, чтобы он звучал как «X создал новую тему в категории/с тегом Y», потребовало бы огромных изменений. Это хороший шаг в правильном направлении, и при необходимости в будущем мы можем вернуться к более сложным изменениям.