[quote=reply issues] без добавления дополнительного текста

Привет,

Я воспользовался поиском, но не смог найти эту проблему/ошибку.

Когда я отвечаю просто с

, система выдаёт ошибку о том, что нельзя отвечать пустым сообщением.

Однако, если ответить с

, всё работает отлично.

В чём причина этого?

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

Чтобы я правильно понял, имеется в виду, что вы должны иметь возможность отвечать цитатой, или что вы не должны иметь такой возможности?

Я бы хотел, чтобы был первый вариант :slight_smile:

Кажется, вы говорите о настройке сайта: remove full quote (удалить полное цитирование), которая включена по умолчанию. Если хотите, вы можете отключить её на вашем экземпляре.

Также вы можете изменить min post length (минимальная длина поста), если предпочитаете более короткие сообщения.

Нет, я думаю, ни то, ни другое.

Похоже, это проблема при добавлении автора к цитате и ответе только этой цитатой без чего-либо ещё. Вы можете попробовать это здесь.

Надеюсь, я смог объяснить это понятнее.

@sam, есть ли исправление для этого (в планах)?

Пост, содержащий только цитату из другого сообщения и больше ничего, мало что добавляет к обсуждению. При подсчёте длины поста цитаты из него исключаются. Таким образом, если пост состоит только из цитаты, его эффективная длина равна 0. Именно поэтому вы видите эту ошибку. Так было уже очень давно.

Quoting another reply won't satisfy the minimum character count (fixes #180) by ZogStriP · Pull Request #304 · discourse/discourse · GitHub

Когда вы цитируете пост в Discourse, в редакторе появляется следующее:

[quote="user, post:1, topic:558"]
какая-то цитата...
[/quote]

Все эти символы не учитываются.

Смотрите здесь:

discourse/app/assets/javascripts/discourse/app/lib/quote.js at 1472e47aae5bfdfb6fd9abfe89beb186c751f514 · discourse/discourse · GitHub

и здесь:

discourse/app/assets/javascripts/discourse/app/models/composer.js at 91a816e788cc59395dba9a74c96e2e632d8caf15 · discourse/discourse · GitHub

Это сильно отличается от общей цитаты, например такой:

> Большинство людей не нуждаются в большем пространстве, им нужно меньше вещей. — Мишель Огундехин

которая отображается как:

Большинство людей не нуждаются в большем пространстве, им нужно меньше вещей. — Мишель Огундехин

поскольку я, presumably, добавляю что-то к обсуждению, а не просто пересылаю что-то из другого поста без своего вклада.

Спасибо за ваш ответ и дополнительную информацию по этой теме. Однако я не говорю о цитировании кого-то другого на форуме — я просто имею в виду функционал [quote].

Иногда я читаю что-то на другом сайте и хочу быстро процитировать это, указав источник (=автора). Например, что-то, что сказал другой человек.

Так что это новый контент, но от кого-то/где-то ещё. Я понимаю, что прямая цитата на форуме не учитывается в длине поста.

Тем не менее, простое цитирование работает, а цитирование с добавлением «источника» больше не работает. Это кажется мне странным.

Я понимаю, что вы имеете в виду.

Это работает как ответ без какого-либо другого текста:

[quote] какой-то текст... [/quote]

А это — нет:

[quote=me] какой-то текст... [/quote]

Причина всё та же, о которой я упоминал выше. Когда вы добавляете символ =, система сопоставляет это с внутренними цитатами Discourse. Поэтому предполагается, что это цитата из другого поста, и она удаляется.

Если вы хотите добавить внешнюю цитату, можно сделать что-то вроде этого:

> me:
>
> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do tempor incididunt ut labore et dolore magna

Это отобразится следующим образом:

me:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do tempor incididunt ut labore et dolore magna

Если не использовать такой подход, вам потребуется добавить на свой сайт пользовательскую функциональность.

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

Окей, теперь я понял. Спасибо за разъяснение и за помощь!

Может быть, вы могли бы сделать это опцией в настройках :slight_smile: