Настройка «Обзор медиа, если уровень доверия» вызывает появление эмодзи в отзывах

На нашем сайте используется настройка review_media_unless_trust_level для проверки сообщений на форуме от пользователей определённого уровня доверия, содержащих изображения. Это работает отлично, но, на мой взгляд, фильтр слишком строгий, если он также требует проверки сообщений, содержащих только эмодзи и обычный текст.

Отлично, что проверка срабатывает и в других случаях, «не связанных с изображениями», например, при встраивании ссылок, поэтому в целом высокая чувствительность фильтра — это хорошо. Но поскольку все эмодзи на сайте, насколько мне известно, размещаются и определяются самим форумом, я не вижу никакой опасности в том, чтобы разрешить пользователям публиковать любые эмодзи. :rocket: :sunglasses:

Возможно ли сделать так, чтобы эта настройка игнорировала сообщения, содержащие только эмодзи и обычный текст?

Связанные темы:

[Редактирование: Я не смог использовать правильное название настройки в заголовке этого сообщения, используя подчёркивания между словами. Форум сообщил, что заголовок сообщения кажется неясным и содержит «слишком длинные слова».]

7 лайков

Хуже того, я думаю, что посты могут задерживаться из-за не-ASCII символов Unicode — у меня один только что попал в очередь на проверку, и единственное, что я могу заметить, это использование и для кавычек.

Ну, и ещё ã как часть чьего-то имени. Надеюсь, это не оно!

Извините за запоздалый ответ. Я только что проверил это на своём тестовом сайте и смог вызвать срабатывание на эмодзи, что кажется излишне чувствительным. Не уверен, связаны ли эти вещи неразрывно, но я постараюсь выяснить. :+1:

Однако мне не удалось вызвать срабатывание для кавычек или ã. Не упускаю ли я что-то?

3 лайка

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

1 лайк

Думаю, это не так, если посмотреть на:

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

Исправление должно быть достаточно простым, но нам нужно будет внедрить внутреннее отслеживание, которое разделяет изображения и эмодзи при определении размеров.

Вот мой пример, где это произошло:

https://meta.discourse.org/t/why-did-this-post-get-held-for-moderation/253048/2?u=mattdm

(извините перед не-сотрудниками за размещение личной ссылки в публичной теме — поскольку она содержит чье-то имя, я трактую её как конфиденциальную)

Нет, не содержит. Но как бы то ни было :wink:

Хорошо, да, баллы педанту тебе. :slight_smile: Ссылка не содержит имени, но связанное с ней содержимое — содержит. :slight_smile:

О, это аватар в цитате (который скрыт на вашем скриншоте, так как он может быть чувствительным :man_facepalming:)

Та же проблема, но в другой семье. Мы тоже её решим. Работа запланирована на ближайшие 20 рабочих дней.

  • Не учитывать изображения эмодзи
  • Не учитывать изображения аватаров пользователей в цитатах
3 лайка

Я быстро посмотрел на это, и проблема, похоже, возникла из-за FEATURE: Review posts with media. (#10693) · discourse/discourse@f85f73b · GitHub, так как мы используем imageSizes, отправленные клиентом, для проверки «просмотра медиа, если уровень доверия не достигнут». discourse/lib/new_post_manager.rb at 2781264711ff7b497a12a7dd11e95cb3402ed8e6 · discourse/discourse · GitHub Вместо этого мы должны полагаться на сервер для выполнения проверки и сделать что-то похожее на это: discourse/lib/cooked_post_processor.rb at 2781264711ff7b497a12a7dd11e95cb3402ed8e6 · discourse/discourse · GitHub перед проверкой медиа, которые пользователь добавил в свой пост. Однако я не знаю, есть ли у нас доступ к «обработанному с помощью nokogiri» варианту готового поста в NewPostManager, и если нет, то насколько значительным может быть удар по производительности :thinking:

2 лайка

Немного странно, что мы так делаем, и в клиенте мы определяем «изображения» через запрос превью, что тоже не идеально.

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/controllers/composer.js#L1008-L1018

Здесь есть пространство для крупной рефакторизации, но пока мы можем просто исключить эмодзи и аватары из отправки их imageSizes в полезную нагрузку. Я проверил: размеры изображений вообще не используются для эмодзи и аватаров, поэтому это кажется безопасным: FIX: Don't send image sizes for emojis/avatars by pmusaraj · Pull Request #20589 · discourse/discourse · GitHub

Как отмечено в описании PR, изображения onebox также будут отправлять пост в очередь на рассмотрение, но при включённой настройке это, на мой взгляд, желательный побочный эффект.

3 лайка