Нажатие на счётчик реакций приводит к циклу 403, если пост скрыт

Бэкенд /discourse-reactions/app/controllers/discourse_reactions/custom_reactions_controller.rb использует guardian.ensure_can_see!(post) для запрета пользователям без прав доступа на загрузку реакций, если пост скрыт.

Однако фронтенд по-прежнему отображает счётчик реакций. В результате, когда пользователи нажимают на счётчик реакций скрытого поста, возникает бесконечная загрузка с ошибкой 403 Forbidden при запросе к /discourse-reactions/posts/xxx/reactions-users-list.json.

Этот коммит добавляет аналогичную проверку на фронтенде: скрывает счётчик реакций, если args.post.hidden && !args.post.can_see_hidden_post, тем самым устраняя данную проблему.

PR: FIX: reaction counter shouldn't be visible to users without see_hidden_post permission if a post is hidden · Pull Request #40216 · discourse/discourse

1 лайк