Когда я цитирую пост другого пользователя (через вставку публичной ссылки), а затем он удаляет оригинал, текст его поста всё ещё остаётся видимым в моей цитате.
Меня интересует логика, стоящая за этим. Зачем вообще разрешать удаление, если любой может публично сохранить пост другого пользователя через цитирование?
Во-первых, было бы довольно сложно просматривать каждый пост в базе данных при удалении поста, чтобы проверить, не цитировал ли его какой-либо другой пост.
Во-вторых, это было бы гораздо более разрушительным для пользователя, если бы текст его поста изменялся без его ведома. Например, что если он написал «<цитата из поста Пэта> Я не согласен с тем, что здесь было сказано», а Пэт удалил свой пост, и тогда сообщение превратилось бы в «Я не согласен с тем, что здесь было сказано». Это потеряло бы смысл.
Редактирование: Я, кажется, никогда не замечаю, что темы находятся в категории «Функции».
Пример «Но также» во многом похож на то, что происходит сейчас в Twitter, так что, думаю, люди к этому привыкли.
Что касается первого вопроса: разве Discourse уже не отслеживает, откуда взята цитата (если у цитат уже есть атрибуты quote="username, post:NUM, topic:ID")? Не думаю, что Discourse должен по умолчанию выполнять такие удаления, но я вполне могу представить ситуации, где это может быть предпочтительнее.
Если удаление действительно так важно, реализуйте каскадное удаление, при котором удаляются все ответы на пост. Не понимаю, зачем здесь нужна отдельная функция, когда модератор может справиться с этим в пару кликов в редких случаях, когда опубликованный контент настолько опасен, что его необходимо полностью уничтожить.
Да, речь идёт о том взаимодействии, которое упомянул @elijah — аналог удаления твита, при котором соответствующие цитаты или субтвиты также обновляются с плейсхолдером Этот контент больше недоступен. Возможно, я слишком привык к Twitter, но для меня это именно тот ожидаемый результат удаления.
Хотя это не совсем одно и то же: цитата существует как реальный контент в публикации. Когда люди «цитируют» твит или «ретвитят» его, они ссылаются на него через встроенный интерфейс Twitter. Представьте, что я опубликовал в Twitter следующее:
Ну, @joe только что сказал «Мне нравятся яблоки», и я считаю это возмутительным!
Если Джо удалит свой твит, в котором было написано:
Мне нравятся яблоки
Никто не ожидает, что мой твит с его цитатой будет удалён или изменён.
Ах, я лично делаю цитирование твита, вставляя ссылку на цитируемый твит в свой новый твит — так же, как я цитирую в Discourse.
Касательно вашего примера: конечно, если бы я просто вручную процитировал что-то здесь, в Discourse, я бы не ожидал, что цитата исчезнет после удаления ссылки. Но речь идёт не об этом.
Чтобы мы понимали друг друга, вот что я имею в виду:
Возможно, я слишком привык к Twitter, но кажется несогласованным, что блок выше не менялся бы на «Этот контент больше недоступен», если бы вы удалили свой пост.