Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Обойти на клиенте ограничение по максимальной вложенности в 5 комментов #183

Closed
gamerate opened this issue Dec 9, 2016 · 10 comments
Labels

Comments

@gamerate
Copy link

gamerate commented Dec 9, 2016

У нас есть самая видимо неприятная на данный момент проблема в Голосе: "Комментарий слишком глубоко в цепочке. Максимум вложенности - 5"
Мы знаем, что это ограничение зашито в блокчейн, но все всегда при желании можно обойти на стороне клиента.
Вариантов решения тут много, но я выбрал одно (наиболее простое по реализации, но при этом достаточно удобное):
Если коммент 6й в цепочке, то записываем его "на этаж выше" и добавляем в начало коммента ссылку на них того на чей коммент отвечают (в духе @dr2073) - таки образом подобное не надо будет делать вручную, боты известят человека о том что его ник упомянули, дискуссия 5+ просто станет линейной, как сделано на многих форумах где поддерживаются деревья комментов.
Возможно есть и другие, более лучшие варианты решения - давайте обсудим.
Пост - баунти на эту задачу здесь

@0n0t0le
Copy link

0n0t0le commented Dec 9, 2016

Пофиксить на уровне блокчейна, обсуждение порой даже важнее самого поста, ограничение в 5 слишком критично.

@gamerate
Copy link
Author

gamerate commented Dec 9, 2016

Увеличив в блокчейне на 5+ мы возможно создадим некие побочные проблемы и что тоже неприятно будут проблемы с визуальным отображением на сайте - ведь оно будет все больше сдвигаться вправо и уменьшаться в размере.

@Undeadlol1
Copy link

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

@mastercyb
Copy link

mastercyb commented Dec 31, 2016

Ограничение в 5 уровней вложенности установил я перед запуском. Это на один уровень вложенности меньше чем в Стиме.
Причины:

  1. Большое количество уровней вложенности делает невозможным адекватное отображение на мобильных клиентах.
  2. Создание большого количества уровней вложенности сильно затрудняет восприятие тредов. Ограничение в 5 уровней стимулирует вести дискуссию более конструктивно.
  3. На практике такая вложенность достигается редко. Посмотрите на один из самых популярных постов. Комментов последнего уровня вложенности в общей доле - единицы.

Но вопрос с удобством надо решать. Решение может быть очень простым на клиенте: для комментов 5-го уровня при нажатии кнопки ответить вместо того, чтобы выдавать ошибку
screen shot 2016-12-31 at 2 48 53 pm, нужно отправлять транзакцию на комментарий того же уровня вложенности в которой (1) parent = parent коммента на который нужно ответить и (2) есть упоминание пользователя которому отвечаем в начале комментария типа: @Undeadlol1, а не пойти ли бы Вам в жопу

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

@mastercyb mastercyb added the bug label Dec 31, 2016
@Undeadlol1
Copy link

После мерджа кнопка будет просто выключена.

@mastercyb
Copy link

Как вариант

@mastercyb
Copy link

А где issue с мерджем?

@Undeadlol1
Copy link

#172

@gamerate
Copy link
Author

После мерджа кнопка будет просто выключена.

Фейспалм - те выключить кнопку это решение проблемы?
Люди постоянно упираются в это ограничение и очень расстраиваются, а теперь они вообще кнопку ответить не смогут нажать?
Крайне дружелюбный вариант для пользователей. Наша задача всех разогнать с Голоса?
Хипстер описал прекрасный вариант решения (с-но который я описал в самом начале) почему не сделать так?

@Undeadlol1
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants